[Tutorial] Criando convites
#1

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 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 <id/nome>

PHP код:
#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(playeridCOR"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(playeridCOR"Jogador nгo conectado"); 
    new 
name[MAX_PLAYER_NAME]; 
    
GetPlayerName(playeridnamesizeof(name));
    new 
str[128];
    
format(strsizeof(str), "%s(%i) Estб de convidando, aceita?"nameplayerid); 
    
ShowPlayerDialog(idDIALOG_CONVITEDIALOG_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 код:
format(strsizeof(str), "%s(%i) Estб de convidando para se juntar a ele, vocк aceita?"nameplayerid); 
PHP код:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[]) 

   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:XFloat:YFloat: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(idplayeridXYZ);
            
SetPlayerPos(playeridXYZ);    //colocamos o playerid na posiзгo do idplayerid
            
SetPlayerInterior(playeridintidplayerid); 
 
            
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!
Reply
#2

esse tal loop para criar um trtodos, e o for?

PHP код:
for(new <=MAX_PLAYERSi++)
{
   
SetPVarInt(i"convidar" playerid);
}
Ai la no dialog o i vira o playeride o idplayerid "cara que usou o convite" tlg agora como й :
Reply
#3

Consegui cria o puxar com convite :v vlw
Reply
#4

Boa,mas como tu postou o tuto dia 15/08 se ainda й dia 14/08 ? se й de portugal ?
Reply
#5

Ajudou :v kk agora consegui, tava procurando isso a 2 mкs, eu tinha ate feito assim:

new IDPLAYERPUXADOR[MAX_PLAYERS];
new IDPLAYERPUXADO[MAX_PLAYERS];

ai la no comando usei,

IDPLAYERPUXADOR[playerid] = playerid;
IDPLAYERPUXADO[id] = id;

mas nгo deu muito certo
Reply
#6

Mas tem como fazer sem Pvar?
Reply
#7

Quote:
Originally Posted by ThiagoMikael
Посмотреть сообщение
Mas tem como fazer sem Pvar?
Sim.

@topic
Bom tutorial.

rep += 2;
Reply
#8

Quote:
Originally Posted by GuilhermeNunes
Посмотреть сообщение
Boa,mas como tu postou o tuto dia 15/08 se ainda й dia 14/08 ? se й de portugal ?
nгo, sou do br mesmo de boa
Reply
#9

Quote:
Originally Posted by GuilhermeNunes
Посмотреть сообщение
Boa,mas como tu postou o tuto dia 15/08 se ainda й dia 14/08 ? se й de portugal ?
Й o horбrio do forum.
Reply
#10

Gostei do tutorial ... Mas tem uma forma Mais Otimizada e fбcil de se fazer.

Usando Dialog MSGBOX e response..
+REP
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)