12.10.2013, 11:55
I want to make a constant payday. Everyhour 100k. How do I make this ? I am awarding with reps.
Код:
public PayDay() { PlayerLoop(i) { File::SaveAccount(i); } new ore,minuti,secondi; gettime(ore,minuti,secondi); new fambank[ 40 ], fbank = 0; if((minuti==0 || minuti==1) && paycheck==0) { paycheck=1; new bcash, brob; new bname[ 128 ]; for(new q; q < sizeof(teams); q++) { format(fambank, sizeof(fambank), "%sBank", teams[q][teamname]); new ftmp = dini_Int(globalstats,fambank); if(ftmp != 0 && ftmp < 1000000) dini_IntSet(globalstats, fambank, ftmp + ftmp/1000); } for(new i=0;i<=MAX_PLAYERS;i++) { if(IsPlayerConnected(i)) { if(PLAYERLIST_authed[i]) { if(PlayerInfo[i][playertime] >= 6000) { if(PlayerInfo[i][playerteam] != CIV && PlayerInfo[i][playerteam] != 0) { format(fambank,sizeof(fambank),"%sBank",PlayerInfo[i][PTeamName]); fbank = dini_Int(globalstats,fambank); if(fbank > PlayerInfo[i][fpay]) { PlayerTemp[i][givefpay] = PlayerInfo[i][fpay]; dini_IntSet(globalstats, fambank, fbank - PlayerInfo[i][fpay]); } } PlayerInfo[i][rpoints]++; if(PlayerTemp[i][fightstyleleft] > 0) PlayerTemp[i][fightstyleleft]--; new filename2[30]; if((PlayerInfo[i][rpoints]/2)>=PlayerInfo[i][playerlvl] && PlayerInfo[i][playerlvl]>8) { PlayerInfo[i][playerlvl]++; PlayerInfo[i][rpoints]=0; dUserSetINT(PlayerName(i)).("rpoints",PlayerInfo[i][rpoints]); dUserSetINT(PlayerName(i)).("level",PlayerInfo[i][playerlvl]); SetPlayerScore(i,PlayerInfo[i][playerlvl]); MessagePayDay(i,PlayerInfo[i][rpoints],PlayerInfo[i][playerlvl],PlayerInfo[i][rentprice],PlayerInfo[i][playertime], PlayerTemp[i][givefpay]); SendClientMessage(i,COLOR_GREEN,"[PayTime] You have levelled up!"); if(PlayerTemp[i][fightstyleleft] < 2) SendClientMessage(i,COLOR_WHITE,"[Gym] You need some training, you are losing fighting skills."); } if(PlayerInfo[i][rpoints] >= 9 && PlayerInfo[i][playerlvl] <= 8) { PlayerInfo[i][playerlvl]++; PlayerInfo[i][rpoints]=0; dUserSetINT(PlayerName(i)).("rpoints",PlayerInfo[i][rpoints]); dUserSetINT(PlayerName(i)).("level",PlayerInfo[i][playerlvl]); SetPlayerScore(i,PlayerInfo[i][playerlvl]); MessagePayDay(i,PlayerInfo[i][rpoints],PlayerInfo[i][playerlvl],PlayerInfo[i][rentprice],PlayerInfo[i][playertime], PlayerTemp[i][givefpay]); SendClientMessage(i,COLOR_GREEN,"[PayTime] You have levelled up!"); if(PlayerTemp[i][fightstyleleft] < 2) SendClientMessage(i,COLOR_WHITE,"[Gym] You need some training, you are losing fighting skills."); } else { dUserSetINT(PlayerName(i)).("rpoints",PlayerInfo[i][rpoints]); if(PlayerInfo[i][bank] < 750000000) PlayerInfo[i][bank]=PlayerInfo[i][bank]+(PlayerInfo[i][bank]/500); else PlayerInfo[i][bank] = PlayerInfo[i][bank]+(750000000/500); MessagePayDay(i,PlayerInfo[i][rpoints],PlayerInfo[i][playerlvl],PlayerInfo[i][rentprice],PlayerInfo[i][playertime], PlayerTemp[i][givefpay]); if(PlayerTemp[i][fightstyleleft] < 2) SendClientMessage(i,COLOR_WHITE,"[Gym] You need some training, you are losing fighting skills."); } new tax = dini_Int(globalstats,"tax"); dini_IntSet(globalstats,"GovernmentBank",dini_Int(globalstats,"GovernmentBank")+tax); new totalpt = PlayerInfo[i][playertime] + PlayerInfo[i][fpay] - PlayerInfo[i][rentprice] - tax; GivePlayerMoneyEx(i,totalpt); if(PlayerInfo[i][housenum]!=-1 && PlayerInfo[i][rentprice]>0) { format(filename2,sizeof(filename2),"/Houses/Casa%d.txt",PlayerInfo[i][housenum]); dini_IntSet(filename2, "till", dini_Int(filename2,"till") + PlayerInfo[i][rentprice]); } GameTextForPlayer(i,"~w~Pay~p~Time",3000,1); PlayerInfo[i][playertime]=0; PlayerInfo[i][totalpayt]++; dUserSetINT(PlayerName(i)).("time",PlayerInfo[i][playertime]); } else SendClientMessage(i,COLOR_ORANGE,"[PayTime] You haven't played long enough for PayTime"); } else SendClientMessage(i,COLOR_YELLOW,"[SERVER] You are not authed, no PayDay"); } } } return 1; }