upgrades.pwn 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666
  1. /*
  2. /$$ /$$ /$$$$$$ /$$$$$$$ /$$$$$$$
  3. | $$$ | $$ /$$__ $$ | $$__ $$| $$__ $$
  4. | $$$$| $$| $$ \__/ | $$ \ $$| $$ \ $$
  5. | $$ $$ $$| $$ /$$$$ /$$$$$$| $$$$$$$/| $$$$$$$/
  6. | $$ $$$$| $$|_ $$|______/| $$__ $$| $$____/
  7. | $$\ $$$| $$ \ $$ | $$ \ $$| $$
  8. | $$ \ $$| $$$$$$/ | $$ | $$| $$
  9. |__/ \__/ \______/ |__/ |__/|__/
  10. Upgrades System
  11. Next Generation Gaming, LLC
  12. (created by Next Generation Gaming Development Team)
  13. * Copyright (c) 2016, Next Generation Gaming, LLC
  14. *
  15. * All rights reserved.
  16. *
  17. * Redistribution and use in source and binary forms, with or without modification,
  18. * are not permitted in any case.
  19. *
  20. *
  21. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  22. * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  23. * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  24. * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
  25. * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  26. * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  27. * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
  28. * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
  29. * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
  30. * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  31. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  32. */
  33. CMD:resetupgrades(playerid, params[]) {
  34. if(gPlayerLogged{playerid} == 0) {
  35. SendClientMessageEx(playerid, COLOR_GRAD1, "You're not logged in.");
  36. }
  37. else if (GetPlayerCash(playerid) < 100000) {
  38. SendClientMessageEx(playerid, COLOR_GRAD1, "You need $100,000 to reset your upgrade points.");
  39. }
  40. else if (PlayerInfo[playerid][pLevel] < 2) {
  41. SendClientMessageEx(playerid, COLOR_GRAD1, "You must be at least level 2.");
  42. }
  43. else {
  44. PlayerInfo[playerid][gPupgrade] = (PlayerInfo[playerid][pLevel]-1)*2;
  45. PlayerInfo[playerid][pSHealth] = 0.0;
  46. if(PlayerInfo[playerid][pPhousekey] != INVALID_HOUSE_ID) {
  47. HouseInfo[PlayerInfo[playerid][pPhousekey]][hGLUpgrade] = 1;
  48. SaveHouse(PlayerInfo[playerid][pPhousekey]);
  49. }
  50. if(PlayerInfo[playerid][pPhousekey2] != INVALID_HOUSE_ID) {
  51. HouseInfo[PlayerInfo[playerid][pPhousekey2]][hGLUpgrade] = 1;
  52. SaveHouse(PlayerInfo[playerid][pPhousekey2]);
  53. }
  54. if(PlayerInfo[playerid][pPhousekey3] != INVALID_HOUSE_ID) {
  55. HouseInfo[PlayerInfo[playerid][pPhousekey3]][hGLUpgrade] = 1;
  56. SaveHouse(PlayerInfo[playerid][pPhousekey3]);
  57. }
  58. for(new d = 0 ; d < MAX_PLAYERVEHICLES; d++)
  59. {
  60. PlayerVehicleInfo[playerid][d][pvWepUpgrade] = 0;
  61. }
  62. GivePlayerCash(playerid,-100000);
  63. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  64. new szMessage[73];
  65. format(szMessage, sizeof(szMessage), "You have reset your upgrades - you now have %i unspent upgrade points.", PlayerInfo[playerid][gPupgrade]);
  66. SendClientMessageEx(playerid, COLOR_GRAD2, szMessage);
  67. }
  68. return 1;
  69. }
  70. // Auto Levels
  71. LevelCheck(playerid)
  72. {
  73. if (gPlayerLogged{playerid} != 0)
  74. {
  75. if(PlayerInfo[playerid][pLevel] >= 0)
  76. {
  77. new nxtlevel = PlayerInfo[playerid][pLevel]+1;
  78. new expamount = nxtlevel*4;
  79. if (PlayerInfo[playerid][pExp] < expamount)
  80. {
  81. return 0;
  82. }
  83. else if(PlayerInfo[playerid][pExp] > expamount)
  84. {
  85. while(PlayerInfo[playerid][pExp] > expamount)
  86. {
  87. PlayerInfo[playerid][pLevel]++;
  88. PlayerInfo[playerid][pExp] = PlayerInfo[playerid][pExp]-expamount;
  89. PlayerInfo[playerid][gPupgrade] = PlayerInfo[playerid][gPupgrade]+2;
  90. SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);
  91. nxtlevel = PlayerInfo[playerid][pLevel]+1;
  92. expamount = nxtlevel*4;
  93. }
  94. SendClientMessageEx(playerid, COLOR_WHITE, "You had an excess amount of respect points, hence your level was adjusted to %d.", PlayerInfo[playerid][pLevel]);
  95. return 1;
  96. }
  97. else
  98. {
  99. new string[92];
  100. format(string, sizeof(string), "~g~LEVEL UP~n~~w~You Are Now Level %d", nxtlevel);
  101. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  102. PlayerInfo[playerid][pLevel]++;
  103. PlayerInfo[playerid][pExp] = PlayerInfo[playerid][pExp]-expamount;
  104. PlayerInfo[playerid][gPupgrade] = PlayerInfo[playerid][gPupgrade]+2;
  105. GameTextForPlayer(playerid, string, 5000, 1);
  106. format(string, sizeof(string), "You have leveled up to %d, and gained %i upgrade points! /upgrade to use them.", nxtlevel, PlayerInfo[playerid][gPupgrade]);
  107. SendClientMessageEx(playerid, COLOR_GRAD1, string);
  108. SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);
  109. if(PlayerInfo[playerid][pLevel] == 3)
  110. {
  111. new szQuery[128],
  112. szString[128],
  113. szReferrer = ReturnUser(PlayerInfo[playerid][pReferredBy]);
  114. if(strcmp(PlayerInfo[playerid][pReferredBy], "Nobody") != 0)
  115. {
  116. if(IsPlayerConnected(szReferrer))
  117. {
  118. if(PlayerInfo[szReferrer][pRefers] < 5 && PlayerInfo[szReferrer][pRefers] > 0)
  119. {
  120. PlayerInfo[szReferrer][pCredits] += CREDITS_AMOUNT_REFERRAL;
  121. PlayerInfo[szReferrer][pRefers] ++;
  122. mysql_format(MainPipeline, szQuery, sizeof(szQuery), "UPDATE `accounts` SET `Credits`=%d WHERE `Username` = '%s'", PlayerInfo[szReferrer][pCredits], GetPlayerNameExt(szReferrer));
  123. mysql_tquery(MainPipeline, szQuery, "OnQueryFinish", "ii", SENDDATA_THREAD, playerid);
  124. format(szString, sizeof(szString), "%s(%d) has received %d credits for referring a player (The player reached level 3)", GetPlayerNameEx(szReferrer), GetPlayerSQLId(szReferrer), CREDITS_AMOUNT_REFERRAL);
  125. Log("logs/referral.log", szString);
  126. format(string, sizeof(string), "Your friend '%s' that you referred to the server has reached level 3. Therefore you have received 100 credits.", GetPlayerNameEx(playerid));
  127. SendClientMessageEx(szReferrer, COLOR_LIGHTBLUE, string);
  128. }
  129. else if(PlayerInfo[szReferrer][pRefers] == 5)
  130. {
  131. PlayerInfo[szReferrer][pCredits] += CREDITS_AMOUNT_REFERRAL*5;
  132. PlayerInfo[szReferrer][pRefers] ++;
  133. mysql_format(MainPipeline, szQuery, sizeof(szQuery), "UPDATE `accounts` SET `Credits`=%d WHERE `Username` = '%s'", PlayerInfo[szReferrer][pCredits], GetPlayerNameExt(szReferrer));
  134. mysql_tquery(MainPipeline, szQuery, "OnQueryFinish", "ii", SENDDATA_THREAD, playerid);
  135. format(szString, sizeof(szString), "%s(%d) has received %d credits for referring a player (The player reached level 3)", GetPlayerNameEx(szReferrer), GetPlayerSQLId(szReferrer), CREDITS_AMOUNT_REFERRAL*5);
  136. Log("logs/referral.log", szString);
  137. format(string, sizeof(string), "Your friend '%s' that you referred to the server has reached level 3. Therefore you have received 500 credits.", GetPlayerNameEx(playerid));
  138. SendClientMessageEx(szReferrer, COLOR_LIGHTBLUE, string);
  139. }
  140. else if(PlayerInfo[szReferrer][pRefers] < 10 && PlayerInfo[szReferrer][pRefers] > 5)
  141. {
  142. PlayerInfo[szReferrer][pCredits] += CREDITS_AMOUNT_REFERRAL;
  143. PlayerInfo[szReferrer][pRefers] ++;
  144. mysql_format(MainPipeline, szQuery, sizeof(szQuery), "UPDATE `accounts` SET `Credits`=%d WHERE `Username` = '%s'", PlayerInfo[szReferrer][pCredits], GetPlayerNameExt(szReferrer));
  145. mysql_tquery(MainPipeline, szQuery, "OnQueryFinish", "ii", SENDDATA_THREAD, playerid);
  146. format(szString, sizeof(szString), "%s(%d) has received %d credits for referring a player (The player reached level 3)", GetPlayerNameEx(szReferrer), GetPlayerSQLId(szReferrer), CREDITS_AMOUNT_REFERRAL);
  147. Log("logs/referral.log", szString);
  148. format(string, sizeof(string), "Your friend '%s' that you referred to the server has reached level 3. Therefore you have received 100 credits.", GetPlayerNameEx(playerid));
  149. SendClientMessageEx(szReferrer, COLOR_LIGHTBLUE, string);
  150. }
  151. else if(PlayerInfo[szReferrer][pRefers] == 10)
  152. {
  153. PlayerInfo[szReferrer][pCredits] += CREDITS_AMOUNT_REFERRAL*10;
  154. PlayerInfo[szReferrer][pRefers] ++;
  155. mysql_format(MainPipeline, szQuery, sizeof(szQuery), "UPDATE `accounts` SET `Credits`=%d WHERE `Username` = '%s'", PlayerInfo[szReferrer][pCredits], GetPlayerNameExt(szReferrer));
  156. mysql_tquery(MainPipeline, szQuery, "OnQueryFinish", "ii", SENDDATA_THREAD, playerid);
  157. format(szString, sizeof(szString), "%s(%d) has received %d credits for referring a player (The player reached level 3)", GetPlayerNameEx(szReferrer), GetPlayerSQLId(szReferrer), CREDITS_AMOUNT_REFERRAL*10);
  158. Log("logs/referral.log", szString);
  159. format(string, sizeof(string), "Your friend '%s' that you referred to the server has reached level 3. Therefore you have received 1000 credits.", GetPlayerNameEx(playerid));
  160. SendClientMessageEx(szReferrer, COLOR_LIGHTBLUE, string);
  161. }
  162. else if(PlayerInfo[szReferrer][pRefers] < 15 && PlayerInfo[szReferrer][pRefers] > 10)
  163. {
  164. PlayerInfo[szReferrer][pCredits] += CREDITS_AMOUNT_REFERRAL;
  165. PlayerInfo[szReferrer][pRefers] ++;
  166. mysql_format(MainPipeline, szQuery, sizeof(szQuery), "UPDATE `accounts` SET `Credits`=%d WHERE `Username` = '%s'", PlayerInfo[szReferrer][pCredits], GetPlayerNameExt(szReferrer));
  167. mysql_tquery(MainPipeline, szQuery, "OnQueryFinish", "ii", SENDDATA_THREAD, playerid);
  168. format(szString, sizeof(szString), "%s(%d) has received %d credits for referring a player (The player reached level 3)", GetPlayerNameEx(szReferrer), GetPlayerSQLId(szReferrer), CREDITS_AMOUNT_REFERRAL);
  169. Log("logs/referral.log", szString);
  170. format(string, sizeof(string), "Your friend '%s' that you referred to the server has reached level 3. Therefore you have received 100 credits.", GetPlayerNameEx(playerid));
  171. SendClientMessageEx(szReferrer, COLOR_LIGHTBLUE, string);
  172. }
  173. else if(PlayerInfo[szReferrer][pRefers] == 15)
  174. {
  175. PlayerInfo[szReferrer][pCredits] += CREDITS_AMOUNT_REFERRAL*15;
  176. PlayerInfo[szReferrer][pRefers] ++;
  177. mysql_format(MainPipeline, szQuery, sizeof(szQuery), "UPDATE `accounts` SET `Credits`=%d WHERE `Username` = '%s'", PlayerInfo[szReferrer][pCredits], GetPlayerNameExt(szReferrer));
  178. mysql_tquery(MainPipeline, szQuery, "OnQueryFinish", "ii", SENDDATA_THREAD, playerid);
  179. format(szString, sizeof(szString), "%s(%d) has received %d credits for referring a player (The player reached level 3)", GetPlayerNameEx(szReferrer), GetPlayerSQLId(szReferrer), CREDITS_AMOUNT_REFERRAL*15);
  180. Log("logs/referral.log", szString);
  181. format(string, sizeof(string), "Your friend '%s' that you referred to the server has reached level 3. Therefore you have received 1500 credits.", GetPlayerNameEx(playerid));
  182. SendClientMessageEx(szReferrer, COLOR_LIGHTBLUE, string);
  183. }
  184. else if(PlayerInfo[szReferrer][pRefers] < 20 && PlayerInfo[szReferrer][pRefers] > 15)
  185. {
  186. PlayerInfo[szReferrer][pCredits] += CREDITS_AMOUNT_REFERRAL;
  187. PlayerInfo[szReferrer][pRefers] ++;
  188. mysql_format(MainPipeline, szQuery, sizeof(szQuery), "UPDATE `accounts` SET `Credits`=%d WHERE `Username` = '%s'", PlayerInfo[szReferrer][pCredits], GetPlayerNameExt(szReferrer));
  189. mysql_tquery(MainPipeline, szQuery, "OnQueryFinish", "ii", SENDDATA_THREAD, playerid);
  190. format(szString, sizeof(szString), "%s(%d) has received %d credits for referring a player (The player reached level 3)", GetPlayerNameEx(szReferrer), GetPlayerSQLId(szReferrer), CREDITS_AMOUNT_REFERRAL);
  191. Log("logs/referral.log", szString);
  192. format(string, sizeof(string), "Your friend '%s' that you referred to the server has reached level 3. Therefore you have received 100 credits.", GetPlayerNameEx(playerid));
  193. SendClientMessageEx(szReferrer, COLOR_LIGHTBLUE, string);
  194. }
  195. else if(PlayerInfo[szReferrer][pRefers] == 20)
  196. {
  197. PlayerInfo[szReferrer][pCredits] += CREDITS_AMOUNT_REFERRAL*20;
  198. PlayerInfo[szReferrer][pRefers] ++;
  199. mysql_format(MainPipeline, szQuery, sizeof(szQuery), "UPDATE `accounts` SET `Credits`=%d WHERE `Username` = '%s'", PlayerInfo[szReferrer][pCredits], GetPlayerNameExt(szReferrer));
  200. mysql_tquery(MainPipeline, szQuery, "OnQueryFinish", "ii", SENDDATA_THREAD, playerid);
  201. format(szString, sizeof(szString), "%s(%d) has received %d credits for referring a player (The player reached level 3)", GetPlayerNameEx(szReferrer), GetPlayerSQLId(szReferrer), CREDITS_AMOUNT_REFERRAL*20);
  202. Log("logs/referral.log", szString);
  203. format(string, sizeof(string), "Your friend '%s' that you referred to the server has reached level 3. Therefore you have received 2000 credits.", GetPlayerNameEx(playerid));
  204. SendClientMessageEx(szReferrer, COLOR_LIGHTBLUE, string);
  205. }
  206. else if(PlayerInfo[szReferrer][pRefers] < 25 && PlayerInfo[szReferrer][pRefers] > 20)
  207. {
  208. PlayerInfo[szReferrer][pCredits] += CREDITS_AMOUNT_REFERRAL;
  209. PlayerInfo[szReferrer][pRefers] ++;
  210. mysql_format(MainPipeline, szQuery, sizeof(szQuery), "UPDATE `accounts` SET `Credits`=%d WHERE `Username` = '%s'", PlayerInfo[szReferrer][pCredits], GetPlayerNameExt(szReferrer));
  211. mysql_tquery(MainPipeline, szQuery, "OnQueryFinish", "ii", SENDDATA_THREAD, playerid);
  212. format(szString, sizeof(szString), "%s(%d) has received %d credits for referring a player (The player reached level 3)", GetPlayerNameEx(szReferrer), GetPlayerSQLId(szReferrer), CREDITS_AMOUNT_REFERRAL);
  213. Log("logs/referral.log", szString);
  214. format(string, sizeof(string), "Your friend '%s' that you referred to the server has reached level 3. Therefore you have received 100 credits.", GetPlayerNameEx(playerid));
  215. SendClientMessageEx(szReferrer, COLOR_LIGHTBLUE, string);
  216. }
  217. else if(PlayerInfo[szReferrer][pRefers] >= 25)
  218. {
  219. PlayerInfo[szReferrer][pCredits] += CREDITS_AMOUNT_REFERRAL*25;
  220. PlayerInfo[szReferrer][pRefers] ++;
  221. mysql_format(MainPipeline, szQuery, sizeof(szQuery), "UPDATE `accounts` SET `Credits`=%d WHERE `Username` = '%s'", PlayerInfo[szReferrer][pCredits], GetPlayerNameExt(szReferrer));
  222. mysql_tquery(MainPipeline, szQuery, "OnQueryFinish", "ii", SENDDATA_THREAD, playerid);
  223. format(szString, sizeof(szString), "%s(%d) has received %d credits for referring a player (The player reached level 3)", GetPlayerNameEx(szReferrer), GetPlayerSQLId(szReferrer), CREDITS_AMOUNT_REFERRAL*25);
  224. Log("logs/referral.log", szString);
  225. format(string, sizeof(string), "Your friend '%s' that you referred to the server has reached level 3. Therefore you have received 2500 credits.", GetPlayerNameEx(playerid));
  226. SendClientMessageEx(szReferrer, COLOR_LIGHTBLUE, string);
  227. }
  228. }
  229. else {
  230. mysql_format(MainPipeline, szQuery, sizeof(szQuery), "UPDATE `accounts` SET `PendingRefReward`=1 WHERE `Username`='%s'", PlayerInfo[playerid][pReferredBy]);
  231. mysql_tquery(MainPipeline, szQuery, "OnQueryFinish", "iii", REWARD_REFERRAL_THREAD, playerid, g_arrQueryHandle{playerid});
  232. }
  233. }
  234. }
  235. if(PlayerInfo[playerid][pLevel] == 6)
  236. {
  237. SendClientMessageEx(playerid, COLOR_WHITE, "Newbie chat will now be automatically togged off on login.");
  238. }
  239. }
  240. }
  241. return 1;
  242. }
  243. else
  244. {
  245. SendClientMessageEx(playerid, COLOR_GRAD1, "You're not logged in.");
  246. }
  247. return 1;
  248. }
  249. /*
  250. CMD:upgrade(playerid, params[])
  251. {
  252. if(isnull(params))
  253. {
  254. new string[64];
  255. format(string, sizeof(string), "USAGE: /upgrade [upgradename] (you have %d upgrade points).",PlayerInfo[playerid][gPupgrade]);
  256. SendClientMessageEx(playerid, COLOR_GREEN,"_______________________________________");
  257. SendClientMessageEx(playerid, COLOR_WHITE,"*** UPGRADES ***");
  258. SendClientMessageEx(playerid, COLOR_GRAD2,string);
  259. SendClientMessageEx(playerid, COLOR_GRAD5, "armor gunlocker gunlocker2 gunlocker3 cargunlocker");
  260. SendClientMessageEx(playerid, COLOR_GREEN,"_______________________________________");
  261. return 1;
  262. }
  263. if( PlayerInfo[playerid][gPupgrade] >= 1 )
  264. {
  265. if (PlayerInfo[playerid][pLevel] >= 1 && strcmp(params, "armor", true) == 0)
  266. {
  267. if (PlayerInfo[playerid][pSHealth] < 100)
  268. {
  269. new string[51];
  270. ++PlayerInfo[playerid][pSHealth];
  271. PlayerInfo[playerid][gPupgrade]--;
  272. format(string, sizeof(string), "New Upgrade: You will now spawn with %.2f armor.",PlayerInfo[playerid][pSHealth]);
  273. SendClientMessageEx(playerid, COLOR_GRAD6, string);
  274. }
  275. else
  276. {
  277. SendClientMessageEx(playerid, COLOR_GRAD6, " You have maximum spawn armor.");
  278. return 1;
  279. }
  280. }
  281. else if(strcmp(params, "gunlocker", true) == 0)
  282. {
  283. new playername[MAX_PLAYER_NAME];
  284. GetPlayerName(playerid, playername, sizeof(playername));
  285. if(PlayerInfo[playerid][pPhousekey] != INVALID_HOUSE_ID && HouseInfo[PlayerInfo[playerid][pPhousekey]][hOwnerID] == GetPlayerSQLId(playerid))
  286. {
  287. if( PlayerInfo[playerid][gPupgrade] < 2 )
  288. {
  289. SendClientMessageEx(playerid, COLOR_GRAD6, " You need at least 2 upgrade points.");
  290. return 1;
  291. }
  292. switch(HouseInfo[PlayerInfo[playerid][pPhousekey]][hGLUpgrade])
  293. {
  294. case 0:
  295. {
  296. if(PlayerInfo[playerid][pCash] >= 50000)
  297. {
  298. PlayerInfo[playerid][pCash] -= 50000;
  299. HouseInfo[PlayerInfo[playerid][pPhousekey]][hGLUpgrade] = 1;
  300. HouseInfo[PlayerInfo[playerid][pPhousekey]][hWeapons][0] = 0;
  301. SendClientMessageEx(playerid, COLOR_WHITE, "You have purchased a new locker space, you have been charged $50,000.");
  302. SendClientMessageEx(playerid, COLOR_GRAD2, "HINT: To use your lockers, the commands are /storegun and /getgun. You have 1 locker space available." );
  303. }
  304. else
  305. {
  306. SendClientMessageEx(playerid, COLOR_WHITE, "You don't have enough ($50,000).");
  307. return 1;
  308. }
  309. }
  310. case 1:
  311. {
  312. if( PlayerInfo[playerid][pCash] >= 50000 )
  313. {
  314. PlayerInfo[playerid][pCash] -= 50000;
  315. HouseInfo[PlayerInfo[playerid][pPhousekey]][hGLUpgrade]++;
  316. HouseInfo[PlayerInfo[playerid][pPhousekey]][hWeapons][1] = 0;
  317. SendClientMessageEx(playerid, COLOR_WHITE, "You have purchased a new locker space, you have been charged $50,000.");
  318. SendClientMessageEx(playerid, COLOR_GRAD2, "HINT: To use your lockers, the commands are /storegun and /getgun. You have 2 locker space available." );
  319. }
  320. else
  321. {
  322. SendClientMessageEx(playerid, COLOR_WHITE, "You don't have enough ($50,000).");
  323. return 1;
  324. }
  325. }
  326. case 2:
  327. {
  328. if( PlayerInfo[playerid][pCash] >= 50000 )
  329. {
  330. PlayerInfo[playerid][pCash] -= 50000;
  331. HouseInfo[PlayerInfo[playerid][pPhousekey]][hGLUpgrade]++;
  332. HouseInfo[PlayerInfo[playerid][pPhousekey]][hWeapons][2] = 0;
  333. SendClientMessageEx(playerid, COLOR_WHITE, "You have purchased a new locker space, you have been charged $50,000.");
  334. SendClientMessageEx(playerid, COLOR_GRAD2, "HINT: To use your lockers, the commands are /storegun and /getgun. You have 3 locker space available." );
  335. }
  336. else
  337. {
  338. SendClientMessageEx(playerid, COLOR_WHITE, "You don't have enough ($50,000).");
  339. return 1;
  340. }
  341. }
  342. case 3:
  343. {
  344. if( PlayerInfo[playerid][pCash] >= 50000 )
  345. {
  346. PlayerInfo[playerid][pCash] -= 50000;
  347. HouseInfo[PlayerInfo[playerid][pPhousekey]][hGLUpgrade]++;
  348. HouseInfo[PlayerInfo[playerid][pPhousekey]][hWeapons][3] = 0;
  349. SendClientMessageEx(playerid, COLOR_WHITE, "You have purchased a new locker space, you have been charged $50,000.");
  350. SendClientMessageEx(playerid, COLOR_GRAD2, "HINT: To use your lockers, the commands are /storegun and /getgun. You have 4 locker space available." );
  351. }
  352. else
  353. {
  354. SendClientMessageEx(playerid, COLOR_WHITE, "You don't have enough ($50,000).");
  355. return 1;
  356. }
  357. }
  358. case 4:
  359. {
  360. if( PlayerInfo[playerid][pCash] >= 50000 )
  361. {
  362. PlayerInfo[playerid][pCash] -= 50000;
  363. HouseInfo[PlayerInfo[playerid][pPhousekey]][hGLUpgrade]++;
  364. HouseInfo[PlayerInfo[playerid][pPhousekey]][hWeapons][4] = 0;
  365. SendClientMessageEx(playerid, COLOR_WHITE, "You have purchased a new locker space, you have been charged $50,000.");
  366. SendClientMessageEx(playerid, COLOR_GRAD2, "HINT: To use your lockers, the commands are /storegun and /getgun. You have 5 locker space available." );
  367. }
  368. else
  369. {
  370. SendClientMessageEx(playerid, COLOR_WHITE, "You don't have enough ($50,000).");
  371. return 1;
  372. }
  373. }
  374. case 5:
  375. {
  376. SendClientMessageEx(playerid, COLOR_WHITE, "Sorry, there are no more spaces available.");
  377. return 1;
  378. }
  379. }
  380. PlayerInfo[playerid][gPupgrade]--;
  381. SaveHouse(PlayerInfo[playerid][pPhousekey]);
  382. }
  383. else
  384. {
  385. SendClientMessageEx(playerid, COLOR_GRAD2, " You are not a house owner.");
  386. return 1;
  387. }
  388. }
  389. else if(strcmp(params, "gunlocker2", true) == 0)
  390. {
  391. new playername[MAX_PLAYER_NAME];
  392. GetPlayerName(playerid, playername, sizeof(playername));
  393. if(PlayerInfo[playerid][pPhousekey2] != INVALID_HOUSE_ID && HouseInfo[PlayerInfo[playerid][pPhousekey2]][hOwnerID] == GetPlayerSQLId(playerid))
  394. {
  395. if( PlayerInfo[playerid][gPupgrade] < 2 )
  396. {
  397. SendClientMessageEx(playerid, COLOR_GRAD6, " You need at least 2 upgrade points.");
  398. return 1;
  399. }
  400. switch( HouseInfo[PlayerInfo[playerid][pPhousekey2]][hGLUpgrade] )
  401. {
  402. case 0:
  403. {
  404. if( PlayerInfo[playerid][pCash] >= 50000 )
  405. {
  406. PlayerInfo[playerid][pCash] -= 50000;
  407. HouseInfo[PlayerInfo[playerid][pPhousekey2]][hGLUpgrade] = 1;
  408. HouseInfo[PlayerInfo[playerid][pPhousekey2]][hWeapons][0] = 0;
  409. SendClientMessageEx(playerid, COLOR_WHITE, "You have purchased a new locker space, you have been charged $50,000.");
  410. SendClientMessageEx(playerid, COLOR_GRAD2, "HINT: To use your lockers, the commands are /storegun and /getgun. You have 1 locker space available." );
  411. }
  412. else
  413. {
  414. SendClientMessageEx(playerid, COLOR_WHITE, "You don't have enough ($50,000).");
  415. return 1;
  416. }
  417. }
  418. case 1:
  419. {
  420. if( PlayerInfo[playerid][pCash] >= 50000 )
  421. {
  422. PlayerInfo[playerid][pCash] -= 50000;
  423. HouseInfo[PlayerInfo[playerid][pPhousekey2]][hGLUpgrade]++;
  424. HouseInfo[PlayerInfo[playerid][pPhousekey2]][hWeapons][1] = 0;
  425. SendClientMessageEx(playerid, COLOR_WHITE, "You have purchased a new locker space, you have been charged $50,000.");
  426. SendClientMessageEx(playerid, COLOR_GRAD2, "HINT: To use your lockers, the commands are /storegun and /getgun. You have 2 locker space available." );
  427. }
  428. else
  429. {
  430. SendClientMessageEx(playerid, COLOR_WHITE, "You don't have enough ($50,000).");
  431. return 1;
  432. }
  433. }
  434. case 2:
  435. {
  436. if( PlayerInfo[playerid][pCash] >= 50000 )
  437. {
  438. PlayerInfo[playerid][pCash] -= 50000;
  439. HouseInfo[PlayerInfo[playerid][pPhousekey2]][hGLUpgrade]++;
  440. HouseInfo[PlayerInfo[playerid][pPhousekey2]][hWeapons][2] = 0;
  441. SendClientMessageEx(playerid, COLOR_WHITE, "You have purchased a new locker space, you have been charged $50,000.");
  442. SendClientMessageEx(playerid, COLOR_GRAD2, "HINT: To use your lockers, the commands are /storegun and /getgun. You have 3 locker space available." );
  443. }
  444. else
  445. {
  446. SendClientMessageEx(playerid, COLOR_WHITE, "You don't have enough ($50,000).");
  447. return 1;
  448. }
  449. }
  450. case 3:
  451. {
  452. if( PlayerInfo[playerid][pCash] >= 50000 )
  453. {
  454. PlayerInfo[playerid][pCash] -= 50000;
  455. HouseInfo[PlayerInfo[playerid][pPhousekey2]][hGLUpgrade]++;
  456. HouseInfo[PlayerInfo[playerid][pPhousekey2]][hWeapons][3] = 0;
  457. SendClientMessageEx(playerid, COLOR_WHITE, "You have purchased a new locker space, you have been charged $50,000.");
  458. SendClientMessageEx(playerid, COLOR_GRAD2, "HINT: To use your lockers, the commands are /storegun and /getgun. You have 4 locker space available." );
  459. }
  460. else
  461. {
  462. SendClientMessageEx(playerid, COLOR_WHITE, "You don't have enough ($50,000).");
  463. return 1;
  464. }
  465. }
  466. case 4:
  467. {
  468. if( PlayerInfo[playerid][pCash] >= 50000 )
  469. {
  470. PlayerInfo[playerid][pCash] -= 50000;
  471. HouseInfo[PlayerInfo[playerid][pPhousekey2]][hGLUpgrade]++;
  472. HouseInfo[PlayerInfo[playerid][pPhousekey2]][hWeapons][4] = 0;
  473. SendClientMessageEx(playerid, COLOR_WHITE, "You have purchased a new locker space, you have been charged $50,000.");
  474. SendClientMessageEx(playerid, COLOR_GRAD2, "HINT: To use your lockers, the commands are /storegun and /getgun. You have 5 locker space available." );
  475. }
  476. else
  477. {
  478. SendClientMessageEx(playerid, COLOR_WHITE, "You don't have enough ($50,000).");
  479. return 1;
  480. }
  481. }
  482. case 5:
  483. {
  484. SendClientMessageEx(playerid, COLOR_WHITE, "Sorry, there are no more spaces available.");
  485. return 1;
  486. }
  487. }
  488. PlayerInfo[playerid][gPupgrade]--;
  489. SaveHouse(PlayerInfo[playerid][pPhousekey2]);
  490. }
  491. else
  492. {
  493. SendClientMessageEx(playerid, COLOR_GRAD2, " You don't own a second house.");
  494. return 1;
  495. }
  496. }
  497. else if(strcmp(params, "gunlocker3", true) == 0)
  498. {
  499. new playername[MAX_PLAYER_NAME];
  500. GetPlayerName(playerid, playername, sizeof(playername));
  501. if(PlayerInfo[playerid][pPhousekey3] != INVALID_HOUSE_ID && HouseInfo[PlayerInfo[playerid][pPhousekey3]][hOwnerID] == GetPlayerSQLId(playerid))
  502. {
  503. if( PlayerInfo[playerid][gPupgrade] < 2 )
  504. {
  505. SendClientMessageEx(playerid, COLOR_GRAD6, " You need at least 2 upgrade points.");
  506. return 1;
  507. }
  508. switch( HouseInfo[PlayerInfo[playerid][pPhousekey3]][hGLUpgrade] )
  509. {
  510. case 0:
  511. {
  512. if( PlayerInfo[playerid][pCash] >= 50000 )
  513. {
  514. PlayerInfo[playerid][pCash] -= 50000;
  515. HouseInfo[PlayerInfo[playerid][pPhousekey3]][hGLUpgrade] = 1;
  516. HouseInfo[PlayerInfo[playerid][pPhousekey3]][hWeapons][0] = 0;
  517. SendClientMessageEx(playerid, COLOR_WHITE, "You have purchased a new locker space, you have been charged $50,000.");
  518. SendClientMessageEx(playerid, COLOR_GRAD2, "HINT: To use your lockers, the commands are /storegun and /getgun. You have 1 locker space available." );
  519. }
  520. else
  521. {
  522. SendClientMessageEx(playerid, COLOR_WHITE, "You don't have enough ($50,000).");
  523. return 1;
  524. }
  525. }
  526. case 1:
  527. {
  528. if( PlayerInfo[playerid][pCash] >= 50000 )
  529. {
  530. PlayerInfo[playerid][pCash] -= 50000;
  531. HouseInfo[PlayerInfo[playerid][pPhousekey3]][hGLUpgrade]++;
  532. HouseInfo[PlayerInfo[playerid][pPhousekey3]][hWeapons][1] = 0;
  533. SendClientMessageEx(playerid, COLOR_WHITE, "You have purchased a new locker space, you have been charged $50,000.");
  534. SendClientMessageEx(playerid, COLOR_GRAD2, "HINT: To use your lockers, the commands are /storegun and /getgun. You have 2 locker space available." );
  535. }
  536. else
  537. {
  538. SendClientMessageEx(playerid, COLOR_WHITE, "You don't have enough ($50,000).");
  539. return 1;
  540. }
  541. }
  542. case 2:
  543. {
  544. if( PlayerInfo[playerid][pCash] >= 50000 )
  545. {
  546. PlayerInfo[playerid][pCash] -= 50000;
  547. HouseInfo[PlayerInfo[playerid][pPhousekey3]][hGLUpgrade]++;
  548. HouseInfo[PlayerInfo[playerid][pPhousekey3]][hWeapons][2] = 0;
  549. SendClientMessageEx(playerid, COLOR_WHITE, "You have purchased a new locker space, you have been charged $50,000.");
  550. SendClientMessageEx(playerid, COLOR_GRAD2, "HINT: To use your lockers, the commands are /storegun and /getgun. You have 3 locker space available." );
  551. }
  552. else
  553. {
  554. SendClientMessageEx(playerid, COLOR_WHITE, "You don't have enough ($50,000).");
  555. return 1;
  556. }
  557. }
  558. case 3:
  559. {
  560. if( PlayerInfo[playerid][pCash] >= 50000 )
  561. {
  562. PlayerInfo[playerid][pCash] -= 50000;
  563. HouseInfo[PlayerInfo[playerid][pPhousekey3]][hGLUpgrade]++;
  564. HouseInfo[PlayerInfo[playerid][pPhousekey3]][hWeapons][3] = 0;
  565. SendClientMessageEx(playerid, COLOR_WHITE, "You have purchased a new locker space, you have been charged $50,000.");
  566. SendClientMessageEx(playerid, COLOR_GRAD2, "HINT: To use your lockers, the commands are /storegun and /getgun. You have 4 locker space available." );
  567. }
  568. else
  569. {
  570. SendClientMessageEx(playerid, COLOR_WHITE, "You don't have enough ($50,000).");
  571. return 1;
  572. }
  573. }
  574. case 4:
  575. {
  576. if( PlayerInfo[playerid][pCash] >= 50000 )
  577. {
  578. PlayerInfo[playerid][pCash] -= 50000;
  579. HouseInfo[PlayerInfo[playerid][pPhousekey3]][hGLUpgrade]++;
  580. HouseInfo[PlayerInfo[playerid][pPhousekey3]][hWeapons][4] = 0;
  581. SendClientMessageEx(playerid, COLOR_WHITE, "You have purchased a new locker space, you have been charged $50,000.");
  582. SendClientMessageEx(playerid, COLOR_GRAD2, "HINT: To use your lockers, the commands are /storegun and /getgun. You have 5 locker space available." );
  583. }
  584. else
  585. {
  586. SendClientMessageEx(playerid, COLOR_WHITE, "You don't have enough ($50,000).");
  587. return 1;
  588. }
  589. }
  590. case 5:
  591. {
  592. SendClientMessageEx(playerid, COLOR_WHITE, "Sorry, there are no more spaces available.");
  593. return 1;
  594. }
  595. }
  596. PlayerInfo[playerid][gPupgrade]--;
  597. SaveHouse(PlayerInfo[playerid][pPhousekey3]);
  598. }
  599. else
  600. {
  601. SendClientMessageEx(playerid, COLOR_GRAD2, " You don't own a second house.");
  602. return 1;
  603. }
  604. }
  605. else if(strcmp(params, "cargunlocker", true) == 0)
  606. {
  607. new Float: x, Float: y, Float: z;
  608. for(new d = 0 ; d < MAX_PLAYERVEHICLES; d++)
  609. {
  610. if(PlayerVehicleInfo[playerid][d][pvId] != INVALID_PLAYER_VEHICLE_ID) GetVehiclePos(PlayerVehicleInfo[playerid][d][pvId], x, y, z);
  611. if(IsPlayerInRangeOfPoint(playerid, 3.0, x, y, z))
  612. {
  613. if( PlayerInfo[playerid][gPupgrade] < 2 )
  614. {
  615. SendClientMessageEx(playerid, COLOR_GRAD6, " You need at least 2 upgrade points.");
  616. return 1;
  617. }
  618. if(PlayerVehicleInfo[playerid][d][pvWepUpgrade] < 2)
  619. {
  620. new string[114];
  621. GameTextForPlayer(playerid,"~r~Vehicle Gunlocker Upgraded!",5000,6);
  622. PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
  623. PlayerVehicleInfo[playerid][d][pvWepUpgrade]++;
  624. PlayerVehicleInfo[playerid][d][pvWeapons][PlayerVehicleInfo[playerid][d][pvWepUpgrade]] = 0;
  625. PlayerInfo[playerid][gPupgrade] = PlayerInfo[playerid][gPupgrade]-2;
  626. SendClientMessageEx(playerid, COLOR_WHITE, "You have purchased a new car locker space.");
  627. format(string, sizeof(string), "HINT: To use your car lockers, the commands are /trunkput and /trunktake. You have %d locker spaces available.", PlayerVehicleInfo[playerid][d][pvWepUpgrade]+1);
  628. SendClientMessageEx(playerid, COLOR_GRAD2, string );
  629. return 1;
  630. }
  631. else
  632. {
  633. SendClientMessageEx(playerid, COLOR_GREY, "You have already upgraded your car gunlocker slots.");
  634. return 1;
  635. }
  636. }
  637. }
  638. SendClientMessageEx(playerid, COLOR_GREY, " You are not near any vehicle that you own.");
  639. return 1;
  640. }
  641. else
  642. {
  643. SendClientMessageEx(playerid, COLOR_GRAD6, " Unrecognized upgrade.");
  644. return 1;
  645. }
  646. }
  647. else
  648. {
  649. SendClientMessageEx(playerid, COLOR_GRAD6, " You have 0 Upgrade Points.");
  650. return 1;
  651. }
  652. return 1;
  653. }*/