Problem mit /buylevel

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 Community,


    ich habe einen kleinen bug
    undzwar man kann immer ingame /buylevel machen egal wv Respektpunkte man hat...


    ocmd:buylevel(playerid,params[]){ if(RespektInfo[GetPlayerScore(playerid)][NeedRespekt]< GetPVarInt(playerid,"RespektPunkte")) return SendClientMessage(playerid,GRAU,"Du hast noch nicht genug Respektpunkte um dir das nächste Level zu kaufen."); SetPlayerScore(playerid,GetPlayerScore(playerid)+1); // Da er die Respekt Punkte erreicht hat SetPVarInt(playerid,"RespektPunkte",0);// Auf 0 Jetzt wieder von vorne new txt[108]; //string[200]; format(txt,sizeof txt,"Glückwunsch zu deinen Level Up, du hast nun das Level %i erreicht. Um das nächste Level zu erreichen brauchst du %i RespektPunkte.",GetPlayerScore(playerid),RespektInfo[GetPlayerScore(playerid)][NeedRespekt]); SendClientMessage(playerid,GRÜN,txt); return 1;}



    ocmd:buylevel(playerid,params[])
    {
    if(RespektInfo[GetPlayerScore(playerid)][NeedRespekt]< GetPVarInt(playerid,"RespektPunkte")) return SendClientMessage(playerid,GRAU,"Du hast noch nicht genug Respektpunkte um dir das nächste Level zu kaufen.");
    SetPlayerScore(playerid,GetPlayerScore(playerid)+1); // Da er die Respekt Punkte erreicht hat
    SetPVarInt(playerid,"RespektPunkte",0);// Auf 0 Jetzt wieder von vorne
    new txt[108]; //string[200];
    format(txt,sizeof txt,"Glückwunsch zu deinen Level Up, du hast nun das Level %i erreicht. Um das nächste Level zu erreichen brauchst du %i RespektPunkte.",GetPlayerScore(playerid),RespektInfo[GetPlayerScore(playerid)][NeedRespekt]);
    SendClientMessage(playerid,GRÜN,txt);
    return 1;
    }


    Ich weiß das
    [*pwn]
    asdasd
    asdasd
    [*/pwn]
    das geht nicht...

  • Mensch du musst einfach den PWN Code im Quellcode Modus einfügen!

  • Probier es mal so..

    ocmd:buylevel(playerid,params[])
    {
    if(RespektInfo[GetPlayerScore(playerid)][NeedRespekt]< GetPVarInt(playerid,"RespektPunkte"))
    {
    SendClientMessage(playerid,GRAU,"Du hast noch nicht genug Respektpunkte um dir das nächste Level zu kaufen.");
    }
    else
    {
    SetPlayerScore(playerid,GetPlayerScore(playerid)+1); // Da er die Respekt Punkte erreicht hat
    SetPVarInt(playerid,"RespektPunkte",0); // Auf 0 Jetzt wieder von vorne
    new txt[108]; //string[200];
    format(txt,sizeof(txt),"Glückwunsch zu deinen Level Up, du hast nun das Level %i erreicht. Um das nächste Level zu erreichen brauchst du %i RespektPunkte.",GetPlayerScore(playerid),RespektInfo[GetPlayerScore(playerid)][NeedRespekt]);
    SendClientMessage(playerid,GRÜN,txt);
    }
    return 1;
    }


    //edit: Habe übrigens deinen Code nur von dem Aufbau her bearbeitet, keine Variable, Größe vom Array oder sonst etwas geändert...


  • if(RespektInfo[GetPlayerScore(playerid)][NeedRespekt]< GetPVarInt(playerid,"RespektPunkte"))


    Danach musst du return benutzen!

  • Blind?


    1. Wenn du ihn meinst: Er hatte da ein return drin gehabt:
    if(RespektInfo[GetPlayerScore(playerid)][NeedRespekt]< GetPVarInt(playerid,"RespektPunkte")) return SendClientMessage(playerid,GRAU,"Du hast noch nicht genug Respektpunkte um dir das nächste Level zu kaufen.");


    2. Wenn du mich meinst: Bei meinem Code muss das nicht dort hin.

  • Shine


    Das funktioniert nicht :(


    Habe 27 RP aber immer bekomme immer diese Nachricht...


    "Du hast noch nicht genug Respektpunkte um dir das nächste Level zu kaufen"

  • Dann liegt es an deiner Abfrage.
    Und da ich dein Script nicht kenne von deinen ''RespektInfo'' und ''NeedRespekt'' kann ich dir nicht helfen.
    Ich habe lediglich, wie beschrieben, den Aufbau deines Befehls für die anderen vereinfacht da du es mit dem

    Code
    [pwn][/pwn]

    nicht gebacken bekommst.
    Zudem habe ich die Abfrage in sofern geändert, dass es übersichtlicher ist.
    So ein Einzeiler wie if(RespektInfo[GetPlayerScore(playerid)][NeedRespekt]< GetPVarInt(playerid,"RespektPunkte")) return SendClientMessage(playerid,GRAU,"Du hast noch nicht genug Respektpunkte um dir das nächste Level zu kaufen."); mag ich überhaupt nicht. Super unübersichtlich, mehr nicht.