[Ajuda] Preciso de ajuda no /entrar e/ou /sair
#1

Pessoal, eu preciso de ajuda de vocкs, quando eu entro em uma empresa com um interior X, e no servidor hб outra empresa com o mesmo tipo de interior, em vez de eu sair na porta da empresa X eu saio na empresa Y, alguйm poderia me ajudar?

PHP код:
CMD:entrar(playeridparams[])
{
    for(new 
1sizeof(BusinessInfo); i++)
     {
          if(
IsPlayerInRangeOfPoint(playerid,2.0,BusinessInfo[i][ExitX],BusinessInfo[i][ExitY],BusinessInfo[i][ExitZ]))
        {
            if(
BusinessInfo[i][Locked] == 1) return SendClientMessage(playeridCOLOR_LIGHTRED"Estб empresa estб trancada, desta forma, vocк nгo pode entrar nela.");
            
SetPlayerPos(playeridBusinessInfo[i][EnterX],BusinessInfo[i][EnterY],BusinessInfo[i][EnterZ]);
            
SetPlayerInterior(playeridBusinessInfo[i][EnterInt]);
            
SetPlayerVirtualWorld(playeridBusinessInfo[i][EnterVW]);
            
PlayerInfo[playerid][LastVW] = i;
            
PlayerInfo[playerid][BusinessEnteredType] = BusinessInfo[i][Type];
            
PlayerInfo[playerid][BusinessEntered] = GetPlayerVirtualWorld(playerid);
            return 
1;
         }
     }
        return 
1;

PHP код:
CMD:sair(playeridparams[])
{
    for(new 
id 1id sizeof(BusinessInfo); id++)
     {
        if(
IsPlayerInRangeOfPoint(playerid,2.0,BusinessInfo[id][EnterX],BusinessInfo[id][EnterY],BusinessInfo[id][EnterZ]))
         {
            
SetPlayerPos(playeridBusinessInfo[id][ExitX],BusinessInfo[id][ExitY],BusinessInfo[id][ExitZ]);
            
SetPlayerInterior(playerid0);
            
PlayerInfo[playerid][BusinessEntered] = 0;
            
PlayerInfo[playerid][BusinessEnteredType] = 0;
               
PlayerInfo[playerid][LastVW] = 0;
            
SetPlayerVirtualWorld(playerid0);
            return 
1;
         }
     }

Agradeceria se alguйm concerta-se o comando, caso, esteja errado, e me explica-se o que vocкs arrumarem, desde jб, obrigado.
Reply
#2

Coloquei a variбvel PlayerInfo[playerid][LastVW] junto a verificaзгo com o do IsPlayerInRangeOfPoint, visto que a var armazena o id da business que o player entra.
PHP код:
CMD:entrar(playeridparams[]) 

    for(new 
1sizeof(BusinessInfo); i++) 
     { 
          if(
IsPlayerInRangeOfPoint(playerid,2.0,BusinessInfo[i][ExitX],BusinessInfo[i][ExitY],BusinessInfo[i][ExitZ]) && PlayerInfo[playerid][LastVW] == 0
        { 
            if(
BusinessInfo[i][Locked] == 1) return SendClientMessage(playeridCOLOR_LIGHTRED"Estб empresa estб trancada, desta forma, vocк nгo pode entrar nela."); 
            
SetPlayerPos(playeridBusinessInfo[i][EnterX],BusinessInfo[i][EnterY],BusinessInfo[i][EnterZ]); 
            
SetPlayerInterior(playeridBusinessInfo[i][EnterInt]); 
            
SetPlayerVirtualWorld(playeridBusinessInfo[i][EnterVW]); 
            
PlayerInfo[playerid][LastVW] = i
            
PlayerInfo[playerid][BusinessEnteredType] = BusinessInfo[i][Type]; 
            
PlayerInfo[playerid][BusinessEntered] = GetPlayerVirtualWorld(playerid); 
            return 
1
         } 
     } 
        return 
1
}
CMD:sair(playeridparams[]) 

    for(new 
id 1id sizeof(BusinessInfo); id++) 
     { 
        if(
IsPlayerInRangeOfPoint(playerid,2.0,BusinessInfo[id][EnterX],BusinessInfo[id][EnterY],BusinessInfo[id][EnterZ]) && PlayerInfo[playerid][LastVW] == id
         { 
            
SetPlayerPos(playeridBusinessInfo[id][ExitX],BusinessInfo[id][ExitY],BusinessInfo[id][ExitZ]); 
            
SetPlayerInterior(playerid0); 
            
PlayerInfo[playerid][BusinessEntered] = 0
            
PlayerInfo[playerid][BusinessEnteredType] = 0
            
PlayerInfo[playerid][LastVW] = 0
            
SetPlayerVirtualWorld(playerid0); 
            return 
1
         } 
     } 

Reply
#3

Vou testar aqui, e lhe digo, se funcionou.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)