[Ajuda] Problema em fazer textdraw selecionбvel
#1

estou com uma dъvida imensa, porque eu nгo consigo fazer uma textdraw selecionбvel, exemplo, quando eu dou o comando aparece todas textdraws normais sу que nгo aparece a seta na tela nem da pra clicar nas textdraws q setei como selecionбvel..., vou deixar o cуdigo de como estб;

Quote:

new Text:TextdrawM0 [MAX_PLAYERS];
new Text:TextdrawM1 [MAX_PLAYERS];
new Text:TextdrawM2 [MAX_PLAYERS];
new Text:TextdrawM3 [MAX_PLAYERS];
new Text:TextdrawM4 [MAX_PLAYERS];
new Text:TextdrawM5 [MAX_PLAYERS];
new Text:TextdrawM6 [MAX_PLAYERS];
new Text:TextdrawM7 [MAX_PLAYERS];
new Text:TextdrawM8 [MAX_PLAYERS];


MostrarMinigames(playerid)
{
TextDrawShowForPlayer(playerid, TextdrawM0[playerid]);
TextDrawShowForPlayer(playerid, TextdrawM1[playerid]);
TextDrawShowForPlayer(playerid, TextdrawM2[playerid]);
TextDrawShowForPlayer(playerid, TextdrawM3[playerid]);
TextDrawShowForPlayer(playerid, TextdrawM4[playerid]);
TextDrawShowForPlayer(playerid, TextdrawM5[playerid]);
TextDrawShowForPlayer(playerid, TextdrawM6[playerid]);
TextDrawShowForPlayer(playerid, TextdrawM7[playerid]);
TextDrawShowForPlayer(playerid, TextdrawM8[playerid]);

hud_minigames[playerid] = true;
}

SumirMinigames(playerid)
{
TextDrawHideForPlayer(playerid, TextdrawM0[playerid]);
TextDrawHideForPlayer(playerid, TextdrawM1[playerid]);
TextDrawHideForPlayer(playerid, TextdrawM2[playerid]);
TextDrawHideForPlayer(playerid, TextdrawM3[playerid]);
TextDrawHideForPlayer(playerid, TextdrawM4[playerid]);
TextDrawHideForPlayer(playerid, TextdrawM5[playerid]);
TextDrawHideForPlayer(playerid, TextdrawM6[playerid]);
TextDrawHideForPlayer(playerid, TextdrawM7[playerid]);
TextDrawHideForPlayer(playerid, TextdrawM8[playerid]);

hud_minigames[playerid] = false;
}



public OnPlayerConnect(playerid)
{
Aqui nesta public estб todas as textdraws... uma delas estб assim:

TextdrawM0[playerid] = TextDrawCreate(126.250000, 113.583320, "Lista_de_Minigames");
TextDrawLetterSize (TextdrawM0[playerid], 0.300000, 1.399999);
TextDrawTextSize (TextdrawM0[playerid], 519.000000, 0.000000);
TextDrawAlignment (TextdrawM0[playerid], 1);
TextDrawColor (TextdrawM0[playerid], -1);
TextDrawUseBox (TextdrawM0[playerid], 1);
TextDrawBoxColor (TextdrawM0[playerid], 120);
TextDrawSetShadow (TextdrawM0[playerid], 0);
TextDrawSetOutline (TextdrawM0[playerid], 1);
TextDrawBackgroundColor (TextdrawM0[playerid], 255);
TextDrawFont (TextdrawM0[playerid], 1);
TextDrawSetProportional (TextdrawM0[playerid], 1);
TextDrawSetShadow (TextdrawM0[playerid], 0);
/*==========================================*/
SelectTextDraw(playerid, 0xFF4040AA);
/*==========================================*/
return 1;
}


public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
if(clickedid == TextdrawM2[playerid])
{
ChatMsg(playerid, -1, "Funcionou");
CancelSelectTextDraw(playerid);
SelectTextDraw(playerid, 0xFF4040AA);
}
if(clickedid == TextdrawM3[playerid])
{
ChatMsg(playerid, -1, "Funcionou kkkj");
SelectTextDraw(playerid, 0xFF4040AA);
}
return 1;
}


CMD:minigames(playerid)
{
if(minigame_ativar == false)
{
ChatMsg(playerid, -1, "Os minigames estгo desabilitados no momento");
} else {
TextDrawSetSelectable(TextdrawM2[playerid], 1);
TextDrawSetSelectable(TextdrawM3[playerid], 1);
MostrarMinigames(playerid);
}
return 1;
}
Poderiam me informar o que estб errado para isso nгo funcionar ?...
Reply
#2

PHP код:
new Text:TextdrawM0    [MAX_PLAYERS];
new 
Text:TextdrawM1    [MAX_PLAYERS];
new 
Text:TextdrawM2    [MAX_PLAYERS];
new 
Text:TextdrawM3    [MAX_PLAYERS];
new 
Text:TextdrawM4    [MAX_PLAYERS];
new 
Text:TextdrawM5    [MAX_PLAYERS];
new 
Text:TextdrawM6    [MAX_PLAYERS];
new 
Text:TextdrawM7    [MAX_PLAYERS];
new 
Text:TextdrawM8    [MAX_PLAYERS];
MostrarMinigames(playerid)
{
    
TextDrawShowForPlayer(playeridTextdrawM0[playerid]);
    
TextDrawShowForPlayer(playeridTextdrawM1[playerid]);
    
TextDrawShowForPlayer(playeridTextdrawM2[playerid]);
    
TextDrawShowForPlayer(playeridTextdrawM3[playerid]);
    
TextDrawShowForPlayer(playeridTextdrawM4[playerid]);
    
TextDrawShowForPlayer(playeridTextdrawM5[playerid]);
    
TextDrawShowForPlayer(playeridTextdrawM6[playerid]);
    
TextDrawShowForPlayer(playeridTextdrawM7[playerid]);
    
TextDrawShowForPlayer(playeridTextdrawM8[playerid]);
    
hud_minigames[playerid] = true;
}
SumirMinigames(playerid)
{
    
DrawHideForPlayer(playeridTextdrawM0[playerid]);
    
TextDrawHideForPlayer(playeridTextdrawM1[playerid]);
    
TextDrawHideForPlayer(playeridTextdrawM2[playerid]);
    
TextDrawHideForPlayer(playeridTextdrawM3[playerid]);
    
TextDrawHideForPlayer(playeridTextdrawM4[playerid]);
    
TextDrawHideForPlayer(playeridTextdrawM5[playerid]);
    
TextDrawHideForPlayer(playeridTextdrawM6[playerid]);
    
TextDrawHideForPlayer(playeridTextdrawM7[playerid]);
    
TextDrawHideForPlayer(playeridTextdrawM8[playerid]);
    
hud_minigames[playerid] = false;
}
public 
OnPlayerConnect(playerid)
{
    
TextdrawM0[playerid] =    TextDrawCreate(126.250000113.583320"Lista_de_Minigames");
    
TextDrawLetterSize    (TextdrawM0[playerid], 0.3000001.399999);
    
TextDrawTextSize    (TextdrawM0[playerid], 519.0000000.000000);
    
TextDrawAlignment    (TextdrawM0[playerid], 1);
    
TextDrawColor    (TextdrawM0[playerid], -1);
    
TextDrawUseBox    (TextdrawM0[playerid], 1);
    
TextDrawBoxColor    (TextdrawM0[playerid], 120);
    
TextDrawSetShadow    (TextdrawM0[playerid], 0);
    
TextDrawSetOutline    (TextdrawM0[playerid], 1);
    
TextDrawBackgroundColor    (TextdrawM0[playerid], 255);
    
TextDrawFont    (TextdrawM0[playerid], 1);
    
TextDrawSetProportional    (TextdrawM0[playerid], 1);
    
TextDrawSetShadow    (TextdrawM0[playerid], 0);
    return 
1;
}
public 
OnPlayerClickTextDraw(playeridText:clickedid)
{
    if(
clickedid == TextdrawM2[playerid])
    {
        
ChatMsg(playerid, -1"Funcionou");
        
CancelSelectTextDraw(playerid);
    }
    if(
clickedid == TextdrawM3[playerid])
    {
        
ChatMsg(playerid, -1"Funcionou kkkj");
        
CancelSelectTextDraw(playerid);
    }
    return 
1;
}
CMD:minigames(playerid)
{
    if(
minigame_ativar == false)
    {
        
ChatMsg(playerid, -1"Os minigames estгo desabilitados no momento");
    }else{
        
SelectTextDraw(playerid0xFF4040AA);
        
TextDrawSetSelectable(TextdrawM2[playerid], 1);
        
TextDrawSetSelectable(TextdrawM3[playerid], 1);
        
MostrarMinigames(playerid);
    }
    return 
1;

Reply
#3

Certo mano funcionou mas tem um problema ainda, quando eu dou o comando minigames aparece os textdraw e o mouse sу que eu ainda nгo consigo clicar nos 2 textdraws o TextdrawM2 nem o TextdrawM3, o que pode ser ?,
Agradeзo muito a vocк pela ajuda que tem me dado esses dias mano
Reply
#4

Ja que й TextDraw, e nгo PlayerTextDraw, Por quer nгo colocou as textdraw em OnGameModeInit?

No caso bota em OnGameModeInit

PHP код:
public OnGameModeInit()
{
    
TextdrawM0[playerid] = TextDrawCreate(126.250000113.583320"Lista_de_Minigames"); 
    
TextDrawLetterSize(TextdrawM0[playerid], 0.3000001.399999); 
    
TextDrawTextSize(TextdrawM0[playerid], 519.0000000.000000); 
    
TextDrawAlignment(TextdrawM0[playerid], 1); 
    
TextDrawColor(TextdrawM0[playerid], -1); 
    
TextDrawUseBox(TextdrawM0[playerid], 1); 
    
TextDrawBoxColor(TextdrawM0[playerid], 120); 
    
TextDrawSetShadow(TextdrawM0[playerid], 0); 
    
TextDrawSetOutline(TextdrawM0[playerid], 1); 
    
TextDrawBackgroundColor(TextdrawM0[playerid], 255); 
    
TextDrawFont(TextdrawM0[playerid], 1); 
    
TextDrawSetProportional(TextdrawM0[playerid], 1); 
    
TextDrawSetShadow(TextdrawM0[playerid], 0); 

    
// Aqui no final bota os TextDrawSetSelectable

    
TextDrawSetSelectable(TextdrawM1[playerid], 1);  
    
TextDrawSetSelectable(TextdrawM2[playerid], 1);  
    
TextDrawSetSelectable(TextdrawM3[playerid], 1);  
    
// ...
    
return 1;

E pra que botar MAX_PLAYERS Em textdraw global e nгo per players? (PlayerTextDraw)
E tira os [playerid] do codigo das textdraw, exemplo:

PHP код:
MostrarMinigames(playerid

    
TextDrawShowForPlayer(playeridTextdrawM0); 
    
TextDrawShowForPlayer(playeridTextdrawM1); 
    
TextDrawShowForPlayer(playeridTextdrawM2); 
    
TextDrawShowForPlayer(playeridTextdrawM3); 
    
TextDrawShowForPlayer(playeridTextdrawM4); 
    
TextDrawShowForPlayer(playeridTextdrawM5); 
    
TextDrawShowForPlayer(playeridTextdrawM6); 
    
TextDrawShowForPlayer(playeridTextdrawM7); 
    
TextDrawShowForPlayer(playeridTextdrawM8); 
    
hud_minigames[playerid] = true


SumirMinigames(playerid

    
TextDrawHideForPlayer(playeridTextdrawM0); 
    
TextDrawHideForPlayer(playeridTextdrawM1); 
    
TextDrawHideForPlayer(playeridTextdrawM2); 
    
TextDrawHideForPlayer(playeridTextdrawM3); 
    
TextDrawHideForPlayer(playeridTextdrawM4); 
    
TextDrawHideForPlayer(playeridTextdrawM5); 
    
TextDrawHideForPlayer(playeridTextdrawM6); 
    
TextDrawHideForPlayer(playeridTextdrawM7); 
    
TextDrawHideForPlayer(playeridTextdrawM8); 
    
hud_minigames[playerid] = false


public 
OnPlayerClickTextDraw(playeridText:clickedid

    if(
clickedid == TextdrawM1
    { 
        
ChatMsg(playerid, -1"Funcionou"); 
        
CancelSelectTextDraw(playerid); 
    } 
    if(
clickedid == TextdrawM2
    { 
        
ChatMsg(playerid, -1"Funcionou kkkj"); 
        
CancelSelectTextDraw(playerid); 
    } 
    if(
clickedid == TextdrawM3
    { 
        
ChatMsg(playerid, -1"Funcionou kkkj"); 
        
CancelSelectTextDraw(playerid); 
    } 
    
// ...
    
return 1

Reply
#5

beleza, obrigado.
Reply
#6

Quote:
Originally Posted by IlanZ
Посмотреть сообщение
Ja que й TextDraw, e nгo PlayerTextDraw, Por quer nгo colocou as textdraw em OnGameModeInit?

No caso bota em OnGameModeInit

PHP код:
public OnGameModeInit()
{
    
TextdrawM0[playerid] = TextDrawCreate(126.250000113.583320"Lista_de_Minigames"); 
    
TextDrawLetterSize(TextdrawM0[playerid], 0.3000001.399999); 
    
TextDrawTextSize(TextdrawM0[playerid], 519.0000000.000000); 
    
TextDrawAlignment(TextdrawM0[playerid], 1); 
    
TextDrawColor(TextdrawM0[playerid], -1); 
    
TextDrawUseBox(TextdrawM0[playerid], 1); 
    
TextDrawBoxColor(TextdrawM0[playerid], 120); 
    
TextDrawSetShadow(TextdrawM0[playerid], 0); 
    
TextDrawSetOutline(TextdrawM0[playerid], 1); 
    
TextDrawBackgroundColor(TextdrawM0[playerid], 255); 
    
TextDrawFont(TextdrawM0[playerid], 1); 
    
TextDrawSetProportional(TextdrawM0[playerid], 1); 
    
TextDrawSetShadow(TextdrawM0[playerid], 0); 
    
// Aqui no final bota os TextDrawSetSelectable
    
TextDrawSetSelectable(TextdrawM1[playerid], 1);  
    
TextDrawSetSelectable(TextdrawM2[playerid], 1);  
    
TextDrawSetSelectable(TextdrawM3[playerid], 1);  
    
// ...
    
return 1;

E pra que botar MAX_PLAYERS Em textdraw global e nгo per players? (PlayerTextDraw)
E tira os [playerid] do codigo das textdraw, exemplo:

PHP код:
MostrarMinigames(playerid

    
TextDrawShowForPlayer(playeridTextdrawM0); 
    
TextDrawShowForPlayer(playeridTextdrawM1); 
    
TextDrawShowForPlayer(playeridTextdrawM2); 
    
TextDrawShowForPlayer(playeridTextdrawM3); 
    
TextDrawShowForPlayer(playeridTextdrawM4); 
    
TextDrawShowForPlayer(playeridTextdrawM5); 
    
TextDrawShowForPlayer(playeridTextdrawM6); 
    
TextDrawShowForPlayer(playeridTextdrawM7); 
    
TextDrawShowForPlayer(playeridTextdrawM8); 
    
hud_minigames[playerid] = true

SumirMinigames(playerid

    
TextDrawHideForPlayer(playeridTextdrawM0); 
    
TextDrawHideForPlayer(playeridTextdrawM1); 
    
TextDrawHideForPlayer(playeridTextdrawM2); 
    
TextDrawHideForPlayer(playeridTextdrawM3); 
    
TextDrawHideForPlayer(playeridTextdrawM4); 
    
TextDrawHideForPlayer(playeridTextdrawM5); 
    
TextDrawHideForPlayer(playeridTextdrawM6); 
    
TextDrawHideForPlayer(playeridTextdrawM7); 
    
TextDrawHideForPlayer(playeridTextdrawM8); 
    
hud_minigames[playerid] = false

public 
OnPlayerClickTextDraw(playeridText:clickedid

    if(
clickedid == TextdrawM1
    { 
        
ChatMsg(playerid, -1"Funcionou"); 
        
CancelSelectTextDraw(playerid); 
    } 
    if(
clickedid == TextdrawM2
    { 
        
ChatMsg(playerid, -1"Funcionou kkkj"); 
        
CancelSelectTextDraw(playerid); 
    } 
    if(
clickedid == TextdrawM3
    { 
        
ChatMsg(playerid, -1"Funcionou kkkj"); 
        
CancelSelectTextDraw(playerid); 
    } 
    
// ...
    
return 1

Eu jб vi o problema aqui, й assim, esta funcionando tudo normal sу que o botгo para clicar nгo ta centralizado exemplo, o textdraw estб normal sу que quando eu coloco o mouse em cima da letra nгo vai sу que lб em cima do textdraw bem na beira da pra clicar ou seja o botгo nгo estб do tamanho nem no local certo, eu jб vi isso sу que nгo me recordo qual funзгo faz isso, poderia me falar qual funзгo й para deixar o botгo centralizado de acordo com a textdraw?

http://imgur.com/a/csD1Z
Segue a print abaixo, a print nгo mostrou meu mouse mas saca sу ali naquele Race sу aparece quando eu passo o mouse lб na beirinha do quadrado do Race na parte de cima, se souber solucionar este bug fico grato!:
Reply
#7

Ai seria o https://sampwiki.blast.hk/wiki/TextDrawTextSize

Nгo lembro direito o X e Y, porem vai tentando se eu lembrar eu edito aqui
Reply
#8

Consegui mano antes de vocк falar tava olhando uns topico aumentei o segundo para 10.00000 e deu, obrigado mesmo velho, tu ajuda pacas !, sу nгo dou mais rep porque o samp fуrum nгo deixa kk',
Boa Noite ai pra vocк.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)