Usando ZCMD y sscanf:
Al principio del cуdigo, junto a los demбs new:
pawn Код:
new VentaDeArmaCon[MAX_PLAYERS][2];
Dentro de OnPlayerConnect:
pawn Код:
public OnPlayerConnect(playerid)
{
VentaDeArmaCon[playerid][0] = -1;
VentaDeArmaCon[playerid][1] = 0;
return 1;
}
pawn Код:
COMMAND:venderarma(playerid,params[])
{
new cliente,precio;
if(!sscanf(params,"ii",cliente,precio))
{
if(IsPlayerConnected(cliente))
{
if(precio >= 0)
{
new string[200],name[MAX_PLAYER_NAME+1];
GetPlayerName(playerid, name, sizeof(name));
format(string,sizeof(string),"* %s te ha ofrecido un arma por %i$. Usa /aceptararma para comprarla",name,precio);
SendClientMessage(cliente,-1,string);
GetPlayerName(cliente, name, sizeof(name));
format(string,sizeof(string),"* Has ofrecido un arma a %s por %i$. Espera a que acepte.",name,precio);
SendClientMessage(playerid,-1,string);
VentaDeArmaCon[cliente][0] = playerid;
VentaDeArmaCon[cliente][1] = precio;
}
else
{
SendClientMessage(playerid,-1,"ЎEl precio no puede ser negativo!");
}
}
else
{
SendClientMessage(playerid,-1,"Ese jugador no estб conectado");
}
}
else
{
SendClientMessage(playerid,-1,"Utiliza /venderarma [ID] [precio]");
}
return 1;
}
COMMAND:aceptararma(playerid,params[])
{
if(VentaDeArmaCon[playerid][0] != -1)
{
if(GetPlayerMoney(playerid) >= VentaDeArmaCon[playerid][1])
{
new string[200],name[MAX_PLAYER_NAME+1];
GetPlayerName(VentaDeArmaCon[playerid][0], name, sizeof(name));
format(string,sizeof(string),"* Has comprado el arma que te ofreciу %s por %i$",name,VentaDeArmaCon[playerid][1]);
SendClientMessage(playerid,-1,string);
GetPlayerName(playerid, name, sizeof(name));
format(string,sizeof(string),"* %s te ha comprado el arma que le ofreciste por %i$.",name,VentaDeArmaCon[playerid][1]);
SendClientMessage(VentaDeArmaCon[playerid][0],-1,string);
GivePlayerMoney(playerid,-VentaDeArmaCon[playerid][1]);
GivePlayerMoney(VentaDeArmaCon[playerid][0],VentaDeArmaCon[playerid][1]);
GivePlayerWeapon(playerid, ID DEL ARMA, MUNICION);
VentaDeArmaCon[playerid][0] = -1;
VentaDeArmaCon[playerid][1] = 0;
}
else
{
SendClientMessage(playerid,-1,"No puedes pagar ese precio");
}
}
else
{
SendClientMessage(playerid,-1,"Nadie te ha ofrecido armas.");
}
return 1;
}
Espero que te sirva. Si necesitas explicaciones de algo avнsame.
Saludos.