Spawn Button deaktivieren

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 erstmal.
    Ich habe schon das ganze Forum durch gesucht, und es gegooglet...
    Mein Problem ist , das ich den Spawnbutton bei der Skin Auswahl nur aktiv haben will,
    wenn diese Abfrage

    if(GetPVarInt(playerid,"loggedin") == 1)

    passt.
    Wenn nicht soll halt ne SendClientMessage kommen, aber dazu brauche ich ja wohl keine Hilfe , denn diese Parameter sollte ich beherschen ^^
    MFG. :thumbup:

    Dieser Beitrag wurde bereits 763 mal editiert, zuletzt von »Anker.« (Vor einem Moment)


    "eingetragende Stand -Ins"


  • OnPlayerRequestClass ist der Teil wo die Spawnanzeige kommt.


    Wie genau du das nun anstellst. Villt spawnen lassen und dann den public nochmal abfragen oder...?


    kP. Ich hab den bei mir komplett draußen.


    - Tomsen

  • Erstmal danke!
    Das Problem ist nur , das ich das schon alle probiert habe , und nichts funktioniert hat...
    MFG. :thumbup:

    Dieser Beitrag wurde bereits 763 mal editiert, zuletzt von »Anker.« (Vor einem Moment)


    "eingetragende Stand -Ins"


  • Du löscht alles aus OnPlayerRequestClass
    dann hast du nur noch

    Spoiler anzeigen
    OnPlayerRequestClass
    {


    Dann machst du in die


    http://wiki.sa-mp.com/wiki/SetSpawnInfo


    allso ungefähr so


    Spoiler anzeigen
    OnPlayerRequestClass
    {
    if(GetPVarInt(playerid,"loggedin") == 1)
    {
    SetSpawnInfo( playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 26, 36, 28, 150, 0, 0 );
    SpawnPlayer(playerid);
    }
    else
    {
    return 1;
    }
    }


    /Edit neuer code (weiss aber nicht ob das funktioniert)

  • Oh gott... wieso so umständlich? ;D
    Guck dir lieber OnPlayerRequestSpawn an.
    Dieses public wird aufgerufen wenn man auf den Spawn button drückt.


    Beispiel:
    public OnPlayerRequestSpawn(playerid)
    {
    if(pEingeloggt[playerid] == false)
    {
    SendClientMessage(playerid, COLOR_LIGHTRED, "Du musst dich vorher einloggen um Spawnen zu können!");
    return 0;
    }
    return 1;
    }


    Das "return 0" verhindert das Spawnen.
    Es kann durchaus sein das OnPlayerRequestSpawn standartmäßig nicht im script vorhanden ist.


    /EDIT: Satzbau

    MFG, Zunno

  • Ist es aber.
    danke an beide, ich habe nun

    public OnPlayerRequestSpawn(playerid)
    {
    if(GetPVarInt(playerid,"loggedin") == 1)
    {
    SpawnPlayer(playerid);
    }
    else
    {
    SendClientMessage(playerid, BLAU, "Du musst dich vorher einloggen um Spawnen zu können!");
    return 0;
    }
    return 1;
    }


    kann ich ihn dann einfach spawnen?

    Dieser Beitrag wurde bereits 763 mal editiert, zuletzt von »Anker.« (Vor einem Moment)


    "eingetragende Stand -Ins"



  • Jedoch sollte man dazu beachten das man den Spieler danach mit SetSpawnInfo spawnt sonst kommt es zu komplikationen
    das man crasht.
    Eine andere möglichkeit

  • so sieht es nun bei mir aus:

    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerInterior(playerid,11);
    return 1;
    }



    public OnPlayerRequestSpawn(playerid)
    {
    if(GetPVarInt(playerid,"loggedin") == 1)
    {
    spawnen(playerid);
    SetPlayerInterior(playerid,0);
    }
    else
    {
    SendClientMessage(playerid, BLAU, "Du musst dich vorher einloggen um Spawnen zu können!");
    return 0;
    }
    return 1;
    }



    und



    stock spawnen(playerid)
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,1958.0952,1342.8142,15.3746);
    SetPlayerFacingAngle(playerid,73.4500);
    return 1;
    }


    So nun wenn ich auf spawnen klicke , und ich eingeloggt bin, verändert er den Interior nicht, mit der folge, das alles weiß ist, und ich in der Luft schwebe.
    Kann mir jemand helfen?

    Dieser Beitrag wurde bereits 763 mal editiert, zuletzt von »Anker.« (Vor einem Moment)


    "eingetragende Stand -Ins"


  • ehm ich bin während des Logins in einem Interior, und wenn er spawnt soll er einfach in LV gespawnt werden.
    MFG. :thumbup:

    Dieser Beitrag wurde bereits 763 mal editiert, zuletzt von »Anker.« (Vor einem Moment)


    "eingetragende Stand -Ins"



  • Jedoch sollte man dazu beachten das man den Spieler danach mit SetSpawnInfo spawnt sonst kommt es zu komplikationen
    das man crasht.
    Eine andere möglichkeit


    Ich hab bis jetzt nie einen Crash bekommen, jedoch setzt man SetSpawnInfo ja bevor man ihn spawnt.
    Und das drücken auf den Spawn Button spawnt den Spieler automatisch da brauch man dann auch kein SpawnPlayer benutzen. @xXminecraftterXx:



    Gruß, Zunno

  • Hm dann musst du erst bei OnPlayerSpawn den Interior null setzen.
    Während er im Interior ist bzw. davor halt die Interior id, die bestimmt nicht null ist. Wenn es ein selbstgemachter ist und die doch null ist..
    dann brauchste die eigentlich garnicht setzen.


    - Tomsen

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen