Sistema de /suspeito por nivel -
Harper - 25.01.2013
Bom, eu nгo consegui achar uma formula de fazer isso, gostaque que o sistema em vez de apenas pela descriзгo do crime, tivesse que escolher o nivel tambйm.
O comando seria assim;
Sintaxe: /su [id] [nivel] [descriзгo do crime]
Atualmente o comando estб assim;
pawn Код:
if(strcmp(cmd, "/suspect", true) == 0 || strcmp(cmd, "/su", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(Caido[playerid] == 1)
{
SendClientMessage(playerid, TEAM_CYAN_COLOR, "Vocк estб muito machucado.");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, " (/su)spect [ id ] [Descriзгo do Crime]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(PlayerInfo[playerid][pTanabolisante] > 0) return SendClientMessage(playerid,COLOR_GREY," Vocк estб suspenso!");
if (gTeam[playerid] == 2 || IsACop(playerid))
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
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))
{
SendClientMessage(playerid, COLOR_GRAD2, " (/su)speito [ id ] [crime]");
return 1;
}
if(WantedPoints[giveplayerid] == 0) { WantedPoints[giveplayerid] = 3; }
else { WantedPoints[giveplayerid]+= 2; }
SetPlayerCriminal(giveplayerid,playerid, result);
PlayerInfo[giveplayerid][pWantedLevel] += 1;
return 1;
}
}
else
{
format(string, sizeof(string), " %d nгo estб conectado.", giveplayerid);
SendClientMessage(playerid, COLOR_GRAD1, string);
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, " Vocк nгo й policial!");
}
}
return 1;
}
Quem puder ajudar, desde jб agradeзo!
Re: Sistema de /suspeito por nivel -
arakuta - 25.01.2013
usa ZCMD + SSCANF. Й muito mais otimizado, e bem mais facil de aprender.
Vou deixar o link do tutorial:
https://sampforum.blast.hk/showthread.php?tid=277842
E um simples exemplo de su.
pawn Код:
CMD:su(playerid,params[])
{
new id, crime[20], nivel, a[120];
if(sscanf(params,"dsd",id,crime,nivel)) return SendClientMessage(playerid,-1,"Uso: /su [ID][CRIME][NIVEL]");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid,-1,"ID Invбlido");
SetPlayerWantedLevel(playerid,GetPlayerWantedLevel(playerid) + nivel);
format(a,sizeof a,"Vocк cometeu um crime! [%s][%d niveis]. Acusante: [%s]",crime,nivel,GetName(playerid));
SendClientMessage(playerid,-1,a);
return 1;
}
Sу precisa arrumar algumas condiзхes pra checar se й cop... etc.