Jump to content
  • 0

Problema PayDay


9MMG

Question

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

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Nu e nevoie sa il puna pentru ca in publicul syncup este deja payday

Cauta in gm unde ai aceasta comanda

PayDay();

Edited by Mister

 

    __  ____      __           
   /  |/  (_)____/ /____  _____
  / /|_/ / / ___/ __/ _ \/ ___/
 / /  / / (__  ) /_/  __/ /    
/_/  /_/_/____/\__/\___/_/     
SERVICII SCRIPTING DE CALITATE
Pagina     Scripting     pawn
Link to comment
Share on other sites

  • 0

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.

Link to comment
Share on other sites

  • 0

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;
}

 

Link to comment
Share on other sites

  • 0

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
Link to comment
Share on other sites

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.