[Ajuda] Ajuda com SetTimer.
#1

E aн galera, tф fazendo um server de copchase(perseguiзгo policial), e do 0, entгo galera o comando /copchase:

Код:
CMD:copchase(playerid)
{
	new nome[MAX_PLAYER_NAME], string[85];
	if(NoCopChase == 15) return SendClientMessage(playerid, Vermelho, "O Cop Chase estб cheio, espere o atual acabar para poder entrar.");
	if(EntrouEvento[playerid] == true) return SendClientMessage(playerid, Vermelho, "Vocк jб estб no Cop Chase");
	else
	{
	EntrouEvento[playerid] = true;
	NoCopChase++;
	SetTimer("Contagem", 1000, false);
	GetPlayerName(playerid, nome, sizeof(nome));
	format(string, sizeof(string), "%s entrou no Cop Chase.[/copchase - Max Players: %d/15]", nome, NoCopChase);
	SendClientMessageToAll(Amarelo, string);
	SendClientMessage(playerid, Amarelo, "Escolha o que vocк quer ser.");
	ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Escolha o que vocк deseja.", "Bandido\nPolicial", "Selecionar", "Cancelar");
	}
	return 1;
}
Funciona de boa(ainda falta terminar ele, pra mandar os players que ta no cop chase dependendo do que ele escolheu)(esse gm й so pra eu me divertir com amigos, talvez divulgar o server pra todo mundo), o que eu queria que acontecesse, quando ele seleciona em ser bandido ou policial pela dialog, ele vai teletransportar pra groove, os policias e os bandidos(eu sei como fazer isso). Mas o que eu nгo sei й: Fazer algo que congele todo mundo que estб no cop Chase, e conte 20 segundos para liberar o pessoal. Resumindo, eu nгo sei criar algo que congele todo mundo que esta no /copchase e conte 20 segundos, apуs contar 20 segundos liberar todos que estгo no /copchase. Se possнvel a contagem poderia ser em texdraw.(antes de vim falar, eu jб tentei mais de 2 horas nisso e nгo consegui).
Reply
#2

UP, se alguem souber ajuda ai
Reply
#3

AQUI
Se resolver seu problema da +REP
Reply
#4

Veja isto como base:
Код HTML:
//Topo do GM
Exemplo[MAX_PLAYERS];


    if(strcmp("/comando", cmdtext, true, 8) == 0)
    {
        //Teleporte e bla bla bla
        //congelar o jogador
        Exemplo[playerid] = SetTimerEx("Descongelar", 5000,true,"i",playerid);
        return 1;
    }
    
public Descongelar(playerid)
{
    KillTimer(Exemplo[playerid]);//Mata o timer
    //Descongela o jogador
}
Adapte o codigo de acordo como queira !
Reply
#5

uma pequena funзгo para vocк estudar e implementar a seu gosto em seu comando.

pawn Код:
//isso irб verificar se ele entrou no evento
if(EntrouEvento[playerid] == true){
    TogglePlayerControllable(playerid, false);
        SetTimer("Descongelar", 20*1000, false);
}
//agora para descongelar depois de 20 segundos
stock Descongelar()
{
    for(new i=0; i<MAX_PLAYERS; i++)
        TogglePlayerControllable(i, true);
    return 1;
}
isso й apenas um exemplo.
Reply
#6

pawn Код:
// Onde й para congelar:
for(new i = 0; i < MAX_PLAYERS; ++ i)
{
    if(EntrouEvento[i])
    {
        TogglePlayerControllable(i, true);
        SetTimer("Descongelar", 20000, false);
    }
}

Descongelar();
public Descongelar()
{
    for(new i = 0; i < MAX_PLAYERS; ++ i)
    {
        TogglePlayerControllable(i, false);
    }
    return true;
}
Acredito que irб funcionar.. Estude o cуdigo e faзa o seu .
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)