Gehälter mit einziehen im PayDay

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
  • Guten Tag,


    Und zwar wie mache ich das wenn ich z.B Busfahrer bin und die Linie zuende gefahren habe das, das Geld was ich kriege auf PayDay geht was ich jede 60 Minuten spielzeit kriege ?
    Wenn ich sag ich mal in den 60 Minuten 6 Linien schaffe sind ca 40.000$ und die möchte ich dann immer zu meinen PayDay aufs Konto kriegen.


    Wie muss ich das machen ?


    Imomment habe ich das als übergang gemacht bis ich das geschafft kriege mit dem Gehalt was ich zum PayDay kriege
    Code:


    Spoiler anzeigen
    stock Payday(playerid)
    {
    new string[128];
    PlayerInfo[playerid][pExp]++;
    PlayerPlayMusic(playerid);
    SendClientMessage(playerid,COLOR_YELLOW, "|================| KONTOAUSZUG |================|");
    SendClientMessage(playerid,COLOR_WHITE, "Gehalt: $4500 Sparbuch: $0 Zinsatz: $0, 3.5'%'");
    SendClientMessage(playerid,COLOR_WHITE, "Steuern: -$350 Miete: $0 Strom: $0");
    SendClientMessage(playerid,COLOR_WHITE, "Krankenversicherung: $0 KFZ-Steuer: $0");
    SendClientMessage(playerid,COLOR_YELLOW, "|================| KONTOAUSZUG |================|");
    GivePlayerMoney(playerid, 4500);
    format(string, sizeof(string), "~W~Payday");
    GameTextForPlayer(playerid, string, 5000, 1);
    return 1;
    }


    Mfg
    Toni

    Einmal editiert, zuletzt von Toni_Price ()

  • Du erstellst z.b. ein enum


    enum PInfo
    {
    PayDayGeld
    }
    new Spieler[MAX_PLAYERS][PInfo];
    Folgendes machst du dorthin wenn der Spieler das Geld normalerweise bekommt wenn er die Linie zu Ende Gefahren hat:


    Spieler[playerid][PayDayGeld] += Geld;
    Dann bekommt er jedes mal das Geld dazu gezählt, beim PayDay musst du es nur noch mit einem String auslesen und dann ausgeben wie viel er bekommt und ihm das Geld dazu geben, wichtig ist aber das du das PayDayGeld nach dem PayDay wieder auf null setzt:
    Spieler[playerid][PayDayGeld = 0;
    Sonst bekommt er nach einigen PayDay's eine menge Geld (xD)



  • Hey,


    Ich bedanke mich für deine schnelle Antwort.


    Ich werde es gleich ausprobieren :)


    Mfg

  • Mach eine Variable die zum Beispiel Gehalt heißt. Immer wenn er zB die Linie zuende gefahren hat läßt du entsprechend viel Geld auf die Variable draufrechnen.


    Wenn er seinen Payday bekommt gibst du ihm das Geld in der Höhe der Variable und setzt diese wieder auf null.


    - Tomsen

  • Globale Deklarierung


    new GELD;


    Variante 2


    #define GELD 200



    An jeder Linie legst du die Summe Fest.

    GELD =200 ;


    Wenn du dich jedoch für die Zweite Variante entschieden hast musst du nichts mehr festlegen.



    Sobald er Linie abgefahren ist :


    SetPVarInt(playerid, "Gehalt", +GELD);


    Sobald er am Ziel ist :


    GivePlayerMoney(playerid, GetPVarInt(playerid,"Gehalt"));


    Viel Spaß

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • woaw was du da grade produziert hast würde so dermaßen buggen herzlichen Glückwunsch.


    1. hast du new GELD; als variable so wie sie jetzt ist wird eine variable für alle spieler da sein und nicht für jeden einzeln richtig wäre new GELD[MAX_PLAYERS];
    dann die define version genau das selbe nur jetzt ist es kacke weil es für verschiedene Jobs verschieden Gehälter geben kann.
    schlauer wäre es für eine abgeschlossen runde den vorhanden wert der geld variable mit dem weiterem lohn (z.b 200) zu addieren so dass man z.b auf 400 kommt.

  • @midomen


    Stimmt, darauf hab ich nicht geachtet, bin seid einiger Zeit wieder aktiv daran.


    Das mit der Define Version, sollte allerdings klappen, da man es auch in "BUSGELD" umbenennen kann.

    Ja schon aber du hast es unnötig kompliziert gemacht du hast eine extra pvar angelegt wofür das ganze GivePlayerMoney(playerid,GELD[playerid]); hätte ausgereicht