Некорректно работает плагин

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
215
Реакции
25
Помог
1 раз(а)
Основная информация

Проблема: Некорректно работает плагин

Ошибка:
Ошибок при компиляции нет
Дополнительная информация

OC: linux

Amx Mod X: ReAMXX

Билд:
Код:
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
ReHLDS version: 3.0.0.569-dev
Build date: 20:21:10 Jun 14 2017 (1159)


ReGamedll:
Код:
ReGameDLL version: 5.2.0.205-dev
Build date: 19:21:31 Jun 13 2017


Список модулей:
PHP:
[ 1] ReParachute             1.1 Beta    the_hunter           running    
[ 2] MySQL 1.8.3-Re AMX Mod X Dev Team running
[ 3] Fun 1.8.3-Re AMX Mod X Dev Team running
[ 4] Engine 1.8.3-Re AMX Mod X Dev Team running
[ 5] FakeMeta 1.8.3-Re AMX Mod X Dev Team running
[ 6] CStrike 1.8.3-Re AMX Mod X Dev Team running
[ 7] Ham Sandwich 1.8.3-Re AMX Mod X Dev Team running
[ 8] ReAPI 5.2.0.113- Asmodai & s1lent running


Список плагинов:
HTML:
[  1] FreshBans               1.3.7b      kanagava          fresh_bans.amxx  running  
[ 2] Aliases checker 1.0.3 kanagava alias_detector. running
[ 3] CSStatsX SQL 2017 serfreeman1337 csstatsx_sql.am running
[ 4] [ReAPI] No Team Flash 0.0.2 Vaqtincha no_team_flash.a running
[ 5] C4 Timer on roundtime 0.3.3a neygomon c4timer.amxx running
[ 6] Admin Loader 2.7 neygomon admin.amxx running
[ 7] Lite Admin ESP 1.0 neygomon admin_esp.amxx running
[ 8] [ReAPI] VIP System 1.3.1 pUzzlik re_vip_system.a running
[ 9] Admin Commands 1.8.3-Re AMXX Dev Team admincmd.amxx running
[ 10] Maps Menu 1.4.1 neugomon mapsmenu.amxx running
[ 11] Lite MapChooser 2.6 neygomon mapchooser.amxx running
[ 12] Menus Front-End 1.5 neugomon menufront.amxx running
[ 13] Players Menu 1.6.1 neugomon plmenu.amxx running
[ 14] resetscore(ReAPI) 1.0 Phantom resetscore.amxx running
[ 15] AES: StatsX 0.5.1 Vega serfreeman1337 aes_statsx_cstr running
[ 16] Stats Configuration 1.8.3-Re AMXX Dev Team statscfg.amxx running
[ 17] NO_FITH_TEXT 1.1w perf blockSTgrenade. running
[ 18] Crux Ansata 1.0 DUKKHAZ0R crux_ansata.amx running
[ 19] Lite Translit 2017 neygomon lite_translit.a running
[ 20] Ping Control 1.31 neygomon Ping_Control.am running
[ 21] Weapon Restrict 1.7 s1lent restmenu.amxx running
[ 22] Advanced Experience Sy 2017 serfreeman1337 aes_main.amxx running
[ 23] AES: CStrike Addon 0.5.1 Vega serfreeman1337 aes_exp_cstrike running
[ 24] AES: Informer 0.5.1 Vega serfreeman1337 & aes_informer.am running


Список метамодулей:
PHP:
[ 1] Reunion          RUN   -    reunion_mm_i386.  v0.1.75   ini   Start Never
[ 2] AMX Mod X RUN - amxmodx_mm_i386. v1.8.3-R ini Start ANY
[ 3] ReParachute RUN - parachute_amxx_i v1.1 Bet pl2 ANY ANY
[ 4] MySQL RUN - mysql_amxx_i386. v1.8.3-R pl2 ANY ANY
[ 5] Fun RUN - fun_amxx_i386.so v1.8.3-R pl2 ANY ANY
[ 6] Engine RUN - engine_amxx_i386 v1.8.3-R pl2 ANY ANY
[ 7] FakeMeta RUN - fakemeta_amxx_i3 v1.8.3-R pl2 ANY ANY
[ 8] CStrike RUN - cstrike_amxx_i38 v1.8.3-R pl2 ANY ANY
[ 9] Ham Sandwich RUN - hamsandwich_amxx v1.8.3-R pl2 ANY ANY
[10] ReAPI RUN - reapi_amxx_i386. v5.2.0.1 pl2 ANY Never



Комментарий:
Помогите настроит плагин first_player .Проблема в том ..что плагин респавнит не двоих по команде а 4 и больше тогда когда эму думается . Буду очень благодарен.
Код:
#include <amxmodx>
#include <hamsandwich>

new kill_tt
new kill_ct

public plugin_init() {
register_plugin("First_Player", "1.1", "Din")
register_event("HLTV", "eventRoundStart", "a", "1=0", "2=0")
register_event("DeathMsg", "Death", "a")
}

public eventRoundStart(){
kill_tt=0
kill_ct=0
}

public Death(id){
new Players[32]
new playerCount
get_players(Players, playerCount)
if(playerCount<14)
return

new iVictim
iVictim = read_data(2)
if(get_user_team(iVictim)==1){
++kill_tt
if(kill_tt>2)
return
set_task(1.0,"spawn",iVictim)
}
if(get_user_team(iVictim)==2){
++kill_ct
if(kill_ct>2)
return
set_task(1.0,"spawn",iVictim)
}

}

public spawn(id){
ExecuteHamB(Ham_Spawn, id)
new name[32]
get_user_name(id,name,31)
ChatColor(id, "!y[!gВозрождение!y] Игрок !team%s !yвозродился.", name)
}

stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32];
new msg[191];
vformat(msg, 190, input, 3);

replace_all(msg, 190, "!team", "^3");
replace_all(msg, 190, "!y", "^1");
replace_all(msg, 190, "!g", "^4");
replace_all(msg, 190, "!team2", "^0");

if (id) players[0] = id; else get_players(players, count, "ch");
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players);
write_byte(players);
write_string(msg);
message_end();
}
}
}
}
 
В этой теме было размещено решение! Перейти к решению.

Вложения

Сообщения
333
Реакции
290
Помог
9 раз(а)
C++:
#include <cstrike>

public Death(id)
{
if(get_playersnum() < 14)
return

new iVictim = read_data(2)
switch(cs_get_user_team(iVictim))
{
case CS_TEAM_T: if(++kill_tt > 2)
return
case CS_TEAM_CT: if(++kill_ct > 2)
return
}

set_task(1.0,"spawn",iVictim)
}
 
Сообщения
215
Реакции
25
Помог
1 раз(а)
zhorzh78,
Код:
#include <amxmodx>
#include <cstrike>
#include <hamsandwich>

new kill_tt
new kill_ct

public plugin_init() {
register_plugin("First_Player", "1.1", "Din")
register_event("HLTV", "eventRoundStart", "a", "1=0", "2=0")
register_event("DeathMsg", "Death", "a")
}

public eventRoundStart(){
kill_tt=0
kill_ct=0
}

public Death(id)
{
if(get_playersnum() < 14)
return

new iVictim = read_data(2)
switch(cs_get_user_team(iVictim))
{
case CS_TEAM_T: if(++kill_tt > 2)
return
case CS_TEAM_CT: if(++kill_ct > 2)
return
}

set_task(1.0,"spawn",iVictim)
}

}

public spawn(id){
ExecuteHamB(Ham_Spawn, id)
new name[32]
get_user_name(id,name,31)
ChatColor(id, "!y[!gВозрождение!y] Игрок !team%s !yвозродился.", name)
}

stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32];
new msg[191];
vformat(msg, 190, input, 3);

replace_all(msg, 190, "!team", "^3");
replace_all(msg, 190, "!y", "^1");
replace_all(msg, 190, "!g", "^4");
replace_all(msg, 190, "!team2", "^0");

if (id) players[0] = id; else get_players(players, count, "ch");
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players);
write_byte(players);
write_string(msg);
message_end();
}
}
}
}



если так то выдает ошибку
 
Сообщения
333
Реакции
290
Помог
9 раз(а)
36 строка - лишняя скобка
 
Последнее редактирование модератором:
Сообщения
263
Реакции
335
Помог
4 раз(а)
ade888, А так без ReAPI большая нагрузка? :dntknw:
 
Сообщения
215
Реакции
25
Помог
1 раз(а)
Протестировал этот плагин с игроками, работает хорошо, но есть другая проблема. Когда игрок возрождается - нет прицела по середине. :dntknw:
 
Последнее редактирование модератором:
Сообщения
2,751
Реакции
3,016
Помог
61 раз(а)
есть другая проблема , когда игрок возраждаеться нет прицела по середине(
Попробуй этот код.
Код:
#include <amxmodx>
#include <reapi>

/* Выдержка времени для респауна (Опционально) */
const Float: DELAY_PLAYER_SPAWN = 3.0;
/* Кол-во респаунов для каждой команды */
const MAX_ReSpawnsInTeam = 3;
/* Миникальное кол-во игроков, для респауна */
const MIN_PlayersToRespawn = 14;

#if !defined MAX_NAME_LENGTH
#define MAX_NAME_LENGTH 32
#endif

#if !defined client_print_color
#include <colorchat>
#endif

stock const TASKID_SpawnPlayer = 133;

new g_iKilledInRound_TT,
g_iKilledInRound_CT;

new HookChain: _CBasePlayer_Killed;

public plugin_init()
{
register_plugin("Respawn first players", "0.0.2", "SomeScripter");
_CBasePlayer_Killed = RegisterHookChain(RG_CBasePlayer_Killed, "CBasePlayer_Killed", .post = false);

register_logevent("logevent_round_start", 2, "1=Round_Start");
}

public logevent_round_start()
{
g_iKilledInRound_TT = g_iKilledInRound_CT = 0;

EnableHookChain(_CBasePlayer_Killed);
}

public CBasePlayer_Killed(const pPlayerid, pAttacker, shouldgib)
{
if(get_playersnum() < MIN_PlayersToRespawn ||
((g_iKilledInRound_TT == MAX_ReSpawnsInTeam && g_iKilledInRound_TT == MAX_ReSpawnsInTeam)))
{
DisableHookChain(_CBasePlayer_Killed);

return;
}

switch(get_member(pPlayerid, m_iTeam))
{
case TEAM_TERRORIST:
{
if(++g_iKilledInRound_TT > MAX_ReSpawnsInTeam)
{
return;
}
}

case TEAM_CT:
{
if(++g_iKilledInRound_CT > MAX_ReSpawnsInTeam)
{
return;
}
}
}

set_task(DELAY_PLAYER_SPAWN, "PlayerSpawn", TASKID_SpawnPlayer + pPlayerid);
}

public PlayerSpawn(pPlayerId)
{
pPlayerId -= TASKID_SpawnPlayer;

rg_round_respawn(pPlayerId);

new szName[MAX_NAME_LENGTH];
get_user_name(pPlayerId, szName, charsmax(szName));

client_print_color(pPlayerId, print_team_default, "^1[^4Возрождение^1] Игрок ^3%s ^1возродился.", szName);
}

 
Последнее редактирование:
Сообщения
215
Реакции
25
Помог
1 раз(а)
wopox1337, спасибо! Теперь, всё работает на ура!
Спасибо огромное ты лучший! :thank_you:
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу