execution
25.04.2018, 21:36
Не понимаю в чём может быть причина.
#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)) : ("")); // Тут ошибка. Когда убираю тернарник - всё норм.
return SendClientMessage(plaeyerid, -1, string);
}
Использую так:
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);
return SendClientMessage(playerid, 0xE5C62DFF, string);
#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)) : ("")); // Тут ошибка. Когда убираю тернарник - всё норм.
return SendClientMessage(plaeyerid, -1, string);
}
Использую так:
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);
return SendClientMessage(playerid, 0xE5C62DFF, string);