Criando convites com PVArInt
Links SA-MP Wiki
SetPVarInt
GetPvarInt
Exemplo de uso:
define GetPlayerMoney o valor da variбvel do jogador denominada "Money"
PHP код:SetPVarInt
GetPvarInt
Exemplo de uso:
define GetPlayerMoney o valor da variбvel do jogador denominada "Money"
- Código:
SetPVarInt ( playerid, "Money" , GetPlayerMoney ( playerid ) ) ;
printf ( "dinheiro:% d" , GetPVarInt ( playerid, "Money" ) ) ;
Vamos usar como convite entгo vou da um exp de como vai ser;
SetPVarInt(%0, %1, %2);
%0 = id;
id = o valor int que foi inserido no sscanf.
%1 = Nome da variбvel que ficarб salvo os valor(int) dos 2 players, o playerid e o id.
%2 = playerid
playerid = O cara que usou o comando /convite
PHP код:SetPVarInt(%0, %1, %2);
%0 = id;
id = o valor int que foi inserido no sscanf.
%1 = Nome da variбvel que ficarб salvo os valor(int) dos 2 players, o playerid e o id.
%2 = playerid
playerid = O cara que usou o comando /convite
- Código:
#include "sscanf" //ou sscanf2
#include "ZMCD" //ou de sua preferкncia
#define DIALOG_CONVITE 1
CMD:convite(playerid,params[])
{
/* sscanf (u = int && d = int) */
new id;
if(sscanf(params, "u", id))
{
SendClientMessage(playerid, COR, "Use: /convite <ID/Nome>");
return true;
//em sscanf quando voce retorna true, = o player escolhido terб a opзгo de aceitar!
}
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COR, "Jogador nгo conectado");
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
new str[128];
format(str, sizeof(str), "%s(%i) Estб de convidando, aceita?", name, playerid);
ShowPlayerDialog(id, DIALOG_CONVITE, DIALOG_STYLE_MSGBOX, "Convite", str, "Sim", "Nгo");
SetPVarInt(id, "Convidar", playerid);
return 1;
}
Nesse comando usamos o SetPVar para guarda os int dos 2 players(id,playerid),
vocк pode usar como puxar o jogador.
PHP код:vocк pode usar como puxar o jogador.
- Código:
format(str, sizeof(str), "%s(%i) Estб de convidando para se juntar a ele, vocк aceita?", name, playerid);
PHP код:
- Código:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
use switch ou if
if(dialogid == DIALOG_CONVITE)
{
if(!response) return true; //funзгo la do sscanf, retornamos true == ele nгo aceitou!
{
new Float:X, Float:Y, Float:Z; //vamos usar para getar a posiзгo do playerid que usou o /convite
new idplayerid = GetPVarInt(playerid, "Convidar");
/*
%0 = id;
id = o valor int que foi inserido no sscanf.
%1 = Nome da variбvel que ficarб salvo os valor(int) dos 2 players, o playerid e o id.
%2 = playerid
playerid = O cara que usou o comando /convite <id/nome>
*/
//Agora nуs temos 2 playerid, o playerid1 e 2, 1 = o amigo que usou /convite, 2 o cara que tava no <id/nome>
//1 = idplayerid, 2 = playerid
new Intidplayerid = GetPlayerInterior(idplayerid); //getamos o interior do idplayerid
GetPlayerPos(idplayerid, X, Y, Z);
SetPlayerPos(playerid, X, Y, Z); //colocamos o playerid na posiзгo do idplayerid
SetPlayerInterior(playerid, intidplayerid);
DeletePVar(playerid, "ConvidarPlayer"); //e aqui como o comando foi feito, o jogador jб aceitou o convite etc, nos deletamos a pVar
}
}
return 1; //public
}//public
Vocкs podem usar para vбrios tipos de convite. para usar em um trtodos, basta trocar o id pelo o valor do loop!
Creditos: