Bin echt ein bisschen überfragt, sehe keinen Grund weshalb es nicht funktionieren sollte.
Vielleicht hängt es mit LoadPlayer zusammen? Dass er in die Levelpunkte-Variable immer den Wert aus der Datenbank schreibt, welcher auf 0 ist? Wo benutzt du denn LoadPlayer?
Payday System & MySQL
- ENEF
- Geschlossen
- Erledigt
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
-
-
Loadplayer nur da wo er geladen werden soll:
Spoiler anzeigen forward CheckPassword(playerid);
public CheckPassword(playerid)
{
if(cache_num_rows() != 0)
{
SetPVarInt(playerid,"Eingeloggt",1);
LoadPlayer(playerid);
SpawnPlayer(playerid);
}
else
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Einloggen","Datenbank: Das war das falsche Passwort!","Login","Abbrechen");
}
return 1;
}Mit freundlichen Grüßen
TV
-
public PayDay(playerid)
{
SendClientMessage(playerid,info,"|____________Zahltag___________|");
GivePlayerMoney(playerid,2000);
SendClientMessage(playerid,hinweis,"Du hast 45 Minuten gespielt und bekommst nun dein Gehalt!");
SetPVarInt(playerid, "pLevelPunkte", GetPVarInt(playerid, "pLevelPunkte")+1);
SpielerInfo[playerid][pPayday] = 0;
printf("playerid: %d | pLevelPunkte: %d | Required: %d", playerid, GetPVarInt(playerid, "pLevelPunkte"), RequiredPoints(playerid));
if(GetPVarInt(playerid, "pLevelPunkte") == RequiredPoints(playerid))//Hier
{
printf("Level hoch");
GivePlayerScore(playerid,1);
SetPVarInt(playerid, "pLevelPunkte", 0);
SpielerInfo[playerid][pLevel] ++;
SendClientMessage(playerid,erfolg,"Herzlichen Glückwunsch, du bist ein Level gestiegen!");
}
return 1;
}Was wird dann geprintet?
-
Irgendwie geht es so.
Anfangs hat es kurz gebuggt da es angefangen hat bevor ich eingeloggt war, danach hab ich einen Relog gemacht und dann hat er erst nach dem einloggen normal gezählt
bin sogar Lv up geworden.Hier die Prints:
SQL[03:17:37] [join] niddo_189 has joined the server (0:127.0.0.1)[03:17:44] playerid: 0 | pLevelPunkte: 1 | Required: 24[03:17:44] playerid: 0 | pLevelPunkte: 2 | Required: 24[03:17:45] playerid: 0 | pLevelPunkte: 3 | Required: 24[03:17:46] playerid: 0 | pLevelPunkte: 4 | Required: 24[03:17:46] playerid: 0 | pLevelPunkte: 5 | Required: 24[03:17:47] playerid: 0 | pLevelPunkte: 6 | Required: 24[03:17:48] playerid: 0 | pLevelPunkte: 7 | Required: 24[03:17:48] playerid: 0 | pLevelPunkte: 8 | Required: 24[03:17:49] playerid: 0 | pLevelPunkte: 9 | Required: 24[03:17:50] playerid: 0 | pLevelPunkte: 10 | Required: 24[03:17:50] playerid: 0 | pLevelPunkte: 11 | Required: 24[03:17:51] playerid: 0 | pLevelPunkte: 12 | Required: 24[03:17:52] playerid: 0 | pLevelPunkte: 13 | Required: 24[03:17:52] playerid: 0 | pLevelPunkte: 14 | Required: 24[03:17:53] playerid: 0 | pLevelPunkte: 15 | Required: 24[03:17:54] playerid: 0 | pLevelPunkte: 16 | Required: 24[03:17:54] playerid: 0 | pLevelPunkte: 17 | Required: 24[03:17:55] playerid: 0 | pLevelPunkte: 18 | Required: 24[03:17:56] playerid: 0 | pLevelPunkte: 19 | Required: 24[03:17:56] playerid: 0 | pLevelPunkte: 20 | Required: 24[03:17:57] playerid: 0 | pLevelPunkte: 21 | Required: 24[03:17:58] playerid: 0 | pLevelPunkte: 22 | Required: 24[03:17:58] playerid: 0 | pLevelPunkte: 23 | Required: 24[03:17:59] playerid: 0 | pLevelPunkte: 24 | Required: 24[03:17:59] Level hoch[03:18:00] playerid: 0 | pLevelPunkte: 1 | Required: 28[03:18:00] playerid: 0 | pLevelPunkte: 2 | Required: 28[03:18:01] query: UPDATE accounts SET Name = 'niddo_189', Level = '4', Geld = '191913', Kills = '0', Tode = '11', Admin = '5', Banned = '0', Leader = '1', Member = '0', Team = '1', Rank = '6', Duty = '0', Skin = '294', Health = '0.000000', xKord = '-1590.784179', yKord = '742.447326', zKord = '-5.242187', Interior = '0', Carlic = '1', Bikelic = '1', Flylic = '0', Bootlic = '0', LKWlic = '0', Konto = '1', Kontostand = '2035', Beantragt = '0', Pin = '1229', Kontonummer = '2006', Abholen = '0', `Alter` = '0', Geschlecht = '0', Levelpunkte = '0', Payday = '0', Herkunft = '0', Verheiratetmit = '', Telefonnummer = '1229', Tutorial = '0', Dutyskin = '283' WHERE Name = 'niddo_189'[03:18:01] [part] niddo_189 has left the server (0:1)
Also hat jetzt was überschrieben und mit den PVars geht es
//Edit:
Aber irgendwie wird nach jeden Payday die Levelpunkte auf 0 gesetzt sofern man nicht alle in einem Spielablauf bekommt(ich gehe mit 3 Levelpunkte off, komme On bekomme einen Payday und habe dann wieder 0 (eig 4))MfG
Jeffry: -
Also irgendwo muss ja dann ein Fehler in deinem Gamemode sein, dass das mit der Variable nicht geht.
Zum Fehler jetzt, lädst du den Wert auch in die PVar wieder rein, beim Login? Und speicherst du es beim Logout daraus in die Datenbank? Wenn nicht, mache das.
-
-
Poste bitte deinen aktuellen PayPay, wie du die LevelPunkte aus der Datenbank lädst und wie du sie dir ausgeben lässt (das wodurch du weißt, dass sie wieder auf 0 sind).
-
Okey
Payday:
Spoiler anzeigen //_______Paypay________//
public ServerMinute()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
SpielerInfo[i][pPayday] += 1;
if(SpielerInfo[i][pPayday] == 45)
{
PayDay(i);
}
}
}
return 1;
}
public PayDay(playerid)
{
SendClientMessage(playerid,info,"|____________Zahltag___________|");
GivePlayerMoney(playerid,2000);
SendClientMessage(playerid,hinweis,"Du hast 45 Minuten gespielt und bekommst nun dein Gehalt!");
SetPVarInt(playerid, "pLevelPunkte", GetPVarInt(playerid, "pLevelPunkte")+1);
SpielerInfo[playerid][pPayday] = 0;
printf("playerid: %d | pLevelPunkte: %d | Required: %d", playerid, GetPVarInt(playerid, "pLevelPunkte"), RequiredPoints(playerid));
if(GetPVarInt(playerid, "pLevelPunkte") == RequiredPoints(playerid))//Hier
{
printf("Level hoch");
GivePlayerScore(playerid,1);
SetPVarInt(playerid, "pLevelPunkte", 0);
SpielerInfo[playerid][pLevel] ++;
SendClientMessage(playerid,erfolg,"Herzlichen Glückwunsch, du bist ein Level gestiegen!");
}
return 1;
}Laden:
Spoiler anzeigen
forward LoadPlayer(playerid);
public LoadPlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
{
if(GetPVarInt(playerid,"Eingeloggt") == 1)
{
cache_get_field_content(0, "Name", SpielerInfo[playerid][pName]);
SpielerInfo[playerid][pLevel] = cache_get_field_content_int(0, "Level");
SpielerInfo[playerid][pGeld] = cache_get_field_content_int(0, "Geld");
SpielerInfo[playerid][pKills] = cache_get_field_content_int(0, "Kills");
SpielerInfo[playerid][pTode] = cache_get_field_content_int(0, "Tode");
SpielerInfo[playerid][pAdmin] = cache_get_field_content_int(0, "Admin");
SpielerInfo[playerid][pBanned] = cache_get_field_content_int(0, "Banned");
SpielerInfo[playerid][pLeader] = cache_get_field_content_int(0, "Leader");
SpielerInfo[playerid][pMember] = cache_get_field_content_int(0, "Member");
SpielerInfo[playerid][pTeam] = cache_get_field_content_int(0, "Team");
SpielerInfo[playerid][pRank] = cache_get_field_content_int(0, "Rank");
SpielerInfo[playerid][pDuty] = cache_get_field_content_int(0, "Duty");
SpielerInfo[playerid][pSkin] = cache_get_field_content_int(0, "Skin");
SpielerInfo[playerid][pHealth] = cache_get_field_content_int(0, "Health");
SpielerInfo[playerid][xKord] = cache_get_field_content_float(0, "xKord");
SpielerInfo[playerid][yKord] = cache_get_field_content_float(0, "yKord");
SpielerInfo[playerid][zKord] = cache_get_field_content_float(0, "zKord");
SpielerInfo[playerid][pInterior] = cache_get_field_content_int(0, "Interior");
SpielerInfo[playerid][pCarlic] = cache_get_field_content_int(0, "Carlic");
SpielerInfo[playerid][pBikelic] = cache_get_field_content_int(0, "Bikelic");
SpielerInfo[playerid][pFlylic] = cache_get_field_content_int(0, "Flylic");
SpielerInfo[playerid][pBootlic] = cache_get_field_content_int(0, "Bootlic");
SpielerInfo[playerid][pLKWlic] = cache_get_field_content_int(0, "LKWlic");
SpielerInfo[playerid][Konto] = cache_get_field_content_int(0, "Konto");
SpielerInfo[playerid][Kontostand] = cache_get_field_content_int(0, "Kontostand");
SpielerInfo[playerid][Beantragt] = cache_get_field_content_int(0, "Beantragt");
SpielerInfo[playerid][Pin] = cache_get_field_content_int(0, "Pin");
SpielerInfo[playerid][Kontonr] = cache_get_field_content_int(0, "Kontonummer");
SpielerInfo[playerid][Abholen] = cache_get_field_content_int(0, "Abholen");
SpielerInfo[playerid][pAlter] = cache_get_field_content_int(0, "Alter");
SpielerInfo[playerid][pGeschlecht] = cache_get_field_content_int(0, "Geschlecht");
SpielerInfo[playerid][pLevelpunkte] = cache_get_field_content_int(0, "Levelpunkte");//Levelpunkte!!
SpielerInfo[playerid][pPayday] = cache_get_field_content_int(0, "Payday");//payday
SpielerInfo[playerid][pHerkunft] = cache_get_field_content_int(0, "Herkunft");
cache_get_field_content(0, "Verheiratetmit", SpielerInfo[playerid][pVerheiratetmit]);
SpielerInfo[playerid][pTelenummer] = cache_get_field_content_int(0, "Telefonnummer");
SpielerInfo[playerid][pTut] = cache_get_field_content_int(0, "Tutorial");
SpielerInfo[playerid][pDutyskin] = cache_get_field_content_int(0, "Dutyskin");
SpielerInfo[playerid][pTot] = cache_get_field_content_int(0, "Tot");
SpielerInfo[playerid][pTotskin] = cache_get_field_content_int(0, "Totskin");
SetPlayerPos(playerid,SpielerInfo[playerid][xKord], SpielerInfo[playerid][xKord], SpielerInfo[playerid][zKord]);
SetPlayerInterior(playerid,SpielerInfo[playerid][pInterior]);
SetPlayerSkin(playerid,SpielerInfo[playerid][pSkin]);
GivePlayerMoney(playerid, SpielerInfo[playerid][pGeld]);
}
}
return 1;
}Und dann hier in meinen Stats.
Spoiler anzeigen format(_string_table[0],512,"~g~~h~Privat:~w~~n~----------~n~~w~Name: ~g~~h~%s~n~~w~Alter: ~g~~h~%d~n~~w~Geschlecht: ~g~~h~%s~n~~w~Level: ~g~~h~%d~n~~w~Levelpunkte: ~g~~h~%d~n~~w~Spawnenergie: ~g~~h~%d~n~~w~Leben: ~g~~h~%d~n~~n~~n~~w~",
SpielerName(playerid),SpielerInfo[playerid][pAlter],SpielerInfo[playerid][pGeschlecht], SpielerInfo[playerid][pLevel],SpielerInfo[playerid][pLevelpunkte]);Levelpunkte geht wie gesagt immer auf 0 Zurück..
Danke dir für deine Hilfe
MfG
-
Du hast es doch gar nicht geändert.
Beim Laden und bei den Stats steht noch
SpielerInfo[playerid][pLevelpunkte]Ändere das beim Laden zu:
SetPVarInt(playerid, "pLevelPunkte", cache_get_field_content_int(0, "Levelpunkte"));Und bei den Stats:
GetPVarInt(playerid, "pLevelPunkte")Dann sollte es richtig angezeigt werden.
-
Huups
Beim Speichern dann auch?
mit GetPVarInt?
Mit freundlichen Grüßen
Edit:
Jetzt geht er nicht mehr hoch, also wenn ich bsp den 12 Levelpunkt erreicht habe switcht er mich nicht auf lv 2 ..
Spoiler anzeigen stock RequiredPoints(playerid)
{
new value = SpielerInfo[playerid][pLevel] * 4;
new p = 12 + value;
return p;
}
stock GivePlayerScore(playerid,amount)
{
SetPlayerScore(playerid,GetPlayerScore(playerid)+amount);
return 1;
}
public PayDay(playerid)
{
SendClientMessage(playerid,info,"|____________Zahltag___________|");
GivePlayerMoney(playerid,2000);
SendClientMessage(playerid,hinweis,"Du hast 45 Minuten gespielt und bekommst nun dein Gehalt!");
SetPVarInt(playerid, "pLevelPunkte", GetPVarInt(playerid, "pLevelPunkte")+1);
SpielerInfo[playerid][pPayday] = 0;
printf("playerid: %d | pLevelPunkte: %d | Required: %d", playerid, GetPVarInt(playerid, "pLevelPunkte"), RequiredPoints(playerid));
if(GetPVarInt(playerid, "pLevelPunkte") == RequiredPoints(playerid))//Hier
{
printf("Level hoch");
GivePlayerScore(playerid,1);
SetPVarInt(playerid, "pLevelPunkte", 0);
SpielerInfo[playerid][pLevel] ++;
SendClientMessage(playerid,erfolg,"Herzlichen Glückwunsch, du bist ein Level gestiegen!");
}
return 1;
} -
Ja, überall.
Was sagt der Log vom PayDay?
-
SQL
[19:18:01] [join] niddo_189 has joined the server (0:127.0.0.1)[19:18:01] playerid: 0 | pLevelPunkte: 1 | Required: 12[19:18:02] playerid: 0 | pLevelPunkte: 2 | Required: 12[19:18:02] playerid: 0 | pLevelPunkte: 3 | Required: 12[19:18:03] playerid: 0 | pLevelPunkte: 4 | Required: 12[19:18:04] playerid: 0 | pLevelPunkte: 5 | Required: 12[19:18:04] playerid: 0 | pLevelPunkte: 6 | Required: 12[19:18:05] playerid: 0 | pLevelPunkte: 7 | Required: 12[19:18:06] playerid: 0 | pLevelPunkte: 8 | Required: 12[19:18:06] playerid: 0 | pLevelPunkte: 9 | Required: 12[19:18:07] playerid: 0 | pLevelPunkte: 1 | Required: 16[19:18:08] playerid: 0 | pLevelPunkte: 2 | Required: 16[19:18:08] playerid: 0 | pLevelPunkte: 3 | Required: 16[19:18:09] playerid: 0 | pLevelPunkte: 4 | Required: 16[19:18:10] playerid: 0 | pLevelPunkte: 5 | Required: 16[19:18:10] playerid: 0 | pLevelPunkte: 6 | Required: 16[19:18:11] playerid: 0 | pLevelPunkte: 7 | Required: 16[19:18:12] playerid: 0 | pLevelPunkte: 8 | Required: 16[19:18:12] playerid: 0 | pLevelPunkte: 9 | Required: 16[19:18:13] playerid: 0 | pLevelPunkte: 10 | Required: 16[19:18:14] playerid: 0 | pLevelPunkte: 11 | Required: 16[19:18:15] playerid: 0 | pLevelPunkte: 12 | Required: 16[19:18:15] playerid: 0 | pLevelPunkte: 13 | Required: 16[19:18:16] playerid: 0 | pLevelPunkte: 14 | Required: 16[19:18:17] playerid: 0 | pLevelPunkte: 15 | Required: 16[19:18:17] playerid: 0 | pLevelPunkte: 16 | Required: 16[19:18:17] Level hoch[19:18:18] playerid: 0 | pLevelPunkte: 1 | Required: 20[19:18:18] playerid: 0 | pLevelPunkte: 2 | Required: 20[19:18:19] playerid: 0 | pLevelPunkte: 3 | Required: 20[19:18:20] playerid: 0 | pLevelPunkte: 4 | Required: 20[19:18:20] playerid: 0 | pLevelPunkte: 5 | Required: 20[19:18:21] playerid: 0 | pLevelPunkte: 6 | Required: 20[19:18:22] playerid: 0 | pLevelPunkte: 7 | Required: 20[19:18:22] playerid: 0 | pLevelPunkte: 8 | Required: 20[19:18:23] playerid: 0 | pLevelPunkte: 9 | Required: 20[19:18:24] playerid: 0 | pLevelPunkte: 10 | Required: 20[19:18:24] playerid: 0 | pLevelPunkte: 11 | Required: 20[19:18:25] playerid: 0 | pLevelPunkte: 12 | Required: 20[19:18:26] playerid: 0 | pLevelPunkte: 13 | Required: 20[19:18:26] playerid: 0 | pLevelPunkte: 14 | Required: 20[19:18:27] playerid: 0 | pLevelPunkte: 15 | Required: 20[19:18:28] playerid: 0 | pLevelPunkte: 16 | Required: 20[19:18:28] playerid: 0 | pLevelPunkte: 17 | Required: 20[19:18:29] playerid: 0 | pLevelPunkte: 18 | Required: 20[19:18:30] playerid: 0 | pLevelPunkte: 19 | Required: 20[19:18:30] playerid: 0 | pLevelPunkte: 20 | Required: 20[19:18:30] Level hoch[19:18:31] playerid: 0 | pLevelPunkte: 1 | Required: 24[19:18:32] playerid: 0 | pLevelPunkte: 2 | Required: 24
Hab mich in der Datenbank zu Levelpoints 11 gemacht ums besser zu testen, lag dann wohl daran.
Was ich jetzt mal wieder nicht checke ist wieso er ab Lv 1 schon bei 9 switcht.Mit freundlichen Grüßen
-
Du meinst das?
Zitat[19:18:06] playerid: 0 | pLevelPunkte: 9 | Required: 12
[19:18:07] playerid: 0 | pLevelPunkte: 1 | Required: 16
Das ist, weil du noch nicht eingeloggt bist. Füge beim PayDay eine Abfrage ein, ob der Spieler eingeloggt ist, oder nicht, dann passiert das nicht mehr. -
Habe ich nun getan, ist mir dann auch in den Sinn gekommen
if(GetPVarInt(playerid,"Eingeloggt") == 1)
So funktioniert es nun
Mit freundlichen Grüßen
//Edit:
Hab noch eine kleine Frage übrig
Ich will jetzt einen Individuellen Gehalt für die Fraktionen machen und dachte dabei an Switch & Case
Hab das ganze jetzt mal so aufgebaut
fid - Fraktionsid bzw Team
rang- Wieviel geld man für den Rang bekommen sollSpoiler anzeigen stock GiveFrakGehalt(frak, rang)
{
new Geld;
switch(frak)
{
case 0:
{
switch(rang)
{
case 0: Geld = GivePlayerMoney(playerid, 500);
case 1: Geld = ;
default: Geld = ;
}
}
case 1://Polizei
{
switch(rang)
{
case 0: Geld = GivePlayerMoney(playerid, 850);
case 1: Geld = GivePlayerMoney(playerid, 1000);
case 2: Geld = GivePlayerMoney(playerid, 1500);
case 3: Geld = GivePlayerMoney(playerid, 2000);
case 4: Geld = GivePlayerMoney(playerid, 2500);
case 5: Geld = GivePlayerMoney(playerid, 3000);
case 6: Geld = GivePlayerMoney(playerid, 5000);
default: Geld = ;
}
}
case 2://Sanitäter
{
switch(rang)
{
case 0: Geld = GivePlayerMoney(playerid, 700);
case 1: Geld = GivePlayerMoney(playerid, 900);
case 2: Geld = GivePlayerMoney(playerid, 1250);
case 3: Geld = GivePlayerMoney(playerid, 1500);
case 4: Geld = GivePlayerMoney(playerid, 1750);
case 5: Geld = GivePlayerMoney(playerid, 2000);
case 6: Geld = GivePlayerMoney(playerid, 3500);
default: Geld = ;
}
}
case 3://Fahrlehrer
{
switch(rang)
{
case 0: Geld = GivePlayerMoney(playerid, 700);
case 1: Geld = GivePlayerMoney(playerid, 850);
case 2: Geld = GivePlayerMoney(playerid, 1000);
case 3: Geld = GivePlayerMoney(playerid, 1250);
case 4: Geld = GivePlayerMoney(playerid, 1500);
case 5: Geld = GivePlayerMoney(playerid, 1750);
case 6: Geld = GivePlayerMoney(playerid, 2750);
default: Geld = ;
}
}
case 4://Taxi Fahrer
{
switch(rang)
{
case 0: Geld = GivePlayerMoney(playerid, 650);
case 1: Geld = GivePlayerMoney(playerid, 775);
case 2: Geld = GivePlayerMoney(playerid, 850);
case 3: Geld = GivePlayerMoney(playerid, 1100);
case 4: Geld = GivePlayerMoney(playerid, 1300);
case 5: Geld = GivePlayerMoney(playerid, 1500);
case 6: Geld = GivePlayerMoney(playerid, 2500);
default: Geld = ;
}
}
case 5://Mechaniker
{
switch(rang)
{
case 0: Geld = GivePlayerMoney(playerid, 700);
case 1: Geld = GivePlayerMoney(playerid, 850);
case 2: Geld = GivePlayerMoney(playerid, 1100);
case 3: Geld = GivePlayerMoney(playerid, 1300);
case 4: Geld = GivePlayerMoney(playerid, 1500);
case 5: Geld = GivePlayerMoney(playerid, 2000);
case 6: Geld = GivePlayerMoney(playerid, 3000);
default: Geld = ;
}
}
case 6://Reporter
{
switch(rang)
{
case 0: Geld = GivePlayerMoney(playerid, 700);
case 1: Geld = GivePlayerMoney(playerid, 850);
case 2: Geld = GivePlayerMoney(playerid, 1000);
case 3: Geld = GivePlayerMoney(playerid, 1250);
case 4: Geld = GivePlayerMoney(playerid, 1500);
case 5: Geld = GivePlayerMoney(playerid, 1750);
case 6: Geld = GivePlayerMoney(playerid, 2750);
default: Geld = ;
}
}
default: Geld = ;
}
return Geld;
}Das ganze sieht nun so aus.
Wäre das überhaupt richtig?
Muss ich jetzt beim payday einfach GiveFrakGehalt(playerid);
Machen ^^?Mit freundlichen Grüßen
-
stock GiveFrakGehalt(frak, rang)
zu:
stock GiveFrakGehalt(playerid)Und:
new Geld;
zu:
new Geld, frak, rang;
frak = SpielerInfo[playerid][pFrak];
rang = SpielerInfo[playerid][pRang];Und dann beim PayDay so aufrufen wie du gesagt hast.
-
Perfekt
Die letzte Frage, wenn ich:
SendClientMessage(playerid,hinweis,"Gehalt: %d",GiveFrakGehalt(playerid));
mache bekomme ich eine Warnung:
warning 202: number of arguments does not match definitionAuch so bekomme ich diese:
new Gehalt = GiveFrakGehalt(playerid);
und dann halt
SendClientMessage(playerid,hinweis,"Gehalt: %d",Gehalt);Wie mach ich das am besten ohne Warnings
-
Du musst format benutzen, du kannst in SendClientMessage keine Platzhalter einfügen.
-
Leider bekomme ich jetzt den Gehalt doppelt, da das Script irgendwie denkt ich will es ihm 2 mal geben
format(string, sizeof(string), "Gehalt: %d",GiveFrakGehalt(playerid));
SendClientMessage(playerid,hinweis,string);Mit freundlichen Grüßen
-
Rufst du es vielleicht in einer Schleife auf und nimmst playerid anstatt i?
Wie sieht die GiveFrakGehalt jetzt aus? -
if(GetPVarInt(playerid,"Eingeloggt") == 1)
{
new string[128];
SendClientMessage(playerid,info,"|____________Zahltag___________|");
format(string, sizeof(string), "Gehalt: %i",GiveFrakGehalt(playerid));//nehme ich das raus bekomme ich es nur 1x
SendClientMessage(playerid,hinweis,string);
SetPVarInt(playerid, "pLevelPunkte", GetPVarInt(playerid, "pLevelPunkte")+1);
SpielerInfo[playerid][pPayday] = 0;
SpielerInfo[playerid][Kontostand] += GiveFrakGehalt(playerid);Mein GiveFrakGehalt:
Spoiler anzeigen stock GiveFrakGehalt(playerid)
{
new Geld, frak, rang;
frak = SpielerInfo[playerid][pTeam];
rang = SpielerInfo[playerid][pRank];
switch(frak)
{
case 0:
{
switch(rang)
{
case 0: Geld = GivePlayerMoney(playerid, 500);
case 1: Geld = GivePlayerMoney(playerid, 500);
default: Geld = GivePlayerMoney(playerid, 0);
}
}
case 1://Polizei
{
switch(rang)
{
case 0: Geld = GivePlayerMoney(playerid, 850);
case 1: Geld = GivePlayerMoney(playerid, 1000);
case 2: Geld = GivePlayerMoney(playerid, 1500);
case 3: Geld = GivePlayerMoney(playerid, 2000);
case 4: Geld = GivePlayerMoney(playerid, 2500);
case 5: Geld = GivePlayerMoney(playerid, 3000);
case 6: Geld = GivePlayerMoney(playerid, 5000);
default: Geld = GivePlayerMoney(playerid, 0);
}
}
case 2://Sanitäter
{
switch(rang)
{
case 0: Geld = GivePlayerMoney(playerid, 700);
case 1: Geld = GivePlayerMoney(playerid, 900);
case 2: Geld = GivePlayerMoney(playerid, 1250);
case 3: Geld = GivePlayerMoney(playerid, 1500);
case 4: Geld = GivePlayerMoney(playerid, 1750);
case 5: Geld = GivePlayerMoney(playerid, 2000);
case 6: Geld = GivePlayerMoney(playerid, 3500);
default: Geld = GivePlayerMoney(playerid, 0);
}
}
case 3://Fahrlehrer
{
switch(rang)
{
case 0: Geld = GivePlayerMoney(playerid, 700);
case 1: Geld = GivePlayerMoney(playerid, 850);
case 2: Geld = GivePlayerMoney(playerid, 1000);
case 3: Geld = GivePlayerMoney(playerid, 1250);
case 4: Geld = GivePlayerMoney(playerid, 1500);
case 5: Geld = GivePlayerMoney(playerid, 1750);
case 6: Geld = GivePlayerMoney(playerid, 2750);
default: Geld = GivePlayerMoney(playerid, 0);
}
}
case 4://Taxi Fahrer
{
switch(rang)
{
case 0: Geld = GivePlayerMoney(playerid, 650);
case 1: Geld = GivePlayerMoney(playerid, 775);
case 2: Geld = GivePlayerMoney(playerid, 850);
case 3: Geld = GivePlayerMoney(playerid, 1100);
case 4: Geld = GivePlayerMoney(playerid, 1300);
case 5: Geld = GivePlayerMoney(playerid, 1500);
case 6: Geld = GivePlayerMoney(playerid, 2500);
default: Geld = GivePlayerMoney(playerid, 0);
}
}
case 5://Mechaniker
{
switch(rang)
{
case 0: Geld = GivePlayerMoney(playerid, 700);
case 1: Geld = GivePlayerMoney(playerid, 850);
case 2: Geld = GivePlayerMoney(playerid, 1100);
case 3: Geld = GivePlayerMoney(playerid, 1300);
case 4: Geld = GivePlayerMoney(playerid, 1500);
case 5: Geld = GivePlayerMoney(playerid, 2000);
case 6: Geld = GivePlayerMoney(playerid, 3000);
default: Geld = GivePlayerMoney(playerid, 0);
}
}
case 6://Reporter
{
switch(rang)
{
case 0: Geld = GivePlayerMoney(playerid, 700);
case 1: Geld = GivePlayerMoney(playerid, 850);
case 2: Geld = GivePlayerMoney(playerid, 1000);
case 3: Geld = GivePlayerMoney(playerid, 1250);
case 4: Geld = GivePlayerMoney(playerid, 1500);
case 5: Geld = GivePlayerMoney(playerid, 1750);
case 6: Geld = GivePlayerMoney(playerid, 2750);
default: Geld = GivePlayerMoney(playerid, 0);
}
}
default: Geld = GivePlayerMoney(playerid, 0);
}
return Geld;
}