SA-MP Forums Archive
[Ajuda] Congelar todos do evento - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Congelar todos do evento (/showthread.php?tid=593740)



Congelar todos do evento - MaTheuSs - 09.11.2015

Eae galera, eu gostaria de saber como faz pra congelar todos do evento, tipo quando derem /irevento eles ja ficarem congelados.
eu sei que precisa usar isso
Code:
TogglePlayerControllable(plid, 0);
mas onde eu colocaria ?
aqui estб o comando de /irevento
Code:
	if(EventoCriado == 1)
	{
		if(PlayersNoEvento == VagasNoEvento)
		{
			SendClientMessage(playerid, Amarelo, "Acabaram-se as vagas no evento, tente no prуximo.");
		}
		else
		{
			PlayersNoEvento++;
			noevento[playerid] = 1;
			SetPlayerInterior(playerid, interiore);
			SetPlayerPos(playerid, eventoX, eventoY, eventoZ);

			TogglePlayerControllable(playerid, false);
			SetTimerEx("DestogglePlayerControllable", 1000, 0, "d", playerid);

			format(STRX, sizeof(STRX), "%s foi para o evento (») Quer ir? Use: /irevento (») Vagas: %d/%d", PlayerName(playerid), PlayersNoEvento, VagasNoEvento);
			SendClientMessageToAll(Vermelho, STRX);
		}
	}
	return 1;
Eu coloquei ele embaixo do "PlayersNoEvento++;" e nao deu certo..
Aqui tambйm o comando que inicia o evento, pra dai os players ficarem liberados para andar e etc...
Eu sei bem que precisa alterar o 0 do TogglePlayerControllable(plid, 0); pelo 1
Code:
if(strcmp("/comecarevento", cmdtext, true, 10) == 0)
	{
		if(pAdmin[playerid] > 0)
		{
			// Corrida Pista 1
			if(EventoCorrida1 == 1)
			{
				for(new i = 0; i < MAX_PLAYERS; i++)
				{
Me ajudem ai please


Respuesta: Congelar todos do evento - DjonathaTM - 09.11.2015

Quote:

if(EventoCriado == 1)
{
if(PlayersNoEvento == VagasNoEvento)
{
SendClientMessage(playerid, Amarelo, "Acabaram-se as vagas no evento, tente no prуximo.");
}
else
{
PlayersNoEvento++;
noevento[playerid] = 1;
SetPlayerInterior(playerid, interiore);
SetPlayerPos(playerid, eventoX, eventoY, eventoZ);

TogglePlayerControllable(playerid, false);
SetTimerEx("DestogglePlayerControllable", 1000, 0, "d", playerid);

format(STRX, sizeof(STRX), "%s foi para o evento (») Quer ir? Use: /irevento (») Vagas: %d/%d", PlayerName(playerid), PlayersNoEvento, VagasNoEvento);
SendClientMessageToAll(Vermelho, STRX);
}
}

Mas aqui й quando o jogador da /irevento, e ele entra no evento, й teletransportado etc, e vai ser congelado certo?Mas nгo ta certo? '-'
E Vocк setou um settimerex pra esperar 1 segundo para descongelar o jogador?


Re: Congelar todos do evento - MaTheuSs - 09.11.2015

Sim, mas isso coloca ele pra ficar congelado apenas nos sistemas existentes, quando crio evento sem ser o padrгo ele nao fica, por exemplo /criarevento [MAX PESSOAS] [NOME]


Re: Congelar todos do evento - SaDaN - 09.11.2015

Й mais fбcil vocк criar um comando pra isso.

CMD:congelarevento(playerid, params[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && "VARIAVEL QUE CHECA SE O PLAYER ESTБ NO EVENTO")
{
TogglePlayerControllable(i, 0);
}
}
return 1;
}


Re: Congelar todos do evento - BobbMarley - 10.11.2015

TogglePlayerControllable(PlayersNoEvento, 1);


Respuesta: Congelar todos do evento - DjonathaTM - 10.11.2015

Nй...


Re: Congelar todos do evento - MaTheuSs - 10.11.2015

Й realmente era bem mais facil mesmo, foi mals.