[Ajuda]Interior em zcmd
#1

Ola pessoal eu vi um tutorial de como criar interior mais sу que й em OnPlayerCommandText mais sу que eu nгo tenho mais essa public por que uso sscanf e zcmd, eu gostaria de saber como vai ficar em zcmd irei postar o cуdigo abaixo. E em questгo de pesquisar eu pesquisei mais nгo achei eu vi quem um cara crio um tуpico com a mesma duvida a um tempo atras e responderгo mais eu nгo acho o tуpico dele.

pawn Код:
OnPlayerCommandText(playerid,"/entrandointerior");
   OnPlayerCommandText(playerid,"/sairinterior");
se precisa de mais partes sу fala
Reply
#2

cmd_entrandointerior(playerid, "");
Reply
#3

pawn Код:
cmd_entrandointerior(playerid);
cmd_sairinterior(playerid);
No topo desses comandos se tiver assim:
pawn Код:
(playerid,params[])
Poe pra ficar assim:
pawn Код:
(playerid)
Reply
#4

Nenhum e nem outro
Reply
#5

Cara й para ser assim.. Vocк que deve ta fazendo errado. Como voce ta colocando? e emq callback?

@edit
pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys == 16 && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
    {
        cmd_entrandointerior(playerid);
        cmd_sairinterior(playerid);
    }
    return 1;
}
Tenta
Reply
#6

Nгo recomendo muito vocк fazer isso... prefiro usar pickups, pois este mйtodo й bem inъtil.

pawn Код:
// isso que vocк quer nй?
CMD:entrarinterior(playerid,params[])
{
  if(!isnull(params)) return SendClientMessage(playerid,-1,"use: /entrarinterior"); // isnull params й usado caso nгo tenha params, Estou usando o inverso dele, Caso tenha parametros retorna a mensagem.
  SetPVarInt(playerid,"Interior",1);
  SetPlayerInterior(playerid,GetPVarInt(playerid,"Interior");
  SetPlayerPos(playerid,x,y,z); /// colocar aqui as cordenadas..
  return 1;
}
CMD:sairinterior(playerid,params[])
{
  if(!isnull(params)) return SendClientMessage(playerid,-1,"use: /sairinterior"); // isnull params й usado caso nгo tenha params, Estou usando o inverso dele, Caso tenha parametros retorna a mensagem.
  SetPVarInt(playerid,"Interior",0);
  SetPlayerInterior(playerid,GetPVarInt(playerid,"Interior");
  SetPlayerPos(playerid,x,y,z); /// colocar aqui as cordenadas.. de saнda...
  return 1;
}

Ou й isso?

cmd_nomedocmd(playerid,params);
Reply
#7

Aqui todos codigos
pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if ((newkeys==KEY_SECONDARY_ATTACK))
{
   OnPlayerCommandText(playerid,"/entrandointerior");
   OnPlayerCommandText(playerid,"/sairinterior");

}

    return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == EntradaPickup)
{
     SetPlayerInterior(playerid, 6);
     SetPlayerPos(playerid, 246.7756,63.1053,1003.6406);
}
    return 1;
}
pawn Код:
CMD:entrarinterior(playerid, params[])
{
   if(IsPlayerInRangeOfPoint(playerid, 2.0, 1553.9626,-1675.8103,16.1953))
   {
       SetPlayerInterior(playerid, 6);
       SetPlayerPos(playerid, 246.7756,63.1053,1003.6406);
   }
   return true;
}
CMD:sairinterior(playerid, params[])
{
   if(IsPlayerInRangeOfPoint(playerid, 2.0, 1553.9626,-1675.8103,16.1953))
   {
      SetPlayerInterior(playerid, 0);
      SetPlayerPos(playerid, 1553.9626,-1675.8103,16.1953);
   }
   return true;
}
Reply
#8

Poe isso na sua OnPlayerKeyStateChange:
pawn Код:
if(newkeys == 16 && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
    {
        cmd_entrandointerior(playerid);
        cmd_sairinterior(playerid);
    }
COMPLET:
pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys == 16 && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
    {
        cmd_entrandointerior(playerid);
        cmd_sairinterior(playerid);
    }
    return 1;
}
Reply
#9

Cуdigo bem simples, Caso coloca-se ambos no mesmo lugar definindo ambos para ser chamados ao aperta o mesmo botгo iria bugar, Neste caso que fiz, a key sу poderб ser usada ao estar 1 metro de distвncia da pickup, assim nгo bugando.

pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if((newkeys==KEY_SECONDARY_ATTACK))
{
     if(IsPlayerInRangeOfPoint(playerid,1.0,X,Y,Z)) // colocar aqui as cordenadas da entrada...
     {
     return cmd_entrandointerior(playerid,params);
     }
     if(IsPlayerInRangeOfPoint(playerid,1.0,X,Y,Z)) // colocar aqui as cordenadas da saнda...sairinterior
     {
     return cmd_sairinterior(playerid,params);
     }
}
Reply
#10

Eu me esqueci de avisar que conseguir arrumar mais obrigado a todos que tentarгo me ajudar. Pawno do seu jeito deu certo vlw mais reputaзгo
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)