Den "Spawn", "<<" und ">>" Button überspringen?

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
  • Hallo,


    ich besitze im OngameModeInit eine AddplayerClass.
    (Habe aber eigenes skin auswahl system)
    Bei meinem Stock habe ich ein SetSpawnInfo.
    Ich hatte viele probleme mitm skin setzen weil das rumgebuggt hat. also habe ich das setzen und spawnen mit eienr PVar verbunden da es anders nicht wirklich ging.
    Jedoch habe ich jetzt nach dem einloggen den einlog dialog der dann schonmal verschwunden ist ABER unten die "<<, "spawn" und ">>" Button. Wenn ich auf "spawn" drücke werde ich mit dem richtigen skin etc. gespawnt. Aber ich will die buttons überspringen das ich direkt spawne ohne nochmal auf "spawn" zu drücken..


    Hier:
    stock SetPlayerToSpawn(playerid)
    {
    SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pKleidung], 1991.1433, 1240.2410, 10.8203, 322.2074, 0, 0, 0, 0, 0, 0);
    SetPVarInt(playerid, "Spawnen", 1);
    SpawnPlayer(playerid);
    return 1;
    }



    Das ist Bei OnPlayerSpawn:



    public OnPlayerSpawn(playerid)
    {
    if(GetPVarInt(playerid, "Spawnen")==1)
    {
    SetPVarInt(playerid,"Spawnen",0);
    SetPlayerPos(playerid, 1991.1433, 1240.2410, 10.8203);
    SetPlayerFacingAngle(playerid, 322.2074);
    SetCameraBehindPlayer(playerid);
    SetPlayerSkin(playerid, PlayerInfo[playerid][pKleidung]);
    }
    if(GetPVarInt(playerid,"Gestorben")==1)
    {
    SetPVarInt(playerid,"Gestorben",0);
    SetPlayerPos(playerid, 1991.1433, 1240.2410, 10.8203);
    SetPlayerFacingAngle(playerid, 322.2074);
    SetCameraBehindPlayer(playerid);
    SetPlayerSkin(playerid, PlayerInfo[playerid][pKleidung]);
    }
    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "Zivi_Winkler", true))
    {
    SetPlayerSkin(playerid,60);
    return 1;
    }
    return 1;
    }
    return 1;
    }


  • Wenn du das änderst musst du den Spieler Spawn, heißt der Spieler ist solange in der Cam bis du ihn spawnen läst


    Code
    public OnPlayerRequestClass (playerid, classid)
    {
            //Das return 1 durch 0 ersetzten 
    	return 0;
    }


    Dadurch verschwinden die Button

  • Code
    public OnPlayerRequestClass (playerid, classid)
    {
            //Das return 1 durch 0 ersetzten 
    	return 0;
    }

    Dadurch verschwinden die Button

    Nein, dann sind die buttons immernoch da und wenn ich DANN auf spawnen dücke passiert garnichts mehr

  • Rufe bei OnPlayerRequestClass deine SetPlayerToSpawn Funktion auf.

    Danke! Aber sobald ich mich regestriere und mein passwort das 1. mal eingebe bin ich am gewünschten spawnmit nem cj skin, dann kommt das passwort wiederhohlen, dann der "regeln" dialog und danach bin ich in der skin auswahl(ab da klappt alles, kann die skins wechseln am "skin wechsel punkt" und spawne danach normal am spawn mit dem gewünschten skin. Aber während der zeit wo ich das passwort wiederhohle und die regeln kommen solange bin ich halt noch am spawn mitm cj skin und angezeigten dialogen

  • Beitrag von Includ ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Andere wahr schneller ().
  • Dann führe die Funktion dort nur aus für die Spieler, die eingeloggt sind, bzw. nicht für die Spieler, die gerade in der Registration sind - je nach dem wie dein System aufgebaut ist.

    Super das einloggen und regestrieren funktioniert einwandfrei!
    Aber ich habe 2mal einen warning. Diesen:
    warning 211: possibly unintended assignment


    Das Der Code:


    public OnPlayerRequestClass(playerid, classid)
    {
    if(PlayerInfo[playerid][pLogged] = 1) //warning 1
    {
    SetPlayerToSpawn(playerid);
    return 1;
    }
    if(PlayerInfo[playerid][pLogged] = 0) //warning 2
    {
    SetPlayerCameraPos(playerid,2036.9888,1134.5923,87.8490);
    SetPlayerCameraLookAt(playerid,2177.6931,1267.0439,51.2746,0);
    SetPlayerPos(playerid, 2406.0029,2988.8911,17.0848);
    return 1;
    }
    return 1;
    }


  • Das bedeutet, dass du eine "möglicherweise ungewollte Zuweisung" hast. Eine Zuweisung ist eine Wertzuweisung wie diese:
    tmp = 1;


    In deinen if-Abfragen ist jeweils nur ein "=", das wäre eine Wertzuweisung wie oben. Du willst aber einen Wert prüfen, daher musst du zwei "=" setzen, also:
    "=" zu "==" ändern.

  • Ich hab das einfach mit


    public OnPlayerRequestClass(playerid, classid) {
    TogglePlayerSpectating(playerid, true);
    return 1;
    }


    gelöst. Musst nur vor dem Spawnen irgendwann SetSpawnInfo benutzen und dann TogglePlayerSpectating auf false setzen.


    Beispiel:


    SetSpawnInfo(playerid, 0, 0, gPlayer[playerid][posx], gPlayer[playerid][posy], gPlayer[playerid][posz], 269.1425, 0, 0, 0, 0, 0, 0);
    TogglePlayerSpectating(playerid, false);
    SpawnPlayer(playerid);


    Sonst geht einiges schief und kann teilweise den Server crashen.