/givelevel! aber wie? brauche hilfe

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
  • Hay Leute,
    Ich brauche dringend ein /givelevel system für mein Reallife Server.
    Aber ich hab echt kein Plan wie man eins Scriptet oder es als Filterscript von irgendwo her bekommen kann.
    Bitte um Hilfe.
    MFG CarFull10

  • stock GivePlayerScore( playerid, score ) SetPlayerScore( playerid, GetPlayerScore( playerid ) + score );


    Irgendwo im Script außerhalb von Callbacks einfügen und dann bei den Befehl das verwenden


    GivePlayerScore( playerid, 1 ); // Gibt dem Spieler ein Level mehr

  • Beispiel wenn du diesen Stock hast


    stock GivePlayerScore(playerid,amount)
    {
    if(IsPlayerConnected(playerid))
    {
    SetPlayerScore(playerid,GetPlayerScore(playerid)+amount);
    }
    return 1;
    }


    wäre dies der befehl


    if (strcmp("/addlevel", cmdtext, true, 10) == 0) { GivePlayerScore(playerid,1); return 1;}



    Da würde der Jenige der den Befehl nutzt ein Level aufsteigen.

  • dann musste halt auf dein admin system anpassen?.. wir können den ja nicht für dich schreiben wenn wir nicht wissen wie du dein admin definiert hast. das könnte ein enum sein oder mit PVar oder auch ein isplayeradmin stock/public...

  • Ich glaube ich habs mit Isplayeradmin definiert... :)


    PAWN Quelltext
    1


    if (strcmp("/addlevel", cmdtext, true, 10) == 0) { GivePlayerScore(playerid,1); return 1;}



    wo müsste das dann hin wenn ich es fragen darf? ^^

  • dann würde ich es mit SetPlayerScore machen:
    if (strcmp("/givelevel", cmdtext, true, 10) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new pID,level;
    if(!Isplayeradmin(playerid))return SendClientMessage(playerid,ROT,"Du bist kein Admin!");
    if(sscanf(params,"ui",pID,level))return SendClientMessage(playerid,BLAU,"Info: /givelevel [id] [level]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Dieser Spieler ist nicht auf dem Server!");
    SetPlayerScore(pID,level);
    }
    return 1;
    }


  • ocmd:levelsetzen(playerid,params[])
    {
    new pID, level;
    new string[128];
    new strings[128];
    if(PlayerInfo[playerid][pAdmin] >= 1){
    if(sscanf(params,"ui",pID, level))return SendClientMessage(playerid,ROT,"/levelsetzen [ID] [LEVEL]");
    format(string, sizeof(string),"%s Hat ihr Level auf %s Geändert!",playerid, level);
    format(strings, sizeof(string),"Sie haben das Level von %s auf %s Geändert",pID, level);
    SendClientMessage(pID,HELLBLAU,string);
    SendClientMessage(playerid,HELLBLAU,strings);
    SetPlayerScore(pID, level);
    }