[Ajuda] Teleporte para interior [PICKUP/F-ENTER]
#1

Fala, rapeeize. Queria saber como crio um sistema para teleporte no interior, utilizando Pickup e OnKeyStateChange.

Tentei seguir dois tуpicos aqui do fуrum, mas nenhum atende meus requisitos, pois quando o jogador chega na Pickup ele й teleportado automaticamente sem ter q pressionar F/ENTER.
Reply
#2

Provavelmente vocк colocou pra ela fazer o teleporte automбtico.
Procure algo relacionado a isso na callback OnPlayerPickUpPickup e retire.

Apуs ter retirado, vocк precisa fazer o comando verificando se as coordenadas atuais do jogador estгo prуximas das coordenadas do pickup e realizar o teleporte.
Reply
#3

https://sampforum.blast.hk/showthread.php?tid=653584

Eu nгo recomendo usar, mas use como base.
Reply
#4

Bom, vou explicar o que estou fazendo.

OnGameModeInit(){
CreatePickup(1239, 2, 2695.6880, -1704.6300, 11.8438, -1);
}

<Comandos.pwn>
#include <zcmd>

CMD:entrar(playerid, params[]){

if(IsPlayerInRangeOfPoint(playerid, 2.0, 2695.6880, -1704.6300, 11.843){
SetPlayerInterior(playerid, 11);
SetPlayerPos(playerid, 1503.3359, 1432.3585, 10.1191);
}

return true;
}

CMDair(playerid, params[]){

if(IsPlayerInRangeOfPoint(playerid, 2.0, 2695.6880, -1704.6300, 11.843){
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, 2695.6880, -1704.6300, 11.843;
}

return true;
}


OnPlayerKeyStateChange(playerid, newkeys, oldkeys){
if((newkeys==KEY_SECONDARY_ATTACK)){
OnPlayerCommandText(playerid, "/entrar");
OnPlayerCommandText(playerid, "/sair");
}
}




Quando eu vou na pickup e digito /entrar, ele funciona, mas quero colocar o /entrar no F/ENTER. Tentei fazer isso no OnKeyStateChange, mas parece que quando aperto F/ENTER nгo acontece nada, ele meio que nгo chama a callback, sla...
Reply
#5

Quote:
Originally Posted by 1sbedx
Посмотреть сообщение
https://sampforum.blast.hk/showthread.php?tid=653584

Eu nгo recomendo usar, mas use como base.
Prefiro nгo utilizar. Obrigado!
Reply
#6

tenta ae...
Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) //
{

     if(newkeys == 16 && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) //si apertar F...
     {
         if(IsPlayerInRangeOfPoint(playerid, 3.0, x,y,z)) //aqui vem a coordenada da pickup
         {
         SetPlayerPos(playerid, x,y,z); // coordenadas do interior 
         SetPlayerInterior(playerid, 0);// id do interior
         SendClientMessage(playerid,-1,"vocк entrou em algum lugar!");// mensagem qnd entrar
         }
 }
     return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)