[Ajuda] Criaзгo de SetTimer.
#1

Nгo sei usar SetTimer :/ Alguйm ajuda ? Vejam...
pawn Код:
//
new CorreNego;

// OnGameModeInit
    CorreNego = SetTimer("CorreNego", 30000, true); // 30 Segundos
//
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    ShowPlayerDialog(playerid, DIALOG_NOCARRO, DIALOG_STYLE_MSGBOX, "INFORMAЗХES", "Vocк entrou em um veнculo e nгo poderб sair mais dele !\nCaso vocк saia perderб: 1 Score & 5 mil reais\n Para ver o menu ajuda, use: /ajuda\t", "Ok", "");
    CorreNego = false;
    return true;
}
//
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 2)
    {
        if(response)
        {
            CorreNego = true
        }
        return true;
    }


    return true;
}
Код:
 warning: 204: symbol is assigned a value that is never used: "CorreNego"
Reply
#2

pawn Код:
// OnGameModeInit
    SetTimer("CorreNego", 30000, true); // 30 Segundos
//
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    ShowPlayerDialog(playerid, DIALOG_NOCARRO, DIALOG_STYLE_MSGBOX, "INFORMAЗХES", "Vocк entrou em um veнculo e nгo poderб sair mais dele !\nCaso vocк saia perderб: 1 Score & 5 mil reais\n Para ver o menu ajuda, use: /ajuda\t", "Ok", "");
    CorreNego = false;
    return true;
}
//
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 2)
    {
        if(response)
        {
            CorreNego = true
        }
        return true;
    }


    return true;
}
Reply
#3

Se eu tirar a variбvel CorreNego vai dar undefined simbol O.o
E se eu tirar CorreNego = SetTimer e deixar sу o SetTimer continua com o mesmo problema.
Reply
#4

@edit

pawn Код:
forward callback0(playerid);
new varss;



varss = SetTimer("callback0", 1000, true );


public callback0(playerid)
{

    return 1;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    ShowPlayerDialog(playerid, DIALOG_NOCARRO, DIALOG_STYLE_MSGBOX, "INFORMAЗХES", "Vocк entrou em um veнculo e nгo poderб sair mais dele !\nCaso vocк saia perderб: 1 Score & 5 mil reais\n Para ver o menu ajuda, use: /ajuda\t", "Ok", "");
    return true;
}


public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 2)
    {
        if(response)
        {
            varss = true
            printf("%d", varss);
        }
        return true;
    }


    return true;
}
Reply
#5

pawn Код:
SetTimer("CorreNego", 30000, true);

CorreNego tem que ser uma public, e nгo uma variбvel.

Ex:
pawn Код:
forward CorreNego();
public CorreNego()
{
    // Codigo
    return true;
}
Reply
#6

Na public eu coloco o que vai acontecer quando o tempo acabar ?

Veja como ficou aqui:

pawn Код:
new CorreNego;

    SetTimer("CorreNego", 30000, true);


public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 2)
    {
        if(response)
        {
            CorreNego = true
            printf("%d", CorreNego);
        }
        return true;
    }
    return true;
}

forward CorreNeguin(playerid);
public CorreNeguin(playerid)
{
    SendClientMessage(playerid, -1, "VOCК NГO CHEGOU NO CARRO A TEMPO");
    SpawnPlayer(playerid);
    return true;
}
Usei a tйcnica do printf pra ver se ia funfar certin e nгo funciona, no console sу aparece quando o valor й 1 e dps para :/
Reply
#7

Explicando uma coisa,

se no seu gamemode estiver um exemplo desse:

pawn Код:
new Timer1;

//
//

Timer1 = SetTimerEx("Timer1", 1000, 1, "d", playerid);

//
//

forward Timer1(playerid);
public Timer1(playerid)
{
    return 1;
}
quando compilar, seu compilador irб dar erro ( geralmente irб parar de funcionar ) pois vocк definiu o nome do SetTimer como Timer1 й o Nome da public / forward tambйm como Timer1

O Certo seria:

pawn Код:
new Timer1;

//
//

Timer1 = SetTimerEx("Timer1Function", 1000, 1, "d", playerid);

//
//

forward Timer1Function(playerid);
public Timer1Function(playerid)
{
    return 1;
}


// Nomes diferentes, sem erros.
Espero que tenha intendido.
Reply
#8

Sim sim Murilo, eu tinha cometido esse erro e jб havia percebido porque (:
Sу que o problema й que a Timer iniciar, porйm para no segundo 1 (SEI DISSO PQ USEI ALI PRINTF).
E tipo, o que eu to tentando fazer й: Quando o player responder a dialog do evento a Timer ser iniciada, caso ele chegue a um veнculo antes do tempo acabar ela deve parar, e se ele nгo conseguir chegar num veнculo a tempo, й mandado pro Spawn tendeu ?

Meu code estб assim:


pawn Код:
// Topo
new CorreMano;

// OnGameModeInit
    CorreMano = SetTimer("CorreManoFunc", 30000, true); // 30 Segundos
// OnDialogResponse
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 2)
    {
        if(response)
        {
            CorreMano = true
            printf("%d", CorreMano);
        }
        return true;
//
forward CorreManoFunc(playerid);
public CorreManoFunc(playerid)
{
    SendClientMessage(playerid, -1, "VOCК NГO CHEGOU NO CARRO A TEMPO");
    SpawnPlayer(playerid);
    return true;
}
Reply
#9

Correзгo:


Quote:

// Topo
new CorreMano;
new bool: CorreMan;
// OnGameModeInit
CorreMano = SetTimer("CorreManoFunc", 30000, true); // 30 Segundos
// OnDialogResponse
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 2)
{
if(response)
{
CorreMan = true
printf("%d", CorreMan);
}
return true;
//
forward CorreManoFunc(playerid);
public CorreManoFunc(playerid)
{
if(CorreMan)
{
SendClientMessage(playerid, -1, "VOCК NГO CHEGOU NO CARRO A TEMPO");
SpawnPlayer(playerid);
return true;
}
}

Reply
#10

pawn Код:
// Topo
new bool:CorreMano[MAX_PLAYERS];

// OnDialogResponse
if(dialogid == 2)
{
    if(response)
    {
        SetTimerEx("CorreManoFunc", 30000, false,"d",playerid); // 30 Segundos
        SendClientMessage(playerid, -1, "Vocк tem 30 segundos.");
    }
}
//OnPlayerEnterVehicle
CorreMano[playerid] = true;

//OnPlayerDisconnect
CorreMano[playerid] = false;

forward CorreManoFunc(playerid);
public CorreManoFunc(playerid)
{
    if(!CorreMano)
    {
        SendClientMessage(playerid, -1, "VOCК NГO CHEGOU NO CARRO A TEMPO");
        SpawnPlayer(playerid);
    }
    return true;
}
Se vocк quiser tambйm, pode acrescentar um KillTimer
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)