SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

Participe do fórum, é rápido e fácil

SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

SSGamers - 12 Anos online por você.

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Chegou o novo tema 6.5.5 - SSGamers - Servidores online de qualidade - Aproveite e entre para nossa comunidade, inscreva-se já! - Ouça nossa web radio - Veja nossas novidades - Participe dos nossos setores de jogos online - Parcerias aberta fale já com um administrador.

2 participantes

    [TUTORIAL] Definindo Textdraw Clicável

    Felipe_AP
    Felipe_AP
    --> Postador Iniciante
    --> Postador Iniciante


    Steam Steam : Nenhuma
    Zello : Scripter Iniciante
    Celular : +554384075179
    Mensagens : 112
    Moedas : 3118
    Data de inscrição : 15/05/2016
    Idade : 22
    Localização : Desconhecida...

    [TUTORIAL] Definindo Textdraw Clicável Empty [TUTORIAL] Definindo Textdraw Clicável

    Mensagem por Felipe_AP Ter 1 Nov 2016 - 20:48

    [TUT] Definindo Textdraw Clicável

    Primeiro defina as variáveis da Textdraw (Tópico: https://scriptsamp.forumeiros.com/t10946-textdraw-tela-de-login)
    Variável 'new' é no inicio da GameMode, e o resto em OnGameModeInit

    Código:
    public OnPlayerClickTextDraw(playerid, Text:clickedid)
    {
        if(_:clickedid != INVALID_TEXT_DRAW)
        {
          if(clickedid == Textdraw[15])
          {
                  new plname[MAX_PLAYER_NAME];
                  GetPlayerName(playerid,loginname,sizeof(loginname));
                  GetPlayerName(playerid, plname, sizeof(plname));
             format(gstring,sizeof(gstring), "Contas/%s.ini", plname);
                  if(DOF2_FileExists(gstring))
                  {
                     // SEU SISTEMA DE LOGIN
                            }
                            else
                            {
                                  ShowPlayerDialog(playerid, 9632, DIALOG_STYLE_MSGBOX, "ERRO", "{FFFFFF}Você não tem uma conta!", "Ok", "");
                  }
                  return 1;
          }
          if(clickedid == Textdraw[16])
                   {
             new plname[MAX_PLAYER_NAME];
                  GetPlayerName(playerid,loginname,sizeof(loginname));
                  GetPlayerName(playerid, plname, sizeof(plname));
             format(gstring,sizeof(gstring), "Contas/%s.ini", plname);
                  if(DOF2_FileExists(gstring))
                  {
                         ShowPlayerDialog(playerid, 9632, DIALOG_STYLE_MSGBOX, "ERRO", "{FFFFFF}Você tem uma conta, logue-se!", "Ok", "");
                  }
                  else
                  {
                     // SEU SISTEMA DE LOGIN AQUI
                            }
                  return 1;
          }
          if(clickedid == Textdraw[17])
          {
                    SendClientMessage(playerid, 0xFFFFFFAA, "Você foi kickado por não se registrar/logar!");
                         return Kick(playerid);
          }
          return 1;
       }
            return 1;
    }

    caso já estiver definido o sistema de login/registro em OnPlayerRequestClass exclua o sistema e cloque esse, logo após definir as Textdraw clicavél, hora de fazer com que elas apareçam quando conectar no servidor, vamos definir uma stock pra não ficar muita coisa na public defina em OnPlayerRequestClass CarregarTexts(playerid); (Pode ser em qualquer lugar da public, defina apenas "CarregarTexts" a stock e na GameMode no final por exemplo)

    Código:
    stock CarregarTexts(playerid)
    {
       SelectTextDraw(playerid, 0xFFFFFFAA);
       TextDrawShowForPlayer(playerid, Textdraw[0]);
       TextDrawShowForPlayer(playerid, Textdraw[1]);
            TextDrawShowForPlayer(playerid, Textdraw[2]);
       TextDrawShowForPlayer(playerid, Textdraw[3]);
       TextDrawShowForPlayer(playerid, Textdraw[4]);
       TextDrawShowForPlayer(playerid, Textdraw[5]);
       TextDrawShowForPlayer(playerid, Textdraw[6]);
       TextDrawShowForPlayer(playerid, Textdraw[7]);
       TextDrawShowForPlayer(playerid, Textdraw[8]);
       TextDrawShowForPlayer(playerid, Textdraw[9]);
       TextDrawShowForPlayer(playerid, Textdraw[10]);
       TextDrawShowForPlayer(playerid, Textdraw[11]);
       TextDrawShowForPlayer(playerid, Textdraw[12]);
       TextDrawShowForPlayer(playerid, Textdraw[13]);
       TextDrawShowForPlayer(playerid, Textdraw[14]);
       TextDrawShowForPlayer(playerid, Textdraw[15]);
       TextDrawShowForPlayer(playerid, Textdraw[16]);
       TextDrawShowForPlayer(playerid, Textdraw[17]);
    }

    defina em qualquer lugar do GameMode logo depois defina em OnPlayerSpawn        EsconderTexts(playerid); (Mesma coisa acima, defina no final da GameMode ou em qualquer lugar so nao pode ser em alguma public)

    Código:
    stock EsconderTexts(playerid)
    {
       TextDrawHideForPlayer(playerid, Textdraw[0]);
       TextDrawHideForPlayer(playerid, Textdraw[1]);
            TextDrawHideForPlayer(playerid, Textdraw[2]);
       TextDrawHideForPlayer(playerid, Textdraw[3]);
       TextDrawHideForPlayer(playerid, Textdraw[4]);
       TextDrawHideForPlayer(playerid, Textdraw[5]);
       TextDrawHideForPlayer(playerid, Textdraw[6]);
       TextDrawHideForPlayer(playerid, Textdraw[7]);
       TextDrawHideForPlayer(playerid, Textdraw[8]);
       TextDrawHideForPlayer(playerid, Textdraw[9]);
       TextDrawHideForPlayer(playerid, Textdraw[10]);
       TextDrawHideForPlayer(playerid, Textdraw[11]);
       TextDrawHideForPlayer(playerid, Textdraw[12]);
       TextDrawHideForPlayer(playerid, Textdraw[13]);
       TextDrawHideForPlayer(playerid, Textdraw[14]);
       TextDrawHideForPlayer(playerid, Textdraw[15]);
       TextDrawHideForPlayer(playerid, Textdraw[16]);
       TextDrawHideForPlayer(playerid, Textdraw[17]);
       CancelSelectTextDraw(playerid);
    }

    Definidos e prontos!!
    Defina as que são clicavéis :

    Código:

    TextDrawSetSelectable(Textdraw[15], true);
    TextDrawSetSelectable(Textdraw[16], true);
    TextDrawSetSelectable(Textdraw[17], true);

    Defina abaixo de OnGameModeInit onde você colocou as Textdraw!!
    Acho que é isso...1º tutorial, se tiver erros ou alguma coisa incomum me falem!
    Henrique.
    Henrique.
    --> Postador Iniciante
    --> Postador Iniciante


    Zello : Scripter / Mapper / Beta tester.
    Celular : 11949695751
    Mensagens : 92
    Moedas : 3041
    Data de inscrição : 03/06/2016
    Localização : San Andreas

    [TUTORIAL] Definindo Textdraw Clicável Empty Re: [TUTORIAL] Definindo Textdraw Clicável

    Mensagem por Henrique. Qua 2 Nov 2016 - 14:14

    Nice .



    === BUY ME GAMEMODE ===
    + *New : Tela de login nova com um design elegante.
    + *New : Novos Sistemas
    + *New : /admins em dialog
    + *New : /lideres em dialog
    + *New : Sistema de acessórios, caldeirões, corações, óculos, bonés, chapéus, e outros acessórios.
    + *New : Gamemode toda codada.
    + *New : Novos mapas.
    + *New : V2.3 !!!
    + *New : Sem bugs.
    + *New : Sistema de inventário.
    + *New : 10 Cargos Administrativos.
    + *New : Helpers.
    + *New : 36 Organizações.
    + *New : Vips/Sócios/S.Sócios
    + *New : E muito mais !!!

    +++ADD MY SKYPE+++

      Data/hora atual: Sex 29 Mar 2024 - 6:17