#define D_Tutorial 100 //ID do dialog usado no tutorial, deve mudar conforme o seu servidor
new bool:PodePassarTutorial[MAX_PLAYERS]; //Irб verificar se o player pode ou nгo passar o tutorial
new bool:VendoTutorial[MAX_PLAYERS]; //Irб verificar se ele estб ou nгo vendo o tutorial
new TempoTutorial[MAX_PLAYERS]; //Define o tempo que o player deve esperar
new timertutorial[MAX_PLAYERS]; //Variбvel utilizada para guardar as informaзхes do timer para cada player
//Em OnPlayerDialog
new stringtuto[128];
if(dialogid == D_Tutorial) // Em sua dialog vocк deve colocб-lo da seguinte forma:
{
if(response == 0)
{
return 1;
}
if(response == 1)
{
if(PodePassarTutorial[playerid] == true) //Aqui verifica que o player jб estб autorizado a passar o tutorial
{
ShowPlayerDialog(playerid, D_Tutorial, DIALOG_STYLE_MSGBOX, "Tutorial!", "Bem vindo ao tutorial.", ">>", "");
PodePassarTutorial[playerid] = false; // Aqui estб definindo que o player nгo poderб passar para o prуximo dialog antes do tempo acabar.
TempoTutorial[playerid] = 10; // Aqui define o tempo que o player vai esperar para poder passar o tutorial.
}
else if(PodePassarTutorial[playerid] == false) //Aqui verifica que o player ainda nгo estб autorizado a passar o tutorial, retornando-o para o dialog anterior
{
format(stringtuto, 128, "Vocк deve esperar %d segundos para poder passar o tutorial!", TempoTutorial[playerid]);
SendClientMessage(playerid, -1, stringtuto);
ShowPlayerDialog(playerid, D_Tutorial+1, DIALOG_STYLE_MSGBOX, "Tutorial:","Muito bem, vocк esperou o tempo suficiente para passar o tutorial!",">>","");
VendoTutorial[playerid] = false; // Define que o player nгo estб mais vendo o tutorial
PlayerInfo[playerid][pTutorial] = 1; // Define que o player jб visualizou o tutorial, Usado na maioria dos GF's, edite de acordo com seu gm
}
}
return 1;
}
public OnPlayerSpawn(playerid) // Usei como exemplo o OnPlayerSpawn, mas vocк pode ajustar de sua forma
{
if(InfoPlayer[playerid][pTutorial] == 0)
{
PodePassarTutorial[playerid] = false; // Nгo deixarб o player passar o tutorial antes do tempo
VendoTutorial[playerid] = true; // Define que o player estб vendo o tutorial
TempoTutorial[playerid] = 5; // Define o tempo que o player deve esperar
timertutorial[playerid] = SetTimerEx("VendoTuto", 1000, true, "i", playerid); // Timer que irб checar quando o player poderб passar para o prуximo tutorial
}
return 1;
}
PodePassarTutorial[playerid] = false;
VendoTutorial[playerid] = false;
TempoTutorial[playerid] = 0;
forward VendoTuto(playerid);
public VendoTuto(playerid)
{
if(VendoTutorial[playerid] == true) // Aqui verifica se o player estб vendo o tutorial, em caso de true, ele irб diminuir o valor da variбvel de tempo
{
if(TempoTutorial[playerid] == 0)// Checa se jб se passou o tempo de espera do player, no caso do valor da variбvel se igualar a 0, irб retornar para o player que ele poderб passar o tutorial
{
PodePassarTutorial[playerid] = true; // Permite o player a passar para o prуximo dialog
SendClientMessage(playerid, cinza, "Vocк jб pode passar a pбgina!");
}
else{TempoTutorial[playerid] --;}// Diminui o tempo de espera do player de 1 em 1 segundo
}
else if(VendoTutorial[playerid] == false)// Verifica, se o player nгo estiver mais vendo o tutorial ele irб "excluir" o timer, fazendo com que nгo fique contando de varde
{
KillTimer(timertutorial[playerid]); // "Exclui" o timer para nгo haver lag desnecessбrio
TempoTutorial[playerid] = 0;
}
return 1;
}
Sou meio fraco em criar tutorial :P mas acho que qualquer pode intender o que eu estou tentando dizer nй?
|
Sou iniciante, nгo consegui colocar certo, explica parte por parte direitinho e onde tem que colocar, mais vlw por te postado deve ajudar alguйm que e mais experiente !!!
|
O Pior й que nгo dб para compreender.. Se for um iniciante ele nгo irб intender nada.. Explique os parвmetros das funзхes, as variбveis que vocк criou e etc..
Transforme este cуdigo ъtil em um tutorial ^^ |