Portal SAMP
[Ajuda] Interior não carrega[mercado negro] - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Interior não carrega[mercado negro] (/showthread.php?tid=3015)



Interior não carrega[mercado negro] - hyouki - 24/11/2022

Baixei uma gamemode, tudo normal, mais quando eu entro no mercado negro 
[Imagem: DeKJLZf.png]
quando eu entro o interior não carrega, boneco fica flutuando e começa a cair no limbo.
[Imagem: YgcU4Qz.png]
[Imagem: Fe8TKOF.png]
GM BRASIL PLAY STORY,
alguem sabe oque pode ser ? sou meio novato no samp então necessito de alguma respostas dos mais entendedores, onde está o problema.


RE: Interior não carrega[mercado negro] - zBreno - 24/11/2022

ou ta demorando muito pra carregar os objetos ou voê passou o limite de objetos definido por alguém dentro do gm tem uma função do plugin streamer que aumenta o drawdistance mas eu não lembro o nome agora


RE: Interior não carrega[mercado negro] - xbruno1000x - 24/11/2022

Pode estar setando interior ou virtual errado, além do que o zBreno disse acima.


RE: Interior não carrega[mercado negro] - White_Blue - 24/11/2022

Também pode ser que as coordenadas podem estar incorretas. Ou o que o Bruno e o zBreno disseram acima.


RE: Interior não carrega[mercado negro] - Aranha - 24/11/2022

confere as coordenadas world interior do mapa e
SetPlayerPos
SetPlayerInterior
SetPlayerVirtualWorld

veja se seu streamer esta atualizado


RE: Interior não carrega[mercado negro] - hyouki - 24/11/2022

Essas?
Código:
//ENTRADA MERCADO NEGRO
GameTextForPlayer(playerid, "~w~Mercado Negro", 5000, 1);
SetPlayerInterior(playerid, 26);
InteriorAtual[playerid] = 46;
SetPlayerVirtualWorld(playerid, 0);
SetPlayerPos(playerid,1990.2299,1116.2968,1122.5186);
TogglePlayerControllable(playerid, 0);
SetTimerEx("LiberarEnforcer", 3000, false, "i", playerid);


Código:
                //SAIDA MERCADO NEGRO
                SetPlayerInterior(playerid, 0);
                InteriorAtual[playerid] = 0;
                LocalAtual[playerid] = 999;
                SetPlayerVirtualWorld(playerid, 0);
                SetPlayerPos(playerid,1723.3398,-1562.2036,14.1484);



RE: Interior não carrega[mercado negro] - White_Blue - 24/11/2022

(24/11/2022 22:06)hyouki Escreveu: Essas?
Código:
//ENTRADA MERCADO NEGRO
GameTextForPlayer(playerid, "~w~Mercado Negro", 5000, 1);
SetPlayerInterior(playerid, 26);
InteriorAtual[playerid] = 46;
SetPlayerVirtualWorld(playerid, 0);
SetPlayerPos(playerid,1990.2299,1116.2968,1122.5186);
TogglePlayerControllable(playerid, 0);
SetTimerEx("LiberarEnforcer", 3000, false, "i", playerid);


Código:
                //SAIDA MERCADO NEGRO
                SetPlayerInterior(playerid, 0);
                InteriorAtual[playerid] = 0;
                LocalAtual[playerid] = 999;
                SetPlayerVirtualWorld(playerid, 0);
                SetPlayerPos(playerid,1723.3398,-1562.2036,14.1484);

Não entendi esse snippet de código.

Código PHP:
InteriorAtual[playerid] = 46
Está setando o valor da variável "InteriorAtual" para 46 sendo que o ID do interior é 26.


RE: Interior não carrega[mercado negro] - Aranha - 25/11/2022

InteriorAtual[playerid] = 46; acredito q isso seja pra nao bugar quando o player sair de algum interior

tem q ver se esta setando para o local correto SetPlayerPos(playerid,1990.2299,1116.2968,1122.5186);

tem q ver como foi feito o mapa

ou se esta com limite de objetos ou streamer desatualizado


RE: Interior não carrega[mercado negro] - hyouki - 25/11/2022

Desisti, tinha mais coisas bugada que não carregava o interior, a streamer tava att, so que o pack que tava com problema! obrigado a todos pelas respostas.


RE: Interior não carrega[mercado negro] - Carlos Victor - 26/11/2022

Nesses tipos de caso, eu recomendo criar uma função onde automáticamente fara uma "espera" até que todos os objetos sejam carregados(em média)



Exemplo:
Código:
SetPlayerPosEx(playerid, Float:x, Float:y, Float:z, Float:a);
{
    SetPlayerPos(playerid, x, y, z);
    SetPlayerFacingAngle(playerid, a);

    GameTextForPlayer(playerid, "~w~Carregando objetos...", 1000 * 5, 3);

    TogglePlayerControllable(playerid, false);
    SetTimerEx("UnFreezePlayer", 1000 * 5, false, "i", playerid);
    return 1;
}

forward UnFreezePlayer(playerid);
public UnFreezePlayer(playerid)
{
    TogglePlayerControllable(playerid, true);
    return 1;
}

Talvez usando esse código ou adaptando ele, você consiga fazer com que jogadores entram em interiores sem cair no limbo por causa da demora do carregamento.