Hallo liebe Scripter.
Ich habe gerade einen Bug entdeckt ..
Wenn man ID "1" hat, bekommt man alle 10 Minuten ein PayDay.
Soll man am besten die ID "1" mit einem Bot versehen?
MfG
Hallo liebe Scripter.
Ich habe gerade einen Bug entdeckt ..
Wenn man ID "1" hat, bekommt man alle 10 Minuten ein PayDay.
Soll man am besten die ID "1" mit einem Bot versehen?
MfG
musst du nicht machen auf anderen servern geht das ja auch ich habe noch kein "PD" System geschrieben da ich selfmade mache aber den würde ich nur so beheben. Ein Bot würde ich nur im Notfall nehmen wenn ich mich damit garnicht auskenne und nichts weiss(also wie man den bug beheben kann). Ich habe z.B. für ID:0 ein Bot eingesetzt der id0 bug nervt tierisch... Musst du wissen probier es erstmal so und schlimmstenfalls mit bot weil die ja auch slots fressen^^
Wie siehts bei ID 2 aus?
Wann hat er den Payday? Ganz Normal oder ist da auch was anders?
bei ID 0 ist alles normal, jedoch bei ID 1 buggt es ...
Ich kann dies mit ID 2 noch nicht Testen, da unser Server erstmal freigeschaltet werden muss..
Zeig mal wie du es erstellt hast da wir dann den fehler sehen können
Zeilen wären eventuell nicht schlecht^^
/e war wohl jemand schneller
Ich denke, das dies die richtigen Zeilen sind ...
public PayDay(playerid)
{
new string[128];
new interest;
new playername2[MAX_PLAYER_NAME];
new key = PlayerInfo[playerid][pPhousekey];
if(IsPlayerConnected(playerid))
{
PlayerInfo[playerid][pAccount] -= TaxValue;
if(PlayerInfo[playerid][pDonateRank] > 0)
{
new bonus = PlayerInfo[playerid][pPayCheck] / 2;
PlayerInfo[playerid][pPayCheck] += bonus;
}
new checks = PlayerInfo[playerid][pPayCheck];
new ebill = (PlayerInfo[playerid][pAccount]/1000000)*(PlayerInfo[playerid][pLevel]);
new rent = (PlayerInfo[playerid][pAccount]/1000000) *(PlayerInfo[playerid][pLevel]);
ConsumingMoney[playerid] = 1;
PlayerMoney[playerid] = PlayerMoney[playerid] += checks;
if(PlayerInfo[playerid][pAccount] > 0)
{
PlayerInfo[playerid][pAccount] -= ebill;
SBizzInfo[4][sbTill] += ebill;
ExtortionSBiz(4, ebill);
}
else
{
ebill = 0;
rent = 0;
}
new tmpintrate;
if (key != 255 && strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
{
if(PlayerInfo[playerid][pDonateRank] > 0) { tmpintrate = intrate+4; }
else { tmpintrate = intrate+1; }//HouseInfo[key][hLevel]
}
else
{
if(PlayerInfo[playerid][pDonateRank] > 0) { tmpintrate = 3; }
else { tmpintrate = 1; }
}
interest = (PlayerInfo[playerid][pAccount]/1000)*(tmpintrate);
PlayerInfo[playerid][pExp]++;
PlayerPlayMusic(playerid);
GivePlayerMoney(playerid, 15000);
SendClientMessage(playerid, COLOR_GREEN, "|___ PAYDAY/ZAHLTAG ___|");
format(string, sizeof(string), " Gehalt: $15000 Steuern: -$%d", Tax);
SendClientMessage(playerid, COLOR_WHITE, string);
if(PlayerInfo[playerid][pPhousekey] != 255 || PlayerInfo[playerid][pPbiskey] != 255)
{
format(string, sizeof(string), " Stromkosten: -$%d", ebill);
SendClientMessage(playerid, COLOR_WHITE, string);
}
format(string, sizeof(string), " Kontostand: $%d", PlayerInfo[playerid][pAccount]);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), " Zinssrate: 0.%d Prozent",tmpintrate);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), " Zinsen erhalten: $%d", interest);
SendClientMessage(playerid, COLOR_WHITE, string);
PlayerInfo[playerid][pAccount] += interest;
if(PlayerInfo[playerid][pPhousekey] != 255 || PlayerInfo[playerid][pPbiskey] != 255)
{
format(string, sizeof(string), " Miete: -$%d", rent);
SendClientMessage(playerid, COLOR_WHITE, string);
GivePlayerMoney(playerid, -HouseInfo[key][hRent]);
HouseInfo[key][hTakings] = HouseInfo[key][hTakings]+HouseInfo[key][hRent];
}
if(PlayerInfo[playerid][pDonateRank] >= 2)
{
SendClientMessage(playerid,COLOR_GOLD," Respektpunkte erhalten: 2");
PlayerInfo[playerid][pExp]++;
}
else
{
SendClientMessage(playerid,COLOR_WHITE," Respektpunkte erhalten: 1");
PlayerInfo[playerid][pExp]++;
}
SendClientMessage(playerid, COLOR_WHITE, "|--------------------------------------|");
format(string, sizeof(string), " Neuer Kontostand: $%d", PlayerInfo[playerid][pAccount]);
SendClientMessage(playerid, COLOR_WHITE, string);
if(PlayerInfo[playerid][pZollPass] == 1)
{
PlayerInfo[playerid][pZollPassTime] += 1;
format(string, sizeof(string), "* Du nutzt deinen Zollpass nun schon seit %d PayDays.", PlayerInfo[playerid][pZollPassTime]);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
if(PlayerInfo[playerid][pZollPassTime] >= 25)
{
PlayerInfo[playerid][pZollPass] = 0;
PlayerInfo[playerid][pZollPassTime] = 0;
format(string, sizeof(string), "* Dein Zollpass ist nun nicht mehr gültig und vom Staat als ungültig anerkannt.");
SendClientMessage(playerid, COLOR_LIGHTRED, string);
}
if(PlayerInfo[playerid][pKrankenkasse] == 1)
{
PlayerInfo[playerid][pKrankenkasseTime] += 1;
format(string, sizeof(string), "* Du besitzt nun schon seit %d PayDays eine Krankenversicherung.", PlayerInfo[playerid][pKrankenkasse]);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
if(PlayerInfo[playerid][pKrankenkasseTime] >= 20)
{
PlayerInfo[playerid][pKrankenkasse] = 0;
PlayerInfo[playerid][pKrankenkasseTime] = 0;
format(string, sizeof(string), "* Deine Krankenversicherung ist abgelaufen. Du kannst dir am Krankenhaus jederzeit eine neue besorgen.");
SendClientMessage(playerid, COLOR_LIGHTRED, string);
}
if(PlayerInfo[playerid][pWarns] >= 1)
{
PlayerInfo[playerid][pWarnTime] += 1;
}
if(PlayerInfo[playerid][pWarnTime] == 150)
{
PlayerInfo[playerid][pWarns] = -1;
}
if(PlayerInfo[playerid][pPunkte] >= 10)
{
SendClientMessage(playerid,COLOR_WHITE,"");
SendClientMessage(playerid,RED,":::::::::::: STRAFE ::::::::::::");
SendClientMessage(playerid,COLOR_WHITE,"");
SendClientMessage(playerid,RED,"Du hast 10 Strafpunkte, somit wurde dir dein Führerschein + Bikeschein entzogen!");
SendClientMessage(playerid,RED,"Nun musst du als Strafe eine Geldsumme von 50.000$ bezahlen!");
PlayerInfo[playerid][pPunkte] = 0;
PlayerInfo[playerid][pMotoLic] = 0; // Bikeschein
PlayerInfo[playerid][pCarLic] = 0; // Autoschein
GivePlayerMoney(playerid,-50000);
}
format(string, sizeof(string), "~y~Zahltag");
GameTextForPlayer(playerid, string, 5000, 1);
PlayerInfo[playerid][pJobzeit] += 1;
// rent = 0;
PlayerInfo[playerid][pPayCheck] = 0;
PlayerInfo[playerid][pConnectTime] += 1;
if(PlayerInfo[playerid][pDonateRank] > 0)
{
PlayerInfo[playerid][pPayDayHad] += 1;
if(PlayerInfo[playerid][pPayDayHad] >= 2)
{
//PlayerInfo[playerid][pExp]++;
PlayerInfo[playerid][pPayDayHad] = 0;
}
}
new nxtlevel = PlayerInfo[playerid][pLevel]+1;
new expamount = nxtlevel*levelexp;
if(PlayerInfo[playerid][pExp] == expamount)
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du kannst dir nun dein nächstes Level erkaufen, /buylevel.");
}
// PlayerUpdate(playerid);
}
return 1;
}
public PayDayCount(playerid)
{
PlayerInfo[playerid][pPayDayTime] ++;
PlayerInfo[playerid][pConnectTimeM] ++;
if(PlayerInfo[playerid][pPayDayTime] >= 60)
{
PayDay(playerid);
PlayerInfo[playerid][pPayDayTime] = 0;
}
}
und was ist mit PayDayCount, wo und wie wird das ausgeführt?
Dort steht nur was passiert.
Wird is einem Timer aufgerufen?
Wird is einem Timer aufgerufen?
Ja.
paydaycount[giveplayerid] = SetTimerEx("PayDayCount", 60000, true, "i", playerid);
Wie wann und wo^^
und was ist paydaycount[giveplayerid]
Unter OnPlayerLogin.
paydaycount[playerid] = SetTimerEx("PayDayCount", 60000, true, "i", playerid);
paydaycount[giveplayerid]
Ist im Script irgendwie nicht Definiert ..!
26.04 : Bug ist immernoch vorhanden.
//edit