D1mka5592
Умник
Помогите перевести команды на CMD + Sscanf.
---------- Post added at 15:49 ---------- Previous post was at 14:35 ----------
Помогите, очень срочно нужно!
PHP:
else if(strcmp(cmd, "/editrank", true) == 0)
{
new filestr[50], rang, rangt[4], nrname[32];
if(!IsPlayerConnected(playerid)) return true;
if(PlayerInfo[playerid][pLeader] < 1) return send(playerid, COLOR_WHITE, "Команда доступна только лидерам");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return send(playerid, COLOR_GREY, "Используйте: /editrank [Номер ранга(1-20)] [Название]");
rang = strval(tmp);
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' ')) idx++;
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result)) return send(playerid, COLOR_GREY, "Используйте: /editrank [Номер ранга(1-20)] [Название]");
if(strlen(result) > 20 || strlen(result) < 3) return send(playerid, COLOR_GREY, "Название ранга не меньше 3 и не больше 20");
format(nrname, 32, "%s", result);
format(rangt, 4, "%d", rang);
if(rang > 20 || rang < 1) return send(playerid, COLOR_GREY, "Используйте: /editrank [Номер ранга(1-20)] [Название]");
format(filestr, sizeof(filestr), "gangs/ranks/%d.ini", PlayerInfo[playerid][pLeader]);
new character[256];
new i, j,found = 0,foundchar[256];
for(i=0; i<(strlen(nrname)); i++)
{
strmid(character, nrname, i, i+1, 2);
for(j = 0; j < MAX_NICK_ALLOWED_CHARS; j++)
{
tmps1 = allowednickchars[j];
if(strcmp(hash(character), hash(tmps1), false) == 0)
{
found += 1;
foundchar = tmps1;
}
}
}
format(string, sizeof(string), "Название ранга %d теперь: %s", rang, nrname);
send(playerid, COLOR_WHITE, string);
new iniFile = ini_openFile(filestr);
ini_setString(iniFile, rangt, nrname);
iniClose(iniFile);
return true;
}
PHP:
else if(strcmp(cmd, "/suspect", true) == 0 || strcmp(cmd, "/su", true) == 0)
{
if(!IsACop(playerid)) return send(playerid, COLOR_GREY,"Вы не законник!");
tmp = strtok(cmdtext, idx);
if(PlayerToKvadrat(playerid,GZInfo[playerid][gCoords][0], GZInfo[playerid][gCoords][1],GZInfo[playerid][gCoords][2],GZInfo[playerid][gCoords][3]) && GZInfo[playerid][gFrakVlad] != faction && ZoneOnBattle[playerid] == 0) return send(playerid, COLOR_WHITE, "Нельзя давать розыск на территории банд");
if(!strlen(tmp)) return send(playerid, COLOR_GREY, "Используйте: /su [ID/Часть ника] [Уровень розыска][Причина]");
giveplayerid = ReturnUser(tmp);
if(!IsPlayerConnected(giveplayerid)) return send(playerid, COLOR_WHITE,noconnect);
if(giveplayerid != INVALID_PLAYER_ID)
{
if(IsACop(giveplayerid)) return send(playerid, COLOR_WHITE,"Вы не можете подозревать Полицейского!");
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
tmp = strtok(cmdtext, idx);
new points = strval(tmp);
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result)) return send(playerid, COLOR_GREY, "Используйте: /su [ID/Часть ника] [Уровень розыска] [Причина]");
if(PlayerInfo[giveplayerid][pJailTime] > 0) return send(playerid, COLOR_WHITE, "Игрок уже в тюрьме!");
if(WantedLevel[giveplayerid] == 10) return send(playerid,COLOR_WHITE,""#cancel"• {"#cWHITE"}Больше 10 звезд кидать нельзя!");
if(WantedLevel[giveplayerid] > points) return send(playerid,COLOR_WHITE,""#cancel"• {"#cWHITE"}Нельзя давать розыск меньше, чем сейчас!");
if(points > 10) return send(playerid,COLOR_WHITE,"Больше 10 звезд кидать нельзя");
WantedLevel[giveplayerid] = WantedLevel[giveplayerid] = points;
SetPlayerCriminal(giveplayerid,playerid, result);
if(PlayerInfo[giveplayerid][pSuDost] < 1000) PlayerInfo[giveplayerid][pSuDost]++;
vremg[giveplayerid] = 180;
format(string,sizeof(string),"%s[%d] рация: %s[%d] - %s, уровень розыска: %d",PlayerInfo[playerid][pName],playerid,PlayerInfo[giveplayerid][pName],giveplayerid,(result),WantedLevel[giveplayerid]);
SendTeamMessage(1,0x2943f8FF,string);
return true;
}
return true;
}
---------- Post added at 15:49 ---------- Previous post was at 14:35 ----------
Помогите, очень срочно нужно!
