SA-MP Forums Archive
[Ajuda] Existe algum comando para sair da бgua? - 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] Existe algum comando para sair da бgua? (/showthread.php?tid=618577)



Existe algum comando para sair da бgua? - Psicotico - 07.10.2016

Boa tarde.
Existe alguma forma de criar um comando para sair da бgua e teleportб-lo para a pista mais prуxima, ou qualquer local mais prуximo de onde caiu?


Re: Existe algum comando para sair da бgua? - LockedLucas - 07.10.2016

Й sу pegar a posiзгo em que ele estб e depois verificar se ele estб perto do local desejado e vocк manda ele ir pra lб.


Re: Existe algum comando para sair da бgua? - n0minal - 07.10.2016

No samp tudo tem como, basta saber fazer. Eu faria uma funзгo bem elaborada, utilizando nodes pra pegar o ponto vбlido mais prуximo e utilizaria anims + ColAndreas pra detectar quando o player estivesse na бgua, tem formas mais fбceis mas essa й ao meu ver a mais bem elaborada.


Re: Existe algum comando para sair da бgua? - Psicotico - 07.10.2016

Entendi. Vou tentar trabalhar nisso, pois imagina um Adm nadando no prуprio servidor que nгo tem teleport.. kkkk


Re: Existe algum comando para sair da бgua? - ClaudineiCDS - 07.10.2016

Quote:
Originally Posted by Psicotico
Посмотреть сообщение
Entendi. Vou tentar trabalhar nisso, pois imagina um Adm nadando no prуprio servidor que nгo tem teleport.. kkkk
Para o que vc quer fazer isto pode ser ъtil, sу o admin apertar "esc" e marcar no mapa o local para teleportar.
PHP код:
public OnPlayerClickMap(playeridFloat:fXFloat:fYFloat:fZ)
{
    if(
IsPlayerAdmin(playerid)) { //Troque pela variбvel de admin do seu gamemode.
        
SetPlayerPos(playeridfXfYfZ);
    }
    return 
1;




Re: Existe algum comando para sair da бgua? - RodrigoMSR - 08.10.2016

Hб outro modo mais simples:
Код:
#include <a_samp>
#include <zcmd>

new Float:PosAntesAgua[MAX_PLAYERS][4];

public OnGameModeInit()
{
	SetTimer("CheckAgua", 10000, true);
	return 1;
}

forward CheckAgua();
public CheckAgua()
{
	for(new i = 0; i < MAX_PLAYERS; i++)
	{
	    if(IsPlayerConnected(i))
	    {
	        if(!IsPlayerInWater(i))
	        {
	            GetPlayerPos(i, PosAntesAgua[i][0], PosAntesAgua[i][1], PosAntesAgua[i][2]);
	            GetPlayerFacingAngle(i, PosAntesAgua[i][3]);
	        }
	    }
	}
	return 1;
}

CMD:sairagua(playerid)
{
	if(IsPlayerInWater(playerid))
	{
	    SetPlayerPos(playerid, PosAntesAgua[playerid][0], PosAntesAgua[playerid][1], PosAntesAgua[playerid][2]);
	    SetPlayerFacingAngle(playerid, PosAntesAgua[playerid][3]);
	    SendClientMessage(playerid, 0x00FF00FF, "Vocк saiu da бgua com sucesso");
	}
	else SendClientMessage(playerid, 0xFF0000FF, "Vocк nгo estб na бgua!");
	return 1;
}

stock IsPlayerInWater(playerid)
{
	new anim = GetPlayerAnimationIndex(playerid);
 	if(((anim >=  1538) && (anim <= 1542)) || (anim == 1544) || (anim == 1250) || (anim == 1062)) return 1;
  	return 0;
}