XObjects Problem

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Also bei mir werden plötzlich keine Objecte merh gestreamt... im GM hab ich nur 4 Stück drin und im Streamer 50... Sehe aber keine mehr... woran kann das liegen?


    XCore + XObjects sind drin auch in CFG eingetragen


    Steht immer XOBjects load failed
    (Xcore läd er aber)





    [pwn]#include <a_samp>


    forward Timer();
    forward SetPlayerPosWithObjects(playerid,Float:x,Float:y,Float:z);
    /*
    SetPlayerPosWithObjects usage in your gamemode:


    CallRemoteFunction("SetPlayerPosWithObjects","ifff",playerid,newx,newy,newz);
    */


    //------------------------------------------------------------------------------


    enum object_info
    {
    modelid,
    Float:ox,
    Float:oy,
    Float:oz,
    Float:orx,
    Float:ory,
    Float:orz,
    Float:viewdist
    }


    new Objects[][object_info] = {




    // Hier Objekte


    };




    enum player_info
    {
    objid[sizeof(Objects)],
    bool:view[sizeof(Objects)]
    }
    new Player[MAX_PLAYERS][player_info];


    //------------------------------------------------------------------------------


    bool:IsInReach(Float:x,Float:y,Float:z,Float:x2,Float:y2,Float:z2,Float:dist)
    {
    x = (x > x2) ? x - x2 : x2 - x;
    if(x > dist) return false;
    y = (y > y2) ? y - y2 : y2 - y;
    if(y > dist) return false;
    z = (z > z2) ? z - z2 : z2 - z;
    if(z > dist) return false;
    return true;
    }


    //------------------------------------------------------------------------------


    new timer;


    public OnFilterScriptInit()
    {
    print("---\nLoaded xObjects by Boylett\n---");
    timer = SetTimer("Timer",500,1);
    return 1;
    }


    public OnFilterScriptExit()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    for(new o = 0; o < sizeof(Objects); o++)
    {
    if(Player[i][view][o])
    {
    Player[i][view][o] = false;
    DestroyPlayerObject(i,Player[i][objid][o]);
    }
    }
    }


    KillTimer(timer);
    }


    //------------------------------------------------------------------------------


    public OnPlayerConnect(playerid)
    {
    for(new i = 0; i < sizeof(Objects); i++) Player[playerid][view][i] = false;
    }


    public OnPlayerDisconnect(playerid)
    {
    for(new i = 0; i < sizeof(Objects); i++)
    {
    if(Player[playerid][view][i])
    {
    Player[playerid][view][i] = false;
    DestroyPlayerObject(playerid,Player[playerid][objid][i]);
    }
    }
    }


    //------------------------------------------------------------------------------


    public Timer()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    if(IsPlayerConnected(i))
    PlayerObjectUpdate(i);
    }


    PlayerObjectUpdate(playerid)
    {
    new Float:pos[3];
    GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
    for(new i = 0; i < sizeof(Objects); i++)
    {
    if(!Player[playerid][view][i])
    {
    if(IsInReach(pos[0],pos[1],pos[2],Objects[i][ox],Objects[i][oy],Objects[i][oz],Objects[i][viewdist]))
    {
    Player[playerid][view][i] = true;
    Player[playerid][objid][i] = CreatePlayerObject(playerid,Objects[i][modelid],Objects[i][ox],Objects[i][oy],Objects[i][oz],Objects[i][orx],Objects[i][ory],Objects[i][orz]);
    }
    } else if(!IsInReach(pos[0],pos[1],pos[2],Objects[i][ox],Objects[i][oy],Objects[i][oz],Objects[i][viewdist]))
    {
    Player[playerid][view][i] = false;
    DestroyPlayerObject(playerid,Player[playerid][objid][i]);
    }
    }
    }


    public SetPlayerPosWithObjects(playerid,Float:x,Float:y,Float:z)
    {
    for(new i = 0; i < sizeof(Objects); i++)
    {
    if(!Player[playerid][view][i])
    {
    if(IsInReach(x,y,z,Objects[i][ox],Objects[i][oy],Objects[i][oz],Objects[i][viewdist]))
    {
    Player[playerid][view][i] = true;
    Player[playerid][objid][i] = CreatePlayerObject(playerid,Objects[i][modelid],Objects[i][ox],Objects[i][oy],Objects[i][oz],Objects[i][orx],Objects[i][ory],Objects[i][orz]);
    }
    } else if(!IsInReach(x,y,z,Objects[i][ox],Objects[i][oy],Objects[i][oz],Objects[i][viewdist]))
    {
    Player[playerid][view][i] = false;
    DestroyPlayerObject(playerid,Player[playerid][objid][i]);
    }
    }
    SetPlayerPos(playerid,Float:x,Float:y,Float:z);
    }


    public OnPlayerSpawn(playerid)
    PlayerObjectUpdate(playerid);
    [/pwn]