Hilfe bei Script

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


    Ich bin noch Anfänger im Scripten da ich mich nicht so gut auskenne brauche ich eure Hilfe :D .
    Also würde gerne hier ein "Maximum" einbaun und zwar /setlohn kann man von 1$ bis unendlich $ ,hätte aber gerne von 1$ bis max 10.000$ .


    Leader können den Lohn des Spielers auf einen bestimmten Betrag setzen /setlohn Maxmustermann 1000$ aber Problem ist es gibt keine Eingrenzung also z.b das der Lohn max. 10.000$ betragen darf weil sonst könnten das Spieler bzw. Leader ausnützen und könnten sich einen Lohn von 1.000.000$ ProPayday machen... darum möchte ich eine Einschränkung von max. 10.000$ Lohn aber ich weiß nicht wie ich die machen soll deshalb Bitte ich euch um Hilfe


    Danke im Voraus :D



    //EDIT


    //================ SETLOHN =====================//
    if(strcmp(cmd, "/setlohn", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: /setlohn [Spieler ID / Name] [Lohn / Payday]");
    return 1;
    }
    new playa;
    playa = ReturnUser(tmp);
    new gehalt;
    tmp = strtok(cmdtext, idx);
    gehalt = strval(tmp);
    if (PlayerInfo[playerid][pLeader] >= 1)
    {
    if(IsPlayerConnected(playa))
    {
    if(PlayerInfo[playerid][pLeader] == PlayerInfo[playa][pMember] || PlayerInfo[playerid][pLeader] == PlayerInfo[playa][pLeader])
    {
    PlayerInfo[playa][pGehalt] = gehalt;
    GetPlayerName(playa, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "*Du hast %s Gehalt geändert in %d$.", giveplayer, gehalt);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "*%s hat dein Gehalt geändert in %d$.", sendername, gehalt);
    SendClientMessage(playa, COLOR_LIGHTBLUE, string);
    return 1;
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Dieser Befehl ist nur für Leader einer Fraktion!");
    }
    }
    return 1;
    }

    2 Mal editiert, zuletzt von Meco ()

  • Wir haben einen Pawn BBCode baue diesen bitte ein. Und alles so einbauen wie es im Script steht untereinander
    Anstatt auf Editor klickst du oben auf Quellcode und machst den pwn code und dann kopieren aus dem Script und einfügen.

    Mit freundlichen Grüßen

    Hozzn


    Aktuell:


    -> Verkaufe Woltlab Suite 5.0.25 <- Klick



    "die besten Momente fangen mit den Worten "..halt mal kurz mein Bier" an"

  • iPawnage ,Das hat doch garnichts mit den Theard an sich zutun!
    An Theardersteller :Benutzt anstatt immer das sinnlose tmp genutze ,sscanf ,ist sogar viel einfacher ,
    Fals nicht,
    Gucke ich mir das mal an ,kannst du mir mal sagen wozu es dienen soll ,also der kommplette Code?
    //edit
    if(strcmp(cmd, "/setlohn", true) == 0)



    {



    if(IsPlayerConnected(playerid))



    {



    tmp = strtok(cmdtext, idx);



    if(!strlen(tmp))



    {



    SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: /setlohn [Spieler ID / Name] [Lohn / Payday]");



    return 1;



    }



    new playa;



    playa = ReturnUser(tmp);



    new gehalt;



    tmp = strtok(cmdtext, idx);



    gehalt = strval(tmp);



    if (PlayerInfo[playerid][pLeader] >= 1)



    {



    if(IsPlayerConnected(playa))



    {



    if(PlayerInfo[playerid][pLeader] == PlayerInfo[playa][pMember] || PlayerInfo[playerid][pLeader] == PlayerInfo[playa][pLeader])



    {



    PlayerInfo[playa][pGehalt] = gehalt;



    GetPlayerName(playa, giveplayer, sizeof(giveplayer));



    GetPlayerName(playerid, sendername, sizeof(sendername));



    format(string, sizeof(string), "*Du hast %s Gehalt geändert in %d$.", giveplayer, gehalt);



    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);



    format(string, sizeof(string), "*%s hat dein Gehalt geändert in %d$.", sendername, gehalt);
    GivePlayerMoney(playerid,%d,giveplayer,gehalt);
    GivePlayerMoney(playerid,-%d,sendername,gehalt);



    SendClientMessage(playa, COLOR_LIGHTBLUE, string);



    return 1;



    }



    }



    }



    else



    {



    SendClientMessage(playerid, COLOR_GRAD1, "Dieser Befehl ist nur für Leader einer Fraktion!");



    }



    }



    return 1;



    }
    Habe es nicht ausprobiert!

  • Leader können den Lohn des Spielers auf einen bestimmten Betrag setzen /setlohn Maxmustermann 1000$ aber Problem ist es gibt keine Eingrenzung also z.b das der Lohn max. 10.000$ betragen darf weil sonst könnten das Spieler bzw. Leader ausnützen und könnten sich einen Lohn von 1.000.000$ ProPayday machen... darum möchte ich eine Einschränkung von max. 10.000$ Lohn aber ich weiß nicht wie ich die machen soll deshalb Bitte ich euch um Hilfe.


    Danke für eure schnellen Antworten. :thumbup:


    //EDIT


    Habe jetzt OBEN den Pwn Code RICHTIG gemacht das man es besser lesen kann.

    Einmal editiert, zuletzt von Meco ()

  • Bei mir Schmiert dann der Ganze Server ab =/

    if(strcmp(cmd, "/setlohn", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: /setlohn [Spieler ID / Name] [Lohn / Payday]");
    return 1;
    }
    new playa;
    playa = ReturnUser(tmp);
    new gehalt;
    tmp = strtok(cmdtext, idx);
    gehalt = strval(tmp);
    if(gehalt < 1 || gehalt > 10000)
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Hinweis: Lohn nur zwischen 1$ und 10000$ !");
    return 1;
    }
    if (PlayerInfo[playerid][pLeader] >= 1)
    {
    if(IsPlayerConnected(playa))
    {
    if(PlayerInfo[playerid][pLeader] == PlayerInfo[playa][pMember] || PlayerInfo[playerid][pLeader] == PlayerInfo[playa][pLeader])
    {
    if(gehalt > 0)
    {
    PlayerInfo[playa][pGehalt] = gehalt;
    GetPlayerName(playa, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "*Du hast %s Gehalt geändert in %d€.", giveplayer, gehalt);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "*%s hat dein Gehalt geändert in %d€.", sendername, gehalt);
    SendClientMessage(playa, COLOR_LIGHTBLUE, string);
    new LogText2[200];//Fkassenlog by DialogHD
    new mhour, mminute, msecond;
    gettime(mhour,mminute,msecond);
    format(LogText2,sizeof(LogText2),"%s hat den Lohn von %s auf %d gesetzt.[%d:%d:%d]\n",sendername,giveplayer,gehalt,mhour,mminute,msecond);
    new File:hFile;
    hFile = fopen("Fraktionlogs/Lohn.txt", io_append);
    fwrite(hFile, LogText2);
    fclose(hFile);
    return 1;
    }
    else SendClientMessage(playerid, COLOR_RED," Du kannst keinen Lohn ins Minus setzen!");
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Dieser Befehl ist nur für Leader einer Fraktion!");
    }
    }
    return 1;
    }