[Ajuda] Loop maldito
#1

Meu cуdigo:

PHP код:
//OnGameModeInit
TextDraws();
    
TD_TV[0] = TextDrawCreate(0.000000452.000000"LD_POKE:tvcorn");
    
TextDrawBackgroundColor(TD_TV[0], 255);
    
TextDrawFont(TD_TV[0], 4);
    
TextDrawLetterSize(TD_TV[0], 0.5000001.000000);
    
TextDrawColor(TD_TV[0], -1);
    
TextDrawSetOutline(TD_TV[0], 0);
    
TextDrawSetProportional(TD_TV[0], 1);
    
TextDrawSetShadow(TD_TV[0], 1);
    
TextDrawUseBox(TD_TV[0], 1);
    
TextDrawBoxColor(TD_TV[0], 255);
    
TextDrawTextSize(TD_TV[0], 340.000000, -270.000000);
    print(
"TV 1 criada"); 
PHP код:
stock TextDraws()
{
    for(new 
playerid 0;playerid <= MAX_PLAYERSplayerid++){
        
TD_TelaDeEntrada[playerid] = TextDrawCreate(12.00000016.000000"loadsc9:loadsc9");
        
TextDrawBackgroundColor(TD_TelaDeEntrada[playerid], 255);
        
TextDrawFont(TD_TelaDeEntrada[playerid], 4);
        
TextDrawLetterSize(TD_TelaDeEntrada[playerid], 0.5000001.000000);
        
TextDrawColor(TD_TelaDeEntrada[playerid], -1);
        
TextDrawSetOutline(TD_TelaDeEntrada[playerid], 0);
        
TextDrawSetProportional(TD_TelaDeEntrada[playerid], 1);
        
TextDrawSetShadow(TD_TelaDeEntrada[playerid], 1);
        
TextDrawUseBox(TD_TelaDeEntrada[playerid], 1);
        
TextDrawBoxColor(TD_TelaDeEntrada[playerid], 255);
        
TextDrawTextSize(TD_TelaDeEntrada[playerid], 614.000000426.000000);
        
printf("TextDraw pro player %i"playerid);
    }
    return 
1;

Meu Problema:
Tudo que estiver apois o loop jб era, nгo lido.
Ex.: o print("TV 1 criada"); Nгo й lido e nem o Textdraw criado.

OBS: Jб tentei loop em outras partes do gm e com outros cуdigos e ele sempre corta a leitura.
Reply
#2

pawn Код:
for(new playerid = 0; playerid <= MAX_PLAYERS; playerid++)
O correto nгo seria:

pawn Код:
for(new playerid = 0; playerid < MAX_PLAYERS; playerid++)


Pelo que sei, o certo й esse. LOL
Reply
#3

Ouro, tanto faz!
<= Menor ou igual que
< Menor que.


pawn Код:
stock TextDraws()
{
    for(new playerid = GetMaxPlayers(); playerid > -1; --payerid){
        TD_TelaDeEntrada[playerid] = TextDrawCreate(12.000000, 16.000000, "loadsc9:loadsc9");
        TextDrawBackgroundColor(TD_TelaDeEntrada[playerid], 255);
        TextDrawFont(TD_TelaDeEntrada[playerid], 4);
        TextDrawLetterSize(TD_TelaDeEntrada[playerid], 0.500000, 1.000000);
        TextDrawColor(TD_TelaDeEntrada[playerid], -1);
        TextDrawSetOutline(TD_TelaDeEntrada[playerid], 0);
        TextDrawSetProportional(TD_TelaDeEntrada[playerid], 1);
        TextDrawSetShadow(TD_TelaDeEntrada[playerid], 1);
        TextDrawUseBox(TD_TelaDeEntrada[playerid], 1);
        TextDrawBoxColor(TD_TelaDeEntrada[playerid], 255);
        TextDrawTextSize(TD_TelaDeEntrada[playerid], 614.000000, 426.000000);
        printf("TextDraw pro player %i", playerid);
    }
    return 1;
}
Reply
#4

Jб tinha tentando o loop inverso mas a macumba й boa! e tб resistindo...
Reply
#5

Seria possнvel postar o OnGameModeInit interior da funзгo TextDraws() ; ?
Reply
#6

Sem problemas, mas gostaria que quem fosse usar em seu script que mantesse os devidos creditos :PPP
PHP код:
SetGameModeText("Servidor em teste"); // Por Sergiinhonike
AddPlayerClass(01958.37831343.157215.3746269.1425000000); 
Reply
#7

pawn Код:
stock TextDraws()
{
    for(new playerid = GetMaxPlayers(); _:(playerid > -1); --payerid){
        TD_TelaDeEntrada[playerid] = TextDrawCreate(12.000000, 16.000000, "loadsc9:loadsc9");
        TextDrawBackgroundColor(TD_TelaDeEntrada[playerid], 255);
        TextDrawFont(TD_TelaDeEntrada[playerid], 4);
        TextDrawLetterSize(TD_TelaDeEntrada[playerid], 0.500000, 1.000000);
        TextDrawColor(TD_TelaDeEntrada[playerid], -1);
        TextDrawSetOutline(TD_TelaDeEntrada[playerid], 0);
        TextDrawSetProportional(TD_TelaDeEntrada[playerid], 1);
        TextDrawSetShadow(TD_TelaDeEntrada[playerid], 1);
        TextDrawUseBox(TD_TelaDeEntrada[playerid], 1);
        TextDrawBoxColor(TD_TelaDeEntrada[playerid], 255);
        TextDrawTextSize(TD_TelaDeEntrada[playerid], 614.000000, 426.000000);
        printf("TextDraw pro player %i", playerid);
    }
    return 1;
}
Tente colocar somente TextDraws(); ve se й da funзгo.
Reply
#8

PHP код:
public OnGameModeInit()
{
    
TextDraws();
    print(
"Agora foi!!!");
    return 
1;

Vejб como ficou.. Nada ainda e o pior que iso nunca aconteceu.
Reply
#9

Na declaraзгo da variбvel array TD_TelaDeEntrada, mude o valor entre o par de colchetes para MAX_PLAYERS .



Posteriormente, na definiзгo da funзгo TextDraws, substitua isto :


pawn Код:
for(new playerid = 0;playerid <= MAX_PLAYERS; playerid++)

Por:


pawn Код:
for(new playerid = 0;playerid < MAX_PLAYERS; playerid++)


Espero ter ajudado .
Reply
#10

Quote:
Originally Posted by rjjj
Посмотреть сообщение
Na declaraзгo da variбvel array TD_TelaDeEntrada, mude o valor entre o par de colchetes para MAX_PLAYERS .



Posteriormente, na definiзгo da funзгo TextDraws, substitua isto :


pawn Код:
for(new playerid = 0;playerid <= MAX_PLAYERS; playerid++)

Por:


pawn Код:
for(new playerid = 0;playerid < MAX_PLAYERS; playerid++)


Espero ter ajudado .
Mesmo assim Ken, se fosse erro de indexaзгo jб exibia o printf no console.
acho que ele estб usando uma funзгo nativa que nгo foi definida externamente
com uma plugin por exemplo.


#Serginho,
Verifique se seu script contйm alguma funзгo nгo declarada externamente,
(usando include de plugin se a plugin esar ligada.)..


Vamos descobrir afinal, oque estб causando este erro:
pawn Код:
stock TextDraws()
{
 /*   for(new playerid = GetMaxPlayers(); _:(playerid > -1); --payerid){
        TD_TelaDeEntrada[playerid] = TextDrawCreate(12.000000, 16.000000, "loadsc9:loadsc9");
        TextDrawBackgroundColor(TD_TelaDeEntrada[playerid], 255);
        TextDrawFont(TD_TelaDeEntrada[playerid], 4);
        TextDrawLetterSize(TD_TelaDeEntrada[playerid], 0.500000, 1.000000);
        TextDrawColor(TD_TelaDeEntrada[playerid], -1);
        TextDrawSetOutline(TD_TelaDeEntrada[playerid], 0);
        TextDrawSetProportional(TD_TelaDeEntrada[playerid], 1);
        TextDrawSetShadow(TD_TelaDeEntrada[playerid], 1);
        TextDrawUseBox(TD_TelaDeEntrada[playerid], 1);
        TextDrawBoxColor(TD_TelaDeEntrada[playerid], 255);
        TextDrawTextSize(TD_TelaDeEntrada[playerid], 614.000000, 426.000000);
        printf("TextDraw pro player %i", playerid);
    }  */

    printf("EXECUTADO");
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)