Jump to content
  • 0

Question

Posted

Problema intalnita (descriere): Nu da payday , mergea inainte , dar acum nu mai merge..
Ero(area / rile) / warning-(ul / urile): -
Liniile de cod / sursa / script-ul(obligatoriu):

public PayDay()
{
	new string[128],
		str[256],
		string3[128],
		interest,
		account[MAX_PLAYERS],
		hour,
		minn,
		sec,
		expamount,
		rent[MAX_PLAYERS];
	gettime(hour,minn,sec);
	foreach(Player,i)
	{
		if(IsPlayerConnected(i))
		{
		    if(PlayerInfo[i][pLevel] >= 0)
		    {
            	new wakaname[25];
                GetPlayerName(i,wakaname,sizeof(wakaname));
			    if(MoneyMessage[i]==1)
				{
				    SendClientMessage(i, COLOR_LIGHTRED, "You failed to pay your debt, Jail time.");
                    new rand;
					rand = random(sizeof(gRandomJailSpawns));
					SetPlayerInterior(i, 6);
					SetPlayerPos(i,gRandomJailSpawns[rand][0],gRandomJailSpawns[rand][1],gRandomJailSpawns[rand][2]);
		            PlayerInfo[i][pJailed] = 1;
		            ResetPlayerWeaponsEx(i);
		            ResetPlayerWeapons(i);
					WantedPoints[i] = 0;
					PlayerInfo[i][pJailTime] = 240;
					format(string, sizeof(string), "You are jailed for %d seconds.   Bail: Unable", PlayerInfo[i][pJailTime]);
					SendClientMessage(i, COLOR_LIGHTBLUE, string);
					Update(i,pJailedx);
					Update(i,pJailTimex);
					TogglePlayerControllable(i, 0);
					SetTimerEx("UnFreezeStation", 1000, false, "i", i);
				}
				new playername2[MAX_PLAYER_NAME];
				GetPlayerName(i, playername2, sizeof(playername2));
				new key = PlayerInfo[i][pPhousekey];
				if(key != 999)
				{
					rent[i] = HouseInfo[key][hRent];
					if(rent[i] > GetPlayerCash(i) && strcmp(playername2, HouseInfo[key][hOwner], false) == 0)
					{
						PlayerInfo[i][pPhousekey] = 999;
						Update(i,pPhousekeyx);
					}
					HouseInfo[key][hTakings] += rent[i];
				    mysql_format(SQL,str,sizeof(str),"UPDATE `houses` SET `Takings`='%d' WHERE `ID`='%d'",HouseInfo[key][hTakings],key);
				    mysql_tquery(SQL,str,"","");
				}
				if(PlayerInfo[i][pPayDay] >= 5)
				{
					new tmpintrate;
					if(PlayerInfo[i][pPremiumAccount] == 1)
					{
						tmpintrate = 2;
					    PlayerInfo[i][pPayDayHad] += 1;
					    if(PlayerInfo[i][pPayDayHad] >= 5)
					    {
					        PlayerInfo[i][pExp]++;
					        PlayerInfo[i][pPayDayHad] = 0;
					        SCM(i,COLOR_LIGHTBLUE,"You got 1 respect point bonus because you have premium account.");
					    }
					    new bonus = PlayerInfo[i][pPayCheck] / 2;
					    PlayerInfo[i][pPayCheck] += bonus;
					}
					else
					{
						tmpintrate = 1;
					}
					account[i] = PlayerInfo[i][pAccount];
					Tax += TaxValue;
				    PlayerInfo[i][pAccount] -= TaxValue;
					new checks = PlayerInfo[i][pPayCheck],
				    	ebill = (PlayerInfo[i][pLevel]*SBizzInfo[14][sbEntranceCost]/100);
				    PlayerInfo[i][pAccount] += checks;
					interest = (PlayerInfo[i][pAccount]/1000)*(tmpintrate);
					PlayerInfo[i][pExp] += 1;
					PlayerInfo[i][pAccount] += interest;
					SendClientMessage(i, COLOR_TEAL, "----------------------------------------------------------------------------");
					SendClientMessage(i, COLOR_WHITE, "Your paycheck has arrived; please visit the bank to withdraw your money.");
					format(string, sizeof(string), "Paycheck: $%s | Bank balance: $%s | Bank interest: $%s | Tax: $%s (10 percent)", FormatNumber(checks), FormatNumber(PlayerInfo[i][pAccount]), FormatNumber(interest), FormatNumber(TaxValue));
					SendClientMessage(i, COLOR_GREY, string);
					format(string3, sizeof(string3), "Rent: $%s | Total earnings: $%d", FormatNumber(rent[i]), checks-TaxValue);
					SendClientMessage(i, COLOR_GREY, string3);
					SendClientMessage(i, COLOR_TEAL, "----------------------------------------------------------------------------");
					if(PlayerInfo[i][pAccount] >= ebill && key != 999 && strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
					{
				    	PlayerInfo[i][pAccount] -= ebill;
				    	SBizzInfo[14][sbTill] += ebill;
				    	mysql_format(SQL,str,sizeof(str),"UPDATE `sbizz` SET `Till`='%d' WHERE `ID`='14'",SBizzInfo[14][sbTill]);
						mysql_tquery(SQL,str,"","");
					}
					else
					{
					    ebill = 0;
					}
					format(string, sizeof(string), "~y~payday");
					GameTextForPlayer(i, string, 5000, 1);
					PlayerInfo[i][pPayDay] = 0;
					PlayerInfo[i][pPayCheck] = 0;
					if(PlayerInfo[i][pCarLicT] > 0)
					{
						PlayerInfo[i][pCarLicT] -= 1;
					}
					if(PlayerInfo[i][pFlyLicT] > 0)
					{
						PlayerInfo[i][pFlyLicT] -= 1;
					}
					if(PlayerInfo[i][pBoatLicT] > 0)
					{
						PlayerInfo[i][pBoatLicT] -= 1;
					}
    				if(PlayerInfo[i][pGunLicT] > 0)
					{
						PlayerInfo[i][pGunLicT] -= 1;
					}
					if(PlayerInfo[i][pRob] < 10)
	                {
                        PlayerInfo[i][pRob]++;
	                }
	 				if(PlayerInfo[i][pFpunish] > 0)
	 				{
						PlayerInfo[i][pFpunish]--;
			 		}
					if(PlayerInfo[i][pSleeping] == 0)
					{
                	    PlayerInfo[i][pConnectTime] += 1;
                	}
                	if(IsACop(i))
					{
                	    PlayerInfo[i][pLawyer] += 1;
                	}
					if(PlayerInfo[i][pLevel] == 1 || PlayerInfo[i][pLevel] == 2 || PlayerInfo[i][pLevel] == 3 || PlayerInfo[i][pLevel] == 4)
					{
					    expamount = PlayerInfo[i][pLevel]*2;
						if(PlayerInfo[i][pExp] >= expamount)
						{
						    SCM(i,COLOR_LIGHTBLUE,"** You can use buylevel because you have necessary respect points.");
						}
					}
					else if(PlayerInfo[i][pLevel] >= 5)
					{
					    expamount = PlayerInfo[i][pLevel]*3;
						if(PlayerInfo[i][pExp] >= expamount)
						{
						    SCM(i,COLOR_LIGHTBLUE,"** You can use buylevel because you have necessary respect points.");
						}
					}
				}
				else
				{
					SendClientMessage(i, COLOR_LIGHTRED, "* You haven't played long enough to obtain a PayDay.");
				}
			}
		}
	}
	for(new x = 0; x < MAX_GROUPS; x++)
	{
	    DynamicFactions[x][fBank] += DynamicFactions[x][fPaydayMoney];
	    mysql_format(SQL,str,sizeof(str),"UPDATE `factions` SET `Bank`='%d' WHERE `ID`='%d'",DynamicFactions[x][fBank],x);
		mysql_tquery(SQL,str,"","");
	}
	return 1;
}


Imagini / Video (optional): -
Ati incercat sa rezolvati singur?: Da

9 answers to this question

Recommended Posts

  • 0
Posted

verifica la ongamemodeinit daca ai timerul respectiv.

Respect acestei comunitati, dar mai presus respect membrilor ei !

  • 0
Posted

La callback-ul OnGameModeInit, ar trebui sa ai un timer de genul acesta:

SetTimer("PayDay", 60000, 1); 

60000 semnifica 60 de minute (o ora), adica timer-ul va trece prin callback-ul "Payday" o data la o ora.

1 semnifica repetarea timer-ului atunci cand s-a scurs cele 60 de minute.

  • 0
Posted

synctimer = SetTimer("SyncUp", 60000, 1);

 

 

    //Timer
    if (realtime)
    {
        new tmphour,
            tmpminute,
            tmpsecond;
        gettime(tmphour, tmpminute, tmpsecond);
        FixHour(tmphour);
        tmphour = shifthour;
        new worldt = tmphour;
        SetWorldTime(worldt);
    }
    synctimer = SetTimer("SyncUp", 60000, 1);
    unjailtimer = SetTimer("SetPlayerUnjail", 1000, 1);
    othtimer = SetTimer("OtherTimer", 1000, 1);
    cartimer = SetTimer("CarCheck", 30000, 1);
    idletimer = SetTimer("IdleKick", idletime, 1);
    pickuptimer = SetTimer("CustomPickups", 1000, 1);
    spectatetimer = SetTimer("Spectator", 2000, 1);
    productiontimer = SetTimer("Production", 300000, 1); //5 mins (300000)
    checkgastimer = SetTimer("CheckGas", RunOutTime, 1);
    stoppedvehtimer = SetTimer("StoppedVehicle", RunOutTime, 1);
    checkvehinfotimer = SetTimer("Checkvehinfo",1000, 1);
    pnstimer = SetTimer("SetPlayerPNS", 2000, 1);
    wantedicatimer = SetTimer("SetWantedica", 5000, 1);
    SetTimer("SendMSG", 300000, 1);

    printf("OnGameModeInit Loaded");
    return 1;
}

 

  • 0
Posted (edited)

Acum da din minut in minut payday.

 

public SyncUp()
{
	new string[128],
		tmphour,
		tmpminute,
		tmpsecond,
		hour,
		minn,
		sec;
	gettime(hour,minn,sec);
	gettime(tmphour, tmpminute, tmpsecond);
	FixHour(tmphour);
	tmphour = shifthour;
	if ((tmphour > ghour) || (tmphour == 0 && ghour == 23))
	{
		format(string, sizeof(string), "SERVER: The time is now %d:00 hours",hour);
		BroadCast(COLOR_WHITE,string);
		ghour = tmphour;
		PayDay();

 

Edited by 9MMG
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.