Spawn 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
  • Huhu liebe Brotfische ,
    da ich leider nicht so viel Erfahrung im Scripten habe , frag ich euch mal wieder :D


    Und zwar , habe ich verschiedene Klassen , bei AddPlayerClass
    So , Skinauswahl done , spawnposition done.
    Das Problem ist , die Spawnposition ist in einem Interrior.
    Heißt also beim Spawn falle ich durch die luft.
    Dann hab ich mir logischer weise gedacht.
    Machste unter so ne Klasse einfach mal nen SetPlayerInterior ..
    Joar Error :D


    Meine Frage an euch jetzt , wie mache ich das jetzt ?(


    Danke schonmal im vorraus

  • Also unter OnPlayerSpawn


    public OnPlayerSpawn(playerid)
    {
    SetPlayerInterior(playerid,15);
    return 1;
    }


    ? :D
    Für mich immer ausführlicher erklären :P
    Neu mit dem Scripten angefangen ;)





    //edit:


    Mein 1. Skin in der Auswahl spawnt dann perfekt im Interrior , wenn ich jedoch einen anderen Skin auswähle spawnt der auf irgend einer falschen ebene , sprich im grauen

  • Das ist etwas komplizierter, da man beim Spawnen nicht die Klasse weiss, die der Spieler ausgewählt hat.
    Deshalb muss man dafür eine extra Variable anlegen.
    Heisst also,du legst eine Variable ( zb. Player_Class[MAX_PLAYERS] )für jeden Spieler an,die speichert,welche Klasse ausgewählt wurde.Dieser Variable weisst du dann die "classid" zu, immer wenn sich eine neue Klasse angeschaut wird ( OnPlayerRequestClass).
    Wenn der Spieler nun spawnt,OnPlayerSpawn, überprüfst du ob die Spielerklasse ( Player_Class ) der Klasse entspricht, die nun im Interior spawnen soll. Ist das der Fall,setzt du ihn ins Interior.


    new
    class_First,
    class_Second,
    class_Third;
    new
    PlayerClass[MAX_PLAYERS];

    public OnGameModeInit()
    {
    // ... Beispiel Klassen
    class_First = AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); // Nicht im Interior
    class_Second = AddPlayerClass(102, 286.800995 , -82.547600, 1001.539978, 269.1425, 0, 0, 0, 0, 0, 0); // Interior
    class_Third = AddPlayerClass(106, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); // Nicht im Interior
    return 1;
    }


    public OnPlayerRequestClass(playerid, classid)
    {
    // ...
    PlayerClass[playerid] = classid;
    return 1;
    }
    public OnPlayerSpawn(playerid) {
    if( PlayerClass[playerid] == class_Second ) {
    // Soll im Interior spawnen!
    SetPlayerInterior(playerid,4);
    }
    // ...
    }