PDA

Просмотр полной версии : [Вопрос] error 010: invalid function or declaration



Skyline
09.09.2016, 14:11
СMD:startjoind(playerid, params[]) // 12388
{
if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, COLOR_WHITE, !"Неизвестная команда."); // 12390
if(zonaderby == 0) return SendClientMessage(playerid, COLOR_GREY, !"Дерби зона не создана."); // 12391
if(startderby == 1) return SendClientMessage(playerid, COLOR_GREY, !"Дерби запущено."); // 12392
for(new i; i < GetMaxPlayers(); i++) // 12393
{
if(GetPVarInt(i,"DERB") != zonaderby) continue; // 12395
SendClientMessage(i,COLOR_GREEN,!"Готовтесь, старт через 5 секунд.");
}
startderby = 1;
goderby = 5;
return 1; // 12400
}


(12388) : error 010: invalid function or declaration
(12390) : error 010: invalid function or declaration
(12391) : error 010: invalid function or declaration
(12392) : error 010: invalid function or declaration
(12393) : error 010: invalid function or declaration
(12395) : error 010: invalid function or declaration
(12400) : error 010: invalid function or declaration

Помогите, не пойму что не с так с функциями...

DeimoS
09.09.2016, 16:46
for(new i; i < GetMaxPlayers(); i++)
на

for(new i, j = GetMaxPlayers(); i < j; i++)
И покажи 10 строк выше 12388

Skyline
09.09.2016, 22:24
CMD:closejoind(playerid)
{
if(PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playerid, COLOR_WHITE, !"Неизвестная команда.");
for(new i; i < GetMaxPlayers(); i++)
{
if(GetPVarInt(i,"DERB") != zonaderby) continue;
DeletePVar(i,"DERB");
DeletePVar(i,"car");
DeletePVar(i,"TIMED");
if(GetPVarInt(i,"car") > 1) DestroyVehicle(GetPVarInt(i,"car"));
SetPlayerHealth(i,0);
SendClientMessage(i, COLOR_LIGHTRED, !"{00FA9A}AscarY: Гонка дерби отменёна.");
}
zonaderby = 0,startderby = 0,carderby = 0, goderby = 0, vznosderby = 0, bankderby = 0;
SendClientMessage(playerid,COLOR_GREY,!"Вы закрыли дерби зону.");
return 1;
}

Выше команда эта..
Поменяв цикл, ошибки остаются

Skyline
10.09.2016, 10:45
Проблема актуальна(
При переводе команды на DC_CMD появились данные ошибки..

m1n1vv
10.09.2016, 12:57
CMD:closejoind(playerid)
{
if (PlayerInfo[playerid][pAdmin] < 2)
return SendClientMessage(playerid, -1, !"Неизвестная команда.");

for (new i, j = GetMaxPlayers(); i < j; i++)
{
if (!IsPlayerConnected(i))
continue;

if (GetPVarInt(i, "DERB") != zonaderby)
continue;

DeletePVar(i, "DERB");
DeletePVar(i, "TIMED");

if (GetPVarInt(i, "car") > 1)
DestroyVehicle(GetPVarInt(i, "car"));

DeletePVar(i, "car");

SetPlayerHealth(i, 0);

SendClientMessage(i, COLOR_LIGHTRED, !"{00FA9A}AscarY: Гонка дерби отменена.");
}

zonaderby =
startderby =
carderby =
goderby =
vznosderby =
bankderby = 0;

SendClientMessage(playerid, COLOR_GREY, !"Вы закрыли дерби зону.");

return 1;
}

Skyline
10.09.2016, 17:55
Все тоже самое...

DeimoS
10.09.2016, 18:55
CMD:closejoind(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playerid, COLOR_WHITE, !"Неизвестная команда.");
for(new i, j = GetMaxPlayers(); i < j; i++)
{
if(!IsPlayerConnected(i) || GetPVarInt(i,"DERB") != zonaderby) continue;
if(GetPVarInt(i,"car") > 1) DestroyVehicle(GetPVarInt(i,"car"));
DeletePVar(i,"DERB");
DeletePVar(i,"car");
DeletePVar(i,"TIMED");
SetPlayerHealth(i,0);
SendClientMessage(i, COLOR_LIGHTRED, !"{00FA9A}AscarY: Гонка дерби отменёна.");
}
zonaderby = 0;
startderby = 0;
carderby = 0;
goderby = 0;
vznosderby = 0;
bankderby = 0;
SendClientMessage(playerid,COLOR_GREY,!"Вы закрыли дерби зону.");
return 1;
}

Skyline
10.09.2016, 22:57
Не помогло. Если убрать команду /startjoind - то все хорошо компилирует...

- - - Добавлено - - -

Исправил.. не знаю как и почему, команду убрал в другое место...

_lizard
10.09.2016, 23:03
Может вы просто вшили команду внутри другой функции/команды?

Skyline
10.09.2016, 23:17
Да нет, все команды отделены. Такой вопрос, можно ли использовать два командных процессора одновременно? Обычный и DC_CMD или же только переводить теперь все на один?

DeimoS
11.09.2016, 00:18
Да нет, все команды отделены. Такой вопрос, можно ли использовать два командных процессора одновременно? Обычный и DC_CMD или же только переводить теперь все на один?

Можешь сделать так:

public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
if(success == -1)
{
return OnPlayerCommandText(playerid, cmdtext);
}
return 1;
}
Но я советовал бы тебе перевести команды на DC_CMD

Skyline
11.09.2016, 00:40
Можешь сделать так:

public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
if(success == -1)
{
return OnPlayerCommandText(playerid, cmdtext);
}
return 1;
}
Но я советовал бы тебе перевести команды на DC_CMD

Да я перевожу, просто тестить тоже бы надо