OnPlayerRequestClass per Aufruf ändern ?

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
  • Frage: Wie kann ich jemmanden dazu auffordern (per Script) Die Classe zu ändern ?


    Ich habe gemacht:


    else
    {
    SendClientMessage(playerid,RED,"Du bist noch nicht Rank 3!");
    OnPlayerRequestClass(playerid, classid);
    return 1;
    }


    aber da kommt dann: undefined symbol classid.
    wenn ich classid und das komma weg mache, dann kommt: definition not match etc.


    einmal bitte helfen.


    MfG
    Atta(Oo);

    MfG
    Atta(Oo);
    __________________________________________________________________________________________________________________


  • else
    {
    SendClientMessage(playerid,RED,"Du bist noch nicht Rank 3!");
    //OnPlayerRequestClass(playerid, classid);
    ForcePlayerClassSelection(playerid, classid);
    return 1;
    }



    Code
    C:\Dokumente und  Einstellungen\TBB\Desktop\Server\HomeServer\gamemodes\LSPDWar.pwn(726) :  error 017: undefined symbol "ForcePlayerClassSelection"


    ?!?!?


    MfG
    Atta(Oo);

    MfG
    Atta(Oo);
    __________________________________________________________________________________________________________________


  • Entschuldigung, benutze diese Funktion zu selten: ForceClassSelection(..); wäre richtig.


    Advertising has us chasing cars and clothes, working jobs we hate so we can buy shit we don’t need.
    – Tyler Durden


    Sobald Werbung im Spiel ist, bist du, die Nutzerin, der Nutzer, das Produkt.


  • Jetzt will ich das so machen:
    Wenn man Spawn drückt, und den Rank dafür nicht hat, dass man NICHT gespawnt wird, sprich die Funktion OnPlayerSpawn garnicht aufgerufen wird.
    also im ClassSelection menü man eine Klasse(Scout ab Rank 3) wählt, und man Rank 1 ist, dass dann da nur steht: du kannst diese Klasse nicht wählen.
    Und man immernoch bei der ClassSelection ist und beim gleichen Typen wie vorher.


    Weiß net wo man das abfragt, ob er bloß spawn drückt..



    Bei mir ist es so:
    beim spawn wird er zu der Position geporet, und dann wird er gekillt, und bekommt die nachricht: Du bist nicht Rank 3!
    und ist wieder bei der ClassSelection


    wie kriege ich das wie oben hin ?


    MfG
    Atta(Oo);


    PS: wie auf diesem Server hier: 188.165.206.114:9999
    Denn da bleibt er bei der gleichen klasse und wird nicht erst gespawnt, schaut es euch an!


    MfG
    Atta(Oo);

    MfG
    Atta(Oo);
    __________________________________________________________________________________________________________________


  • OnPlayerRequestSpawn: (Mit deiner If Abfrage ersetzen!)
    if(Rank[Spieler]!=3)
    {
    SendClientMessage(plaerid,0xAFAFAFFF,"Du bist nicht Rank 3!");
    return 0;
    }


    Advertising has us chasing cars and clothes, working jobs we hate so we can buy shit we don’t need.
    – Tyler Durden


    Sobald Werbung im Spiel ist, bist du, die Nutzerin, der Nutzer, das Produkt.


  • Habe es so:


    public OnPlayerRequestSpawn(playerid)
    {
    if(SpielerInfo[playerid][sTeam] == 1)
    {
    if(SpielerInfo[playerid][sKlasse] == 3)
    {
    if(SpielerInfo[playerid][sScore] >= 25)
    {
    return 1;
    }
    else
    {
    SendClientMessage(playerid,RED,"Du bist noch nicht Rang 1!");
    SetPlayerHealth(playerid,0.0);
    ForceClassSelection(playerid);
    return 1;
    }
    }
    else if(SpielerInfo[playerid][sKlasse] == 4)
    {
    if(SpielerInfo[playerid][sScore] >= 35)
    {
    return 1;
    }
    else
    {
    SendClientMessage(playerid,RED,"Du bist noch nicht Rang 2!");
    SetPlayerHealth(playerid,0.0);
    ForceClassSelection(playerid);
    return 1;
    }
    }
    }
    return 1;
    }


    Aber es geht net so ganz wie ich will.
    Er spawnt den für ne halbe Sekunde und ich bin wieder bei der Auswahl, habe auch schon rumprobiert mit ForceClass zu kommentieren und dann nur das SetPlayerHealth, aber geht net so ganz wie ich will.


    Ich will, dass der garnicht gespawnt wird, sondern direkt so bleibt, bei der gleichen klasse, bei der man spawn gedürckt hat.


    MfG
    Atta(Oo);

    MfG
    Atta(Oo);
    __________________________________________________________________________________________________________________


    Einmal editiert, zuletzt von AttachedObject(Oo); () aus folgendem Grund: Klammer Verschiebung geändert.

  • return 0;
    Dies habe ich doch geschrieben, warum returnst du dann auch positiv (1) ? Naja hat sich ja nun gegessen, aber in Zukunft bitte die Posts von helfenden Händen direkt gründlich lesen, dann passiert die überflüssige Wartezeit nicht & es klappt auf anhieb. ;)


    Advertising has us chasing cars and clothes, working jobs we hate so we can buy shit we don’t need.
    – Tyler Durden


    Sobald Werbung im Spiel ist, bist du, die Nutzerin, der Nutzer, das Produkt.