Problem bei Zinsen mit Float

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
  • Hei,ich habe mein Zins system nun Umgebaut auf Floats
    Und auserdem Kann man es nun INgame Umstellen nur
    Es gibt Baugs bei den Tatsächlichen Zinsen... Hier der
    PayDay:



    public PayDay(playerid)
    {
    new Float:zinsenuser, Float:zinsenpremium, Float:zinsenhaus, Float:zinsenhauspremium, Float:zinsenhaususer;
    new pfad[50];
    new string[45];
    format(pfad,50,"/Sonstiges/zinsen.txt");
    zinsenuser = dini_Float(pfad,"User");
    zinsenpremium = dini_Float(pfad,"Premium");
    zinsenhauspremium = zinsenpremium+zinsenhaus;
    zinsenhaususer = zinsenuser+zinsenhaus;
    SendClientMessage(playerid,BLAU,"|____________Zahltag___________|");//Nachricht
    GivePlayerMoney(playerid,500);//2000 $ geld geben
    SendClientMessage(playerid,GRUEN,"Du hast 60 Minuten gespielt, und somit Zahltag.");//nachricht
    SendClientMessage(playerid,GRUEN,"Du hast 500$ vom Staat Erhalten.");

    if(PlayerInfo[playerid][pPremium] == 1 && PlayerInfo[playerid][pHaus] >= 1)
    {
    new alt = PlayerInfo[playerid][pKonto], neu = PlayerInfo[playerid][pKonto]*zinsenhauspremium;//ERROR ZEILE!
    PlayerInfo[playerid][pKonto] = alt+neu;
    format(string, sizeof(string),"Sie Erhalten %d Prozent Zinsen",zinsenhauspremium);
    SendClientMessage(playerid,GRUEN,string);


    }

    else if(PlayerInfo[playerid][pPremium] == 1 && PlayerInfo[playerid][pHaus] == 0)
    {
    SendClientMessage(playerid,GRUEN,"Sie bekommen auserdem 0,1 Prozent Zinsen!");
    new alt = PlayerInfo[playerid][pKonto], neu = PlayerInfo[playerid][pKonto]*zinsenpremium;//ERROR ZEILE!
    PlayerInfo[playerid][pKonto] = alt+neu;
    format(string, sizeof(string),"Sie Erhalten %d Prozent Zinsen",zinsenpremium);
    SendClientMessage(playerid,GRUEN,string);
    }

    else if(PlayerInfo[playerid][pPremium] == 0 && PlayerInfo[playerid][pHaus] >= 1)
    {
    SendClientMessage(playerid,GRUEN,"Sie bekommen auserdem 0,1 Prozent Zinsen!");
    new alt = PlayerInfo[playerid][pKonto], neu = PlayerInfo[playerid][pKonto]*zinsenhaususer;//ERROR ZEILE!
    PlayerInfo[playerid][pKonto] = alt+neu;
    format(string, sizeof(string),"Sie Erhalten %d Prozent Zinsen",zinsenhaususer);
    SendClientMessage(playerid,GRUEN,string);
    }
    else if(PlayerInfo[playerid][pPremium] == 0 && PlayerInfo[playerid][pHaus] == 0)
    {
    SendClientMessage(playerid,GRUEN,"Sie bekommen auserdem 0,1 Prozent Zinsen!");
    new alt = PlayerInfo[playerid][pKonto], neu = PlayerInfo[playerid][pKonto]*zinsenuser;//ERROR ZEILE!
    PlayerInfo[playerid][pKonto] = alt+neu;
    format(string, sizeof(string),"Sie Erhalten %d Prozent Zinsen",zinsenuser);
    SendClientMessage(playerid,GRUEN,string);
    }


    new Respektpunkte=GetPVarInt(playerid,"Respektpunktet");// neue monate variable
    SetPVarInt(playerid,"Respektpunkte",Respektpunkte+=1);//erfolgte ein payday, gibts bei monate eins dazu
    if(GetPVarInt(playerid,"Respektpunkte") == 12)//sind wir bei 12 angekommen: Bekommt der Spieler einen Score bzw. ein "Jahr" dazu.
    {
    GivePlayerScore(playerid,1);//einen Score geben
    SetPVarInt(playerid,"Monate",0);//monate werden wieder auf null gesetzt. alles beginnt von vorner ;)
    SendClientMessage(playerid,GELB,"***Herzlichen Glückwunsch: Du bist ein Level Aufgestiegen!***");
    }
    return 1;
    }



    Die errors ALLE Tag Mismatch doch wie soll ich es sonst machen ?
    Also bei den Floats

  • Ja,kannst auch hier sehen der Befehl:



    ocmd:zinsensetzen(playerid,params[])
    {
    new zinsenzahl;
    new sorte;
    new pfad[50];
    format(pfad,50,"/Sonstiges/zinsen.txt");
    if(!fexist(pfad))
    {
    dini_Create(pfad);
    }
    if(PlayerInfo[playerid][pAdmin] < 1339)return SendClientMessage(playerid,ROT,"Sie sind kein Admin/ Nicht hoch Genug!");
    if(sscanf(params,"ii",zinsenzahl, sorte))return SendClientMessage(playerid,ROT,"/zinsensetzen [ANZAHL] [1-2]");
    if(zinsenzahl<0||zinsenzahl>90)return SendClientMessage(playerid,ROT,"Zwischen 0-90");
    {
    if(sorte<1||sorte>3)return SendClientMessage(playerid,ROT,"Sorte 1-3 || 1= Normale User || 2= Premium-User || 3= mit Haus ||");
    {
    if(sorte == 1)
    {
    dini_FloatSet(pfad,"Normal",zinsenzahl);
    SendClientMessage(playerid,ROT,"User-Zinsen Geändert!");
    }
    else if(sorte == 2)
    {
    dini_FloatSet(pfad,"Premium",zinsenzahl);
    SendClientMessage(playerid,ROT,"Premium-Zinsen Geändert!");
    }
    else if(sorte == 3)
    {
    dini_FloatSet(pfad,"Haus",zinsenzahl);
    SendClientMessage(playerid,ROT,"Haus-Zinsen Geändert!");
    }


    }
    }
    return 1;
    }


    Und hätte da noch eine Frage: Habe ein Frakautohaus mal selber probiert jedoch Nach restart spawnen da 20-50 Fahrzeuge von denen
    und wie kann ich ihnen beim Erstellen eine Datei zuordnen ? Den beim einsteigen muss ich ja abfragen zu welchem auto die fraktion gehört
    und so...