[Ajuda] Alterar
#1

Como posso alterar meu sistema de login para um textdraw, tipo, eu tenho o meu sistema que й de dialog e queria passar pra textdraw й possivel? sem alterar minhas variaveis?
Reply
#2

Pelo o que eu entendi vocк quer trocar seu sistema de login de dialog por um de textdraws clicбveis й isso ?
Reply
#3

Quote:
Originally Posted by Swinte
Посмотреть сообщение
Pelo o que eu entendi vocк quer trocar seu sistema de login de dialog por um de textdraws clicбveis й isso ?
8isso
Reply
#4

sim, mt simples
criar a textdraw como Player e nгo global,
eu uso o ipleomax, ai quando tu tiver criado tem a opзгo pra escolher se ela vai ser sectable e player, vcs escolhe as 2
pra se clicavel e textplayer

ex:
PHP код:
new PlayerText:Registro[MAX_PLAYERS];
new 
PlayerText:LOG_IN[MAX_PLAYERS]; 
ai agora vocк vai mostrar elas para os outros players,

primeiro vocк cria ela ne k, ai nos crio so as variбvel, vou colocar aqui so a primiera linnha claro que tem as cores as size etc
coloca em onplayerconnect
PHP код:
Registro[playerid] = CreatePlayerTextDraw(playeridXY"REGISTRAR");
LOG_IN[playerid] = CreatePlayerTextDraw(playeridXY"LOGAR"); 
no final de toda sua textdraw coloque
PHP код:
PlayerTextDrawSetSelectable(playeridRegistro[playerid], true);
PlayerTextDrawSetSelectable(playeridLOG_IN[playerid], true); // elas estгo clicaveis 
agora vamos mostrar ela, SHOW
no lugar onde iria de aparecer o dialog pra fazer registro vocК coloca:
PHP код:
PlayerTextDrawShow(playeridRegistro[playerid]);
//e a cor da textdraw quando a seta passa por cima
SelectTextDraw(playeridCOR_AQUI); 
tira o dialog etc e coloca ela!
no dialog pra fazer login:
PHP код:
PlayerTextDrawShow(playeridLOG_IN[playerid]);     
SelectTextDraw(playeridCOR_AQUI); 
agora vamos criar a funзгo pra quando o nego clicar nela

vamos em ublic OnPlayerClickPlayerTextDraw(playerid, PlayerTextlayertextid)

PHP код:
public OnPlayerClickPlayerTextDraw(playeridPlayerText:playertextid)
{
return 
1;

//aqui e onde tu vai colocar a funзгo do dialog que nos expulsamos lembra?
PHP код:
public OnPlayerClickPlayerTextDraw(playeridPlayerText:playertextid)
{
if(
playertextid == Registro[playerid]) //= se o jogador clica na textdraw registro
    
{
         
ShowPlayerDialog(playeridREGISTRODIALOG_STYLE_PASSWORD"REGISTRO""Digite uma senha:","Registrar","Cancelar");
         
CancelSelectTextDraw(playerid);
    }
    if(
playertextid == LOG_IN[playerid])
    {
         
ShowPlayerDialog(playeridLOGINDIALOG_STYLE_PASSWORD"Login""Digite sua senha:","Logar","Cancelar");
         
CancelSelectTextDraw(playerid); //cancelar ela de ser clicavel
    
}
return 
1;

Espero que tenha ajudado!
Reply
#5

Eu basicamente tiro os cуdigos do ondialog response e coloco no onPlayerClickPlayerTextDraw ?
Reply
#6

nгo, tu tira o dialog que inicia o dialog responde, tipo onplayerrequestclass eu crio la pra verificar se o player e registrado ou nгo
ai tipo crio os 2 showplayerdilaog registo e login, no lugar deles 2 que tu troca pelas as textdraws

ai basicamente a chamada do dialogresponde tava sendo no playerrequesteclass, ai mudou pra quando ele clicar, quando ele clicar, que vai ser chamado o dialog do dialogresponse

slg no meu, pra voce entender

PHP код:
public OnPlayerRequestClass(playeridclassid)
{
     
SetPlayerPos(playerid1958.37831343.157215.3746);
     
InterpolateCameraPos(playerid1959.2622071344.08801215.3746072035.7670891343.86303713.4138914000);
     
InterpolateCameraLookAt(playerid2035.8634031343.38952613.9577231961.4100341344.22863715.9856513000);
     
     new 
opening random(3);
    switch(
opening)
    {
        case 
0:
        {
          
InterpolateCameraPos(playerid163.2701412000.13500945.1230851638.889648869.13470433.7092283000);
          
InterpolateCameraLookAt(playerid167.2371211997.09167445.0918351643.077880866.40362533.7053223000);
        }
        case 
1:
        {
          
InterpolateCameraPos(playerid1649.179443846.97003133.1937712040.8425291343.22570814.4256013000);
          
InterpolateCameraLookAt(playerid1654.173095847.00451632.9438742035.8471671343.31518514.2303383000);
        }
        case 
2:
        {
          
InterpolateCameraPos(playerid2040.8386231343.22082514.4257861956.4340821344.49182116.3992422000);
          
InterpolateCameraLookAt(playerid2035.8634031343.38952613.9577231961.4100341344.22863715.9856512000);
        }
    }
     
    
//REGISTRO
    
new String[128], Nome[MAX_PLAYER_NAME];
    
GetPlayerName(playeridNomesizeof(Nome));
    
format(Stringsizeof(String), CONTASNome);
    if(!
fexist(String))
    {
        
TextDrawShowForPlayer(playeridformato);
        
TextDrawShowForPlayer(playeridregistro);
        
//TextDrawShowForPlayer(playerid, usebox1);
        
TextDrawShowForPlayer(playeridwarning1);
        
TextDrawShowForPlayer(playeridwarning2);
        
TextDrawShowForPlayer(playeridwarning3);
        
TextDrawShowForPlayer(playeridwarning4);
        
TextDrawShowForPlayer(playeridentrada);
        
TextDrawShowForPlayer(playeridwarning5);
        
TextDrawShowForPlayer(playeridwarning6);
        
TextDrawShowForPlayer(playeridwarning7);
        
TextDrawShowForPlayer(playeridnick);
        
PlayerTextDrawShow(playeridSenhaRegistro[playerid]);
        
PlayerTextDrawShow(playeridGuestLogRegistro[playerid]);
        
SelectTextDraw(playeridLARANJA);
        
//TogglePlayerSpectating(playerid, 1);
        //format(String, sizeof(String), "{FFFFFF}Olб {FFA000}%s{FFFFFF} vocк ainda nгo tem uma conta.\nRegistre-se e jogue em nosso servidor\n\nDigite uma senha para registrar:", Nome);
        //ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_PASSWORD, "Registro", String, "{FFA000}Registrar", "Cancelar");
    
}
    
//LOG-IN
    
else
    {
        
TextDrawShowForPlayer(playeridformato);
        
TextDrawShowForPlayer(playeridlogin);
        
TextDrawShowForPlayer(playeridbemvindo);
        
//TextDrawShowForPlayer(playerid, warning1l);
        //TextDrawShowForPlayer(playerid, warning2l);
        
TextDrawShowForPlayer(playeridentrada);
        
TextDrawShowForPlayer(playeridnick);
        
PlayerTextDrawShow(playeridlogar[playerid]);
        
SelectTextDraw(playeridLARANJA);
        
//TogglePlayerSpectating(playerid, 1);
        //format(String, sizeof(String), "{FFFFFF}Olб {FFA000}%s{FFFFFF}%s vocк jб tem uma conta, \nDigite sua senha para continuar:", Nome);
        //ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Login", String, "{FFA000}Logar", "Cancelar");
    
}
    return 
1;

Reply
#7

nгo esqueзa de tira elas quando o player spawnar, da um hide nas 2 textdraw
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)