public OnPlayerCommandText(playerid, cmdtext[])
{
new idx;
new cmd[128];
cmd = strtok(cmdtext, idx);
if (strcmp("/dargrana", cmdtext, true, 10) == 0 && IsPlayerAdmin(playerid))
{
new tmp[128], tmp2[128];
tmp = strtok(cmdtext, idx);
tmp2 = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, 0xFF0000FF, "[ERRO] Use: /dargrana [ID] [Quantia]");
return 1;
}
if(!strlen(tmp2))
{
SendClientMessage(playerid, 0xFF0000FF, "[ERRO] Use: /dargrana [ID] [Quantia]");
return 1;
}
new recebedor, quantia;
recebedor = strval(tmp);
quantia = strval(tmp2);
if(IsPlayerConnected(recebedor))
{
new string[128], string2[128], pname[MAX_PLAYER_NAME], aname[MAX_PLAYER_NAME];
GetPlayerName(recebedor, pname, MAX_PLAYER_NAME);
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(string, 128, "O Admin %s deu R$%d para vocк!", aname, quantia);
format(string2, 128, "Vocк enviou R$%d para o jogador %s", pname, quantia);
SendClientMessage(playerid, 0xFFFF00FF, string2);
SendClientMessage(recebedor, 0xFFFF00FF, string);
GivePlayerMoney(recebedor, quantia);
return 1;
}
else
{
SendClientMessage(playerid, 0xFF0000FF, "[ERRO] Jogador nгo encontrado!");
return 1;
}
return true;
}
return 0;
}
pawn Код:
|
CMD:dargrana(playerid, params[])
{
static PlayerID, Quantia, string[54], nome2[24];
if(!IsPlayerAdmin(PlayerID)) return SendClientMessage(playerid, 0xFFFFFFAA, "Vocк nгo й administrador !!");
if(sscanf(params, "dd", PlayerID, Quantia)) return SendClientMessage(playerid, 0xFFFFFFAA, "Use: /dargrana [playerid] [quantia]");
if(!IsPlayerConnected(PlayerID)) return SendClientMessage(playerid, 0xFFFFFFAA, "Jogador nгo conectado !!");
GivePlayerMoney(PlayerID, Quantia);
GetPlayerName(playerid, nome, sizeof(nome));
GetPlayerName(PlayerID, nome2, sizeof(nome2));
format(string, sizeof(string), "Vocк enviou R$%d para o jogador: %s", nome2);
SendClientMessage(playerid, 0x00FF00AA, string);
format(string, sizeof(string), "Vocк recebeu R$ do admin %s", nome);
SendClientMessage(PlayerID, 0x00FF00AA, string);
return 0x1;
}
Porque ao invez disto, nгo utiliza zcmd com sscanf...
bem mais simples, mais rбpido, etc... pawn Код:
|
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[128], tmp[128], idx;
cmd = strtok(cmdtext, idx);
if (!strcmp("/dargrana", cmd, true))
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000FF, "[ERRO] Vocк nгo й Admin.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, 0xFF0000FF, "[ERRO] Use: /dargrana [ID] [Quantia]");
return 1;
}
new giveplayerid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, 0xFF0000FF, "[ERRO] Use: /dargrana [ID] [Quantia]");
return 1;
}
new Value = strval(tmp);
if(IsPlayerConnected(giveplayerid))
{
new string[128], string2[128], pname[MAX_PLAYER_NAME], aname[MAX_PLAYER_NAME];
GetPlayerName(giveplayerid, pname, MAX_PLAYER_NAME);
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(string, 128, "O Admin %s deu R$%d para vocк!", aname, Value ;
format(string2, 128, "Vocк enviou R$%d para o jogador %s", pname, Value);
SendClientMessage(playerid, 0xFFFF00FF, string2);
SendClientMessage(giveplayerid, 0xFFFF00FF, string);
GivePlayerMoney(giveplayerid, Value);
return 1;
}
else
{
SendClientMessage(playerid, 0xFF0000FF, "[ERRO] Jogador nгo encontrado!");
return 1;
}
}
return 0;
}