• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Pawn] Problema con sistema de casa
#3
Isso provavelmente acontece porque as coisas tem os mesmos interiores, e quando você vai sair da casa, você está em uma posição que é a mesma das outras casa, "interior", o que eu faço para resolver essa questão é setar o virtual world para o id da casa.

PHP Code:
CMD:entrar(jugadorparams[])
{
para (new 0MAX_PROPERTYi++) //- Sistema de casas
{
if(
IsPlayerInRangeOfPoint(playerid1.0INFO_PROPERTY[i][p_POS_EXT][0], INFO_PROPERTY[i][p_POS_EXT][1], INFO_PROPERTY[i][p_POS_EXT][2]))
{
    if(
INFO_PROPERTY[i][p_CLOSED] == 0)
    {
¡¡if(INFO_PROPERTY[i][p_BOUGHT] == && !strcmp(PlayerName(playerid), INFO_PROPERTY[i][p_OWNER]))
{
SetPlayerPosEx(playeridINFO_PROPERTY[i][p_POS_INT][0], INFO_PROPERTY[i][p_POS_INT][1], INFO_PROPERTY[i][p_POS_INT][2], 0.0INFO_PROPERTY[i][p_INTERIOR], i+10);
SetPlayerVirtualWorld(playeridi); // seta o virtual world para o id da casa
TEMPORAL_PLAYER[playerid][t_AT_HOME] = i;
    
SetCameraBehindPlayer(jugador);
    
TogglePlayerControlable(reproductorfalso);
GameTextForPlayer(jugador"~g~Cargando~n~ ~w~~h~~h~Objetos"30001);
TEMPORAL_PLAYER[playerid][t_TIMER][2] = SetTimerEx("RemoverObjectos"3000false"i"playerid);
regreso 1;
}
otra cosa
{
    
ShowPlayerMessage(jugador"~y~No eres el dueño de esta propiedad"3);
}
}
otra cosa
{
    
ShowPlayerMessage(jugador"~r~Cerrado"3);
}
regreso 1;
}
}
regreso 1;
}

CMD:salir(jugadorparams[])
{

para (new 0MAX_PROPERTYi++) //- Sistema de casas

{

if(
IsPlayerInRangeOfPoint(playerid1.0INFO_PROPERTY[i][p_POS_INT][0], INFO_PROPERTY[i][p_POS_INT][1], INFO_PROPERTY[i][p_POS_INT][2]))

{
new 
GetPlayerVirtualWorld(playerid); // pega o id do virtualworld que em teoria é o id da casa
SetPlayerPosEx(playeridINFO_PROPERTY[j][p_POS_EXT][0], INFO_PROPERTY[j][p_POS_EXT][1], INFO_PROPERTY[j][p_POS_EXT][2], 0.000);

TEMPORAL_PLAYER[playerid][t_AT_HOME] = -1;

    
SetCameraBehindPlayer(jugador);

    
TogglePlayerControlable(reproductorfalso);

GameTextForPlayer(jugador"~g~Cargando~n~ ~w~~h~~h~Objetos"30001);

TEMPORAL_PLAYER[playerid][t_TIMER][2] = SetTimerEx("RemoverObjectos"3000false"i"playerid);

regreso 1;

}

}

regreso 1;


tem várias outras maneiras de corrigir isso, mas essa foi a que eu fiz, da para fazer por variáveis armazenada diretamente no player também, espero que consiga compreender minha solução ;)
  Reply


Messages In This Thread
Problema con sistema de casa - by Nikolay_Staggs - 2024-12-26, 07:06 AM
RE: Problema con sistema de casa - by samuelmatheus0502 - 2024-12-29, 01:43 PM

Forum Jump: