Hola, me gustarнa saber como un jugador puede ofrecerle a otro cualquier cosa y el otro acepte. Por ejemplo:
Jugador 1 ofrece a Jugador 2 un arma mediante el comando: /venderarma [id] [cantidad de dinero]
Para que la operaciуn se realize el Jugador 2 tiene que aceptar mediante otro comando: /aceptararma . Este comando tambiйn deberнa dar dinero el dinero que especifico el jugador 1 a йl mismo y quitarle esa misma cantidad al jugador 2.
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.