ошибка 033: массив должен быть проиндексирован (переменная "-unknown-")
Не понимаю в чём может быть причина.
#define Name(%0) PlayerInfo[%0][pNames]
enum _:e_BATTLE_RESULT
{
BATTLE_PLAYER_LOSS = 0,
BATTLE_PLAYER_WIN,
BATTLE_PLAYER_TIME_OUT,
BATTLE_PLAYER_DISCONNECT,
BATTLE_PLAYER_LEAVE
}
stock FinishPlayer_Battle(playerid, type)
{
new
BATTLE_RESULT[e_BATTLE_RESULT][/PHP],
_result[][] =
{
"Поражение над",
"Победили",
"Не найден соперник",
"Вышел из игры",
"Зону сражения покинул"
};
switch(type)
{
case 0: _enemy_cout = 1;
case 1: _enemy_cout = 0;
case 3: _enemy_cout = 3;
case 4: _enemy_cout = 4;
}
format(string
, 100, "[PVP]: Сражение подошло к концу. Результат: {FFFFFF}%s %s", _result
[_enemy_cout
], type
== BATTLE_RESULT
[BATTLE_PLAYER_TIME_OUT
] ? (Name
(playerid
)) : ("")); // Тут ошибка. Когда убираю тернарник - всё норм. }
Использую так:
FinishPlayer_Battle(playerid, BATTLE_RESULT[BATTLE_PLAYER_DISCONNECT]);
UPD: Когда юзаю так, всё нормально:
new
reason[MAX_PLAYER_NAME + 1];
if(type == BATTLE_RESULT[BATTLE_PLAYER_TIME_OUT])
strcat(reason
, Name
(playerid
)); else
reason = "";
format(string
, 144, "[PVP]: Сражение подошло к концу. Результат: {FFFFFF}%s %s", _result
[_enemy_cout
], reason
);