Colocando timer em toturial -
Pedro_Teixeira - 15.04.2013
Ola eu tou tentando colocar um timer entre cada passo do toturial do meu rpg, de modo a que os players nao avancem sem ler primeiro. Eu ja estive lendo toturials de timers, mas nao sei como hei de os aplicar pois os que li eram timers mal se entrava no servidor. Entao sera que alguem podia me dar uma dica sobre como colocar o timer entre cada texto do toturial? Obrigado pela vossa atenзгo.
Re: Colocando timer em toturial -
Gleisson_. - 15.04.2013
Mano, coisa mais simples..
pawn Код:
strcat(.....seutexto)
ShowPlayerDialog(........)
SetTimerEx("AvancarTuto", #tempo, false, "i", playerid);
//
forward AvancarTuto(playerid);
public AvancarTuto(playerid)
{
//OutraDialog
return SetTimerEx("AvancarTuto2", #tempo, false, "i", playerid);
}
E assim por diante.
Re: Colocando timer em toturial -
Pedro_Teixeira - 16.04.2013
Nгo funcionou =/
Fiz como vc disse, depois de cada fala defini o timer, fiz o public e o forward e nгo deu olha sу vк se fiz algo mal
Код:
{
new tutorial2[800];
format(stringa, sizeof(stringa), "Este й um servidor RPG, й suposto ser uma vida real, logo comportate como se fosse a tua.\n\nAqui temos regras, players e administradores.\n\nO jogo passa-se na cidade de Los Santos\n\nMais a frente iremos te mostrar onde ficam os lugares mais usados deste servidor."); strcat(tutorial2, stringa);
ShowPlayerDialog(playerid,902, DIALOG_STYLE_MSGBOX, "Tutorial", tutorial2, "Avanзar", "Cancelar");
SetTimerEx("AvancarTuto2", 15000, false, "i", playerid);
return 0;
}
Код:
public AvancarTuto(playerid)
{
//OutraDialog
return SetTimerEx("AvancarTuto2", 15000, false, "i", playerid);
}
Re: Colocando timer em toturial -
Gleisson_. - 16.04.2013
Erro meu, lhe passei um cуdigo errado, estou fazendo um aqui, aguarde por favor,
boa noite.
@EDIT:
Ficaria como algo assim, veja:
PHP код:
new LiberouTuto[MAX_PLAYERS];
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == SuaDialog)//identifica o id do dialog.
{
if(response)//Caso ele clique no primeiro botгo
{
if(LiberouTuto[playerid] == 1)
{
SendClientMessage(playerid, COR, "Parabйns! Vocк sabe seu nome e por isso ganharб 1000 Reais!!!");
GivePlayerMoney(playerid, 1000);
} else {
SendClientMessage(playerid, -1, "ERRO: Espere no mнnimo 15 segundos para poder avanзar seu Tutorial");
}
return 1;
}
}
else //caso ele click no segundo botгo
{
SendClientMessage(playerid, COR, "Vocк clicou no segundo botгo, o dialog desaparecerб que nem mбgica e vocк serб kickado!!!!!");
Kick(playerid);
}
}
return 1;
}
Ae vocк tambйm deve adicionar esse SetTimerEx no local onde vai mostrar a primeira dialog ao player:
PHP код:
new Timer1[MAX_PLAYERS];
Timer1[playerid] = SetTimerEx("LiberarTuto", 15000, false, "d", playerid);
forward LiberarTuto(playerid);
public LiberarTuto(playerid)
{
LiberouTuto[playerid] = 1;
return 1;
}
Tenha uma boa noite !