Task

Započeo Fr0z3n
15. Maj 2020.
1,014
pregleda
15
postova
Frozen_Capone
5
Crime Lord
15. Maj 2020.
Problem(error/warning):Kako da zaustavim task kada se pokrene hocu samo jednom da odradi sta treba i da stane a ne da se ponavlja iznova
Dio skripte:
task TDLogin()
{
    foreach(new i : Player)
    { 
        switch( counterOfTD1 )
        {
            case 0 :
            {
                TextDrawShowForPlayer(i, LogReg_gTD);
            }
            case 1 :
            {
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
            }
            case 2 :
            {
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
            }
            case 3 :
            {
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
            }
            case 4 :
            {
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
            }
            case 5 :
            {
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
            }
            case 6 :
            {
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
            }
            case 7 :
            {
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
            }
            case 8 :
            {
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
                TextDrawShowForPlayer(i, LogReg_gTD);
            }
        }
    }
    if(counterOfTD >= 7)
    counterOfTD = 0;
    else counterOfTD++;
}

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
Slika/video ingame problema
Bryan123
4
Enforcer
15. Maj 2020.
Prvo malo pogledaj po forumu 🙄
https://gtablkn.gg/forum/tutorijali-u-vezi-sa-mpa/y-timers#post-728602
Frozen_Capone
5
Crime Lord
15. Maj 2020.
Baca error (4765) : error 017: undefined symbol "TDLogin_yT@"
C:\Users\uSER\Desktop\MOd13\gamemodes\BEofficial.pwn(4766) : error 076: syntax error in the expression, or invalid function call

ovde
    NovoImeTimera = defer TDLogin(playerid);
ShadowMortar
4
Shot Caller
16. Maj 2020.
Task -> Ponavlja neprestano timer.
Ptas -> Ponavlja neprestano player timer
Timer -> Pozoves ga sam
Primjer:
public OnPlayerConnect( playerid ) {
defer _ReciIgracu(playerid);
return ( true );
}

timer _ReciIgracu(playerid)
{
SendClientMessage( playerid, -1, "Server ti je rekao da si pe*** jer si izdržao čak 5 sekundi, aj mrš van sad! :D" );
defer BanHammer(playerid);
return ( true );
}

timer BanHammer(playerid)
{
return Ban(playerid);
}
Frozen_Capone
5
Crime Lord
16. Maj 2020.
Da li se defer ponavlja samo jednom?
ShadowMortar
4
Shot Caller
16. Maj 2020.
Tako je, ali bez tog tvog /TASK/-a. Imaš primjer kako defer koristiti gore.
Frozen_Capone
5
Crime Lord
16. Maj 2020.
Zasto nece da ide po redu da se stvaraju jedan po jedan nego sve od jednom se stvori?
timer TDLogin(playerid)
{
    new i = playerid;
    new counterOfTD1 = 8 ;
    switch( counterOfTD1 )
    {
        case 0 :
        {
            TextDrawShowForPlayer(i, LogReg_gTD);
        }
        case 1 :
        {
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
        }
        case 2 :
        {
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
        }
        case 3 :
        {
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
        }
        case 4 :
        {
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
        }
        case 5 :
        {
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
        }
        case 6 :
        {
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
        }
        case 7 :
        {
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
        }
        case 8 :
        {
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
        }
    }
}
Bryan123
4
Enforcer
16. Maj 2020.
Fr0z3n wrote on May 16, 2020, 3:51 pm:
Zasto nece da ide po redu da se stvaraju jedan po jedan nego sve od jednom se stvori?
Evo zašto

new counterOfTD1 = 8 ;
Frozen_Capone
5
Crime Lord
16. Maj 2020.
sta bi trebalo da stavim
ShadowMortar
4
Shot Caller
16. Maj 2020.
timer TDLogin(playerid, option, bool:Pokaz)
{
    switch( option )
    {
        case 0: TextDrawShowForPlayer(playerid, LogReg_gTD);
        case 1: TextDrawShowForPlayer(playerid, LogReg_gTD), TextDrawShowForPlayer(playerid, LogReg_gTD);
        case 2: TextDrawShowForPlayer(playerid, LogReg_gTD), TextDrawShowForPlayer(playerid, LogReg_gTD), TextDrawShowForPlayer(playerid, LogReg_gTD);
        case 3: TextDrawShowForPlayer(playerid, LogReg_gTD), TextDrawShowForPlayer(playerid, LogReg_gTD), TextDrawShowForPlayer(playerid, LogReg_gTD),
        TextDrawShowForPlayer(playerid, LogReg_gTD);
        case 4: TextDrawShowForPlayer(playerid, LogReg_gTD), TextDrawShowForPlayer(playerid, LogReg_gTD), TextDrawShowForPlayer(playerid, LogReg_gTD),
            TextDrawShowForPlayer(playerid, LogReg_gTD), TextDrawShowForPlayer(playerid, LogReg_gTD);
        case 5: TextDrawShowForPlayer(playerid, LogReg_gTD), TextDrawShowForPlayer(playerid, LogReg_gTD), TextDrawShowForPlayer(playerid, LogReg_gTD),
            TextDrawShowForPlayer(playerid, LogReg_gTD),TextDrawShowForPlayer(playerid, LogReg_gTD), TextDrawShowForPlayer(playerid, LogReg_gTD);
        case 6: TextDrawShowForPlayer(playerid, LogReg_gTD), TextDrawShowForPlayer(playerid, LogReg_gTD), TextDrawShowForPlayer(playerid, LogReg_gTD),
            TextDrawShowForPlayer(playerid, LogReg_gTD), TextDrawShowForPlayer(playerid, LogReg_gTD), TextDrawShowForPlayer(playerid, LogReg_gTD),
            TextDrawShowForPlayer(playerid, LogReg_gTD);
        case 7: TextDrawShowForPlayer(playerid, LogReg_gTD), TextDrawShowForPlayer(playerid, LogReg_gTD), TextDrawShowForPlayer(playerid, LogReg_gTD),
            TextDrawShowForPlayer(playerid, LogReg_gTD), TextDrawShowForPlayer(playerid, LogReg_gTD), TextDrawShowForPlayer(playerid, LogReg_gTD),
            TextDrawShowForPlayer(playerid, LogReg_gTD), TextDrawShowForPlayer(playerid, LogReg_gTD);
        case 8: TextDrawShowForPlayer(playerid, LogReg_gTD), TextDrawShowForPlayer(playerid, LogReg_gTD), TextDrawShowForPlayer(playerid, LogReg_gTD),
        TextDrawShowForPlayer(playerid, LogReg_gTD), TextDrawShowForPlayer(playerid, LogReg_gTD), TextDrawShowForPlayer(playerid, LogReg_gTD),
            TextDrawShowForPlayer(playerid, LogReg_gTD),
            TextDrawShowForPlayer(playerid, LogReg_gTD), TextDrawShowForPlayer(playerid, LogReg_gTD);
    }
    if( Pokaz && option < 8 ) repeat TDLogin(playerid, option+1, true);
    else stop TDLogin(playerid, 9, false);
}

public OnPlayerConnect( playerid ) {
/*
Pozoveš timer sa 'Pokaz' argumenntom false, što znači da možeš manualno pokazivati određene TDove

Ili ako želiš sve pokazati svakih 5 sekundi(nakon 5 sekundi pokazat će se sve u case 2, pa 3...), stavis za 'Pokaz' argument true
*/
defer TDLogin(playerid, 5, false);
return ( true );
}

Ne znam u kojem ti kontekstu treba, pa možda ovo pomogne.
Frozen_Capone
5
Crime Lord
16. Maj 2020.
Treba mi da na 5sec ponavlja svaki case tipa 5 sec pokaze textdraw1 pa 5sec posle pokaze textdraw1 i textdraw2 itd itd... ja sam probao nesto ovako ali ne radi mi

na vrhu skripte
new counterOfTD1 = 0;

timer TDLogin(playerid)
{
    new i = playerid;
    switch( counterOfTD1 )
    {
        case 0 :
        {
            TextDrawShowForPlayer(i, LogReg_gTD);
        }
        case 1 :
        {
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
        }
        case 2 :
        {
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
        }
        case 3 :
        {
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
        }
        case 4 :
        {
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
        }
        case 5 :
        {
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
        }
        case 6 :
        {
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
        }
        case 7 :
        {
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
        }
        case 8 :
        {
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
            TextDrawShowForPlayer(i, LogReg_gTD);
        }
    }
    if(counterOfTD1 >= 8)
    counterOfTD1 = 0;
    else counterOfTD1++;
}
ShadowMortar
4
Shot Caller
16. Maj 2020.
Ako si već pokazao TD1, zašto bih ponovno pokazivao TD1 i TD2? Zar nije logično da pokažeš onda samo TD2?
ShadowMortar
4
Shot Caller
16. Maj 2020.
Onaj kod gore zanemari, nebi radio kako treba svakako, probaj ovo:

timer TDLogin[ 5000 ]( playerid, option ) {
    switch( option ) {
        case 0: TextDrawShowForPlayer(playerid, LogReg_gTD);
        case 1: TextDrawShowForPlayer(playerid, LogReg_gTD);
        case 2: TextDrawShowForPlayer(playerid, LogReg_gTD);
        case 3: TextDrawShowForPlayer(playerid, LogReg_gTD);
        case 4: TextDrawShowForPlayer(playerid, LogReg_gTD);
        case 5: TextDrawShowForPlayer(playerid, LogReg_gTD);
        case 6: TextDrawShowForPlayer(playerid, LogReg_gTD);
        case 7: TextDrawShowForPlayer(playerid, LogReg_gTD);
        case 8: TextDrawShowForPlayer(playerid, LogReg_gTD);
    }
    if( option+1 > 8 ) stop TDLogin(playerid, -1);
    defer TDLogin(playerid, option+1);
}

public OnPlayerConnect( playerid ) {
defer TDLogin(playerid, 0);
return ( true );
}
Frozen_Capone
5
Crime Lord
16. Maj 2020.
defer TDLogin(playerid, 0);//zasto ,0?
Frozen_Capone
5
Crime Lord
16. Maj 2020.
Fixano hvala svima na pomoci 😉... Lock.

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha