Ошибка Unknown command
#1

Добрый день, с чем можеть быть связана проблема: "После 1го использования команды, например /swap вылазиет ошибка SERVER: Unknown command. Т.е первый раз я ее использую норм, а потом лезит ета ошибка =/. С остальными командами все нормально"

Вот код команды:

if(!strcmp(cmd,"/swap",true))
{
if (!IsPlayerAdmin(playerid) && Players[playerid][pAdminLevel] < 1) SendClientMessage(playerid, AAD_COLOR_COMMANDTEXT, "*вы не админ");
else if (CurrentZone != -1 || Watching) SendClientMessage(playerid, AAD_COLOR_COMMANDTEXT, "Error");
else Swap();
return 1;
}

Swap()
{
for(new i = 0; i < GetMaxPlayers(); i++)
{
if (IsPlayerConnected(i))
{
if (Players[i][pTeam] == T_ATT || Players[i][pTeam] == T_DEF)
{
StopSpectate(i);
if(Players[i][pTeam] == T_ATT)
{
SetPlayerGameTeam(i, T_DEF);
}
else if(Players[i][pTeam] == T_DEF)
{
SetPlayerGameTeam(i, T_ATT);
}
SpawnPlayer(i);
PlayerPlaySound(i,1150,0.0,0.0,0.0);
}
}
}
return 1;
}
Reply
#2

В колбеке OnPlayerCommandText до этих команд какие-нибудь массивы создаются?
Reply
#3

канеш, это же очевидно, т.к. есть строка cmd, которая явно создана ранее
Reply
#4

ну в начале колбека обьявляются массивы cmd и string, ну и иногда в некоторых командах используется tmp[256], а так все
Reply
#5

Quote:
Originally Posted by MX_Master
View Post
канеш, это же очевидно, т.к. есть строка cmd, которая явно создана ранее
не, я просто один раз впихал среди команд создание двумерного массива, и после одного прогона колбека, второй раз он простовал переставал работать и выдавал постоянно SERVER: Unknown command.

А у топикстартера просто случается вариант когда событие оканчивается не return 1;
Reply
#6

Попробуй заменить
Code:
else Swap(); 
return 1;
на это
Code:
else{ Swap(); 
return 1;}
Reply
#7

Code:
if(!strcmp(cmd,"/swap",true)
тут как минимум скобочки не хватает
Reply
#8

Stepashka, нет двумерные массивы в колбеке не создаются, да и остальные команды нормально себя ведут, а именно /swap, вызывает ету ошибку...
Smoria, от етого ничего не изменилось
ONIXS, ну скобочкачто нужна ето понятно, но суть далеко не в ней т.к компилятор, без скобки даже не скомпилировал...
Reply
#9

Покажи код StopSpectate(i);
Reply
#10

StopSpectate(playerid)
{
TextDrawHideForPlayer(playerid,Players[Players[playerid][pSpectateID]][pSpecText]);
TogglePlayerSpectating(playerid, 0);
Players[playerid][pSpectateID] = INVALID_PLAYER_ID;
Players[playerid][pSpectateType] = SPECTATE_TYPE_NONE;
return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)