L 07/19/2020 - 01:16:07: [test.amxx] player index:0 name:ThePhoenix
L 07/19/2020 - 01:16:07: [test.amxx] player index:1 name:ReHLDS LOCAL
L 07/19/2020 - 01:16:07: [ReAPI] rg_has_item_by_name: invalid player index 0 [arg_index]
L 07/19/2020 - 01:16:07: [AMXX] Displaying debug trace (plugin "test.amxx", version "0.0.1")
L 07/19/2020 - 01:16:07: [AMXX] Run time error 10: native error (native "rg_has_item_by_name")
L 07/19/2020 - 01:16:07: [AMXX] [0] awp_block_limit.sma::CSGameRules_RestartRound_Pre (line 71)
public CSGameRules_RestartRound_Pre()
{
new iPlayers[MAX_PLAYERS], iCount;
get_players(iPlayers, iCount, "ach");// ach
log_amx("%d - Players NUM", iCount);
for(new i = 0; i <= iCount; ++i)
{
new name[33];
get_user_name(iPlayers[i], name, charsmax(name))
log_amx("player index:%d name:%s", i, name)
if(rg_has_item_by_name(iPlayers[i], "weapon_awp")) // invalid index 0
has_awp++;
}
}
i <= iCount
i < iCount
iCount
возвращает 1 (т.к. на сервере 1 игрок), соотв., при правильном цикле, где i < iCount
(т.е. 0 < 1), выполняется 1 круг и iPlayers[0]
= ид нашего игрока.i <= iCount
выполняется 2 круга (т.к. 0 < 1 и 1 == 1), iPlayers[0]
= ид игрока, iPlayers[1] == 0
(т.к. get_players его не заполнило), далее ты вызываешь rg_has_item_by_name
с 0 айди, отсюда и ошибка.log_amx("player index:%d name:%s", i, name)
log_amx("player index:%d name:%s", iPlayers[i], name)
i
, он лишь находится в массиве iPlayers
Не, он вызывает rg_has_item_by_name и использует значение массива, которое хранится под 0 индексом.далее ты вызываешьrg_has_item_by_name
с 0 айди, отсюда и ошибка