22/01/2023 05:15
Tente algo como o código abaixo.
Código PHP:
#define Dialog_Aceitar 0
CMD:venderskin(playerid, params[]) {
new id, skin, str[128];
if(sscanf("ud", id, skin)) return SendClientMessage(playerid, -1, "Use: /venderskin [id] [skin]");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "Jogador(a) não conectado(a).");
if(skin < 0 || skin > 311) return SendClientMessage(playerid, -1, "ID de skin inválido.");
SetPVarInt(id, "Comprador", id);
SetPVarInt(playerid, "Vendedor", playerid);
SetPVarInt(id, "Skin", skin);
format(str, sizeof(str), "{FFFFFF}O(A) Vendedor(a) de skins %s[%d] te ofereceu a skin ID %d por $200.", GetPlayerNameEx(playerid), playerid, skin);
ShowPlayerDialog(id, Dialog_Aceitar, DIALOG_STYLE_MSGBOX, "Vendedor de Skin", str, "Aceitar", "Recusar");
return 1;
}
stock GetPlayerNameEx(playerid) {
static Name[MAX_PLAYER_NAME];
GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
return Name;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
if(dialogid == Dialog_Aceitar) {
new id = GetPVarInt(playerid, "Comprador"), id2 = GetPVarInt(playerid, "Vendedor"), skin = GetPVarInt(playerid, "Skin");
if(response == 1) {
GivePlayerMoney(id, -200);
GivePlayerMoney(id2, 200);
SetPlayerSkin(id, skin);
}
else if(response == 0) {
SendClientMessage(id2, -1, "O comprador recusou sua oferta de skin.");
SendClientMessage(id, -1, "Você recusou a oferta de skin!");
}
}
return 1;
}
Não estou disponível para realizar serviços relacionados ao SA-MP e não costumo responder a mensagens privadas, a menos que estejam relacionadas à moderação do fórum.