Frage zu SetPVarInt(playerid,"Level",1);

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 ist es möglich das ich es so mache das wenn einer buy level macht das der dann immer 1+ level bekommt anstart immer nur 1 gezezt wird mit dem hir zb so
    SetPVarInt(playerid,"Level",+1);
    anstart so SetPVarInt(playerid,"Level",1);

  • cool danke jezt habe ich da noch ein Problem ich habe da ein bsn menu und jeder kann jezt meer hp als er bekommen soll ich möchte es gerne so haben das man auf dem sever nur 100 hp haben kann wie kann ich das machen

  • Es wäre echt toll, wenn du mal irgendeine Interpunktion verwenden würdest. Das kommt nicht nur den Lesern gegenüber respektvoller ("Ich mach mir ja nicht die Mühe, für euch leserlich zu schreiben" - auch wenn du es vielleicht nicht so meintest), sondern hilft uns auch besser, dir zu helfen.


    Wie lautet denn der Code vom HP-Erhöhen beim BSN? Dann können wir dir besser helfen.

  • Das hir meine ich wie kann ich es machen das mann nur 100 hp bekommt so das nicht jeder 10000000 hp bekommt
    if(response)
    {
    switch(dialogid)
    {
    case 5:// Our dialog!
    {
    switch(listitem)
    {
    case 0:// The first item listed
    {
    new x,y,z;//hamburger
    if(GetPlayerMoney(playerid) < 5) return SendClientMessage(playerid,ROT, "Du hast nicht genug geld.");
    GivePlayerMoney(playerid, -5);
    PlayerPlaySound(playerid,1058,x,y,z);
    GivePlayerHealth(playerid,1);
    SendClientMessage(playerid,GRUN,"Du hst dir einen hamburger gekauft.");
    }
    case 1: //pommes
    {
    new x,y,z;
    if(GetPlayerMoney(playerid) < 7) return SendClientMessage(playerid,ROT, "Du hast nicht genug geld.");
    GivePlayerMoney(playerid, -7);
    PlayerPlaySound(playerid,1058,x,y,z);
    GivePlayerHealth(playerid,3);
    SendClientMessage(playerid,GRUN,"Du hst dir eine pommes gekauft.");
    }
    case 2: //nudeln
    {
    new x,y,z;
    if(GetPlayerMoney(playerid) < 9) return SendClientMessage(playerid,ROT, "Du hast nicht genug geld.");
    GivePlayerMoney(playerid, -9);
    PlayerPlaySound(playerid,1058,x,y,z);
    GivePlayerHealth(playerid,5);
    SendClientMessage(playerid,GRUN,"Du hst dir nudeln gekauft.");
    }
    case 3://salamiPizza
    {
    new x,y,z;
    if(GetPlayerMoney(playerid) < 11) return SendClientMessage(playerid,ROT, "Du hast nicht genug geld.");
    GivePlayerMoney(playerid, -11);
    PlayerPlaySound(playerid,1058,x,y,z);
    GivePlayerHealth(playerid,7);
    SendClientMessage(playerid,GRUN,"Du hst dir eine salamiPizza gekauft.");
    }
    case 4://döner
    {
    new x,y,z;
    if(GetPlayerMoney(playerid) < 13) return SendClientMessage(playerid,ROT, "Du hast nicht genug geld.");
    GivePlayerMoney(playerid, -13);
    PlayerPlaySound(playerid,1058,x,y,z);
    GivePlayerHealth(playerid,9);
    SendClientMessage(playerid,GRUN,"Du hst dir einen döner gekauft.");
    }
    case 5://lasagne coolinarika //dawdasdadsad
    {
    new x,y,z;
    if(GetPlayerMoney(playerid) < 15) return SendClientMessage(playerid,ROT, "Du hast nicht genug geld.");
    GivePlayerMoney(playerid, -15);
    PlayerPlaySound(playerid,1058,x,y,z);
    GivePlayerHealth(playerid,11);
    SendClientMessage(playerid,GRUN,"Du hst dir eine lasagne coolinarika gekauft.");
    }
    case 6://XXlmenu
    {
    new x,y,z;
    if(GetPlayerMoney(playerid) < 50) return SendClientMessage(playerid,ROT, "Du hast nicht genug geld.");
    GivePlayerMoney(playerid, -50);
    PlayerPlaySound(playerid,1058,x,y,z);
    GivePlayerHealth(playerid,100);
    SendClientMessage(playerid,GRUN,"Du hst dir ein xxlmenu gekauft.");
    }
    }
    }
    }
    }



    Und der befehl funkt aber ich bekomme kein level


    ocmd:buylevel(playerid,params[])
    {
    SendClientMessage(playerid,GRUN,"Du hast dir für 15000$ ein level gekauft.");
    if(GetPlayerMoney(playerid) < 150000) return SendClientMessage(playerid,ROT, "Du hast keine 150000$.");
    GivePlayerMoney(playerid, -150000);
    SetPVarInt(playerid, "Level", GetPVarInt(playerid,"Level") + 1);
    return 1;


    }

  • Frag einfach nach dem Switch ab, ob die HP über 100 sind, falls diese Bedingung erfüllt wird, setzt du die HP wieder auf 100.
    Außerdem würde ich dir empfehlen bei den Case am Ende immer noch ein Break hinzuschreiben, sonst werden die restlichen Cases noch abgefragt.




    //e:
    Bei deinem 2. Problem müsstest du noch das Level setzen, damit es im Tabmenü angezeigt wird.
    Falls du das meinst.

  • new Float:health;
    GetPlayerHealth(playerid,health);
    if (health > 100.0)
    {
    SetPlayerHealth(playerid, 100.0);
    }
    So wäre es richtig. Falls du wirklich möchtest, dass die Spieler nur 50 HP haben, müsstest du es wieder ändern.
    Mir ging es eher um das ">" Zeichen.