Gemappte Objekte in der Class Selection

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
  • Hey,
    hab da derzeit ein Problem. Undzwar benutze ich die normale SAMP Class Selection beim spawnen, aber leider werden gemappte&gestreamte Objekte nicht erstellt bevor ich "Spawn" geklickt habe. Klar eine Möglichkeit wäre es die Objekte ganz normal per CreateObject zu erstellen, aber da das in meinem Fall etwas ungünstig wäre suche ich eine Option um die Objekte trotzdem per Streamer anzeigen zu lassen.
    Eine Sache habe ich schon probiert:
    stock SetPlayerPosOnObject(playerid, Float:objx, Float:objy, Float:objz)
    {
    Streamer_UpdateEx(playerid,Float:objx,Float:objy,Float:objz);
    SetPlayerPos(playerid,objx,objy,objz+0.5);
    TogglePlayerControllable(playerid,0);
    return SetTimerEx("SetPlayerPosPublic",1000,0,"ifff",playerid,objx,objy,objz);
    }
    forward SetPlayerPosPublic(playerid,Float:objx,Float:objy,Float:objz);
    public SetPlayerPosPublic(playerid,Float:objx,Float:objy,Float:objz)
    {
    TogglePlayerControllable(playerid,1);
    return 1;
    }
    Hat leider nicht funktioniert. Hätte nochjemand eine Idee ?

  • Die Objekte werden erst angezeigt wenn du deinen Spieler minimal bewegst.
    Du könntest ja für die Class Selection einen zweiten Streamer nutzen, zum Beispiel einen von hier: http://forum.sa-mp.com/showthread.php?t=256447


    Dann würden die Objekte von dem Streamer nur angezeigt, wenn du auch dort bist, würde ja auch seinen Zweck erfüllen, außer dort ist es genau so, dass man sich bewegen muss.

  • Ich werde morgen mal das mit dem Bewegen probieren. Trotzdem sollte es eigentlich funktionieren, denn ich habe etwas in der Dokumentation von Incognito's Streamer gefunden:

    • Use Streamer_UpdateEx to preload items before setting a player's position or to stream items under OnPlayerRequestClass.




    *edit* Ich habe einen kleinen Fehler gefunden glaube ich. Ich habe wenn ich die Funktion Streamer_UpdateEx aufrufe, vergessen die Float Tags zu entfernen.
    Könnte das, das Problem sein ?

    Einmal editiert, zuletzt von Oskaar1994 ()

  • Mit der Funktion habe ich noch nicht gearbeitet, da kann ich dir nicht sagen ob die, vor allem in der Class Selection, funktioniert.
    An den Float Tags kann es eigentlich nicht liegen, das macht nichts aus. Aber kannst sie auch weg lassen, das ist relativ egal.

  • Poste mal die Objekte und die Koordinaten der Class Selection, dann teste ich es mal bei mir, ob es eine Möglichkeit gibt, die Objekte erscheinen zu lassen.


    Hast dabei mit einem der anderen Streamer ausprobiert?


    Ich habe es bisher nur mit Incognito's Streamer probiert, da ich meine, dass man das sicher irgendwie hinbekommt.
    Also ich geb dir mal ein Beispiel Objekt welches in der Class Selection gut sichtbar sein sollte:

    Code
    CreateDynamicObject(11008, 2107.68848, -2348.51685, 19.49200,   0.00000, 0.00000, -90.00000,-1,-1,-1,300.0,300.0);


    Die Koordinaten + AddPlayerClass:

    Code
    AddPlayerClass(61,2094.7571,-2360.3594,13.8497,172.5058,0,0,0,0,0,0);
    SetPlayerPos(playerid, 2094.7571,-2360.3594,13.8497);
    SetPlayerFacingAngle(playerid, 172.5058);
    SetPlayerCameraPos(playerid, 2093.974609, -2366.308105, 13.8497);
    SetPlayerCameraLookAt(playerid, 2094.7571,-2360.3594,13.8497);
  • Also ich weiß wirklich nicht was ich falsch mache. Wenn ich Streamer_UpdateEx benutze klappt es trotzdem nicht. Das Objekt erscheint für ca. eine halbe Sekunde und dann ist es wieder weg.
    Ich schaue jetzt mal ob ich die neuste Version vom Streamer habe.
    *edit* Habe den Streamer geupdatet, aber immer noch das gleiche Problem.

    Einmal editiert, zuletzt von Oskaar1994 ()

  • Teste es mal auf einem leeren Server, ich habe es einfach so getestet:

    Spoiler anzeigen
    #include <a_samp>
    #include <streamer>

    Spoiler anzeigen
    main()
    {
    print("\n----------------------------------");
    print(" Blank Gamemode by your name here");
    print("----------------------------------\n");
    }

    Spoiler anzeigen
    public OnGameModeInit()
    {
    // Don't use these lines if it's a filterscript
    SetGameModeText("Blank Script");
    AddPlayerClass(61,2094.7571,-2360.3594,13.8497,172.5058,0,0,0,0,0,0);
    CreateDynamicObject(11008, 2107.68848, -2348.51685, 19.49200, 0.00000, 0.00000, -90.00000,-1,-1,-1,300.0);
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerPos(playerid, 2094.7571,-2360.3594,13.8497);
    SetPlayerFacingAngle(playerid, 172.5058);
    SetPlayerCameraPos(playerid, 2093.974609, -2366.308105, 13.8497);
    SetPlayerCameraLookAt(playerid, 2094.7571,-2360.3594,13.8497);
    Streamer_UpdateEx(playerid,2107.68848, -2348.51685, 19.49200);
    return 1;
    }

    Da ging es einwandfrei.


    Möglicherweise hast du zu viele Objekte bereits geladen, schau mal bei F5 nach.

  • Also auf einem leeren Server funktioniert es bei mir auch.
    Also ich glaube an der Anzahl von Objekten sollte es nicht liegen. In der Class Selection sind laut F5 8 Objekte geladen und wenn ich gespawned bin sind es 27.
    Ich finde es halt auch sehr komisch, dass die Objekte für ca. eine halbe Sekunde angezeigt werden und dann wieder verschwinden :huh:


    *edit* Manchmal erscheinen die Objekte jetzt sogar, aber leider nur manchmal. Es scheint kein offensichtliches Muster zu geben, nachdem die Objekte spawnen oder nicht.

    Einmal editiert, zuletzt von Oskaar1994 ()

  • *edit* Manchmal erscheinen die Objekte jetzt sogar, aber leider nur manchmal. Es scheint kein offensichtliches Muster zu geben, nachdem die Objekte spawnen oder nicht.


    Das sieht mir dann aber nicht nach einem Problem am Code direkt aus, sondern eher ein allgemeines Problem oder einen Fehler an einer anderen Stelle.


    Hast du mal versucht, die Objekte in einem Filterscript zu laden, den du als ersten Filterscript lädst? Geht es dann?