[Ajuda] SettimerEx rбpido demais
#1

Da primeira vez que logo, vai tudo no tempo certo.

Mais se eu sair e logar de novo o tutorial vai muito mais rбpido do que o normal.

pawn Код:
new TutorialVariavel[MAX_PLAYERS] = 0;

public OnPlayerConnect(playerid)
{
    TutorialVariavel[playerid] = 0;

    format(Contas,128,"Players/%s.ini", Nome(playerid));
    if(!DOF2_FileExists(Contas))
    {
        GameTextForPlayer(playerid, "~w~~h~BEM VINDO AO", 10000, 0);
        SetTimerEx( "Tutorial", 1000, true, "i", playerid );
        return 1;
     }
     return 1;
}


public Tutorial(playerid)
{
    TutorialVariavel[playerid] += 1;
    if(TutorialVariavel[playerid] == 15)
    {
        PlayerPlaySound(playerid,1149,0.0,0.0,0.0);
        SetPlayerCameraPos(playerid, 1723.1565,-1111.7318,154.5075);
        SetPlayerCameraLookAt(playerid, 1636.5546,-1183.6212,130.1787);
        new string[800];
        strcat(string, "{FF0000}Aguarde o fim do tutorial para comeзar a jogar.\n\n");
        strcat(string,"{CD9B1D}COMO Й O SERVIDOR:\n");
        strcat(string,"{BEBEBE}• Como й o servidor ?\n");
        ShowPlayerDialog(playerid, 8953, DIALOG_STYLE_MSGBOX, "{FF0000}» {FFFFFF}INTRODUЗГO {FF0000}«", string, "Aguarde", "");
    }
    if(TutorialVariavel[playerid] == 40)
    {
        PlayerPlaySound(playerid,1149,0.0,0.0,0.0);
        new string1[900];
        strcat(string1,"{CD9B1D}ADMINISTRAЗГO:\n");
        strcat(string1,"{BEBEBE}• Como posso ser um administrador ?\n");
        strcat(string1,"{FFFFFF}Todos os nossos jogadores sгo monitorados por um sistema super avanзado\n");
        strcat(string1,"{FFFFFF}e os mesmos serгo avaliados por diversos pontos. Segue abaixo alguns pontos de avaliaзгo:\n\n");
        ShowPlayerDialog(playerid, 8953, DIALOG_STYLE_MSGBOX, "{FF0000}» {FFFFFF}ADMINISTRAЗГO {FF0000}«", string1, "Aguarde", "");
    }
    if(TutorialVariavel[playerid] == 60)
    {
        PlayerPlaySound(playerid,1149,0.0,0.0,0.0);
        new string1[900];
        strcat(string1,"{CD9B1D}JOGADORES VIP:\n");
        strcat(string1,"{BEBEBE}• O que й VIP ?\n");
        strcat(string1,"{FFFFFF}Os jogadores VIP's sгo aqueles que contribuem financeiramente para manter o servidor\n");
        ShowPlayerDialog(playerid, 8953, DIALOG_STYLE_MSGBOX, "{FF0000}» {FFFFFF}VIP's {FF0000}«", string1, "Aguarde", "");
    }
    if(TutorialVariavel[playerid] == 75)
    {
        PlayerPlaySound(playerid,1149,0.0,0.0,0.0);
        new string[1000];
        strcat(string,"{CD9B1D}ATENЗГO:\n");
        strcat(string,"{FFFFFF}- As regras sгo obrigatуrias para todos os players.\n");
        strcat(string,"{FFFFFF}- O nгo cumprimento das regras, resultarб em uma puniзгo.\n\n");
        ShowPlayerDialog(playerid, 8953, DIALOG_STYLE_MSGBOX, "{FF0000}» {FFFFFF}REGRAS {FF0000}«", string, "Aguarde", "");
    }
    if(TutorialVariavel[playerid] == 95)
    {
        PlayerPlaySound(playerid,1149,0.0,0.0,0.0);
        new string[1000];
        strcat(string,"{3B5998}• ********\n");
        strcat(string,"{FFFFFF}Cadastre-se em nosso fуrum e tire todas as suas dъvidas.\n\n");
        ShowPlayerDialog(playerid, 8953, DIALOG_STYLE_MSGBOX, "{FF0000}» {FFFFFF}SOCIAL {FF0000}«", string, "Aguarde", "");
    }
    if(TutorialVariavel[playerid] == 105)
    {
        format(Contas,128,"Players/%s.ini", Nome(playerid));
        if(!DOF2_FileExists(Contas))
        {
            new string1[200],string[200],ip[60];
            GetPlayerIp(playerid, ip, sizeof(ip));
            format(string, -1, "{FFFFFF}Olб, bem vindo\n\n");
            strcat(string1,string);
            format(string, -1, "{FFFFFF}INFORMAЗХES DA SUA CONTA ABAIXO:\n");
            strcat(string1,string);
            format(string, -1, "{FFFFFF}Nick: {FF0000}%s\n", Nome(playerid));
            strcat(string1,string);
            format(string, -1, "{FFFFFF}Status: {FF0000}Nгo registrada\n\n");
            strcat(string1,string);
            format(string, -1, "{FFFFFF}Escolha a sua senha\n");
            strcat(string1,string);
            ShowPlayerDialog(playerid, DIALOG_Registro, DIALOG_STYLE_INPUT, " {FF0000}»  {FFFFFF}REGISTRO {FF0000}«", string1, "Registrar", "Sair");
            return 1;
        }
    }
    return 1;
}
Reply
#2

Aprenda sobre SetTimerEx antes de usar:

https://sampwiki.blast.hk/wiki/SetTimerEx
Reply
#3

Acho que pode resolver:
pawn Код:
//No topo:
new TempTuto[100]//Maximo de players do seu sv! ou usa MAX_PLAYERS
//O SetTimer
TempTuto[playerid] = SetTimerEx( "Tutorial", 1000, true, "i", playerid );
//OnPlayerDisconect
KillTimer(TempTuto[playerid]);
Pelo que eu sei ao deslogar sem destruir o settimer.. ele continua executando.. e quando vocк entra ele vai ficar rodando junto com o novo(ele mesmo denovo) por isso acelera o tempo!
Reply
#4

Muito obrigado, +rep
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)