1
0

OnPlayerLoad.pwn 54 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121
  1. /*
  2. /$$ /$$ /$$$$$$ /$$$$$$$ /$$$$$$$
  3. | $$$ | $$ /$$__ $$ | $$__ $$| $$__ $$
  4. | $$$$| $$| $$ \__/ | $$ \ $$| $$ \ $$
  5. | $$ $$ $$| $$ /$$$$ /$$$$$$| $$$$$$$/| $$$$$$$/
  6. | $$ $$$$| $$|_ $$|______/| $$__ $$| $$____/
  7. | $$\ $$$| $$ \ $$ | $$ \ $$| $$
  8. | $$ \ $$| $$$$$$/ | $$ | $$| $$
  9. |__/ \__/ \______/ |__/ |__/|__/
  10. //--------------------------------[ONPLAYERLOAD.PWN]--------------------------------
  11. * Copyright (c) 2016, Next Generation Gaming, LLC
  12. *
  13. * All rights reserved.
  14. *
  15. * Redistribution and use in source and binary forms, with or without modification,
  16. * are not permitted in any case.
  17. *
  18. *
  19. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  20. * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  21. * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  22. * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
  23. * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  24. * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  25. * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
  26. * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
  27. * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
  28. * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  29. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  30. */
  31. forward OnPlayerLoad(playerid);
  32. public OnPlayerLoad(playerid)
  33. {
  34. new string[128];
  35. if(PlayerInfo[playerid][pOnline] != 0)
  36. {
  37. if(PlayerInfo[playerid][pOnline] != servernumber)
  38. {
  39. SendClientMessage(playerid, COLOR_WHITE, "SERVER: This account is already online!");
  40. SetTimerEx("KickEx", 1000, 0, "i", playerid);
  41. return 1;
  42. }
  43. }
  44. GetPlayerIp(playerid, PlayerInfo[playerid][pIP], 16);
  45. if( PlayerInfo[playerid][pPermaBanned] == 3 || PlayerInfo[playerid][pBanned] >= 1 )
  46. {
  47. format(string, sizeof(string), "WARNING: %s (IP:%s) tried to login whilst banned by the old system.", GetPlayerNameEx( playerid ), PlayerInfo[playerid][pIP] );
  48. ABroadCast(COLOR_YELLOW, string, 2);
  49. SendClientMessage(playerid, COLOR_RED, "Your account is banned! You can appeal this at http://www.laco-rp.com");
  50. SendClientMessage(playerid, COLOR_RED, "Your ban date will be set and when it's time it will automatically been banned. ");
  51. SetTimerEx("KickEx", 1000, 0, "i", playerid);
  52. return 1;
  53. }
  54. ConnectionDBLog(playerid);
  55. CheckBan(playerid);
  56. //CheckPlayerPollStatus(playerid);
  57. if(PlayerInfo[playerid][pDisabled] == 2)
  58. {
  59. ShowPlayerDialogEx(playerid, DIALOG_DISABLED, DIALOG_STYLE_MSGBOX, "Account Disabled - Visit http://www.laco-rp.com", "Your account has been disabled as it has been inactive for more than six months.\nPlease visit the forums and post an Administrative Request to begin the process to reactivate your account.", "Okay", "");
  60. SetTimerEx("KickEx", 5000, 0, "i", playerid);
  61. return 1;
  62. }
  63. if(PlayerInfo[playerid][pDisabled] != 0)
  64. {
  65. if( PlayerInfo[playerid][pBanAppealer] > 1) PlayerInfo[playerid][pBanAppealer] = 0;
  66. if( PlayerInfo[playerid][pShopTech] > 1) PlayerInfo[playerid][pShopTech] = 0;
  67. if( PlayerInfo[playerid][pUndercover] > 1) PlayerInfo[playerid][pUndercover] = 0;
  68. if( PlayerInfo[playerid][pFactionModerator] > 1) PlayerInfo[playerid][pFactionModerator] = 0;
  69. if( PlayerInfo[playerid][pGangModerator] > 1) PlayerInfo[playerid][pGangModerator] = 0;
  70. if( PlayerInfo[playerid][pPR] > 1) PlayerInfo[playerid][pPR] = 0;
  71. if(PlayerInfo[playerid][pHR] > 1) PlayerInfo[playerid][pHR] = 0;
  72. if(PlayerInfo[playerid][pAP] > 1) PlayerInfo[playerid][pAP] = 0;
  73. if(PlayerInfo[playerid][pSecurity] > 1) PlayerInfo[playerid][pSecurity] = 0;
  74. SendClientMessage(playerid, COLOR_WHITE, "SERVER: This account is disabled!");
  75. SetTimerEx("KickEx", 1000, 0, "i", playerid);
  76. return 1;
  77. }
  78. TotalLogin++;
  79. SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);
  80. if(PlayerInfo[playerid][pReg] == 0)
  81. {
  82. for(new v = 0; v < MAX_PLAYERVEHICLES; v++)
  83. {
  84. PlayerVehicleInfo[playerid][v][pvModelId] = 0;
  85. PlayerVehicleInfo[playerid][v][pvPosX] = 0.0;
  86. PlayerVehicleInfo[playerid][v][pvPosY] = 0.0;
  87. PlayerVehicleInfo[playerid][v][pvPosZ] = 0.0;
  88. PlayerVehicleInfo[playerid][v][pvPosAngle] = 0.0;
  89. PlayerVehicleInfo[playerid][v][pvLock] = 0;
  90. PlayerVehicleInfo[playerid][v][pvLocked] = 0;
  91. PlayerVehicleInfo[playerid][v][pvPaintJob] = -1;
  92. PlayerVehicleInfo[playerid][v][pvColor1] = 0;
  93. PlayerVehicleInfo[playerid][v][pvImpounded] = 0;
  94. PlayerVehicleInfo[playerid][v][pvSpawned] = 0;
  95. PlayerVehicleInfo[playerid][v][pvColor2] = 0;
  96. PlayerVehicleInfo[playerid][v][pvPrice] = 0;
  97. PlayerVehicleInfo[playerid][v][pvTicket] = 0;
  98. PlayerVehicleInfo[playerid][v][pvWeapons][0] = 0;
  99. PlayerVehicleInfo[playerid][v][pvWeapons][1] = 0;
  100. PlayerVehicleInfo[playerid][v][pvWeapons][2] = 0;
  101. PlayerVehicleInfo[playerid][v][pvWepUpgrade] = 0;
  102. PlayerVehicleInfo[playerid][v][pvFuel] = 0.0;
  103. PlayerVehicleInfo[playerid][v][pvAllowedPlayerId] = INVALID_PLAYER_ID;
  104. PlayerVehicleInfo[playerid][v][pvPark] = 0;
  105. ListItemReleaseId[playerid][v] = -1;
  106. PlayerVehicleInfo[playerid][v][pvDisabled] = 0;
  107. PlayerVehicleInfo[playerid][v][pvPlate] = 0;
  108. PlayerVehicleInfo[playerid][v][pvVW] = 0;
  109. PlayerVehicleInfo[playerid][v][pvInt] = 0;
  110. PlayerVehicleInfo[playerid][v][pvPlate] = 0;
  111. PlayerVehicleInfo[playerid][v][pvAlarm] = 0;
  112. PlayerVehicleInfo[playerid][v][pvLocksLeft] = 5;
  113. PlayerVehicleInfo[playerid][v][pvAlarmTriggered] = 0;
  114. PlayerVehicleInfo[playerid][v][pvBeingPickLocked] = 0;
  115. PlayerVehicleInfo[playerid][v][pvLastLockPickedBy] = 0;
  116. ListItemTrackId[playerid][v] = -1;
  117. for(new m = 0; m < MAX_MODS; m++)
  118. {
  119. PlayerVehicleInfo[playerid][v][pvMods][m] = 0;
  120. }
  121. PlayerVehicleInfo[playerid][v][pvCrashFlag] = 0;
  122. PlayerVehicleInfo[playerid][v][pvCrashVW] = 0;
  123. PlayerVehicleInfo[playerid][v][pvCrashX] = 0.0;
  124. PlayerVehicleInfo[playerid][v][pvCrashY] = 0.0;
  125. PlayerVehicleInfo[playerid][v][pvCrashZ] = 0.0;
  126. PlayerVehicleInfo[playerid][v][pvCrashAngle] = 0.0;
  127. }
  128. for(new v = 0; v < MAX_PLAYERTOYS; v++)
  129. {
  130. PlayerToyInfo[playerid][v][ptModelID] = 0;
  131. PlayerToyInfo[playerid][v][ptBone] = 0;
  132. PlayerToyInfo[playerid][v][ptTradable] = 0;
  133. PlayerToyInfo[playerid][v][ptPosX] = 0.0;
  134. PlayerToyInfo[playerid][v][ptPosY] = 0.0;
  135. PlayerToyInfo[playerid][v][ptPosZ] = 0.0;
  136. PlayerToyInfo[playerid][v][ptRotX] = 0.0;
  137. PlayerToyInfo[playerid][v][ptRotY] = 0.0;
  138. PlayerToyInfo[playerid][v][ptRotZ] = 0.0;
  139. PlayerToyInfo[playerid][v][ptScaleX] = 1.0;
  140. PlayerToyInfo[playerid][v][ptScaleY] = 1.0;
  141. PlayerToyInfo[playerid][v][ptScaleZ] = 1.0;
  142. PlayerToyInfo[playerid][v][ptSpecial] = 0;
  143. PlayerToyInfo[playerid][v][ptAutoAttach] = -2;
  144. }
  145. PlayerInfo[playerid][pTokens] = 0;
  146. PlayerInfo[playerid][pSecureIP][0] = 0;
  147. PlayerInfo[playerid][pCrates] = 0;
  148. PlayerInfo[playerid][pOrder] = 0;
  149. PlayerInfo[playerid][pOrderConfirmed] = 0;
  150. PlayerInfo[playerid][pRacePlayerLaps] = 0;
  151. PlayerInfo[playerid][pSprunk] = 0;
  152. PlayerInfo[playerid][pSpraycan] = 0;
  153. PlayerInfo[playerid][pCigar] = 0;
  154. PlayerInfo[playerid][pConnectSeconds] = 0;
  155. PlayerInfo[playerid][pPayDayHad] = 0;
  156. PlayerInfo[playerid][pCDPlayer] = 0;
  157. PlayerInfo[playerid][pWins] = 0;
  158. PlayerInfo[playerid][pLoses] = 0;
  159. PlayerInfo[playerid][pTut] = 0;
  160. PlayerInfo[playerid][pWarns] = 0;
  161. PlayerInfo[playerid][pRope] = 0;
  162. PlayerInfo[playerid][pDice] = 0;
  163. PlayerInfo[playerid][pScrewdriver] = 0;
  164. PlayerInfo[playerid][pWantedLevel] = 0;
  165. PlayerInfo[playerid][pInsurance] = 0;
  166. PlayerInfo[playerid][pDutyHours] = 0;
  167. PlayerInfo[playerid][pAcceptedHelp] = 0;
  168. PlayerInfo[playerid][pAcceptReport] = 0;
  169. PlayerInfo[playerid][pShopTechOrders] = 0;
  170. PlayerInfo[playerid][pTrashReport] = 0;
  171. PlayerInfo[playerid][pGiftTime] = 0;
  172. PlayerInfo[playerid][pTicketTime] = 0;
  173. PlayerInfo[playerid][pServiceTime] = 0;
  174. PlayerInfo[playerid][pFirework] = 0;
  175. PlayerInfo[playerid][pBoombox] = 0;
  176. PlayerInfo[playerid][pCash] = 50000;
  177. PlayerInfo[playerid][pLevel] = 1;
  178. PlayerInfo[playerid][pAdmin] = 0;
  179. PlayerInfo[playerid][pHelper] = 0;
  180. PlayerInfo[playerid][pSMod] = 0;
  181. PlayerInfo[playerid][pWatchdog] = 0;
  182. PlayerInfo[playerid][pBanned] = 0;
  183. PlayerInfo[playerid][pDisabled] = 0;
  184. PlayerInfo[playerid][pMuted] = 0;
  185. PlayerInfo[playerid][pRMuted] = 0;
  186. PlayerInfo[playerid][pRMutedTotal] = 0;
  187. PlayerInfo[playerid][pRMutedTime] = 0;
  188. PlayerInfo[playerid][pDMRMuted] = 0;
  189. PlayerInfo[playerid][pNMute] = 0;
  190. PlayerInfo[playerid][pNMuteTotal] = 0;
  191. PlayerInfo[playerid][pADMute] = 0;
  192. PlayerInfo[playerid][pADMuteTotal] = 0;
  193. PlayerInfo[playerid][pHelpMute] = 0;
  194. PlayerInfo[playerid][pVMutedTime] = 0;
  195. PlayerInfo[playerid][pVMuted] = 0;
  196. PlayerInfo[playerid][pRadio] = 0;
  197. PlayerInfo[playerid][pRadioFreq] = 0;
  198. PlayerInfo[playerid][pPermaBanned] = 0;
  199. PlayerInfo[playerid][pDonateRank] = 0;
  200. PlayerInfo[playerid][gPupgrade] = 0;
  201. PlayerInfo[playerid][pConnectHours] = 0;
  202. PlayerInfo[playerid][pReg] = 0;
  203. PlayerInfo[playerid][pSex] = 0;
  204. strcpy(PlayerInfo[playerid][pBirthDate], "0000-00-00", 64);
  205. PlayerInfo[playerid][pRingtone] = 0;
  206. PlayerInfo[playerid][pWallpaper] = 0;
  207. PlayerInfo[playerid][pVIPM] = 0;
  208. PlayerInfo[playerid][pVIPMO] = 0;
  209. PlayerInfo[playerid][pVIPExpire] = 0;
  210. PlayerInfo[playerid][pGVip] = 0;
  211. PlayerInfo[playerid][pHydration] = 100;
  212. PlayerInfo[playerid][pDoubleEXP] = 0;
  213. PlayerInfo[playerid][pEXPToken] = 0;
  214. PlayerInfo[playerid][pExp] = 0;
  215. PlayerInfo[playerid][pAccount] = 0;
  216. PlayerInfo[playerid][pCrimes] = 0;
  217. PlayerInfo[playerid][pDeaths] = 0;
  218. PlayerInfo[playerid][pArrested] = 0;
  219. PlayerInfo[playerid][pPhoneBook] = 0;
  220. PlayerInfo[playerid][pLottoNr] = 0;
  221. PlayerInfo[playerid][pFishes] = 0;
  222. PlayerInfo[playerid][pBiggestFish] = 0;
  223. PlayerInfo[playerid][pJob] = 0;
  224. PlayerInfo[playerid][pJob2] = 0;
  225. PlayerInfo[playerid][pJob3] = 0;
  226. PlayerInfo[playerid][pPayCheck] = 0;
  227. PlayerInfo[playerid][pHeadValue] = 0;
  228. PlayerInfo[playerid][pJailTime] = 0;
  229. PlayerInfo[playerid][pWRestricted] = 0;
  230. PlayerInfo[playerid][pMats] = 0;
  231. PlayerInfo[playerid][pNation] = -1;
  232. PlayerInfo[playerid][pLeader] = INVALID_GROUP_ID;
  233. PlayerInfo[playerid][pMember] = INVALID_GROUP_ID;
  234. PlayerInfo[playerid][pBusiness] = INVALID_BUSINESS_ID;
  235. PlayerInfo[playerid][pDivision] = INVALID_DIVISION;
  236. strcpy(PlayerInfo[playerid][pBadge], "None", 9);
  237. PlayerInfo[playerid][pRank] = INVALID_RANK;
  238. PlayerInfo[playerid][pRenting] = INVALID_HOUSE_ID;
  239. PlayerInfo[playerid][pDetSkill] = 0;
  240. PlayerInfo[playerid][pSexSkill] = 0;
  241. PlayerInfo[playerid][pBoxSkill] = 0;
  242. PlayerInfo[playerid][pLawSkill] = 0;
  243. PlayerInfo[playerid][pMechSkill] = 0;
  244. PlayerInfo[playerid][pTruckSkill] = 0;
  245. PlayerInfo[playerid][pArmsSkill] = 0;
  246. PlayerInfo[playerid][pDrugSmuggler] = 0;
  247. PlayerInfo[playerid][pFishSkill] = 0;
  248. PlayerInfo[playerid][pSHealth] = 0.0;
  249. PlayerInfo[playerid][pHealth] = 50.0;
  250. PlayerInfo[playerid][pCheckCash] = 0;
  251. PlayerInfo[playerid][pChecks] = 0;
  252. PlayerInfo[playerid][pWeedObject] = 0;
  253. PlayerInfo[playerid][pWSeeds] = 0;
  254. PlayerInfo[playerid][pWarrant][0] = 0;
  255. PlayerInfo[playerid][pContractBy][0] = 0;
  256. PlayerInfo[playerid][pContractDetail] = 0;
  257. PlayerInfo[playerid][pJudgeJailTime] = 0;
  258. PlayerInfo[playerid][pJudgeJailType] = 0;
  259. PlayerInfo[playerid][pBeingSentenced] = 0;
  260. PlayerInfo[playerid][pProbationTime] = 0;
  261. PlayerInfo[playerid][pModel] = 299;
  262. PlayerInfo[playerid][pPnumber] = 0;
  263. PlayerInfo[playerid][pPhousekey] = INVALID_HOUSE_ID;
  264. PlayerInfo[playerid][pPhousekey2] = INVALID_HOUSE_ID;
  265. PlayerInfo[playerid][pPhousekey3] = INVALID_HOUSE_ID;
  266. PlayerInfo[playerid][pCarLic] = 0;
  267. PlayerInfo[playerid][pFlyLic] = 0;
  268. PlayerInfo[playerid][pBoatLic] = 0;
  269. PlayerInfo[playerid][pFishLic] = 1;
  270. PlayerInfo[playerid][pGunLic] = 0;
  271. PlayerInfo[playerid][pTaxiLicense] = 0;
  272. PlayerInfo[playerid][pBugged] = INVALID_GROUP_ID;
  273. PlayerInfo[playerid][pCallsAccepted] = 0;
  274. PlayerInfo[playerid][pPatientsDelivered] = 0;
  275. PlayerInfo[playerid][pLiveBanned] = 0;
  276. PlayerInfo[playerid][pFreezeBank] = 0;
  277. PlayerInfo[playerid][pFreezeHouse] = 0;
  278. PlayerInfo[playerid][pFreezeCar] = 0;
  279. strcpy(PlayerInfo[playerid][pAutoTextReply], "Nothing", 64);
  280. PlayerInfo[playerid][pLevel] = 1;
  281. PlayerInfo[playerid][pPnumber] = 0;
  282. PlayerInfo[playerid][pPhousekey] = INVALID_HOUSE_ID;
  283. PlayerInfo[playerid][pPhousekey2] = INVALID_HOUSE_ID;
  284. PlayerInfo[playerid][pPhousekey3] = INVALID_HOUSE_ID;
  285. PlayerInfo[playerid][pAccount] = 20000;
  286. PlayerInfo[playerid][pGangWarn] = 0;
  287. PlayerInfo[playerid][pPaintTokens] = 0;
  288. PlayerInfo[playerid][pTogReports] = 0;
  289. PlayerInfo[playerid][pCHits] = 0;
  290. PlayerInfo[playerid][pFHits] = 0;
  291. PlayerInfo[playerid][pAccent] = 1;
  292. PlayerInfo[playerid][pCSFBanned] = 0;
  293. PlayerInfo[playerid][pWristwatch] = 0;
  294. PlayerInfo[playerid][pSurveillance] = 0;
  295. PlayerInfo[playerid][pTire] = 0;
  296. PlayerInfo[playerid][pFirstaid] = 0;
  297. PlayerInfo[playerid][pRccam] = 0;
  298. PlayerInfo[playerid][pReceiver] = 0;
  299. PlayerInfo[playerid][pGPS] = 0;
  300. PlayerInfo[playerid][pSweep] = 0;
  301. PlayerInfo[playerid][pSweepLeft] = 0;
  302. PlayerInfo[playerid][pTreasureSkill] = 0;
  303. PlayerInfo[playerid][pMetalDetector] = 0;
  304. PlayerInfo[playerid][pHelpedBefore] = 0;
  305. PlayerInfo[playerid][pTrickortreat] = 0;
  306. PlayerInfo[playerid][pRHMutes] = 0;
  307. PlayerInfo[playerid][pRHMuteTime] = 0;
  308. PlayerInfo[playerid][pCredits] = 0;
  309. PlayerInfo[playerid][pReceivedCredits] = 0;
  310. PlayerInfo[playerid][pTotalCredits] = 0;
  311. PlayerInfo[playerid][pHasTazer] = 0;
  312. PlayerInfo[playerid][pHasCuff] = 0;
  313. PlayerInfo[playerid][pCarVoucher] = 0;
  314. strcpy(PlayerInfo[playerid][pReferredBy], "Nobody", MAX_PLAYER_NAME);
  315. PlayerInfo[playerid][pPendingRefReward] = 0;
  316. PlayerInfo[playerid][pRefers] = 0;
  317. PlayerInfo[playerid][pFamed] = 0;
  318. PlayerInfo[playerid][pFMuted] = 0;
  319. PlayerInfo[playerid][pDefendTime] = 0;
  320. PlayerInfo[playerid][pVehicleSlot] = 0;
  321. PlayerInfo[playerid][pToySlot] = 0;
  322. PlayerInfo[playerid][pVehVoucher] = 0;
  323. PlayerInfo[playerid][pSVIPVoucher] = 0;
  324. PlayerInfo[playerid][pGVIPVoucher] = 0;
  325. PlayerInfo[playerid][pFallIntoFun] = 0;
  326. PlayerInfo[playerid][pHungerVoucher] = 0;
  327. PlayerInfo[playerid][pAdvertVoucher] = 0;
  328. PlayerInfo[playerid][pShopCounter] = 0;
  329. PlayerInfo[playerid][pShopNotice] = 0;
  330. PlayerInfo[playerid][pSVIPExVoucher] = 0;
  331. PlayerInfo[playerid][pGVIPExVoucher] = 0;
  332. PlayerInfo[playerid][pVIPSellable] = 0;
  333. PlayerInfo[playerid][pReceivedPrize] = 0;
  334. PlayerInfo[playerid][pNonRPMeter] = 0;
  335. PlayerInfo[playerid][pAccountRestricted] = 0;
  336. PlayerInfo[playerid][pWatchlist] = 0;
  337. PlayerInfo[playerid][pWatchlistTime] = 0;
  338. PlayerInfo[playerid][pBackpack] = 0;
  339. PlayerInfo[playerid][pBEquipped] = 0;
  340. PlayerInfo[playerid][pBStoredV] = INVALID_PLAYER_VEHICLE_ID;
  341. PlayerInfo[playerid][pBStoredH] = INVALID_HOUSE_ID;
  342. PlayerInfo[playerid][pDigCooldown] = 0;
  343. PlayerInfo[playerid][pBugReportTimeout] = 0;
  344. PlayerInfo[playerid][pToolBox] = 0;
  345. PlayerInfo[playerid][pCrowBar] = 0;
  346. PlayerInfo[playerid][pCarLockPickSkill] = 0;
  347. PlayerInfo[playerid][pLockPickVehCount] = 0;
  348. PlayerInfo[playerid][pLockPickTime] = 0;
  349. PlayerInfo[playerid][pSEC] = 0;
  350. PlayerInfo[playerid][pBM] = 0;
  351. PlayerInfo[playerid][pIsolated] = 0;
  352. PlayerInfo[playerid][pWantedJailTime] = 0;
  353. PlayerInfo[playerid][pWantedJailFine] = 0;
  354. PlayerInfo[playerid][pNextNameChange] = 0;
  355. PlayerInfo[playerid][pExamineDesc][0] = 0;
  356. PlayerInfo[playerid][pFavStation][0] = 0;
  357. PlayerInfo[playerid][pReg] = 1;
  358. for(new i = 0; i < 12; i++) PlayerInfo[playerid][pBItems][i] = 0;
  359. for(new i = 0; i < MAX_MICROITEMS; i++)
  360. {
  361. PlayerInfo[playerid][mInventory][i] = 0;
  362. PlayerInfo[playerid][mPurchaseCount][i] = 0;
  363. PlayerInfo[playerid][mCooldown][i] = 0;
  364. }
  365. PlayerInfo[playerid][mBoost][0] = 0;
  366. PlayerInfo[playerid][mBoost][1] = 0;
  367. PlayerInfo[playerid][mShopCounter] = 0;
  368. PlayerInfo[playerid][mNotice] = 0;
  369. FIFInfo[playerid][FIFHours] = 0;
  370. FIFInfo[playerid][FIFChances] = 0;
  371. PlayerInfo[playerid][zFuelCan] = 0;
  372. PlayerInfo[playerid][bTicket] = 0;
  373. SetHealth(playerid, 50);
  374. SetArmour(playerid, 0);
  375. PlayerInfo[playerid][pLastPass][0] = 0;
  376. PlayerInfo[playerid][pEventTokens] = 0;
  377. PlayerInfo[playerid][pGroupToyBone] = 1;
  378. PlayerInfo[playerid][pGroupToy][0] = 0.0;
  379. PlayerInfo[playerid][pGroupToy][1] = 0.0;
  380. PlayerInfo[playerid][pGroupToy][2] = 0.0;
  381. PlayerInfo[playerid][pGroupToy][3] = 0.0;
  382. PlayerInfo[playerid][pGroupToy][4] = 0.0;
  383. PlayerInfo[playerid][pGroupToy][5] = 0.0;
  384. PlayerInfo[playerid][pGroupToy][6] = 1.0;
  385. PlayerInfo[playerid][pGroupToy][7] = 1.0;
  386. PlayerInfo[playerid][pGroupToy][8] = 1.0;
  387. PlayerInfo[playerid][pUsingTruck] = INVALID_VEHICLE_ID;
  388. PlayerInfo[playerid][pCurrentShipment] = -1;
  389. }
  390. if(PlayerInfo[playerid][pHospital] == 1)
  391. {
  392. PlayerInfo[playerid][pHospital] = 0;
  393. SetPVarInt(playerid, "MedicBill", 1);
  394. }
  395. if(PlayerInfo[playerid][pAdmin] < 2) { // If not admin, remove secondary tasks. More efficient because it's one check.
  396. PlayerInfo[playerid][pBanAppealer] = 0;
  397. PlayerInfo[playerid][pPR] = 0;
  398. PlayerInfo[playerid][pShopTech] = 0;
  399. PlayerInfo[playerid][pUndercover] = 0;
  400. PlayerInfo[playerid][pFactionModerator] = 0;
  401. PlayerInfo[playerid][pGangModerator] = 0;
  402. PlayerInfo[playerid][pAP] = 0;
  403. PlayerInfo[playerid][pHR] = 0;
  404. PlayerInfo[playerid][pBM] = 0;
  405. }
  406. if(PlayerInfo[playerid][pHelper] == 1 && PlayerInfo[playerid][pAdmin] >= 1) PlayerInfo[playerid][pHelper] = 0;
  407. if(gettime() >= PlayerInfo[playerid][pMechTime]) PlayerInfo[playerid][pMechTime] = 0;
  408. if(gettime() >= PlayerInfo[playerid][pLawyerTime]) PlayerInfo[playerid][pLawyerTime] = 0;
  409. if(gettime() >= PlayerInfo[playerid][pDrugsTime]) PlayerInfo[playerid][pDrugsTime] = 0;
  410. if(gettime() >= PlayerInfo[playerid][pSexTime]) PlayerInfo[playerid][pSexTime] = 0;
  411. HideMainMenuGUI(playerid);
  412. HideNoticeGUIFrame(playerid);
  413. if(PlayerInfo[playerid][pVIPExpire] > 0 && (1 <= PlayerInfo[playerid][pDonateRank] <= 4) && (PlayerInfo[playerid][pVIPExpire] < gettime()) && PlayerInfo[playerid][pAdmin] < 2)
  414. {
  415. format(string, sizeof(string), "%s(%d) (%s) VIP removed (VIP Expire: %d | Level: %d)", GetPlayerNameEx(playerid), GetPVarInt(playerid, "pSQLID"), GetPlayerIpEx(playerid), PlayerInfo[playerid][pVIPExpire], PlayerInfo[playerid][pDonateRank]);
  416. Log("logs/vipremove.log", string);
  417. PlayerInfo[playerid][pDonateRank] = 0;
  418. PlayerInfo[playerid][pVIPExpire] = 0;
  419. PlayerInfo[playerid][pVIPSellable] = 0;
  420. }
  421. if(PlayerInfo[playerid][pPendingRefReward] >= 1)
  422. {
  423. new szQuery[128], szString[128];
  424. if(PlayerInfo[playerid][pRefers] < 5 && PlayerInfo[playerid][pRefers] > 0)
  425. {
  426. PlayerInfo[playerid][pCredits] += CREDITS_AMOUNT_REFERRAL*PlayerInfo[playerid][pPendingRefReward];
  427. PlayerInfo[playerid][pPendingRefReward] = 0;
  428. PlayerInfo[playerid][pRefers]++;
  429. mysql_format(MainPipeline, szQuery, sizeof(szQuery), "UPDATE `accounts` SET `Credits`=%d WHERE `Username` = '%s'", PlayerInfo[playerid][pCredits], GetPlayerNameExt(playerid));
  430. mysql_tquery(MainPipeline, szQuery, "OnQueryFinish", "ii", SENDDATA_THREAD, playerid);
  431. format(szString, sizeof(szString), "%s(%d) has received %d credits for referring a player (The player reached level 3)", GetPlayerNameEx(playerid), GetPlayerSQLId(playerid), CREDITS_AMOUNT_REFERRAL*PlayerInfo[playerid][pPendingRefReward]);
  432. Log("logs/referral.log", szString);
  433. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Your friend that you referred to the server has reached level 3, therefore you have received 100 credits.");
  434. }
  435. else if(PlayerInfo[playerid][pRefers] == 5)
  436. {
  437. PlayerInfo[playerid][pCredits] += CREDITS_AMOUNT_REFERRAL*5*PlayerInfo[playerid][pPendingRefReward];
  438. PlayerInfo[playerid][pPendingRefReward] = 0;
  439. PlayerInfo[playerid][pRefers]++;
  440. mysql_format(MainPipeline, szQuery, sizeof(szQuery), "UPDATE `accounts` SET `Credits`=%d WHERE `Username` = '%s'", PlayerInfo[playerid][pCredits], GetPlayerNameExt(playerid));
  441. mysql_tquery(MainPipeline, szQuery, "OnQueryFinish", "ii", SENDDATA_THREAD, playerid);
  442. format(szString, sizeof(szString), "%s(%d) has received %d credits for referring a player (The player reached level 3)", GetPlayerNameEx(playerid), GetPlayerSQLId(playerid), CREDITS_AMOUNT_REFERRAL*5*PlayerInfo[playerid][pPendingRefReward]);
  443. Log("logs/referral.log", szString);
  444. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Your friend that you referred to the server has reached level 3, therefore you have received 500 credits.");
  445. }
  446. else if(PlayerInfo[playerid][pRefers] < 10 && PlayerInfo[playerid][pRefers] > 5)
  447. {
  448. PlayerInfo[playerid][pCredits] += CREDITS_AMOUNT_REFERRAL*PlayerInfo[playerid][pPendingRefReward];
  449. PlayerInfo[playerid][pPendingRefReward] = 0;
  450. PlayerInfo[playerid][pRefers]++;
  451. mysql_format(MainPipeline, szQuery, sizeof(szQuery), "UPDATE `accounts` SET `Credits`=%d WHERE `Username` = '%s'", PlayerInfo[playerid][pCredits], GetPlayerNameExt(playerid));
  452. mysql_tquery(MainPipeline, szQuery, "OnQueryFinish", "ii", SENDDATA_THREAD, playerid);
  453. format(szString, sizeof(szString), "%s(%d) has received %d credits for referring a player (The player reached level 3)", GetPlayerNameEx(playerid), GetPlayerSQLId(playerid), CREDITS_AMOUNT_REFERRAL*PlayerInfo[playerid][pPendingRefReward]);
  454. Log("logs/referral.log", szString);
  455. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Your friend that you referred to the server has reached level 3, therefore you have received 100 credits.");
  456. }
  457. else if(PlayerInfo[playerid][pRefers] == 10)
  458. {
  459. PlayerInfo[playerid][pCredits] += CREDITS_AMOUNT_REFERRAL*10*PlayerInfo[playerid][pPendingRefReward];
  460. PlayerInfo[playerid][pPendingRefReward] = 0;
  461. PlayerInfo[playerid][pRefers]++;
  462. mysql_format(MainPipeline, szQuery, sizeof(szQuery), "UPDATE `accounts` SET `Credits`=%d WHERE `Username` = '%s'", PlayerInfo[playerid][pCredits], GetPlayerNameExt(playerid));
  463. mysql_tquery(MainPipeline, szQuery, "OnQueryFinish", "ii", SENDDATA_THREAD, playerid);
  464. format(szString, sizeof(szString), "%s(%d) has received %d credits for referring a player (The player reached level 3)", GetPlayerNameEx(playerid), GetPlayerSQLId(playerid), CREDITS_AMOUNT_REFERRAL*10*PlayerInfo[playerid][pPendingRefReward]);
  465. Log("logs/referral.log", szString);
  466. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Your friend that you referred to the server has reached level 3, therefore you have received 1000 credits.");
  467. }
  468. else if(PlayerInfo[playerid][pRefers] < 15 && PlayerInfo[playerid][pRefers] > 10)
  469. {
  470. PlayerInfo[playerid][pCredits] += CREDITS_AMOUNT_REFERRAL*PlayerInfo[playerid][pPendingRefReward];
  471. PlayerInfo[playerid][pPendingRefReward] = 0;
  472. PlayerInfo[playerid][pRefers]++;
  473. mysql_format(MainPipeline, szQuery, sizeof(szQuery), "UPDATE `accounts` SET `Credits`=%d WHERE `Username` = '%s'", PlayerInfo[playerid][pCredits], GetPlayerNameExt(playerid));
  474. mysql_tquery(MainPipeline, szQuery, "OnQueryFinish", "ii", SENDDATA_THREAD, playerid);
  475. format(szString, sizeof(szString), "%s(%d) has received %d credits for referring a player (The player reached level 3)", GetPlayerNameEx(playerid), GetPlayerSQLId(playerid), CREDITS_AMOUNT_REFERRAL*PlayerInfo[playerid][pPendingRefReward]);
  476. Log("logs/referral.log", szString);
  477. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Your friend that you referred to the server has reached level 3, therefore you have received 100 credits.");
  478. }
  479. else if(PlayerInfo[playerid][pRefers] == 15)
  480. {
  481. PlayerInfo[playerid][pCredits] += CREDITS_AMOUNT_REFERRAL*15*PlayerInfo[playerid][pPendingRefReward];
  482. PlayerInfo[playerid][pPendingRefReward] = 0;
  483. PlayerInfo[playerid][pRefers]++;
  484. mysql_format(MainPipeline, szQuery, sizeof(szQuery), "UPDATE `accounts` SET `Credits`=%d WHERE `Username` = '%s'", PlayerInfo[playerid][pCredits], GetPlayerNameExt(playerid));
  485. mysql_tquery(MainPipeline, szQuery, "OnQueryFinish", "ii", SENDDATA_THREAD, playerid);
  486. format(szString, sizeof(szString), "%s(%d) has received %d credits for referring a player (The player reached level 3)", GetPlayerNameEx(playerid), GetPlayerSQLId(playerid), CREDITS_AMOUNT_REFERRAL*15*PlayerInfo[playerid][pPendingRefReward]);
  487. Log("logs/referral.log", szString);
  488. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Your friend that you referred to the server has reached level 3, therefore you have received 1500 credits.");
  489. }
  490. else if(PlayerInfo[playerid][pRefers] < 20 && PlayerInfo[playerid][pRefers] > 15)
  491. {
  492. PlayerInfo[playerid][pCredits] += CREDITS_AMOUNT_REFERRAL*PlayerInfo[playerid][pPendingRefReward];
  493. PlayerInfo[playerid][pPendingRefReward] = 0;
  494. PlayerInfo[playerid][pRefers]++;
  495. mysql_format(MainPipeline, szQuery, sizeof(szQuery), "UPDATE `accounts` SET `Credits`=%d WHERE `Username` = '%s'", PlayerInfo[playerid][pCredits], GetPlayerNameExt(playerid));
  496. mysql_tquery(MainPipeline, szQuery, "OnQueryFinish", "ii", SENDDATA_THREAD, playerid);
  497. format(szString, sizeof(szString), "%s(%d) has received %d credits for referring a player (The player reached level 3)", GetPlayerNameEx(playerid), GetPlayerSQLId(playerid), CREDITS_AMOUNT_REFERRAL*PlayerInfo[playerid][pPendingRefReward]);
  498. Log("logs/referral.log", szString);
  499. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Your friend that you referred to the server has reached level 3, therefore you have received 100 credits.");
  500. }
  501. else if(PlayerInfo[playerid][pRefers] == 20)
  502. {
  503. PlayerInfo[playerid][pCredits] += CREDITS_AMOUNT_REFERRAL*20*PlayerInfo[playerid][pPendingRefReward];
  504. PlayerInfo[playerid][pPendingRefReward] = 0;
  505. PlayerInfo[playerid][pRefers]++;
  506. mysql_format(MainPipeline, szQuery, sizeof(szQuery), "UPDATE `accounts` SET `Credits`=%d WHERE `Username` = '%s'", PlayerInfo[playerid][pCredits], GetPlayerNameExt(playerid));
  507. mysql_tquery(MainPipeline, szQuery, "OnQueryFinish", "ii", SENDDATA_THREAD, playerid);
  508. format(szString, sizeof(szString), "%s(%d) has received %d credits for referring a player (The player reached level 3)", GetPlayerNameEx(playerid), GetPlayerSQLId(playerid), CREDITS_AMOUNT_REFERRAL*20*PlayerInfo[playerid][pPendingRefReward]);
  509. Log("logs/referral.log", szString);
  510. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Your friend that you referred to the server has reached level 3, therefore you have received 2000 credits.");
  511. }
  512. else if(PlayerInfo[playerid][pRefers] < 25 && PlayerInfo[playerid][pRefers] > 20)
  513. {
  514. PlayerInfo[playerid][pCredits] += CREDITS_AMOUNT_REFERRAL*PlayerInfo[playerid][pPendingRefReward];
  515. PlayerInfo[playerid][pPendingRefReward] = 0;
  516. PlayerInfo[playerid][pRefers]++;
  517. mysql_format(MainPipeline, szQuery, sizeof(szQuery), "UPDATE `accounts` SET `Credits`=%d WHERE `Username` = '%s'", PlayerInfo[playerid][pCredits], GetPlayerNameExt(playerid));
  518. mysql_tquery(MainPipeline, szQuery, "OnQueryFinish", "ii", SENDDATA_THREAD, playerid);
  519. format(szString, sizeof(szString), "%s(%d) has received %d credits for referring a player (The player reached level 3)", GetPlayerNameEx(playerid), GetPlayerSQLId(playerid), CREDITS_AMOUNT_REFERRAL*PlayerInfo[playerid][pPendingRefReward]);
  520. Log("logs/referral.log", szString);
  521. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Your friend that you referred to the server has reached level 3, therefore you have received 100 credits.");
  522. }
  523. else if(PlayerInfo[playerid][pRefers] >= 25)
  524. {
  525. PlayerInfo[playerid][pCredits] += CREDITS_AMOUNT_REFERRAL*25*PlayerInfo[playerid][pPendingRefReward];
  526. PlayerInfo[playerid][pPendingRefReward] = 0;
  527. PlayerInfo[playerid][pRefers]++;
  528. mysql_format(MainPipeline, szQuery, sizeof(szQuery), "UPDATE `accounts` SET `Credits`=%d WHERE `Username` = '%s'", PlayerInfo[playerid][pCredits], GetPlayerNameExt(playerid));
  529. mysql_tquery(MainPipeline, szQuery, "OnQueryFinish", "ii", SENDDATA_THREAD, playerid);
  530. format(szString, sizeof(szString), "%s(%d) has received %d credits for referring a player (The player reached level 3)", GetPlayerNameEx(playerid), GetPlayerSQLId(playerid), CREDITS_AMOUNT_REFERRAL*25*PlayerInfo[playerid][pPendingRefReward]);
  531. Log("logs/referral.log", szString);
  532. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Your friend that you referred to the server has reached level 3, therefore you have received 2500 credits.");
  533. }
  534. }
  535. if(PlayerInfo[playerid][pBusiness] >= 0 && Businesses[PlayerInfo[playerid][pBusiness]][bMonths] != 0)
  536. {
  537. if(Businesses[PlayerInfo[playerid][pBusiness]][bMonths] < gettime())
  538. {
  539. new
  540. Business = PlayerInfo[playerid][pBusiness];
  541. foreach(new j: Player)
  542. {
  543. if(PlayerInfo[j][pBusiness] == Business) {
  544. PlayerInfo[j][pBusiness] = INVALID_BUSINESS_ID;
  545. PlayerInfo[j][pBusinessRank] = 0;
  546. SendClientMessageEx(playerid, COLOR_WHITE, "An admin has sold this business, your business stats have been reset.");
  547. }
  548. }
  549. Businesses[Business][bOwner] = -1;
  550. Businesses[Business][bMonths] = 0;
  551. Businesses[Business][bValue] = 0;
  552. SaveBusiness(Business);
  553. RefreshBusinessPickup(Business);
  554. mysql_format(MainPipeline, string, sizeof(string), "UPDATE `accounts` SET `Business` = "#INVALID_BUSINESS_ID", `BusinessRank` = 0 WHERE `Business` = '%d'", Business);
  555. mysql_tquery(MainPipeline, string, "OnQueryFinish", "i", SENDDATA_THREAD);
  556. SendClientMessageEx(playerid, COLOR_RED, "Your business has been removed as it has expired.");
  557. format(string, sizeof(string), "[BUSINESS EXPIRED] %s(%d) business id %i has been removed as it has expired.", GetPlayerNameEx(playerid), GetPlayerSQLId(playerid), Business);
  558. Log("logs/shoplog.log", string);
  559. }
  560. else if(Businesses[PlayerInfo[playerid][pBusiness]][bMonths] - 259200 < gettime())
  561. {
  562. SendClientMessageEx(playerid, COLOR_RED, "Your business expires in less than three days - renew today at shop.ng-gaming.net! Type /businessdate for more information.");
  563. }
  564. }
  565. if(PlayerInfo[playerid][pJob2] >= 1 && (PlayerInfo[playerid][pDonateRank] < 1 && PlayerInfo[playerid][pFamed] < 1))
  566. {
  567. PlayerInfo[playerid][pJob2] = 0;
  568. SendClientMessageEx(playerid, COLOR_YELLOW, "You have lost your secondary job due to the fact that you are no longer a VIP/Famed.");
  569. }
  570. if(PlayerInfo[playerid][pJob3] >= 1 && PlayerInfo[playerid][pDonateRank] < 3)
  571. {
  572. PlayerInfo[playerid][pJob3] = 0;
  573. SendClientMessageEx(playerid, COLOR_YELLOW, "You have lost your third job due to the fact that you are no longer a Gold VIP+.");
  574. }
  575. if(PlayerInfo[playerid][pDonateRank] >= 4 && PlayerInfo[playerid][pArmsSkill] < 1200)
  576. {
  577. PlayerInfo[playerid][pArmsSkill] = 1200;
  578. SendClientMessageEx(playerid, COLOR_YELLOW, "Platinum VIP Feature: You have been given Level 5 Arms Dealer.");
  579. }
  580. if(PlayerInfo[playerid][pDonateRank] >= 4)
  581. {
  582. new days;
  583. ConvertTime(gettime() - PlayerInfo[playerid][pFreeAdsDay], .ctd=days);
  584. if(days >= 1)
  585. {
  586. PlayerInfo[playerid][pFreeAdsDay] = gettime();
  587. PlayerInfo[playerid][pFreeAdsLeft] = 3;
  588. }
  589. ConvertTime(gettime() - PlayerInfo[playerid][pVIPInviteDay], .ctd=days);
  590. if(days >= 1)
  591. {
  592. PlayerInfo[playerid][pVIPInviteDay] = gettime();
  593. PlayerInfo[playerid][pBuddyInvites] = 3;
  594. }
  595. }
  596. if (PlayerInfo[playerid][pLevel] < 6 || PlayerInfo[playerid][pHelper] > 0)
  597. {
  598. PlayerInfo[playerid][pToggledChats][0] = 0;
  599. }
  600. if (PlayerInfo[playerid][pHelper] == 1)
  601. {
  602. PlayerInfo[playerid][pToggledChats][0] = 0;
  603. }
  604. if(PlayerInfo[playerid][pAdmin] != 0 && PlayerInfo[playerid][pAdmin] != 1 && PlayerInfo[playerid][pAdmin] != 2 && PlayerInfo[playerid][pAdmin] != 3 && PlayerInfo[playerid][pAdmin] != 4 &&PlayerInfo[playerid][pAdmin] != 1337 && PlayerInfo[playerid][pAdmin] != 1338 && PlayerInfo[playerid][pAdmin] != 99999)
  605. {
  606. new name[MAX_PLAYER_NAME];
  607. GetPlayerName(playerid, name, sizeof(name));
  608. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s has attempted to log in with Admin Level %d.", GetPlayerNameEx(playerid), PlayerInfo[playerid][pAdmin]);
  609. ABroadCast( COLOR_YELLOW, string, 4 );
  610. format(string, sizeof(string), "%s(%d) has attempted to log in with Admin Level %d.", name, GetPlayerSQLId(playerid), PlayerInfo[playerid][pAdmin]);
  611. Log("logs/security.log", string);
  612. PlayerInfo[playerid][pAdmin] = 0;
  613. }
  614. if (PlayerInfo[playerid][pAdmin] > 0)
  615. {
  616. if(PlayerInfo[playerid][pAdmin] == 1)
  617. {
  618. if(PlayerInfo[playerid][pSMod] == 1)
  619. {
  620. SendClientMessageEx(playerid, COLOR_WHITE,"SERVER: You are logged in as a Senior Moderator.");
  621. format( string, sizeof( string ), "SERVER: %s has logged in as a Senior Moderator.", GetPlayerNameEx(playerid));
  622. }
  623. else
  624. {
  625. SendClientMessageEx(playerid, COLOR_WHITE,"SERVER: You are logged in as a Moderator.");
  626. format(string, sizeof(string), "SERVER: %s has logged in as a Moderator.", GetPlayerNameEx(playerid));
  627. }
  628. }
  629. else
  630. {
  631. PriorityReport[playerid] = TextDrawCreate(261.000000, 373.000000, "New Report");
  632. TextDrawBackgroundColor(PriorityReport[playerid], 255);
  633. TextDrawFont(PriorityReport[playerid], 2);
  634. TextDrawLetterSize(PriorityReport[playerid], 0.460000, 1.800000);
  635. TextDrawColor(PriorityReport[playerid], -65281);
  636. TextDrawSetOutline(PriorityReport[playerid], 0);
  637. TextDrawSetProportional(PriorityReport[playerid], 1);
  638. TextDrawSetShadow(PriorityReport[playerid], 1);
  639. new year, month, day, tmphour, tmpminute, tmpsecond, query[300];
  640. gettime(tmphour, tmpminute, tmpsecond);
  641. FixHour(tmphour);
  642. getdate(year, month, day);
  643. format(string, sizeof(string), "SERVER: You are logged in as a %s{FFFFFF}.", GetStaffRank(playerid));
  644. mysql_format(MainPipeline, query, sizeof(query), "SELECT b.shift, b.needs_%s, COUNT(DISTINCT s.id) as ShiftCount FROM cp_shift_blocks b LEFT JOIN cp_shifts s ON b.shift_id = s.shift_id AND s.date = '%d-%02d-%02d' AND s.status >= 2 AND s.type = 1 WHERE b.time_start = '%02d:00:00' GROUP BY b.shift, b.needs_%s", GetWeekday(), year, month, day, tmphour, GetWeekday());
  645. mysql_tquery(MainPipeline, query, "GetShiftInfo", "is", playerid, string);
  646. format(string, sizeof(string), "SERVER: %s has logged in as a %s{FFFFFF}.", GetPlayerNameEx(playerid), GetStaffRank(playerid));
  647. }
  648. foreach(new i: Player)
  649. {
  650. if(PlayerInfo[i][pAdmin] >= 1337 && PlayerInfo[i][pAdmin] >= PlayerInfo[playerid][pAdmin]) SendClientMessageEx(i, COLOR_WHITE, string);
  651. }
  652. }
  653. if(((0 <= PlayerInfo[playerid][pMember] < MAX_GROUPS)) && (PlayerInfo[playerid][pAdmin] < 2 || (PlayerInfo[playerid][pAdmin] >= 2 && PlayerInfo[playerid][pTogReports])))
  654. {
  655. new badge[12], employer[GROUP_MAX_NAME_LEN], rank[GROUP_MAX_RANK_LEN], division[GROUP_MAX_DIV_LEN];
  656. if(strcmp(PlayerInfo[playerid][pBadge], "None", true) != 0) format(badge, sizeof(badge), "[%s] ", PlayerInfo[playerid][pBadge]);
  657. GetPlayerGroupInfo(playerid, rank, division, employer);
  658. if(IsACop(playerid))
  659. {
  660. if(PlayerInfo[playerid][pDuty])
  661. {
  662. format(string, sizeof(string), "** %s%s %s is in service **", badge, rank, GetPlayerNameEx(playerid));
  663. foreach(new i: Player)
  664. {
  665. if(PlayerInfo[i][pToggledChats][12] == 0)
  666. {
  667. if(PlayerInfo[i][pMember] == PlayerInfo[playerid][pMember]) SendClientMessageEx(i, arrGroupData[PlayerInfo[playerid][pMember]][g_hRadioColour] * 256 + 255, string);
  668. }
  669. }
  670. }
  671. format(string, sizeof string, "%s%s has logged in.", badge, GetPlayerNameEx(playerid));
  672. GroupLog(PlayerInfo[playerid][pMember], string);
  673. }
  674. else if((0 <= PlayerInfo[playerid][pMember] < MAX_GROUPS) && !IsACop(playerid))
  675. {
  676. if(PlayerInfo[playerid][pDuty] || arrGroupData[PlayerInfo[playerid][pMember]][g_iGroupType] == GROUP_TYPE_CRIMINAL)
  677. {
  678. format(string, sizeof(string), "** %s%s %s is now available **", badge, rank, GetPlayerNameEx(playerid));
  679. foreach(new i: Player)
  680. {
  681. if(PlayerInfo[i][pToggledChats][12] == 0)
  682. {
  683. if(PlayerInfo[i][pMember] == PlayerInfo[playerid][pMember]) SendClientMessageEx(i, arrGroupData[PlayerInfo[playerid][pMember]][g_hRadioColour] * 256 + 255, string);
  684. }
  685. }
  686. }
  687. format(string, sizeof string, "%s%s has logged in.", badge, GetPlayerNameEx(playerid));
  688. GroupLog(PlayerInfo[playerid][pMember], string);
  689. }
  690. }
  691. // Create the player necessary textdraws
  692. CreatePlayerTextDraws(playerid);
  693. printf("%s has logged in.", GetPlayerNameEx(playerid));
  694. format(string, sizeof(string), "SERVER: Welcome, %s.", GetPlayerNameEx(playerid));
  695. SendClientMessageEx(playerid, COLOR_WHITE, string);
  696. SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pModel], PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z], 1.0, -1, -1, -1, -1, -1, -1);
  697. defer SkinDelay(playerid);
  698. gPlayerLogged{playerid} = 1;
  699. g_mysql_AccountOnline(playerid, servernumber);
  700. GetHomeCount(playerid);
  701. new ip[32];
  702. GetPlayerIp(playerid, ip, sizeof(ip));
  703. format(string, sizeof(string), "%s (ID: %d | SQL ID: %d | Level: %d | IP: %s) has logged in.", GetPlayerNameExt(playerid), playerid, GetPlayerSQLId(playerid), PlayerInfo[playerid][pLevel], ip);
  704. Log("logs/login.log", string);
  705. if(PlayerInfo[playerid][pTut] != -1)
  706. {
  707. if(PlayerInfo[playerid][pTut] < 14) PlayerInfo[playerid][pTut] = 0;
  708. AdvanceTutorial(playerid);
  709. }
  710. if(PlayerInfo[playerid][pAdmin] >= 2)
  711. {
  712. new tdate[11], thour[9], i_timestamp[3];
  713. getdate(i_timestamp[0], i_timestamp[1], i_timestamp[2]);
  714. format(tdate, sizeof(tdate), "%d-%02d-%02d", i_timestamp[0], i_timestamp[1], i_timestamp[2]);
  715. format(thour, sizeof(thour), "%02d:00:00", hour);
  716. GetReportCount(playerid, tdate);
  717. GetHourReportCount(playerid, thour, tdate);
  718. }
  719. if(PlayerInfo[playerid][pHelper] > 0)
  720. {
  721. new tdate[11], thour[9], i_timestamp[3];
  722. getdate(i_timestamp[0], i_timestamp[1], i_timestamp[2]);
  723. format(tdate, sizeof(tdate), "%d-%02d-%02d", i_timestamp[0], i_timestamp[1], i_timestamp[2]);
  724. format(thour, sizeof(thour), "%02d:00:00", hour);
  725. GetRequestCount(playerid, tdate);
  726. GetHourRequestCount(playerid, thour, tdate);
  727. }
  728. if(PlayerInfo[playerid][pWatchdog] > 0)
  729. {
  730. new tdate[11], thour[9], i_timestamp[3];
  731. getdate(i_timestamp[0], i_timestamp[1], i_timestamp[2]);
  732. format(tdate, sizeof(tdate), "%d-%02d-%02d", i_timestamp[0], i_timestamp[1], i_timestamp[2]);
  733. format(thour, sizeof(thour), "%02d:00:00", hour);
  734. GetWDCount(playerid, tdate);
  735. GetWDHourCount(playerid, thour, tdate);
  736. }
  737. if(PlayerInfo[playerid][pWarns] >= 3)
  738. {
  739. PlayerInfo[playerid][pWarns] = 0;
  740. //CreateBan(INVALID_PLAYER_ID, PlayerInfo[playerid][pId], playerid, PlayerInfo[playerid][pIP], "3 Warnings", 14);
  741. //return 1;
  742. }
  743. TogglePlayerSpectating(playerid, 0);
  744. format(string, sizeof(string), "~w~Welcome,~n~~y~%s!", GetPlayerNameEx(playerid));
  745. GameTextForPlayer(playerid, string, 5000, 1);
  746. SendClientMessageEx(playerid, COLOR_YELLOW, GlobalMOTD);
  747. if(PlayerInfo[playerid][pAdmin] > 0) {
  748. if(PlayerInfo[playerid][pAdmin] >= 2) SendClientMessageEx(playerid, COLOR_YELLOW, AdminMOTD);
  749. SendClientMessageEx(playerid, TEAM_AZTECAS_COLOR, CAMOTD);
  750. }
  751. if(PlayerInfo[playerid][pDonateRank] >= 1)
  752. SendClientMessageEx(playerid, COLOR_VIP, VIPMOTD);
  753. if(PlayerInfo[playerid][pHelper] >= 1) {
  754. SendClientMessageEx(playerid, TEAM_AZTECAS_COLOR, CAMOTD);
  755. if(PlayerInfo[playerid][pHelper] >= 2) {
  756. SetPVarInt(playerid, "AdvisorDuty", 1);
  757. SetPVarInt(playerid, "CAChat", 1);
  758. ++Advisors;
  759. }
  760. }
  761. if(PlayerInfo[playerid][pInt] > 0 || PlayerInfo[playerid][pVW] > 0)
  762. {
  763. TogglePlayerControllable(playerid, 1);
  764. }
  765. SetPlayerFightingStyle(playerid, PlayerInfo[playerid][pFightStyle]);
  766. LoadPlayerDisabledVehicles(playerid);
  767. SetPlayerToTeamColor(playerid);
  768. if(PlayerInfo[playerid][pLottoNr] > 0)
  769. {
  770. CountTickets(playerid);
  771. LoadTickets(playerid);
  772. }
  773. mysql_format(MainPipeline, string, sizeof(string), "SELECT * FROM `rentedcars` WHERE `sqlid` = '%d'", GetPlayerSQLId(playerid));
  774. mysql_tquery(MainPipeline, string, "LoadRentedCar", "i", playerid);
  775. if(0 <= PlayerInfo[playerid][pMember] < MAX_GROUPS)
  776. {
  777. for(new i = 0; i < 3; i++)
  778. {
  779. format(string, sizeof(string), "MOTD: %s", gMOTD[PlayerInfo[playerid][pMember]][i]);
  780. SendClientMessageEx(playerid, arrGroupData[PlayerInfo[playerid][pMember]][g_hDutyColour] * 256 + 255, string);
  781. }
  782. }
  783. if(IsAHitman(playerid))
  784. {
  785. format(szMiscArray, sizeof szMiscArray, "Agency MOTD: %s", HMAMOTD);
  786. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, szMiscArray);
  787. }
  788. CountFlags(playerid);
  789. if(PlayerInfo[playerid][pFlagged] > 5)
  790. {
  791. format(string, sizeof(string), "SERVER: %s has %d outstanding flags.", GetPlayerNameEx(playerid), PlayerInfo[playerid][pFlagged]);
  792. ABroadCast(COLOR_WHITE, string, 2);
  793. }
  794. LoadTreasureInventory(playerid);
  795. if(PlayerInfo[playerid][pOrder] > 0)
  796. {
  797. if(PlayerInfo[playerid][pOrderConfirmed] == 1)
  798. {
  799. format(string, sizeof(string), "SERVER: %s has an outstanding shop (Confirmed) order.", GetPlayerNameEx(playerid));
  800. ShopTechBroadCast(COLOR_WHITE, string);
  801. }
  802. else
  803. {
  804. format(string, sizeof(string), "SERVER: %s has an outstanding shop (Invalid) order.", GetPlayerNameEx(playerid));
  805. ShopTechBroadCast(COLOR_WHITE, string);
  806. }
  807. }
  808. if(PlayerInfo[playerid][pDonateRank] >= 3)
  809. {
  810. new bmonth, bday, byear;
  811. new year, month, day;
  812. new szQuery[128];
  813. getdate(year, month, day);
  814. sscanf(PlayerInfo[playerid][pBirthDate], "p<->iii", byear, bmonth, bday);
  815. printf("%d-%d-%d -pBirthDate",byear, bmonth, bday);
  816. printf("%d-%d-%d -getdate", year, month, day);
  817. if(month == bmonth && day == bday)
  818. {
  819. if(PlayerInfo[playerid][pLastBirthday] >= gettime()-86400 || gettime() >= PlayerInfo[playerid][pLastBirthday]+28512000)
  820. {
  821. SetPVarInt(playerid, "pBirthday", 1);
  822. PlayerInfo[playerid][pLastBirthday] = gettime();
  823. mysql_format(MainPipeline, szQuery, sizeof(szQuery), "UPDATE `accounts` SET `LastBirthday`=%d WHERE `Username` = '%s'", PlayerInfo[playerid][pLastBirthday], GetPlayerNameExt(playerid));
  824. mysql_tquery(MainPipeline, szQuery, "OnQueryFinish", "ii", SENDDATA_THREAD, playerid);
  825. }
  826. }
  827. else
  828. {
  829. DeletePVar(playerid, "pBirthday");
  830. }
  831. }
  832. DayDedicatedPlayer(playerid);
  833. if(GetPVarInt(playerid, "pBirthday") == 1)
  834. {
  835. if(PlayerInfo[playerid][pReceivedBGift] != 1)
  836. {
  837. PlayerInfo[playerid][pReceivedBGift] = 1;
  838. GiftPlayer(MAX_PLAYERS, playerid);
  839. format(string, sizeof(string), "Happy Birthday %s! You have received a free gift!", GetPlayerNameEx(playerid));
  840. SendClientMessageEx(playerid, COLOR_YELLOW, string);
  841. format(string, sizeof(string), "%s(%d) has received a free gift for his birthday (%s) (OnPlayerLoad).", GetPlayerNameEx(playerid), GetPlayerSQLId(playerid), PlayerInfo[playerid][pBirthDate]);
  842. Log("logs/birthday.log", string);
  843. OnPlayerStatsUpdate(playerid);
  844. }
  845. SendClientMessageEx(playerid, COLOR_YELLOW, "Gold VIP: You will get x2 paycheck as a birthday gift today.");
  846. }
  847. else
  848. {
  849. PlayerInfo[playerid][pReceivedBGift] = 0;
  850. }
  851. // Auto Levels
  852. if(PlayerInfo[playerid][pAdmin] < 2) LevelCheck(playerid);
  853. new
  854. iCheckOne = INVALID_HOUSE_ID,
  855. iCheckTwo = INVALID_HOUSE_ID,
  856. iCheckThree = INVALID_HOUSE_ID,
  857. szPlayerName[MAX_PLAYER_NAME];
  858. GetPlayerName(playerid, szPlayerName, sizeof(szPlayerName));
  859. for(new i = 0; i < MAX_HOUSES; ++i)
  860. {
  861. if(HouseInfo[i][hOwnerID] == GetPlayerSQLId(playerid))
  862. {
  863. if(iCheckOne == INVALID_HOUSE_ID) iCheckOne = i;
  864. else if(iCheckTwo == INVALID_HOUSE_ID) iCheckTwo = i;
  865. else if(iCheckThree == INVALID_HOUSE_ID) iCheckThree = i;
  866. else break;
  867. }
  868. }
  869. if(iCheckOne != INVALID_HOUSE_ID) PlayerInfo[playerid][pPhousekey] = iCheckOne;
  870. else PlayerInfo[playerid][pPhousekey] = INVALID_HOUSE_ID;
  871. if(iCheckTwo != INVALID_HOUSE_ID) PlayerInfo[playerid][pPhousekey2] = iCheckTwo;
  872. else PlayerInfo[playerid][pPhousekey2] = INVALID_HOUSE_ID;
  873. if(iCheckThree != INVALID_HOUSE_ID) PlayerInfo[playerid][pPhousekey3] = iCheckThree;
  874. else PlayerInfo[playerid][pPhousekey3] = INVALID_HOUSE_ID;
  875. if(PlayerInfo[playerid][pRenting] != INVALID_HOUSE_ID && (PlayerInfo[playerid][pPhousekey] != INVALID_HOUSE_ID || PlayerInfo[playerid][pPhousekey2] != INVALID_HOUSE_ID || PlayerInfo[playerid][pPhousekey3] != INVALID_HOUSE_ID)) {
  876. PlayerInfo[playerid][pRenting] = INVALID_HOUSE_ID;
  877. }
  878. if(iRewardPlay)
  879. {
  880. format(string, sizeof(string), "You currently have %d Reward Hours, please check /rewards for more information.", floatround(PlayerInfo[playerid][pRewardHours]));
  881. SendClientMessageEx(playerid, COLOR_YELLOW, string);
  882. }
  883. if(1 <= PlayerInfo[playerid][pDonateRank] <= 3 && PlayerInfo[playerid][pVIPExpire] > 0 && (PlayerInfo[playerid][pVIPExpire] - 259200 < gettime()))
  884. {
  885. SendClientMessageEx(playerid, COLOR_RED, "Your VIP expires in less than three days - renew today at shop.ng-gaming.net! Type /vipdate for more information.");
  886. }
  887. if(PlayerInfo[playerid][pRVehWarns] != 0 && PlayerInfo[playerid][pLastRVehWarn] + 2592000 < gettime()) {
  888. SendClientMessageEx(playerid, COLOR_WHITE, "Your restricted vehicle warnings have expired!");
  889. PlayerInfo[playerid][pLastRVehWarn] = 0;
  890. PlayerInfo[playerid][pRVehWarns] = 0;
  891. }
  892. SetUnreadMailsNotification(playerid);
  893. #if defined zombiemode
  894. if(zombieevent == 1)
  895. {
  896. mysql_format(MainPipeline, string, sizeof(string), "SELECT `id` FROM `zombie` WHERE `id` = '%d'", GetPlayerSQLId(playerid));
  897. mysql_tquery(MainPipeline, string, "OnZombieCheck", "i", playerid);
  898. }
  899. #endif
  900. if(PlayerInfo[playerid][pWeedObject] != 0) {
  901. for(new i; i < MAX_PLANTS; i++)
  902. {
  903. if(Plants[i][pOwner] == GetPlayerSQLId(playerid))
  904. {
  905. return 1;
  906. }
  907. }
  908. PlayerInfo[playerid][pWeedObject] = 0;
  909. }
  910. if(PlayerInfo[playerid][pAdmin] < 2 && PlayerInfo[playerid][pWatchdog] == 0 && !IsValidName(GetPlayerNameExt(playerid)))
  911. {
  912. SendClientMessageEx(playerid, COLOR_WHITE, "You have been kicked for having a Non RP Name.");
  913. SetPVarString(playerid, "KickNonRP", GetPlayerNameEx(playerid));
  914. SetTimerEx("KickNonRP", 3000, false, "i", playerid);
  915. }
  916. new year, month, day;
  917. getdate(year, month, day);
  918. if(PlayerInfo[playerid][pReceivedPrize] == 0)
  919. {
  920. if(month == 12 && day == 22 && year == 2016)
  921. {
  922. new icount = GetPlayerToySlots(playerid), success = 0;
  923. for(new v = 0; v < icount; v++)
  924. {
  925. if(PlayerToyInfo[playerid][v][ptModelID] == 0)
  926. {
  927. PlayerToyInfo[playerid][v][ptModelID] = 19065;
  928. PlayerToyInfo[playerid][v][ptBone] = 6;
  929. PlayerToyInfo[playerid][v][ptPosX] = 0.0;
  930. PlayerToyInfo[playerid][v][ptPosY] = 0.0;
  931. PlayerToyInfo[playerid][v][ptPosZ] = 0.0;
  932. PlayerToyInfo[playerid][v][ptRotX] = 0.0;
  933. PlayerToyInfo[playerid][v][ptRotY] = 0.0;
  934. PlayerToyInfo[playerid][v][ptRotZ] = 0.0;
  935. PlayerToyInfo[playerid][v][ptScaleX] = 1.0;
  936. PlayerToyInfo[playerid][v][ptScaleY] = 1.0;
  937. PlayerToyInfo[playerid][v][ptScaleZ] = 1.0;
  938. PlayerToyInfo[playerid][v][ptTradable] = 1;
  939. PlayerToyInfo[playerid][v][ptAutoAttach] = -2;
  940. SendClientMessageEx(playerid, COLOR_GRAD2, "You've been gifted a santa hat toy! Merry Christmas!");
  941. g_mysql_NewToy(playerid, v);
  942. success = 1;
  943. PlayerInfo[playerid][pReceivedPrize] = 1;
  944. break;
  945. }
  946. }
  947. if(success == 0)
  948. {
  949. for(new i = 0; i < MAX_PLAYERTOYS; i++)
  950. {
  951. if(PlayerToyInfo[playerid][i][ptModelID] == 0)
  952. {
  953. PlayerToyInfo[playerid][i][ptModelID] = 19065;
  954. PlayerToyInfo[playerid][i][ptBone] = 6;
  955. PlayerToyInfo[playerid][i][ptPosX] = 0.0;
  956. PlayerToyInfo[playerid][i][ptPosY] = 0.0;
  957. PlayerToyInfo[playerid][i][ptPosZ] = 0.0;
  958. PlayerToyInfo[playerid][i][ptRotX] = 0.0;
  959. PlayerToyInfo[playerid][i][ptRotY] = 0.0;
  960. PlayerToyInfo[playerid][i][ptRotZ] = 0.0;
  961. PlayerToyInfo[playerid][i][ptScaleX] = 1.0;
  962. PlayerToyInfo[playerid][i][ptScaleY] = 1.0;
  963. PlayerToyInfo[playerid][i][ptScaleZ] = 1.0;
  964. PlayerToyInfo[playerid][i][ptTradable] = 1;
  965. PlayerToyInfo[playerid][i][ptSpecial] = 1;
  966. PlayerToyInfo[playerid][i][ptAutoAttach] = -2;
  967. g_mysql_NewToy(playerid, i);
  968. PlayerInfo[playerid][pReceivedPrize] = 1;
  969. SendClientMessageEx(playerid, COLOR_GRAD2, "You've been gifted a santa hat toy! Merry Christmas!");
  970. SendClientMessageEx(playerid, COLOR_GRAD1, "Due to you not having any available slots, we've temporarily gave you an additional slot to use/sell/trade your toy.");
  971. SendClientMessageEx(playerid, COLOR_RED, "Note: Please take note that after selling the toy, the temporarily additional toy slot will be removed.");
  972. break;
  973. }
  974. }
  975. }
  976. print("Object ID: 19065");
  977. }
  978. if(PlayerInfo[playerid][pConnectHours] > 7 && month == 12 && day == 31 && year == 2016)
  979. {
  980. PlayerInfo[playerid][pFirework] += 5;
  981. PlayerInfo[playerid][pReceivedPrize] = 1;
  982. SendClientMessageEx(playerid, COLOR_GRAD2, "You've been gifted 5 fireworks to celebrate the new year!");
  983. }
  984. }
  985. if(PlayerInfo[playerid][pWatchdog] >= 1)
  986. {
  987. PlayerInfo[playerid][pToggledChats][17] = 0;
  988. }
  989. if(PlayerInfo[playerid][pVIPMod])
  990. {
  991. SetPVarInt(playerid, "vStaffChat", 1);
  992. }
  993. if(PlayerInfo[playerid][pSEC] >= 1) SetPVarInt(playerid, "SECChat", 1);
  994. CreateAccountRestTextdraw(playerid);
  995. if(PlayerInfo[playerid][pAccountRestricted] == 1)
  996. {
  997. PlayerTextDrawShow(playerid, AccountRestriction[playerid]);
  998. PlayerTextDrawShow(playerid, AccountRestrictionEx[playerid]);
  999. }
  1000. //PVars for filterscripts
  1001. if(PlayerInfo[playerid][pAdmin] >= 1) SetPVarInt(playerid, "aLvl", PlayerInfo[playerid][pAdmin]);
  1002. if(PlayerInfo[playerid][pHelper] >= 1) SetPVarInt(playerid, "hLvl", PlayerInfo[playerid][pHelper]);
  1003. if(PlayerInfo[playerid][pMember] != INVALID_GROUP_ID) SetPVarInt(playerid, "fLvl", PlayerInfo[playerid][pMember]);
  1004. new szQuery[128];
  1005. mysql_format(MainPipeline, szQuery, sizeof(szQuery), "SELECT * FROM `nonrppoints` WHERE `sqlid` = '%d' AND `active` = '1'", GetPlayerSQLId(playerid));
  1006. mysql_tquery(MainPipeline, szQuery, "CheckClientWatchlist", "i", playerid);
  1007. mysql_format(MainPipeline, szQuery, sizeof(szQuery), "SELECT `id`, `Subject` FROM `bugs` WHERE `status` = 6 AND `Userid` = %d", GetPlayerSQLId(playerid));
  1008. mysql_tquery(MainPipeline, szQuery, "CheckPendingBugReports", "i", playerid);
  1009. defer CheckVehiclesLeftSpawned(playerid);
  1010. //mysql_format(MainPipeline, szQuery, sizeof(szQuery), "SELECT COUNT(*) as aFlagCount FROM `flags` WHERE id=%d AND type = 2", GetPlayerSQLId(playerid));
  1011. //mysql_tquery(MainPipeline, szQuery, "FlagQueryFinish", "iii", playerid, INVALID_PLAYER_ID, 4);
  1012. mysql_format(MainPipeline, szQuery, sizeof(szQuery), "SELECT COUNT(*) as aFlagCount FROM `flags` WHERE id=%d AND type = 2", GetPlayerSQLId(playerid));
  1013. mysql_tquery(MainPipeline, szQuery,"FlagQueryFinish", "iii", playerid, INVALID_PLAYER_ID, 4);
  1014. if(PlayerInfo[playerid][mPurchaseCount][1] && PlayerInfo[playerid][mCooldown][1]) format(string, sizeof(string), "You currently have a active Job Boost for the %s job for another %d minute(s).", GetJobName(PlayerInfo[playerid][mBoost][0]), PlayerInfo[playerid][mCooldown][1]), SendClientMessageEx(playerid, -1, string);
  1015. if(PlayerInfo[playerid][mCooldown][4] && PlayerInfo[playerid][mCooldown][4]) format(string, sizeof(string), "You currently have a active Energy Bar for another %d minute(s).", PlayerInfo[playerid][mCooldown][4]), SendClientMessageEx(playerid, -1, string);
  1016. if(PlayerInfo[playerid][mPurchaseCount][12] && PlayerInfo[playerid][mCooldown][12]) format(string, sizeof(string), "You currently have a active Quick Bank Access for another %d minute(s).", PlayerInfo[playerid][mCooldown][12]), SendClientMessageEx(playerid, -1, string);
  1017. if(PlayerInfo[playerid][pPhousekey] != INVALID_HOUSE_ID && HouseInfo[PlayerInfo[playerid][pPhousekey]][hSignExpire]) format(string, sizeof(string), "Your first house has a active House Sale Sign for another %s", ConvertTimeS(HouseInfo[PlayerInfo[playerid][pPhousekey]][hSignExpire]-gettime())), SendClientMessageEx(playerid, -1, string);
  1018. if(PlayerInfo[playerid][pPhousekey2] != INVALID_HOUSE_ID && HouseInfo[PlayerInfo[playerid][pPhousekey2]][hSignExpire]) format(string, sizeof(string), "Your second house has a active House Sale Sign for another %s", ConvertTimeS(HouseInfo[PlayerInfo[playerid][pPhousekey2]][hSignExpire]-gettime())), SendClientMessageEx(playerid, -1, string);
  1019. if(PlayerInfo[playerid][pPhousekey3] != INVALID_HOUSE_ID && HouseInfo[PlayerInfo[playerid][pPhousekey3]][hSignExpire]) format(string, sizeof(string), "Your third house has a active House Sale Sign for another %s", ConvertTimeS(HouseInfo[PlayerInfo[playerid][pPhousekey3]][hSignExpire]-gettime())), SendClientMessageEx(playerid, -1, string);
  1020. if(zombieevent && PlayerInfo[playerid][mInventory][18]) format(string, sizeof(string), "You currently have a antibiotic flowing through your bloodstream protecting you from %d zombie bite(s).", PlayerInfo[playerid][mInventory][18]), SendClientMessageEx(playerid, -1, string);
  1021. if((PlayerInfo[playerid][pInsurance] == HOSPITAL_LSVIP || PlayerInfo[playerid][pInsurance] == HOSPITAL_SFVIP || PlayerInfo[playerid][pInsurance] == HOSPITAL_LVVIP || PlayerInfo[playerid][pInsurance] == HOSPITAL_HOMECARE) && !PlayerInfo[playerid][pDonateRank]) PlayerInfo[playerid][pInsurance] = random(2);
  1022. if(PlayerInfo[playerid][pForcePasswordChange] == 1) ShowLoginDialogs(playerid, 0);
  1023. if(!fexist("NoWhitelist.h")) CountryCheck(playerid);
  1024. if(2 <= PlayerInfo[playerid][pAdmin] <= 4) ResetPlayerCash(playerid), PlayerInfo[playerid][pAccount] = 0;
  1025. CallLocalFunction("NotifyInactiveStatus", "i", playerid);
  1026. // if(PlayerInfo[playerid][pTut] && emailcheck) InvalidEmailCheck(playerid, PlayerInfo[playerid][pEmail], 1);
  1027. if(month == 4 && (day == 25 || day == 26)) // NGG B-Day 2015
  1028. {
  1029. if(PlayerInfo[playerid][pLevel] >= 3 && !PlayerInfo[playerid][pDonateRank])
  1030. {
  1031. PlayerInfo[playerid][pDonateRank] = 2;
  1032. PlayerInfo[playerid][pTempVIP] = 0;
  1033. PlayerInfo[playerid][pBuddyInvited] = 0;
  1034. PlayerInfo[playerid][pVIPSellable] = 1;
  1035. PlayerInfo[playerid][pVIPExpire] = 1430110800;
  1036. LoadPlayerDisabledVehicles(playerid);
  1037. SendClientMessageEx(playerid, -1, "You have been gifted Silver VIP for playing on NGG's B-Day weekend!");
  1038. }
  1039. if(PlayerInfo[playerid][pDonateRank] == 4 && !PlayerInfo[playerid][pReceivedPrize])
  1040. {
  1041. PlayerInfo[playerid][pEventTokens] += 10;
  1042. PlayerInfo[playerid][pReceivedPrize] = 1;
  1043. SendClientMessageEx(playerid, -1, "You have been given 10 event tokens for logging in as a PVIP!");
  1044. }
  1045. }
  1046. //if(PlayerInfo[playerid][pChatbox][19] == 0) PlayerTextDrawShow(playerid, TD_ChatBox[0]);
  1047. if(PlayerInfo[playerid][pToggledChats][7]) PhoneOnline[playerid] = 1;
  1048. if(PlayerInfo[playerid][pTut] == -1 && PlayerInfo[playerid][pNation] != 0 && PlayerInfo[playerid][pNation] != 1) return ShowPlayerDialogEx(playerid, DIALOG_REGISTER_NATION, DIALOG_STYLE_LIST, "You currently do not have a nation. Please chose one.", "San Andreas\nNew Robada", "Select", "<<");
  1049. return 1;
  1050. }
  1051. forward OnFreeGift(playerid, date[]);
  1052. public OnFreeGift(playerid, date[]) {
  1053. return 1;
  1054. }