[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
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)
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)
Definidos e prontos!!
Defina as que são clicavéis :
Defina abaixo de OnGameModeInit onde você colocou as Textdraw!!
Acho que é isso...1º tutorial, se tiver erros ou alguma coisa incomum me falem!
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!