PDA

Просмотр полной версии : [Вопрос] /invite



Albert
30.12.2014, 13:41
Хочу создать команду /invite, но выдаёт ошибки. Не могу разобраться где, что и почему. Подскажите, пожалуйста, как правильно написать.

Переменные отвечающие за лидерку, фракцию и ранг:


pLeader,
pMember,
pRank,


Вместо PlayerInfo используется pInfo

Так вначале выглядит паблик отвечающий за команды:



public OnPlayerCommandText(playerid, cmdtext[])
{
if(pInfo[playerid][pLogged]==false) return SendClientMessage(playerid,0xFF0000FF,"Âû íå àâòîðèçèðîâàíû!");


if (strcmp("/mycommand", cmdtext, true, 10) == 0)
{

// Do something here

return 1;
}




return 0;
}



После добавления команды /invite



public OnPlayerCommandText(playerid, cmdtext[])
{
if(pInfo[playerid][pLogged]==false) return SendClientMessage(playerid,0xFF0000FF,"Âû íå àâòîðèçèðîâàíû!");


if (strcmp("/mycommand", cmdtext, true, 10) == 0)
{

// Do something here

return 1;
}

if(strcmp(cmd, "/invite", true) == 0)
{
new para1;
new ftext[32];
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, 0xFF0000FF, "Aaaaeoa: /invite [id]");
para1 = ReturnUser(tmp);
if(GetDistanceBetweenPlayers(playerid, para1) < 5.0)
{
if(pInfo[playerid][pLeader] == 1 || pInfo[playerid][pMember] == 1 && pInfo[playerid][pRank] >= 4)
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
new giveplayer[MAX_PLAYER_NAME];
new sendername[MAX_PLAYER_NAME];
if(IsPlayerInAnyVehicle(para1)) return SendClientMessage(playerid, 0xFF0000FF, "[ERROR] Ea?ie iaoiaeony a o?ainii?oa!");
if(pInfo[para1][pMember] != 0) return SendClientMessage(playerid, 0xFF0000FF, "[ERROR] Ea?ie o?a ninoieo a eaeie-oi i?aaiecaoee!");
//if(PlayerInfo[playerid][pLevel] < 2) return SendClientMessage(playerid, COLOR_RED, "[ERROR] I?eai aicii?ai oieuei n 2-o eao i?i?eaaiey a ooaoa");
if(pInfo[playerid][pLeader] == 1 || pInfo[playerid][pMember] == 1 && pInfo[playerid][pRank] == 4)
else { return true; }
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Au i?eiyee %s ?aaioaou a %s", giveplayer,ftext);
SendClientMessage(playerid, COLOR_BLUE, string);
format(string, sizeof(string), "Au auee i?eiyou a %s eeaa?ii %s", ftext, sendername);
SendClientMessage(para1, 0x6495EDFF, string);
//FormaFrac[para1] = 0;
pInfo[para1][pMember] = 1;
pInfo[para1][pRank] = 1;
pInfo[para1][pJob] = 0;
SavePlayer(para1);
}
}
}
else return SendClientMessage(playerid, 0x6495EDFF, "[ERROR] O aan ia ainoaoi?ii i?aa aey eniieuciaaiey aaiiie eiiaiau!");
}
else return SendClientMessage(playerid, 0x6495EDFF, "[ERROR] Ea?ie aie?ai auou ?yaii n aaie!");
}
}


return 0;
}



Ошибки после добавления команды /invite


E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(254) : error 017: undefined symbol "cmd"
E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(260) : error 017: undefined symbol "tmp"
E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(260) : error 017: undefined symbol "strtok"
E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(261) : error 017: undefined symbol "tmp"
E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(262) : error 017: undefined symbol "ReturnUser"
E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(263) : error 017: undefined symbol "GetDistanceBetweenPlayers"
E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(277) : error 029: invalid expression, assumed zero
E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(278) : warning 225: unreachable code
E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(280) : error 017: undefined symbol "string"
E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(280) : error 017: undefined symbol "string"
E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(280) : error 029: invalid expression, assumed zero
E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(280) : fatal error 107: too many error messages on one line


P.S. и напишет пожалуйста функцию, которая будет выдавать цвет ника для игрока

Dima_Tushin
01.01.2015, 21:02
мой совет лучше начинай с изменением текста потом пробуй делать пикапы, объекты ставить а потом уже пытаться создавать команды, системы, лидерки я так начинал!