Guten Tag,
Lade dir am besten mal Optifine herunter, und mach die Sichtweiter mal auf 8, 10 bzw. 15 Chunks.
Den Grafikmodus auf Schnell, und die Weiche Beleuchtung auf Minimum / Aus.
> Es kann aber auch sein, das du eine falsche Java Version hast. (z.B. Java 64-Bit auf 32-Bit Betriebssystem.)
Beiträge von James.Spader
-
-
und such dir da den Fehler
Ist mir peinlich, aber Ich verstehe grad nur Bahnhof :(, wie soll bzw. wo soll ich den Print hinmachen? bzw. ich finde nichts bei PayDay
-
(benutzte mal das crashdetect Plugin).
Hab mal hinzugefügt:
[16:33:57] [debug] Run time error 4: "Array index out of bounds"
[16:33:57] [debug] Accessing element at index 17 past array upper bound 16
[16:33:57] [debug] AMX backtrace:
[16:33:57] [debug] #0 00100f8c in public PayDay (0) from LoR-1-0-0.amx
[16:33:57] [debug] #1 0020b2f0 in public ServerMinute () from LoR-1-0-0.amxDas kommt raus
-
Was kommt beim Debug raus?
Der PayDay wird garnicht nach den 60min aufgerufen...
Die ServerLog:
[16:12:11] pPayDayZeit: 57
[16:12:11] pPayDayZeit: 58
[16:13:17] pPayDayZeit: 58
[16:13:17] pPayDayZeit: 59
[16:14:23] pPayDayZeit: 59
[16:14:23] pPayDayZeit: 60
[16:15:29] pPayDayZeit: 60
[16:15:29] pPayDayZeit: 61 -
Bitte werde präziser und woher weißt du, dass es angeblich nicht funktioniert?
Ich habe die Zeit vom 1 auf 58 gesetzt (bei PayDayZeit) also in der ini, es müsste ja eig. wenn es 60 ist, das PayDay aufgerufen werden, es es aber nicht tut.
-
Schreib es so:
Hat immer noch net funktioniert -
Liebe Community,
Ich habe einen Timer bei den PayDay-System eingefügt, aber der PayDay wird nicht wenn 60min um sind aufgerufen, und der Timer geht nach 60min weiter (auf 61), aber ich möchte das es dann auf 0 wieder gesetzt wird.Der Timer
SetTimer("ServerMinute",60000,1);//1 MinuteHier sollte es aufgerufen werden
public ServerMinute()//Dieser Public wird jede Minute aufgerufen
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
SavePlayer(i); //Deine Definierung, dein Payday soll ja auch beim Disconnect gespeichert werden, bzw die Zeit zum nächsten
PlayerInfo[i][pPayDayZeit] += 1;//Anpassen!
if(PlayerInfo[i][pPayDayZeit] == 60)//Wenn dein Payday auf 60 ist, wird dein Public aufgerufen
{
PayDay(i);
}
}
}
return 1;
}Der PayDay
public PayDay(playerid)
{
new string[128];
new account,interest,zuschuss;
new rent = 0;
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pLevel] > 0)
{
if(MoneyMessage[playerid]==1)
{
SendClientMessage(playerid, COLOR_LIGHTRED, "Du konntest deine Schulden nicht bezahlen und kommst in den Knast.");
GameTextForPlayer(playerid, "~r~Gefangen!", 2000, 1);
SetPlayerInterior(playerid, 6);
SetPlayerPos(playerid, 264.6288,77.5742,1001.0391);
PlayerInfo[playerid][pJailed] = 1;
ResetPlayerWeapons(playerid);
WantedPoints[playerid] = 0;
PlayerInfo[playerid][pJailTime] = 240;
format(string, sizeof(string), "Du musst für %d Sekunden in den Knast.", PlayerInfo[playerid][pJailTime]);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
new playername2[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername2, sizeof(playername2));
account = PlayerInfo[playerid][pAccount];
new key = PlayerInfo[playerid][pPhousekey];
if(key != 255)
{
rent = HouseInfo[key][hRent];
if(strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
{
rent = 0;
}
else if(rent > GetPlayerMoney(playerid))
{
PlayerInfo[playerid][pPhousekey] = 255;
SendClientMessage(playerid, COLOR_WHITE, "Sie wurden vertrieben.");
rent = 0;
}
HouseInfo[key][hTakings] = HouseInfo[key][hTakings]+rent;
}
new tmpintrate;
if (key != 255 && strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
{
if(PlayerInfo[playerid][pDonateRank] > 0) { tmpintrate = intrate+4; }
else { tmpintrate = intrate+2; }//HouseInfo[key][hLevel]
}
else
{
if(PlayerInfo[playerid][pDonateRank] > 0) { tmpintrate = 300; }
else { tmpintrate = 300; }
}
if(PlayerInfo[playerid][pPayDayZeit] == 60)
{
Tax += TaxValue;//Should work for every player online
PlayerInfo[playerid][pAccount] -= TaxValue;
if(PlayerInfo[playerid][pDonateRank] > 0)
{
new bonus = PlayerInfo[playerid][pPayCheck] / 2;
PlayerInfo[playerid][pPayCheck] += bonus;
}
new fraktion = 0;
if(PlayerInfo[playerid][pMember] > 0) fraktion = PlayerInfo[playerid][pMember] - 1;
if(PlayerInfo[playerid][pLeader] > 0) fraktion = PlayerInfo[playerid][pLeader] - 1;
if(fraktion >= 0)
{
if(FraktionsKasse[fraktion] - PlayerInfo[playerid][pGehalt] < 0)
{
zuschuss = 1; //fucked up to 1
GivePlayerMoney(playerid, zuschuss);
}
else if(FraktionsKasse[fraktion] - PlayerInfo[playerid][pGehalt] >= 0)
{
zuschuss = PlayerInfo[playerid][pGehalt];
GivePlayerMoney(playerid, zuschuss);
FraktionsKasse[fraktion] -= zuschuss;
}
}
new checks = PlayerInfo[playerid][pPayCheck];
new ebill = (PlayerInfo[playerid][pAccount]/10000)*(PlayerInfo[playerid][pLevel]);
ConsumingMoney[playerid] = 1;
GivePlayerMoney(playerid, checks);
if(PlayerInfo[playerid][pAccount] > 0)
{
PlayerInfo[playerid][pAccount] -= ebill;
SBizzInfo[4][sbTill] += ebill;
}
else
{
ebill = 0;
}
interest = (PlayerInfo[playerid][pAccount]/1000)*(tmpintrate);
PlayerInfo[playerid][pExp]++;
PlayerPlayMusic(playerid);
PlayerInfo[playerid][pAccount] = account+interest+zuschuss;
SendClientMessage(playerid, COLOR_WHITE, "{FFFF00}===============| {990000}Zahltag{FFFF00} |===============");
format(string, sizeof(string), " Lohn: $%d Steuern: -$%d", checks, TaxValue);
SendClientMessage(playerid, COLOR_GRAD1, string);
if(PlayerInfo[playerid][pPhousekey] != 255 || PlayerInfo[playerid][pPbiskey] != 255)
{
format(string, sizeof(string), "* Stromrechnung: -$%d", ebill);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
format(string, sizeof(string), "* Fraktionslohn: $%d", zuschuss);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "* Kontostand: $%d", account);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "* Zinssatz: 0.%d Prozent",tmpintrate);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "* Zinsen: $%d", interest);
SendClientMessage(playerid, COLOR_WHITE, string);
SendClientMessage(playerid, COLOR_WHITE, "{FFFF00}===============| {990000}Zahltag{FFFF00} |===============");
format(string, sizeof(string), "* Neuer Kontostand: $%d", PlayerInfo[playerid][pAccount]);
SendClientMessage(playerid, COLOR_AGEBUHR, string);
format(string, sizeof(string), "* Miete: -$%d", rent);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "~y~PayDay~n~~w~Paycheck");
GameTextForPlayer(playerid, string, 5000, 1);
rent = 0;
PlayerInfo[playerid][pPayDay] = 0;
PlayerInfo[playerid][pPayCheck] = 0;
PlayerInfo[playerid][pConnectTime] += 1;
if(PlayerInfo[playerid][pDonateRank] > 0)
{
PlayerInfo[playerid][pPayDayHad] += 1;
if(PlayerInfo[playerid][pPayDayHad] >= 5)
{
PlayerInfo[playerid][pExp]++;
PlayerInfo[playerid][pPayDayHad] = 0;
}
}
}
else
{
SendClientMessage(playerid, COLOR_LIGHTRED, "* Du hast nicht lange genug gespielt, um PayDay zu erhalten.");
}
}
}
Checkprop();
return 1;
}Ich hoffe ihr könnt helfen.
MfG
James. -
Soweit ich das jetzt gesehen habe, stimmt alles bei deinem Public.
Wie?, ich verstehe grad nur bahnhof
-
Guten Tag,
liebes Secondchance-Reallife Team,
Großen Respekt das ihr euch getraut habt bei dieser "strengen" Community eine Werbung für euren Server geschrieben habt.
Ich muss jedoch auch meine Meinung abgeben.Die Vorstellung vom Server finde ich nicht 100%-ig gelungen, es gab schon andere bessere Vorstellungen bzw. Werbungen, sie ist aber nicht schlecht.
Nach meiner Meinung nach ist das Titelbild gelungen, es sieht spannend, lust und Interessant aus. Alle anderen Bilder sind jedoch nicht so gut, das es mich vom Hocker reist.
Ich finde zudem das die Schrift nicht passend gewählt ist, die Schrift sollte schon eine gewisse Ähnlichkeit mit das Titelbild haben, aber sonst ist die Werbung für mich gelungen.
Ich würde jedoch noch eine Fraktionsliste hinzufügen und etwas mit Farben arbeiten, aber ok.
Der Server beinhaltet keine anderen Features, die auf anderen Server nicht gibt. Die Fraktionen könnten besser Platziert werden, dies sieht so aus als wenn es einfach hingeklatscht wurde.
Es könnten mehr Fahrzeuge hinzugefügt werden, und die Fraktionsfarben würde ich zudem auch anpassen.
Ich finde das der Server noch nicht bereit ist zu starten, dort muss noch viel getan werden.
Die Mappings finde ich gut, jedoch nicht sehr gut, es sieht einfach nicht perfekt aus, dies müsste nochmal überarbeitet werden und einige Details hinzugefügt werden, wie NoParking-Signs und so weiter.
Zum Forum, das Forum ist zu unübersichtlich, den Style kann man über all herunterladen, lediglich das Logo und der Hintergrund wurde verändert, ich finde sowas nicht schön.
Man könnte noch etwas an den Rängen mit Farben rum probieren. Sonst finde ich das Forum okay.
Das Fazit:Server: 4 von 10
Vorstellung: 6 von 10Forum: 3 von 10
Mit freundlichen Grüßen,
James. -
Wenn du fragen hast, frag einfach
Muss ich dies auch verändern?
if(PlayerInfo[playerid][pPayDay] >= 5)Und muss ich noch etwas anderes hier verändern?
Spoiler anzeigen
public PayDay(playerid)
{
new string[128];
new account,interest,zuschuss;
new rent = 0;
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pLevel] > 0)
{
if(MoneyMessage[playerid]==1)
{
SendClientMessage(playerid, COLOR_LIGHTRED, "Du konntest deine Schulden nicht bezahlen und kommst in den Knast.");
GameTextForPlayer(playerid, "~r~Gefangen!", 2000, 1);
SetPlayerInterior(playerid, 6);
SetPlayerPos(playerid, 264.6288,77.5742,1001.0391);
PlayerInfo[playerid][pJailed] = 1;
ResetPlayerWeapons(playerid);
WantedPoints[playerid] = 0;
PlayerInfo[playerid][pJailTime] = 240;
format(string, sizeof(string), "Du musst für %d Sekunden in den Knast.", PlayerInfo[playerid][pJailTime]);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
new playername2[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername2, sizeof(playername2));
account = PlayerInfo[playerid][pAccount];
new key = PlayerInfo[playerid][pPhousekey];
if(key != 255)
{
rent = HouseInfo[key][hRent];
if(strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
{
rent = 0;
}
else if(rent > GetPlayerMoney(playerid))
{
PlayerInfo[playerid][pPhousekey] = 255;
SendClientMessage(playerid, COLOR_WHITE, "Sie wurden vertrieben.");
rent = 0;
}
HouseInfo[key][hTakings] = HouseInfo[key][hTakings]+rent;
}
new tmpintrate;
if (key != 255 && strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
{
if(PlayerInfo[playerid][pDonateRank] > 0) { tmpintrate = intrate+4; }
else { tmpintrate = intrate+2; }//HouseInfo[key][hLevel]
}
else
{
if(PlayerInfo[playerid][pDonateRank] > 0) { tmpintrate = 300; }
else { tmpintrate = 300; }
}
if(PlayerInfo[playerid][pPayDay] >= 5)
{
Tax += TaxValue;//Should work for every player online
PlayerInfo[playerid][pAccount] -= TaxValue;
if(PlayerInfo[playerid][pDonateRank] > 0)
{
new bonus = PlayerInfo[playerid][pPayCheck] / 2;
PlayerInfo[playerid][pPayCheck] += bonus;
}
new fraktion = 0;
if(PlayerInfo[playerid][pMember] > 0) fraktion = PlayerInfo[playerid][pMember] - 1;
if(PlayerInfo[playerid][pLeader] > 0) fraktion = PlayerInfo[playerid][pLeader] - 1;
if(fraktion >= 0)
{
if(FraktionsKasse[fraktion] - PlayerInfo[playerid][pGehalt] < 0)
{
zuschuss = 1; //fucked up to 1
GivePlayerMoney(playerid, zuschuss);
}
else if(FraktionsKasse[fraktion] - PlayerInfo[playerid][pGehalt] >= 0)
{
zuschuss = PlayerInfo[playerid][pGehalt];
GivePlayerMoney(playerid, zuschuss);
FraktionsKasse[fraktion] -= zuschuss;
}
}
new checks = PlayerInfo[playerid][pPayCheck];
new ebill = (PlayerInfo[playerid][pAccount]/10000)*(PlayerInfo[playerid][pLevel]);
ConsumingMoney[playerid] = 1;
GivePlayerMoney(playerid, checks);
if(PlayerInfo[playerid][pAccount] > 0)
{
PlayerInfo[playerid][pAccount] -= ebill;
SBizzInfo[4][sbTill] += ebill;
}
else
{
ebill = 0;
}
interest = (PlayerInfo[playerid][pAccount]/1000)*(tmpintrate);
PlayerInfo[playerid][pExp]++;
PlayerPlayMusic(playerid);
PlayerInfo[playerid][pAccount] = account+interest+zuschuss;
SendClientMessage(playerid, COLOR_WHITE, "{FFFF00}===============| {990000}Zahltag{FFFF00} |===============");
format(string, sizeof(string), " Lohn: $%d Steuern: -$%d", checks, TaxValue);
SendClientMessage(playerid, COLOR_GRAD1, string);
if(PlayerInfo[playerid][pPhousekey] != 255 || PlayerInfo[playerid][pPbiskey] != 255)
{
format(string, sizeof(string), "* Stromrechnung: -$%d", ebill);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
format(string, sizeof(string), "* Fraktionslohn: $%d", zuschuss);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "* Kontostand: $%d", account);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "* Zinssatz: 0.%d Prozent",tmpintrate);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "* Zinsen: $%d", interest);
SendClientMessage(playerid, COLOR_WHITE, string);
SendClientMessage(playerid, COLOR_WHITE, "{FFFF00}===============| {990000}Zahltag{FFFF00} |===============");
format(string, sizeof(string), "* Neuer Kontostand: $%d", PlayerInfo[playerid][pAccount]);
SendClientMessage(playerid, COLOR_AGEBUHR, string);
format(string, sizeof(string), "* Miete: -$%d", rent);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "~y~PayDay~n~~w~Paycheck");
GameTextForPlayer(playerid, string, 5000, 1);
rent = 0;
PlayerInfo[playerid][pPayDay] = 0;
PlayerInfo[playerid][pPayCheck] = 0;
PlayerInfo[playerid][pConnectTime] += 1;
if(PlayerInfo[playerid][pDonateRank] > 0)
{
PlayerInfo[playerid][pPayDayHad] += 1;
if(PlayerInfo[playerid][pPayDayHad] >= 5)
{
PlayerInfo[playerid][pExp]++;
PlayerInfo[playerid][pPayDayHad] = 0;
}
}
}
else
{
SendClientMessage(playerid, COLOR_LIGHTRED, "* Du hast nicht lange genug gespielt, um PayDay zu erhalten.");
}
}
}
Checkprop();
return 1;
}
-
Falls was falsch ist, einfach verbessern oder falls ich was falsch erklärt habe
Muss ich jetzt hier etwas verändern?
Spoiler anzeigen
public PayDay()
{
new string[128];
new account,interest,zuschuss;
new rent = 0;
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 konntest deine Schulden nicht bezahlen und kommst in den Knast.");
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 in den Knast.", 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, "Sie wurden vertrieben.");
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 = 300; }
else { tmpintrate = 300; }
}
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 fraktion = 0;
if(PlayerInfo[i][pMember] > 0) fraktion = PlayerInfo[i][pMember] - 1;
if(PlayerInfo[i][pLeader] > 0) fraktion = PlayerInfo[i][pLeader] - 1;
if(fraktion >= 0)
{
if(FraktionsKasse[fraktion] - PlayerInfo[i][pGehalt] < 0)
{
zuschuss = 1; //fucked up to 1
GivePlayerMoney(i, zuschuss);
}
else if(FraktionsKasse[fraktion] - PlayerInfo[i][pGehalt] >= 0)
{
zuschuss = PlayerInfo[i][pGehalt];
GivePlayerMoney(i, zuschuss);
FraktionsKasse[fraktion] -= zuschuss;
}
}
new checks = PlayerInfo[i][pPayCheck];
new ebill = (PlayerInfo[i][pAccount]/10000)*(PlayerInfo[i][pLevel]);
ConsumingMoney[i] = 1;
GivePlayerMoney(i, checks);
if(PlayerInfo[i][pAccount] > 0)
{
PlayerInfo[i][pAccount] -= ebill;
SBizzInfo[4][sbTill] += ebill;
}
else
{
ebill = 0;
}
interest = (PlayerInfo[i][pAccount]/1000)*(tmpintrate);
PlayerInfo[i][pExp]++;
PlayerPlayMusic(i);
PlayerInfo[i][pAccount] = account+interest+zuschuss;
SendClientMessage(i, COLOR_WHITE, "{FFFF00}===============| {990000}Zahltag{FFFF00} |===============");
format(string, sizeof(string), " Lohn: $%d Steuern: -$%d", checks, TaxValue);
SendClientMessage(i, COLOR_GRAD1, string);
if(PlayerInfo[i][pPhousekey] != 255 || PlayerInfo[i][pPbiskey] != 255)
{
format(string, sizeof(string), "* Stromrechnung: -$%d", ebill);
SendClientMessage(i, COLOR_GRAD1, string);
}
format(string, sizeof(string), "* Fraktionslohn: $%d", zuschuss);
SendClientMessage(i, COLOR_WHITE, string);
format(string, sizeof(string), "* Kontostand: $%d", account);
SendClientMessage(i, COLOR_WHITE, string);
format(string, sizeof(string), "* Zinssatz: 0.%d Prozent",tmpintrate);
SendClientMessage(i, COLOR_WHITE, string);
format(string, sizeof(string), "* Zinsen: $%d", interest);
SendClientMessage(i, COLOR_WHITE, string);
SendClientMessage(i, COLOR_WHITE, "{FFFF00}===============| {990000}Zahltag{FFFF00} |===============");
format(string, sizeof(string), "* Neuer Kontostand: $%d", PlayerInfo[i][pAccount]);
SendClientMessage(i, COLOR_AGEBUHR, string);
format(string, sizeof(string), "* Miete: -$%d", rent);
SendClientMessage(i, COLOR_WHITE, string);
format(string, sizeof(string), "~y~PayDay~n~~w~Paycheck");
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][pExp]++;
PlayerInfo[i][pPayDayHad] = 0;
}
}
if(PlayerInfo[i][pDonateRank] > 0)
{
PlayerInfo[i][pPayDayHad] += 1;
if(PlayerInfo[i][pPayDayHad] >= 5)
{
PlayerInfo[i][pExp]+=2;
PlayerInfo[i][pPayDayHad] = 0;
}
}
}
else
{
SendClientMessage(i, COLOR_LIGHTRED, "* Du hast nicht lange genug gespielt, um PayDay zu erhalten.");
}
}
}
}
Checkprop();
return 1;
}
P.S.: Wie kann ich die PayDay Zeit speichern?
-
Indem du einen Timer startest, der alle 60 Minuten aufgerufen wird.
Ich weiß, ist wahrscheinlich eine dumme bzw. peinliche Frage, wo soll ich den Timer einfügen? -
Guten Tag liebe Breadfish-Community,
Ich habe mir ein PayDay System geschrieben, jedoch weiß ich nicht wie ich dies machen kann, das es alle 60min kommt.
Das PayDay-System:
Spoiler anzeigen
public PayDay()
{
new string[128];
new account,interest,zuschuss;
new rent = 0;
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 konntest deine Schulden nicht bezahlen und kommst in den Knast.");
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 in den Knast.", 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, "Sie wurden vertrieben.");
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 = 300; }
else { tmpintrate = 300; }
}
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 fraktion = 0;
if(PlayerInfo[i][pMember] > 0) fraktion = PlayerInfo[i][pMember] - 1;
if(PlayerInfo[i][pLeader] > 0) fraktion = PlayerInfo[i][pLeader] - 1;
if(fraktion >= 0)
{
if(FraktionsKasse[fraktion] - PlayerInfo[i][pGehalt] < 0)
{
zuschuss = 1; //fucked up to 1
GivePlayerMoney(i, zuschuss);
}
else if(FraktionsKasse[fraktion] - PlayerInfo[i][pGehalt] >= 0)
{
zuschuss = PlayerInfo[i][pGehalt];
GivePlayerMoney(i, zuschuss);
FraktionsKasse[fraktion] -= zuschuss;
}
}
new checks = PlayerInfo[i][pPayCheck];
new ebill = (PlayerInfo[i][pAccount]/10000)*(PlayerInfo[i][pLevel]);
ConsumingMoney[i] = 1;
GivePlayerMoney(i, checks);
if(PlayerInfo[i][pAccount] > 0)
{
PlayerInfo[i][pAccount] -= ebill;
SBizzInfo[4][sbTill] += ebill;
}
else
{
ebill = 0;
}
interest = (PlayerInfo[i][pAccount]/1000)*(tmpintrate);
PlayerInfo[i][pExp]++;
PlayerPlayMusic(i);
PlayerInfo[i][pAccount] = account+interest+zuschuss;
SendClientMessage(i, COLOR_WHITE, "{FFFF00}===============| {990000}Zahltag{FFFF00} |===============");
format(string, sizeof(string), " Lohn: $%d Steuern: -$%d", checks, TaxValue);
SendClientMessage(i, COLOR_GRAD1, string);
if(PlayerInfo[i][pPhousekey] != 255 || PlayerInfo[i][pPbiskey] != 255)
{
format(string, sizeof(string), "* Stromrechnung: -$%d", ebill);
SendClientMessage(i, COLOR_GRAD1, string);
}
format(string, sizeof(string), "* Fraktionslohn: $%d", zuschuss);
SendClientMessage(i, COLOR_WHITE, string);
format(string, sizeof(string), "* Kontostand: $%d", account);
SendClientMessage(i, COLOR_WHITE, string);
format(string, sizeof(string), "* Zinssatz: 0.%d Prozent",tmpintrate);
SendClientMessage(i, COLOR_WHITE, string);
format(string, sizeof(string), "* Zinsen: $%d", interest);
SendClientMessage(i, COLOR_WHITE, string);
SendClientMessage(i, COLOR_WHITE, "{FFFF00}===============| {990000}Zahltag{FFFF00} |===============");
format(string, sizeof(string), "* Neuer Kontostand: $%d", PlayerInfo[i][pAccount]);
SendClientMessage(i, COLOR_AGEBUHR, string);
format(string, sizeof(string), "* Miete: -$%d", rent);
SendClientMessage(i, COLOR_WHITE, string);
format(string, sizeof(string), "~y~PayDay~n~~w~Paycheck");
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][pExp]++;
PlayerInfo[i][pPayDayHad] = 0;
}
}
if(PlayerInfo[i][pDonateRank] > 0)
{
PlayerInfo[i][pPayDayHad] += 1;
if(PlayerInfo[i][pPayDayHad] >= 5)
{
PlayerInfo[i][pExp]+=2;
PlayerInfo[i][pPayDayHad] = 0;
}
}
}
else
{
SendClientMessage(i, COLOR_LIGHTRED, "* Du hast nicht lange genug gespielt, um PayDay zu erhalten.");
}
}
}
}
Checkprop();
return 1;
}
Ich hoffe ihr könnt helfen.
MfG
James. -
public Gas()
{
new vehicleid;
for (new i=0; i < MAX_VEHICLES;i++)
{
for ( new p=0; p < MAX_PLAYERS; p++ )
{
if ( IsPlayerConnected(p) )
{
vehicleid = GetPlayerVehicleID(p);
vehicleid = GetPlayerVehicleID(p);
if ( vehicleid == i )
{
if( Tank[i] <= 4 && Tank[i] >= 1 ) { PlayerPlaySound(p, 1085, 0.0, 0.0, 0.0); }
}
if ( Motor[i] == true )
{
Tank[i] -= 0.1;
if ( Tank[i] <= 0 ) { Motor[i] = false; SetVehicleParamsEx(i, VEHICLE_PARAMS_OFF, lights,alarm,doors,bonnet,boot,objective);
}
}
}
}
return 1;
}Hier bei bekomme ich leider errors
-
Liebe Breadfish Community,
Ich habe eine Warnung in meinen FS, ich weiß aber nicht wodran es liegt bzw. ich bin ratlos wie ich diesen Warn wegbekomme.Der Warn:
C:\SA-MP Server\filterscripts\FahrzeugSystem.pwn(173) : warning 217: loose indentation
Die Zeilen:
[pwn=157]
public Gas() {
new vehicleid;
for (new i=0; i < MAX_VEHICLES;i++)
{
for ( new p=0; p < MAX_PLAYERS; p++ )
{
if ( IsPlayerConnected(p) )
{
vehicleid = GetPlayerVehicleID(p);
vehicleid = GetPlayerVehicleID(p);
if ( vehicleid == i )
{
if( Tank[i] <= 4 && Tank[i] >= 1 ) { PlayerPlaySound(p, 1085, 0.0, 0.0, 0.0); }
}
}
}
if ( Motor[i] == true )
{
Tank[i] -= 0.1;
if ( Tank[i] <= 0 ) { Motor[i] = false; SetVehicleParamsEx(i, VEHICLE_PARAMS_OFF, lights,alarm,doors,bonnet,boot,objective);
}
}
}
return 1;
}
[/pwn]Ich weiß leider nicht wodran es liegt, ich hoffe ihr könnt helfen.
MfG
James. -
Bei Fahrzeugen handelt es sich doch um eine FarbID, wie soll man die in HTML bzw. ARGB Format wiedergeben?
Opla, mein Fehler, ich suche die FarbID des fahrzeuges und von SA-MP (also mit 0x....) die Farbe.
-
Hallo Breadfisch,
Ich bin schon seit längeren auf der Suche nach der FarbID von dem Rhino für Fahrzeuge und den Namen, ich finde leider nicht den passenden Code, deswegen frag ich euch mal.
Ich hoffe ihr könnt weiterhelfen.(Ich benötige diese Farbe in HTML und SA-MP.)
Wie schon gesagt, ich habe leider nicht die Farbe gefunden.Ich hoffe ihr könnt weiterhelfen...
MfG
James. -
Vielen Dank für eure Antworten
Also heißt dies müsste nun funktionieren ?
-
Du erstellst dir eine Rückruffunktion die von einem Timer ausgeführt wird, anschließend benutzt du die Funktion ide von Homez vorgeschlagen wurde.
Ich lasse mal einen Quellcode hier.Danke für deine Antwort, muss ich jetzt irgwas im FS entfernen? (Habe eine Errors usw.)
Also heißt um 20:00 / 21:00 Uhr ist es nun InGame dunkel? Richtig?, oder muss ich dort was verändern? -
Jo, danke für eine Antwort, nur ist die Frage nun, wie ich dies einfüge