[Ajuda] Limite de Text Draw
#1

Alguem pode me ajudar? Estou com um problema nas textdraw's.
Criei um sistema que contem 27 textdraw, o problema й que quando entro no servidor as outras text draw's somem, outras textdraw's que foram criadas antes..

Na wiki diz que o limite й 2048 textdraw's:
https://sampwiki.blast.hk/wiki/Limits

Na minha gm n possui nem 150..
Oq faзoo?/

Reply
#2

Verifique se suas TextDraw's sгo limitadas, exemplo as minhas sгo limitadas da seguinte maneira:
Код:
PlayerText:pTextdraws[86]
E limita a 85 (com a 86 nгo utilizada). Faзa o mesmo, procure por algo parecido e aumenta o limite, deve funcionar.
Reply
#3

Poderia me explicar como faзo para aumentar esse limite?
:/
Reply
#4

Quote:
Originally Posted by capron
Посмотреть сообщение
Poderia me explicar como faзo para aumentar esse limite?
:/
Procure nas variavйis globais de sua gamemode, onde sгo exibidas basicamente e procure alguma variбvel que contenha o nъmero parecido, exemplo meu:

Код:
PlayerTextDrawShow(playerid, PlayerData[playerid][pTextdraws][70]); //Aqui ele exibe a Textdraw da variavйl global Textdraws de nъmero 70.

PlayerText:pTextdraws[86] // Aqui fica na Enum PlayerData onde armazena as variaveis globais dos jogadores e esta aqui limita as textdraws a 86. O uso ocorre sempre com uma a menos ( creio eu ) no caso limitando a 85 usбveis.
Veja quantas Textdraws vocк tem e procure pelo valor aproximado na variavel, igual ao exemplo. Caso nгo tenha entendido completamente, me passe seu skype que tento ajuda-lo melhor.
Reply
#5

Infelizmente nгo achei nada relacionado a este limite; ;/

Se puder me ajudar:

Skype: victor.caxias

Fico grato desde jб.
Reply
#6

Muito provavelmente vocк nгo estб criando corretamente as textdraws e atinge fбcil o limite por estar usando da maneira incorreta como 99% das pessoas fazem. Posta o cуdigo de criaзгo das suas textdraws que eu te mostro onde estб o erro.
Reply
#7

Se vocк tiver Criando TextDraws para o player assim
PHP код:
for(new iMAX_PLAYERS; ++i)
{
    
welcomeText[i] = TextDrawCreate(240.0,580.0,"Welcome to my SA-MP server");
    [...]

Saiba que vocк estara crianda textdraw para cada player da maneira errada.

Porque ?

Vejamos !
- Se sua define MAX_PLAYERS estiver definida em 1000 vocк estara criando 1000 TextDraw, ou seja se vocк criar 3 textdraw desta forma, vocк estara criando na verdade 3000 textdraws.

Qual a meneira correta a fazer ?
PHP код:
welcomeText[playerid] = CreatePlayerTextDraw(playerid320.0240.0"Welcome to my SA-MP server"); 
Sou iniciante no pawno, e com pouco conhecimento que tenho pela logica, acredito que seja isso o seu problema.

Mais detalhes em: Wiki Samp

https://sampwiki.blast.hk/wiki/TextDrawCreate
https://sampwiki.blast.hk/wiki/CreatePlayerTextDraw
Reply
#8

Quote:
Originally Posted by glederson
Посмотреть сообщение
Se vocк tiver Criando TextDraws para o player assim
PHP код:
for(new iMAX_PLAYERS; ++i)
{
    
welcomeText[i] = TextDrawCreate(240.0,580.0,"Welcome to my SA-MP server");
    [...]

Saiba que vocк estara crianda textdraw para cada player da maneira errada.

Porque ?

Vejamos !
- Se sua define MAX_PLAYERS estiver definida em 1000 vocк estara criando 1000 TextDraw, ou seja se vocк criar 3 textdraw desta forma, vocк estara criando na verdade 3000 textdraws.

Qual a meneira correta a fazer ?
PHP код:
welcomeText[playerid] = CreatePlayerTextDraw(playerid320.0240.0"Welcome to my SA-MP server"); 
Sou iniciante no pawno, e com pouco conhecimento que tenho pela logica, acredito que seja isso o seu problema.

Mais detalhes em: Wiki Samp

https://sampwiki.blast.hk/wiki/TextDrawCreate
https://sampwiki.blast.hk/wiki/CreatePlayerTextDraw
Pra textdraws nгo-dinвmicas basta 1 textdraw comum, nгo й necessбrio usar PlayerTextDraw pra textdraws que nгo mudam string ou outras definiзхes.
Reply
#9

Estou criando desta maneira:

PHP код:
Text1_Setup(){
    for(new 
c=0;c<MAX_PLAYERS;++c){
    
Ovelots[c][0] = TextDrawCreate(520.500732297.533477"TextDrawName");
    
TextDrawLetterSize(Ovelots[c][0], 0.0000000.000000);
    
TextDrawTextSize(Ovelots[c][0], 110.000000101.000000);
    
TextDrawAlignment(Ovelots[c][0], 1);
    
TextDrawColor(Ovelots[c][0], -2139062017);
    
TextDrawSetShadow(Ovelots[c][0], 0);
    
TextDrawSetOutline(Ovelots[c][0], 0);
    
TextDrawBackgroundColor(Ovelots[c][0], 255);
    
TextDrawFont(Ovelots[c][0], 4);    
    
TextDrawSetProportional(Ovelots[c][0], 0);
    
TextDrawSetShadow(Ovelots[c][0], 0);
    }
    
SetTimer("Text1",100,1);
    return 
1;

OnGameModeInit()

PHP код:
Text1_Setup(); 
PHP код:
public Text1(){
 for(new 
0<MAX_PLAYERS++)
  
TextDrawShowForPlayer(iOvelots[playerid][0]);

Errado!? :/
Reply
#10

Bem errado, pois nгo й necessбrio loop em TD global, menos ainda timer para mostrar...

OnGameModeInit/OnFilterScriptInit
Код:
Text1_Setup();
Funзгo
Код:
Text1_Setup(){ 
    Ovelots[0][0] = TextDrawCreate(520.500732, 297.533477, "TextDrawName"); 
    TextDrawLetterSize(Ovelots[0][0], 0.000000, 0.000000); 
    TextDrawTextSize(Ovelots[0][0], 110.000000, 101.000000); 
    TextDrawAlignment(Ovelots[0][0], 1); 
    TextDrawColor(Ovelots[0][0], -2139062017); 
    TextDrawSetShadow(Ovelots[0][0], 0); 
    TextDrawSetOutline(Ovelots[0][0], 0); 
    TextDrawBackgroundColor(Ovelots[0][0], 255); 
    TextDrawFont(Ovelots[0][0], 4);     
    TextDrawSetProportional(Ovelots[0][0], 0); 
    TextDrawSetShadow(Ovelots[0][0], 0); 
    return 1; 
}
OnPlayerConnect
Код:
TextDrawShowForPlayer(playerid, Ovelots[0][0]);
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)