Problem Mit einem Wert

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
  • Ich habe ein Payday Problem. Ich habe ein neues Gehaltsystem gemacht das wiefolgt aussieht:




    new Gehalt;
    if (PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1)
    {
    if(PlayerInfo[i][pRank] == 1) { Gehalt = 950;}
    else if(PlayerInfo[i][pRank] == 2) { Gehalt = 1350;}
    else if(PlayerInfo[i][pRank] == 3) { Gehalt = 2450;}
    else if(PlayerInfo[i][pRank] == 4) { Gehalt = 3210;}
    else if(PlayerInfo[i][pRank] == 5) { Gehalt = 4850;}
    else if(PlayerInfo[i][pRank] == 6) { Gehalt = 6250;}
    }


    Ein BEispiel.
    WEnn also jemand Payday bekommt steht der WErt bei Gehalt und der wird ihm auch ausgezahlt. Hier mal ein ausschnit des Strings:



    1


    format(string, sizeof(string), " Gehalt: $%d Steuern: -$%d",Gehalt, TaxValue);
    Nun bekommt man aber gar keinen Payday mehr wegen diesem Gehaltsdingens.
    Wieso? Was habe ich falsch gemacht?

    Einmal editiert, zuletzt von [GRS]InCredible ()

  • soll ich dann einfach oben nich #define Gehalt oder wie?

  • es kommt das
    H:\Scripting 10.3\Aktuell.pwn(9398) : error 017: undefined symbol "Gehalt"
    H:\Scripting 10.3\Aktuell.pwn(9413) : error 017: undefined symbol "Gehalt"
    H:\Scripting 10.3\Aktuell.pwn(9531) : warning 204: symbol is assigned a value that is never used: "Gehalt"


    die zeilen:
    9398: GivePlayerMoney(i, Gehalt);
    9413: format(string, sizeof(string), " Gehalt: $%d Steuern: -$%d",Gehalt, TaxValue);
    9531: if(PlayerInfo[i][pRank] == 6) { Gehalt = 4235;}


    //Edit: Das mit dem Giveplayermoney mach ich eben noch
    //edit²: Also compiler ist durch errors behoben. Jetzt muss nur noch Ingame der Payday kommen. Das Teste ich gleich. Besten dank ;)



    Also es geht net. Ingame zeigt der immernoch keinen Payday. Das liegt aber an dem Gehaltsdingens weiß keiner mehr was?

    2 Mal editiert, zuletzt von [GRS]InCredible ()

  • Also es müsste dann so aussehen
    public PayDay()
    {
    new string[128];
    new account,interest;
    new rent = 0;
    new Gehalt;
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pLevel] > 0)
    {
    if(MoneyMessage[i]==1)
    {
    SendClientMessage(i, COLOR_LIGHTRED, "Du musst ins Gefängnis da du deine Schulden nicht bezahlen kannst.");
    GameTextForPlayer(i, "~r~Gefangen!", 2000, 1);
    SetPlayerInterior(i, 6);
    SetPlayerPos(i, 264.6288,77.5742,1001.0391);
    PlayerInfo[i][pJailed] = 1;
    ResetPlayerWeapons(i);
    WantedPoints[i] = 0;
    PlayerInfo[i][pJailTime] = 240;
    format(string, sizeof(string), "Du musst für %d Sekunden ins Gefängnis. Kaution: -", PlayerInfo[i][pJailTime]);
    SendClientMessage(i, COLOR_LIGHTBLUE, string);
    }
    new playername2[MAX_PLAYER_NAME];
    GetPlayerName(i, playername2, sizeof(playername2));
    account = PlayerInfo[i][pAccount];
    new key = PlayerInfo[i][pPhousekey];
    if(key != 255)
    {
    rent = HouseInfo[key][hRent];
    if(strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
    {
    rent = 0;
    }
    else if(rent > GetPlayerMoney(i))
    {
    PlayerInfo[i][pPhousekey] = 255;
    SendClientMessage(i, COLOR_WHITE, "Dein Mietvertrag für das Haus wurde gekündigt");
    rent = 0;
    }
    HouseInfo[key][hTakings] = HouseInfo[key][hTakings]+rent;
    }
    new tmpintrate;
    if (key != 255 && strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
    {
    if(PlayerInfo[i][pDonateRank] > 0) { tmpintrate = intrate+4; }
    else { tmpintrate = intrate+2; }//HouseInfo[key][hLevel]
    }
    else
    {
    if(PlayerInfo[i][pDonateRank] > 0) { tmpintrate = 3; }
    else { tmpintrate = 1; }
    }
    if(PlayerInfo[i][pPayDay] >= 5)
    {
    Tax += TaxValue;//Should work for every player online
    PlayerInfo[i][pAccount] -= TaxValue;
    if(PlayerInfo[i][pDonateRank] > 0)
    {
    new bonus = PlayerInfo[i][pPayCheck] / 2;
    PlayerInfo[i][pPayCheck] += bonus;
    }
    new checks = PlayerInfo[i][pPayCheck] / 5;
    new ebill = (PlayerInfo[i][pAccount]/10000)*(PlayerInfo[i][pLevel]);
    ConsumingMoney[i] = 1;
    GivePlayerMoney(i, checks / 5);
    if(PlayerInfo[i][pAccount] > 0)
    {
    PlayerInfo[i][pAccount] -= ebill;
    SBizzInfo[4][sbTill] += ebill;
    }
    else
    {
    ebill = 0;
    }
    if (PlayerInfo[i][pMember] == 0 || PlayerInfo[i][pLeader] == 0)
    {
    Gehalt= 560;
    }
    if (PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1)
    {
    if(PlayerInfo[i][pRank] == 1) { Gehalt = 600;}
    else if(PlayerInfo[i][pRank] == 2) { Gehalt = 1000;}
    else if(PlayerInfo[i][pRank] == 3) { Gehalt = 1800;}
    else if(PlayerInfo[i][pRank] == 4) { Gehalt = 3000;}
    else if(PlayerInfo[i][pRank] == 5) { Gehalt = 4300;}
    else if(PlayerInfo[i][pRank] == 6) { Gehalt = 6000;}
    }
    GivePlayerMoney(i, Gehalt);
    interest = (PlayerInfo[i][pAccount]/1000)*(tmpintrate);
    PlayerInfo[i][pExp]++;
    PlayerPlayMusic(i);
    PlayerInfo[i][pAccount] = account+interest;
    SendClientMessage(i, COLOR_WHITE, "|___ Staatliche Bank von SA ___|");
    format(string, sizeof(string), " Gehaltsscheck: $%d Steuern: -$%d", Gehalt, TaxValue);
    SendClientMessage(i, COLOR_GRAD1, string);
    if(PlayerInfo[i][pPhousekey] != 255 || PlayerInfo[i][pPbiskey] != 255)
    {
    format(string, sizeof(string), " Stromrechung: -$%d", ebill);
    SendClientMessage(i, COLOR_GRAD1, string);
    }
    format(string, sizeof(string), " Kontostandt: $%d", account);
    SendClientMessage(i, COLOR_GRAD1, string);
    format(string, sizeof(string), " Zinssatz: 0.%d Prozent",tmpintrate);
    SendClientMessage(i, COLOR_GRAD2, string);
    format(string, sizeof(string), " Zinsen $%d", interest);
    SendClientMessage(i, COLOR_GRAD3, string);
    SendClientMessage(i, COLOR_GRAD4, "|--------------------------------------|");
    format(string, sizeof(string), " Neuer Kontostandt: $%d", PlayerInfo[i][pAccount]);
    SendClientMessage(i, COLOR_GRAD5, string);
    format(string, sizeof(string), " Miete: -$%d", rent);
    SendClientMessage(i, COLOR_GRAD5, string);
    format(string, sizeof(string), "~y~PayDay~n~~w~Gehaltsscheck");
    GameTextForPlayer(i, string, 5000, 1);
    rent = 0;
    PlayerInfo[i][pPayDay] = 0;
    PlayerInfo[i][pPayCheck] = 0;
    PlayerInfo[i][pConnectTime] += 1;
    if(PlayerInfo[i][pDonateRank] > 0)
    {
    PlayerInfo[i][pPayDayHad] += 1;
    if(PlayerInfo[i][pPayDayHad] >= 5)
    {
    PlayerInfo[i][pPayDayHad] = 0;
    }
    }
    }
    else
    {
    SendClientMessage(i, COLOR_LIGHTRED, "* Du hast nicht lange genug gespielt, um einen Gehaltsscheck zu bekommen");
    }
    }
    }
    }
    Checkprop();
    return 1;
    }


    Wie du siehst muss das
    GivePlayerMoney(i, Gehalt); gleich nach deinem Block erscheinen.

    Einmal editiert, zuletzt von CreEpaR89 ()