Me bugueo y caigo.
#1

Buenasas, hoy les vengo a pedir una ayuda, ya que tengo el siguiente cуdigo, perooooo, cuando aparezco en un interior caigo, ya que no carga bien, їcomo puedo hacer para que no pase eso?
pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(PRESSED(KEY_YES) && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
    {
        if(IsPlayerInRangeOfPoint(playerid, 1.0, 1656.7712, 1733.2490, 10.8281))
        {
            SetPlayerInterior(playerid, 15);
            SetPlayerPos(playerid, 207.737991, -109.019996, 1005.132812);
            SendClientMessage(playerid, -1, "{FFFFFF}Bienvenido a {FFFF00}Binco");
        }
        else if(IsPlayerInRangeOfPoint(playerid, 1.0, 207.737991, -109.019996, 1005.132812))
        {
            SetPlayerInterior(playerid, 0);
            SetPlayerPos(playerid, 1656.7712, 1733.2490, 10.8281);
        }
        else if(IsPlayerInRangeOfPoint(playerid, 1.0, 2340.3232, 2458.6045, 14.9688))
        {
            SetPlayerInterior(playerid, 3);
            SetPlayerPos(playerid, 288.745971, 169.350997, 1007.171875);
        }
        else if(IsPlayerInRangeOfPoint(playerid, 3.0, 288.745971, 169.350997, 1007.171875))
        {
            SetPlayerInterior(playerid, 0);
            SetPlayerPos(playerid, 2340.3232, 2458.6045, 14.9688);
        }
        else if(IsPlayerInRangeOfPoint(playerid, 2.0, 2271.0178, 2291.9329, 10.8203))
        {
            SetPlayerPos(playerid, 2269.3384, 2405.0715, 1133.0396);
            SendClientMessage(playerid, -1, "{FFFFFF}Bienvenido a la tienda {FFFF00}'Electro Inc'");
            SendClientMessage(playerid, -1, "{FFFFFF}Si deseas saber que puedes comprar aquн, utiliza {FFFF00}/ayuda electro");
        }
        else if(IsPlayerInRangeOfPoint(playerid, 1.0, 2269.3384, 2405.0715, 1133.0396))
        {
            SetPlayerPos(playerid, 2271.0178, 2291.9329, 10.8203);
        }
    }
        return 1;
}
Reply
#2

Congelalos apenas le cambias la posicion y un timer para que se descongelen en 2 o 3 segundos. Algo asн:

pawn Код:
stock FixInterior(playerid)
{
    TogglePlayerControllable(playerid, false);
    SetTimerEx("FixInterior2", 2000, false, "i", playerid);
}

forward FixInterior2(playerid);
public  FixInterior2(playerid)
{
    TogglePlayerControllable(playerid, true);
}
Reply
#3

Una recomendaciуn a ese cуdigo: agrega la condiciуn IsPlayerConnected ya que si un jugador se teleporta y le pones un timer para descongelarlo y decide desconectarse al segundo la funciуn se llama y entonces le podrбs a un ID de jugador invбlido el descongelamiento, es solo por seguridad y anti-busca bugs.
Las probabilidades que suceda eso son mнnimas y no deberнa haber problema pero si sucede en algun script mas complejo puede ocasionarte grandes errores.
Reply
#4

Hola men para comenzar te digo que esas teleport deberias ponerlas debajo de
Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
y revisa este link para lo de las posiciones talvez sean un problema de interior
http://weedarr.wikidot.com/interior
Reply
#5

Una pregunta respecto al tema de bugearse y caerse. Si cada vez que me conecto, caigo al vacнo y luego aparezco en BlueBerry, їa quй se debe?
Reply
#6

Quote:
Originally Posted by MrNatrio
Посмотреть сообщение
Una pregunta respecto al tema de bugearse y caerse. Si cada vez que me conecto, caigo al vacнo y luego aparezco en BlueBerry, їa quй se debe?
Que no se estб cargando la informaciуn de la posiciуn, en ese caso. Al ser 0. 0. 0. caes para abajo del suelo y reapareces cerca al llegar al limite (creo) de -z.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)