[Ajuda] Me ajuda - 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] Me ajuda (
/showthread.php?tid=658250)
Me ajuda -
vitinhosamp - 30.08.2018
Ola, por exemplo, estou com uma duvida assim, quando vc cria um pickup e bota a localizaзгo dele,se ele leva pra um interior vc coloca na
PHP код:
OnPlayerStateChange
para que ele faзa a verificaзгo da Pos do player e o teletransporte para o lugar, nгo teria uma funзгo para simplificar isso, tipo uma variбvel que guardasse as loc para quando ele apertasse ENTER ele verificava todas as pos do player e mandava para o lugar certo,
PHP код:
Exemplo: pickups de banco, n precisa colocar a loc de todos em OnPlayerStateChange, apenas coloque uma variбvel pra checar, alguйm me ajuda com isso?
Re: Me ajuda -
Malandrin - 30.08.2018
Nгo precisa ser necessariamente na OnPlayerStateChange, creio que nгo tenha nenhuma funзгo que irб simplificar a entrada em um local, mas na saнda poderб sim ter. Vou dar um exemplo: Quando o player aperta F para entrar em um local, vocк salva a posiзгo dele e apуs ter salvado seta ele dentro do interior.. E quando ele sair apenas seta ele na sua ъltima posiзгo. Nгo sei se foi isso que vocк perguntou, pois sua pergunta estб um pouco confusa.
Re: Me ajuda -
SIZET - 31.08.2018
Nгo entendi muito bem o que vocк quer mas eu fiz uma Entrada/Saнda com as letras F ou Enter.
PHP код:
new ENTRADA;
new SAIDA;
public OnGameModeInit()
{
ENTRADA = CreatePickup(...);
SAIDA = CreatePickup(...);
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == ENTRADA) // Pickup para entrar no interior ( que fica de fora )
{
SendClientMessage(playerid, -1, "| INFO | Aperte F ou Enter para entrar.");
}
if(pickupid == SAIDA) // Pickup de saнda ( que fica dentro do interior )
{
SetPlayerPos(playerid, /*Coordenadas quando ele for sair do interior ( X, Y, Z )*/);
SetPlayerFacingAngle(playerid, /*Coordenadas quando ele for sair do interior ( Angulo )*/);
SetPlayerInterior(playerid, /*ID Interior de fora ( No caso '0' )*/);
SetCameraBehindPlayer(playerid); // Seta a camera atras do Player.
}
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_SECONDARY_ATTACK) // F ou Enter
{
if(IsPlayerInRangeOfPoint(playerid, 1.0, /*Coordenadas Pickup entrada ( X, Y, Z )*/))
{
SetPlayerPos(playerid, /*Coordenadas dentro do interior ( X, Y, Z )*/);
SetPlayerFacingAngle(playerid, /*Coordenadas dentro do interior ( Angulo )*/
SetPlayerInterior(playerid, /*ID Interior*/);
SetCameraBehindPlayer(playerid); // Seta a camera atras do Player.
}
}
return 1;
}
Se quiser outra letra use o site:
https://sampwiki.blast.hk/wiki/Keys
Para ver as coordenadas dentro dos interiores й o ID deles use esse site:
http://weedarr.wikidot.com/interior
Й mude essa parte:
Код:
if(newkeys == KEY_SECONDARY_ATTACK) // F ou Enter
* Obs:
Eu fiz apenas a entrada com F ou Enter para sair do interior apenas encostar no Pickup que jб sai do Interior.
Re: Me ajuda -
vitinhosamp - 31.08.2018
Obrigado os dois, ++ rep!