20.12.2011, 22:05
(
Последний раз редактировалось Kuddy; 20.12.2011 в 23:00.
)
Simples, mas ъtil...
Quem lhe dera se existisse um quando eu estava comeзando a scriptar...
@edit
Vou complementar seu tutorial, estб faltando exemplos e aplicaзхes de timers.
Vocк pode utilisar um timer para fazer um portгo que abre e apуs um tempo ele fecha sozinho.
Exemplo:
Tambйm podemos usar um timer, para fazer uma contagem!
Existe uma funзгo de SetTimers que й expecнfica para um certo player.
Tendeu nгo? Por exemplo: O player digita /peidei e em 5 segundos aparecerб uma para o player: Vocк peidou e jб estб fedendo.
Um exemplo de SetTimerEx:
Sгo sу alguns exemplos para ajudar a compreensгo do tutorial
Claro que existem funзхes mais otimizadas para fazer os meus exemplos acima, mas eu fiz do geito bem simples que й para a compreensгo geral.
Quem lhe dera se existisse um quando eu estava comeзando a scriptar...
@edit
Vou complementar seu tutorial, estб faltando exemplos e aplicaзхes de timers.
Vocк pode utilisar um timer para fazer um portгo que abre e apуs um tempo ele fecha sozinho.
Exemplo:
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/abrir", cmdtext, true, 10) == 0)
{
MoveObject(ID_DO_OBJETO, Float:X,Float:Y,Float:Z, Float:Velocidade, RotX, RotY, RotZ); // Posiзгo do portгo aberto
SetTimer("Fechar", 8000, false);// False pois nгo queremos que este timer fique repetindo constatemente. O portгo chamara um timer em 8 segundos.
return 1;
}
return 0;
}
forward Fechar();
public Fechar()
{
MoveObject(ID_DO_OBJETO, Float:X,Float:Y,Float:Z, Float:Velocidade, RotX, RotY, RotZ);// Posiзгo do portгo fechado.
printf("O portгo foi fechado com sucesso!");
return 1;
}
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/contar", cmdtext, true, 10) == 0)
{
printf("3");
SetTimer("contar2",1000, false);// False pois nгo queremos que este timer fique repetindo constatemente.
return 1;
}
return 0;
}
forward contar2();
public contar2()
{
printf("2");
SetTimer("contar1",1000, false); // Chamarб o timer congar1
return 1;
}
forward contar1();
public contar1()
{
printf("1");
SetTimer("contargo", 1000, false); // Chamarб o timer
return 1;
}
forward contargo();
public contargo()
{
printf("Go");
return 1;
}
Tendeu nгo? Por exemplo: O player digita /peidei e em 5 segundos aparecerб uma para o player: Vocк peidou e jб estб fedendo.
Um exemplo de SetTimerEx:
pawn Код:
new peidando; // Vamos definir o timer.
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/peidei", cmdtext, true, 10) == 0) // Comando
{
peidando = SetTimerEx("CarregarPeido", 5000, false, "i", playerid); //Timer em SetTimerEx...
return 1;
}
return 0;
}
forward CarregarPeido(playerid);
public CarregarPeido(playerid)
{
SendClientMessage(playerid, -1, "Vocк peidou e jб estб fedendo!");
return 1;
}
Claro que existem funзхes mais otimizadas para fazer os meus exemplos acima, mas eu fiz do geito bem simples que й para a compreensгo geral.