Payday crash -
Djukakv - 01.08.2012
My server is working and it's all fine until payday comes,i get crash right away.
Re : Payday crash -
ricardo178 - 01.08.2012
Mind posting the payday code with [pawn] tags?
Re: Re : Payday crash -
Djukakv - 01.08.2012
Код:
public PayDay(playerid)
{
new string[300],
account,
interest,
total,
lost,
earn,
key,
aptkey,
tmpintrate,
Hour,
Minute,
Second,
Year,
Month,
Day,
rata,
ukupno,
rent = 0;
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pLevel] > 0)
{
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
account = PlayerInfo[playerid][pAccount];
key = PlayerInfo[playerid][pPhousekey];
aptkey = PlayerInfo[playerid][pApartment];
if(PlayerInfo[playerid][pHeroinIndicator] > 0)
{
PlayerInfo[playerid][pHeroinIndicator] -= 10;//Heroin indikator se smanjuje za 10.Tako da ako igrac uzima heroin,ali ne precesto, ne mora nuzno znacit da ce bit ovisnik
}
if(PlayerInfo[playerid][pCigareteIndicator] > 0)
{
PlayerInfo[playerid][pCigareteIndicator] -= 10;//Isto vrijedi za cigarete
}
if(PlayerInfo[playerid][pCrackIndicator] > 0)
{
PlayerInfo[playerid][pCrackIndicator] -= 10;//Isto vrijedi za crack
}
if(PlayerInfo[playerid][pHeroinUsed] > 0)
{
PlayerInfo[playerid][pHeroinUsed] -= 1;
}
if(PlayerInfo[playerid][pCrackUsed] > 0)
{
PlayerInfo[playerid][pCrackUsed] -= 1;
}
if(PlayerInfo[playerid][pCigareteUsed] > 0)
{
PlayerInfo[playerid][pCigareteUsed] -= 1;
}
if(key != 255)
{
rent = HouseInfo[key][hRent];
if(strcmp(playername, HouseInfo[key][hOwner], true) == 0)
rent = 0;
else if(rent > SafeGetPlayerMoney(playerid))
{
PlayerInfo[playerid][pPhousekey] = 255;
SendClientMessage(playerid, COLOR_RED, "Izbaceni ste jer niste mogli platiti cenu najma kuce.");
rent = 0;
}
HouseInfo[key][hTakings] = HouseInfo[key][hTakings] + rent;
}
if(aptkey != 255)
{
rent = ApartmentInfo[aptkey][aRent];
if(strcmp(playername, ApartmentComplexInfo[ApartmentInfo[aptkey][aComplexID]][acOwner], true) == 0)
rent = 0;
else if(rent > SafeGetPlayerMoney(playerid))
{
PlayerInfo[playerid][pApartment] = 255;
ApartmentInfo[aptkey][aUsed] = 0;
strmid(ApartmentInfo[aptkey][aUser], "No-one", 0, strlen("No-one"), 255);
SendClientMessage(playerid, COLOR_RED, "Izbaceni ste jer niste mogli platiti cenu najma sobe.");
SaveApartments();
rent = 0;
}
ApartmentComplexInfo[ApartmentInfo[aptkey][aComplexID]][acTill] = ApartmentComplexInfo[ApartmentInfo[aptkey][aComplexID]][acTill] + rent;
}
if (key != 255 && strcmp(playername, HouseInfo[key][hOwner], true) == 0)
{
if(PlayerInfo[playerid][pAccount] > 1000000)
{
if(PlayerInfo[playerid][pDonateRank] == 3)
tmpintrate = intrate + 3;
else
tmpintrate = intrate;
}
else
{
if(PlayerInfo[playerid][pDonateRank] == 3)
tmpintrate = intrate + 4;
else
tmpintrate = intrate + 1;
}
}
else
{
if(PlayerInfo[playerid][pDonateRank] == 3)
tmpintrate = 3;
else
tmpintrate = 1;
}
if(PlayerInfo[playerid][pDonateRank] >= 2)
{
new bonus = PlayerInfo[playerid][pPayCheck] / 2;
PlayerInfo[playerid][pPayCheck] += bonus;
}
if(PlayerInfo[playerid][pDignutKredit] > 0)
{
if(PlayerInfo[playerid][pDignutKredit] == 1)
{
if(PlayerInfo[playerid][pRate] >= 1 && PlayerInfo[playerid][pRate] <= 250)
rata = 50;
else
rata = 0;
}
else if(PlayerInfo[playerid][pDignutKredit] == 2)
{
if(PlayerInfo[playerid][pRate] >= 1 && PlayerInfo[playerid][pRate] <= 250)
rata = 100;
else
rata = 0;
}
else if(PlayerInfo[playerid][pDignutKredit] == 3)
{
if(PlayerInfo[playerid][pRate] >= 1 && PlayerInfo[playerid][pRate] <= 250)
rata = 250;
else
rata = 0;
}
else
rata = 0;
}
ServerInfo[sPayDays]++;
gettime(Hour, Minute, Second);
getdate(Year, Month, Day);
Tax += TaxValue;
ukupno = TaxValue+rata;
PlayerInfo[playerid][pAccount] -= ukupno;
new checks = PlayerInfo[playerid][pPayCheck] + random(50),
ebill = 0;
if(PlayerInfo[playerid][pPhousekey] != 255 || PlayerInfo[playerid][pPbiskey] != 255)
{
ebill = (PlayerInfo[playerid][pAccount] / 10000) * (PlayerInfo[playerid][pLevel]);
if(PlayerInfo[playerid][pAccount] > 0)
{
PlayerInfo[playerid][pAccount] -= ebill;
Proracunsys[ProracunAmmount] += ebill-50;
//SBizzInfo[4][sbTill] += ebill;
}
}
PlayerInfo[playerid][pTookDrugs] = 0;
SetPVarInt(playerid, "FreeWorks", 6);
SetPVarInt(playerid, "DutySystem", 1);
PlayerInfo[playerid][pPayDayMoney] += checks;
BizzInfo[3][bTill] += rata;
SaveProperty();
SaveGangs();
SaveProracun();
new money = SafeGetPlayerMoney(playerid);
interest = (PlayerInfo[playerid][pAccount] / 1000) * (tmpintrate);
PlayerInfo[playerid][pExp]++;
PlayerInfo[playerid][pRate]++;
PlayerPlayMusic(playerid);
PlayerInfo[playerid][pAccount] = account+interest;
earn = checks + interest;
lost = TaxValue + ebill + rent + rata;
total = earn - lost;
if(PlayerInfo[playerid][pRate] >= 251)
{
PlayerInfo[playerid][pRate] = 0;
PlayerInfo[playerid][pDignutKredit] = 0;
SendClientMessage(playerid, COLOR_NICERED, "Upravo ste otplatili zadnju ratu kredita! Mozete dici novi kredit!");
}
Код:
// PayDay Text Draw
format(string, sizeof(string), "~w~~n~%02d/%02d/%d, %02d:%02d:%02d~n~~n~IZNOS PLATE~n~ ~y~Radna Knjizica: ~w~%d~g~$~n~~n~~w~BANKOVNI RACUN~n~ ~y~Iznos: ~w~%d~g~$~n~ ~y~Kamatna stopa: ~w~0.%d~n~ ~y~Iznos kamate: ~w~%d~g~$",
Day,
Month,
Year,
Hour,
Minute,
Second,
checks,
account,
tmpintrate,
interest);
TextDrawSetString(PayCheckTextDraw[playerid], string);
// PayDay Total Text Draw
format(string, sizeof(string), "~w~~n~TROSKOVI~n~ ~y~Racun struje: ~r~-%d~g~$~n~ ~y~Rent: ~r~-%d~g~$~n~ ~y~Porez: ~r~-%d~g~$~n~ ~y~Kredit: ~r~-%d~g~$~n~~n~~w~NOVI IZNOS~n~ ~y~Banka: ~w~%d~g~$~n~ ~y~Gotovina: ~w~%d~g~$~n~ ~y~Ukupan profit: ~w~%d~g~$~n~~n~~w~Pritisnite ~y~ENTER ~w~za ~n~zatvaranje prozora.",
ebill,
rent,
TaxValue,
rata,
PlayerInfo[playerid][pAccount],
money,
total);
TextDrawSetString(PayCheckTextDrawTotal[playerid], string);
TextDrawShowForPlayer(playerid, PayDayTextDraw);
TextDrawShowForPlayer(playerid, PayCheckTextDraw[playerid]);
TextDrawShowForPlayer(playerid, PayCheckTextDrawTotal[playerid]);
SetPVarInt(playerid, "PayDayTextDrawShown", 1);
rent = 0;
PlayerInfo[playerid][pPayDay] = 0;
PlayerInfo[playerid][pPayCheck] = 0;
PovecajPVarInt(playerid, "ConnectTime", 1);
if(PlayerInfo[playerid][pJob] == 53)
{
if(GetPVarInt(playerid, "ConnectTime") > 35)
{
PlayerInfo[playerid][pJob] = 0;
SendClientMessage(playerid, COLOR_LIGHTRED, "Dobio si otkaz jer vise nisi novi gradjanin, uzmi novi posao!");
}
}
PlayerInfo[playerid][pKosa] += 1;
if(PlayerInfo[playerid][pKosa] >= 30)
{
SendClientMessage(playerid, COLOR_NICEYELLOW, "Narasla vam je kosa poprilicno, a o bradi da ne govorimo");
SendClientMessage(playerid, COLOR_NICEYELLOW, "Mozda je vreme za sisanje konacno?");
}
if(PlayerInfo[playerid][pJob] > 0)
PlayerInfo[playerid][pContractTime] ++;
if(PlayerInfo[playerid][pDonateRank] == 2)
{
PlayerInfo[playerid][pPayDayHad] += 1;
if(PlayerInfo[playerid][pPayDayHad] >= 10)
{
PlayerInfo[playerid][pExp]++;
PlayerInfo[playerid][pPayDayHad] = 0;
}
}
else if(PlayerInfo[playerid][pDonateRank] == 3)
{
PlayerInfo[playerid][pPayDayHad] += 1;
if(PlayerInfo[playerid][pPayDayHad] >= 5)
{
PlayerInfo[playerid][pExp]++;
PlayerInfo[playerid][pPayDayHad] = 0;
}
}
}
}
return 1;
}
the text in another language, but that is irrelevant, codes are ok.
Re : Payday crash -
ricardo178 - 01.08.2012
Add some Print("Here is Ok Part 1") in each script parts, so you see where it crashes.
Like, in first exceptions you put Print("here is Ok part 1"), than a bit down Print("Here is ok Part 2"), etc, so than you see in server consol in what part it stops sending that message.
Re: Payday crash -
Djukakv - 01.08.2012
I did this so well understood that where I put it?
Re: Payday crash -
Djukakv - 02.08.2012
I arranged, thanks though. Lock