Guest User

Weapon Menu

a guest
Jul 17th, 2012
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.86 KB | None | 0 0
  1. #include <a_samp>
  2. #include <dini>
  3. #include <dudb>
  4. #include <sscanf2>
  5.  
  6. #pragma tabsize 0
  7. #pragma unused ret_memcpy
  8. #define DIALOGID 12341
  9.  
  10. new file[256];
  11.  
  12. enum WepData
  13. {
  14. Weapon1,
  15. Weapon1a,
  16. Weapon2,
  17. Weapon2a,
  18. Weapon3,
  19. Weapon3a,
  20. Weapon4,
  21. Weapon4a,
  22. Weapon5,
  23. Weapon5a,
  24. Weapon6,
  25. Weapon6a,
  26. Weapon7,
  27. Weapon7a,
  28. Weapon8,
  29. Weapon8a,
  30. Weapon9,
  31. Weapon9a,
  32. Weapon10,
  33. Weapon10a,
  34. Weapon11,
  35. Weapon11a,
  36. Weapon12,
  37. Weapon12a,
  38. }
  39.  
  40. new WeaponInfo[MAX_PLAYERS][WepData];
  41.  
  42. public OnPlayerConnect(playerid)
  43. {
  44. new name[MAX_PLAYER_NAME];
  45. GetPlayerName(playerid, name, sizeof(name));
  46. format(file, sizeof(file), "weapons/%s.ini", name);
  47. if (!dini_Exists(file))
  48. {
  49. dini_Create(file);
  50. dini_IntSet(file, "Weapon1",WeaponInfo[playerid][Weapon1] = 0);
  51. dini_IntSet(file, "Weapon1a",WeaponInfo[playerid][Weapon1a] = 0);
  52. dini_IntSet(file, "Weapon2",WeaponInfo[playerid][Weapon2] = 0);
  53. dini_IntSet(file, "Weapon2a",WeaponInfo[playerid][Weapon2a] = 0);
  54. dini_IntSet(file, "Weapon3",WeaponInfo[playerid][Weapon3] = 0);
  55. dini_IntSet(file, "Weapon3a",WeaponInfo[playerid][Weapon3a] = 0);
  56. dini_IntSet(file, "Weapon4",WeaponInfo[playerid][Weapon4] = 0);
  57. dini_IntSet(file, "Weapon4a",WeaponInfo[playerid][Weapon4a] = 0);
  58. dini_IntSet(file, "Weapon5",WeaponInfo[playerid][Weapon5] = 0);
  59. dini_IntSet(file, "Weapon5a",WeaponInfo[playerid][Weapon5a] = 0);
  60. dini_IntSet(file, "Weapon6",WeaponInfo[playerid][Weapon6] = 0);
  61. dini_IntSet(file, "Weapon6a",WeaponInfo[playerid][Weapon6a] = 0);
  62. dini_IntSet(file, "Weapon7",WeaponInfo[playerid][Weapon7] = 0);
  63. dini_IntSet(file, "Weapon7a",WeaponInfo[playerid][Weapon7a] = 0);
  64. dini_IntSet(file, "Weapon8",WeaponInfo[playerid][Weapon8] = 0);
  65. dini_IntSet(file, "Weapon8a",WeaponInfo[playerid][Weapon8a] = 0);
  66. dini_IntSet(file, "Weapon9",WeaponInfo[playerid][Weapon9] = 0);
  67. dini_IntSet(file, "Weapon9a",WeaponInfo[playerid][Weapon9a] = 0);
  68. dini_IntSet(file, "Weapon10",WeaponInfo[playerid][Weapon10] = 0);
  69. dini_IntSet(file, "Weapon10a",WeaponInfo[playerid][Weapon10a] = 0);
  70. dini_IntSet(file, "Weapon11",WeaponInfo[playerid][Weapon11] = 0);
  71. dini_IntSet(file, "Weapon11a",WeaponInfo[playerid][Weapon11a] = 0);
  72. dini_IntSet(file, "Weapon12",WeaponInfo[playerid][Weapon12] = 0);
  73. dini_IntSet(file, "Weapon12a",WeaponInfo[playerid][Weapon12a] = 0);
  74. }
  75. else
  76. {
  77. WeaponInfo[playerid][Weapon1] = dini_Int(file, "Weapon1");
  78. WeaponInfo[playerid][Weapon1a] = dini_Int(file, "Weapon1a");
  79. WeaponInfo[playerid][Weapon2] = dini_Int(file, "Weapon2");
  80. WeaponInfo[playerid][Weapon2a] = dini_Int(file, "Weapon2a");
  81. WeaponInfo[playerid][Weapon3] = dini_Int(file, "Weapon3");
  82. WeaponInfo[playerid][Weapon3a] = dini_Int(file, "Weapon3a");
  83. WeaponInfo[playerid][Weapon4] = dini_Int(file, "Weapon4");
  84. WeaponInfo[playerid][Weapon4a] = dini_Int(file, "Weapon4a");
  85. WeaponInfo[playerid][Weapon5] = dini_Int(file, "Weapon5");
  86. WeaponInfo[playerid][Weapon5a] = dini_Int(file, "Weapon5a");
  87. WeaponInfo[playerid][Weapon6] = dini_Int(file, "Weapon6");
  88. WeaponInfo[playerid][Weapon6a] = dini_Int(file, "Weapon6a");
  89. WeaponInfo[playerid][Weapon7] = dini_Int(file, "Weapon7");
  90. WeaponInfo[playerid][Weapon7a] = dini_Int(file, "Weapon7a");
  91. WeaponInfo[playerid][Weapon8] = dini_Int(file, "Weapon8");
  92. WeaponInfo[playerid][Weapon8a] = dini_Int(file, "Weapon8a");
  93. WeaponInfo[playerid][Weapon9] = dini_Int(file, "Weapon9");
  94. WeaponInfo[playerid][Weapon9a] = dini_Int(file, "Weapon9a");
  95. WeaponInfo[playerid][Weapon10] = dini_Int(file, "Weapon10");
  96. WeaponInfo[playerid][Weapon10a] = dini_Int(file, "Weapon10a");
  97. WeaponInfo[playerid][Weapon11] = dini_Int(file, "Weapon11");
  98. WeaponInfo[playerid][Weapon11a] = dini_Int(file, "Weapon11a");
  99. WeaponInfo[playerid][Weapon12] = dini_Int(file, "Weapon12");
  100. WeaponInfo[playerid][Weapon12a] = dini_Int(file, "Weapon12a");
  101. }
  102. return 1;
  103. }
  104.  
  105. public OnPlayerDisconnect(playerid, reason)
  106. {
  107. return 1;
  108. }
  109.  
  110. public OnPlayerSpawn(playerid)
  111. {
  112. GivePlayerWeapon(playerid, WeaponInfo[playerid][Weapon1], WeaponInfo[playerid][Weapon1a]);
  113. GivePlayerWeapon(playerid, WeaponInfo[playerid][Weapon2], WeaponInfo[playerid][Weapon2a]);
  114. GivePlayerWeapon(playerid, WeaponInfo[playerid][Weapon3], WeaponInfo[playerid][Weapon3a]);
  115. GivePlayerWeapon(playerid, WeaponInfo[playerid][Weapon4], WeaponInfo[playerid][Weapon4a]);
  116. GivePlayerWeapon(playerid, WeaponInfo[playerid][Weapon5], WeaponInfo[playerid][Weapon5a]);
  117. GivePlayerWeapon(playerid, WeaponInfo[playerid][Weapon6], WeaponInfo[playerid][Weapon6a]);
  118. GivePlayerWeapon(playerid, WeaponInfo[playerid][Weapon7], WeaponInfo[playerid][Weapon7a]);
  119. GivePlayerWeapon(playerid, WeaponInfo[playerid][Weapon8], WeaponInfo[playerid][Weapon8a]);
  120. GivePlayerWeapon(playerid, WeaponInfo[playerid][Weapon9], WeaponInfo[playerid][Weapon9a]);
  121. GivePlayerWeapon(playerid, WeaponInfo[playerid][Weapon10], WeaponInfo[playerid][Weapon10a]);
  122. GivePlayerWeapon(playerid, WeaponInfo[playerid][Weapon11], WeaponInfo[playerid][Weapon11a]);
  123. GivePlayerWeapon(playerid, WeaponInfo[playerid][Weapon12], WeaponInfo[playerid][Weapon12a]);
  124. SetTimerEx("save", 2000, true, "i", playerid);
  125. return 1;
  126. }
  127.  
  128. forward save(playerid);
  129. public save(playerid)
  130. {
  131. new name[MAX_PLAYER_NAME];
  132. GetPlayerName(playerid, name, sizeof(name));
  133. format(file, sizeof(file), "weapons/%s.ini", name);
  134. GetPlayerWeaponData(playerid, 1, WeaponInfo[playerid][Weapon1], WeaponInfo[playerid][Weapon1a]);
  135. GetPlayerWeaponData(playerid, 2, WeaponInfo[playerid][Weapon2], WeaponInfo[playerid][Weapon2a]);
  136. GetPlayerWeaponData(playerid, 3, WeaponInfo[playerid][Weapon3], WeaponInfo[playerid][Weapon3a]);
  137. GetPlayerWeaponData(playerid, 4, WeaponInfo[playerid][Weapon4], WeaponInfo[playerid][Weapon4a]);
  138. GetPlayerWeaponData(playerid, 5, WeaponInfo[playerid][Weapon5], WeaponInfo[playerid][Weapon5a]);
  139. GetPlayerWeaponData(playerid, 6, WeaponInfo[playerid][Weapon6], WeaponInfo[playerid][Weapon6a]);
  140. GetPlayerWeaponData(playerid, 7, WeaponInfo[playerid][Weapon7], WeaponInfo[playerid][Weapon7a]);
  141. GetPlayerWeaponData(playerid, 8, WeaponInfo[playerid][Weapon8], WeaponInfo[playerid][Weapon8a]);
  142. GetPlayerWeaponData(playerid, 9, WeaponInfo[playerid][Weapon9], WeaponInfo[playerid][Weapon9a]);
  143. GetPlayerWeaponData(playerid, 10, WeaponInfo[playerid][Weapon10], WeaponInfo[playerid][Weapon10a]);
  144. GetPlayerWeaponData(playerid, 11, WeaponInfo[playerid][Weapon11], WeaponInfo[playerid][Weapon11a]);
  145. GetPlayerWeaponData(playerid, 12, WeaponInfo[playerid][Weapon12], WeaponInfo[playerid][Weapon12a]);
  146. dini_IntSet(file, "Weapon1",WeaponInfo[playerid][Weapon1]);
  147. dini_IntSet(file, "Weapon1a",WeaponInfo[playerid][Weapon1a]);
  148. dini_IntSet(file, "Weapon2",WeaponInfo[playerid][Weapon2]);
  149. dini_IntSet(file, "Weapon2a",WeaponInfo[playerid][Weapon2a]);
  150. dini_IntSet(file, "Weapon3",WeaponInfo[playerid][Weapon3]);
  151. dini_IntSet(file, "Weapon3a",WeaponInfo[playerid][Weapon3a]);
  152. dini_IntSet(file, "Weapon4",WeaponInfo[playerid][Weapon4]);
  153. dini_IntSet(file, "Weapon4a",WeaponInfo[playerid][Weapon4a]);
  154. dini_IntSet(file, "Weapon5",WeaponInfo[playerid][Weapon5]);
  155. dini_IntSet(file, "Weapon5a",WeaponInfo[playerid][Weapon5a]);
  156. dini_IntSet(file, "Weapon6",WeaponInfo[playerid][Weapon6]);
  157. dini_IntSet(file, "Weapon6a",WeaponInfo[playerid][Weapon6a]);
  158. dini_IntSet(file, "Weapon7",WeaponInfo[playerid][Weapon7]);
  159. dini_IntSet(file, "Weapon7a",WeaponInfo[playerid][Weapon7a]);
  160. dini_IntSet(file, "Weapon8",WeaponInfo[playerid][Weapon8]);
  161. dini_IntSet(file, "Weapon8a",WeaponInfo[playerid][Weapon8a]);
  162. dini_IntSet(file, "Weapon9",WeaponInfo[playerid][Weapon9]);
  163. dini_IntSet(file, "Weapon9a",WeaponInfo[playerid][Weapon9a]);
  164. dini_IntSet(file, "Weapon10",WeaponInfo[playerid][Weapon10]);
  165. dini_IntSet(file, "Weapon10a",WeaponInfo[playerid][Weapon10a]);
  166. dini_IntSet(file, "Weapon11",WeaponInfo[playerid][Weapon11]);
  167. dini_IntSet(file, "Weapon11a",WeaponInfo[playerid][Weapon11a]);
  168. dini_IntSet(file, "Weapon12",WeaponInfo[playerid][Weapon12]);
  169. dini_IntSet(file, "Weapon12a",WeaponInfo[playerid][Weapon12a]);
  170. return 1;
  171. }
  172.  
  173.  
  174. public OnPlayerCommandText(playerid, cmdtext[])
  175. {
  176. if (strcmp("/w", cmdtext, true, 10) == 0)
  177. {
  178. ShowPlayerDialog(playerid, DIALOGID, DIALOG_STYLE_LIST, "Weapon Lists", "Melee\nPistols\nSub-Machine Guns\nRifle's\nAssault\nShotgun's\nMisc", "Select", "Cancel");
  179. return 1;
  180. }
  181. return 0;
  182. }
  183.  
  184. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  185. {
  186. if(dialogid == DIALOGID)
  187. {
  188. if(response)
  189. {
  190. if(listitem == 0) // Meele
  191. {
  192. ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Select a Weapon", "Knuckle Dusters\nGolf Club\nNite Stick\nBat\nShovel\nPool Cue\nKatana\nDildo\nSpray Can\nCane", "Select", "Cancel");
  193. }
  194. if(listitem == 1) // Pistols
  195. {
  196. ShowPlayerDialog(playerid, DIALOGID+2, DIALOG_STYLE_LIST, "Select a Weapon", "9mm\nSilenced 9mm\nDesert Eagle", "Select", "Cancel");
  197. }
  198. if(listitem == 2) // Sub-Machine Guns
  199. {
  200. ShowPlayerDialog(playerid, DIALOGID+3, DIALOG_STYLE_LIST, "Select a Weapon", "Uzi\nSMG\nTec9", "Select", "Cancel");
  201. }
  202. if(listitem == 3) // Rifles
  203. {
  204. ShowPlayerDialog(playerid, DIALOGID+4, DIALOG_STYLE_LIST, "Select a Weapon", "Country Rifle\nSniper Rifle", "Select", "Cancel");
  205. }
  206. if(listitem == 4) // Assault
  207. {
  208. ShowPlayerDialog(playerid, DIALOGID+5, DIALOG_STYLE_LIST, "Select a Weapon", "AK-47\nM4", "Select", "Cancel");
  209. }
  210. if(listitem == 5) // Shotguns
  211. {
  212. ShowPlayerDialog(playerid, DIALOGID+6, DIALOG_STYLE_LIST, "Select a Weapon", "Standard Shotgun\nSawnoff Shotgun\nCombat Shotgun", "Select", "Cancel");
  213. }
  214. if(listitem == 6) // Misc
  215. {
  216. ShowPlayerDialog(playerid, DIALOGID+7, DIALOG_STYLE_LIST, "Select a Weapon", "Fire Extinguisher\nParachute\nNightvision Goggles\nFlowers", "Select", "Cancel");
  217. }
  218. }
  219. return 1;
  220. }
  221.  
  222. if(dialogid == DIALOGID+1) // Meele
  223. {
  224. if(response)
  225. {
  226. if(listitem == 0)
  227. {
  228. GivePlayerWeapon(playerid, 1, 1);
  229. }
  230. if(listitem == 1)
  231. {
  232. GivePlayerWeapon(playerid, 2, 1);
  233. }
  234. if(listitem == 2)
  235. {
  236. GivePlayerWeapon(playerid, 3, 1);
  237. }
  238. if(listitem == 3)
  239. {
  240. GivePlayerWeapon(playerid, 5, 1);
  241. }
  242. if(listitem == 4)
  243. {
  244. GivePlayerWeapon(playerid, 6, 1);
  245. }
  246. if(listitem == 5)
  247. {
  248. GivePlayerWeapon(playerid, 7, 1);
  249. }
  250. if(listitem == 6)
  251. {
  252. GivePlayerWeapon(playerid, 8, 1);
  253. }
  254. if(listitem == 7)
  255. {
  256. GivePlayerWeapon(playerid, 10, 1);
  257. }
  258. if(listitem == 8)
  259. {
  260. GivePlayerWeapon(playerid, 41, 15000);
  261. }
  262. if(listitem == 9)
  263. {
  264. GivePlayerWeapon(playerid, 15, 1);
  265. }
  266. }
  267. return 1;
  268. }
  269.  
  270. if(dialogid == DIALOGID+2) // Pistols
  271. {
  272. if(response)
  273. {
  274. if(listitem == 0)
  275. {
  276. GivePlayerWeapon(playerid, 22, 15000);
  277. }
  278. if(listitem == 1)
  279. {
  280. GivePlayerWeapon(playerid, 23, 15000);
  281. }
  282. if(listitem == 2)
  283. {
  284. GivePlayerWeapon(playerid, 24, 15000);
  285. }
  286. }
  287. return 1;
  288. }
  289.  
  290. if(dialogid == DIALOGID+3) // Sub's
  291. {
  292. if(response)
  293. {
  294. if(listitem == 0)
  295. {
  296. GivePlayerWeapon(playerid, 28, 15000);
  297. }
  298. if(listitem == 1)
  299. {
  300. GivePlayerWeapon(playerid, 29, 15000);
  301. }
  302. if(listitem == 2)
  303. {
  304. GivePlayerWeapon(playerid, 32, 15000);
  305. }
  306. }
  307. return 1;
  308. }
  309.  
  310. if(dialogid == DIALOGID+4) // Rifle's
  311. {
  312. if(response)
  313. {
  314. if(listitem == 0)
  315. {
  316. GivePlayerWeapon(playerid, 33, 15000);
  317. }
  318. if(listitem == 1)
  319. {
  320. GivePlayerWeapon(playerid, 34, 15000);
  321. }
  322. }
  323. return 1;
  324. }
  325.  
  326. if(dialogid == DIALOGID+5) // Assault
  327. {
  328. if(response)
  329. {
  330. if(listitem == 0)
  331. {
  332. GivePlayerWeapon(playerid, 30, 15000);
  333. }
  334. if(listitem == 1)
  335. {
  336. GivePlayerWeapon(playerid, 31, 15000);
  337. }
  338. }
  339. return 1;
  340. }
  341.  
  342. if(dialogid == DIALOGID+6) // Shotguns
  343. {
  344. if(response)
  345. {
  346. if(listitem == 0)
  347. {
  348. GivePlayerWeapon(playerid, 25, 15000);
  349. }
  350. if(listitem == 1)
  351. {
  352. GivePlayerWeapon(playerid, 26, 15000);
  353. }
  354. if(listitem == 2)
  355. {
  356. GivePlayerWeapon(playerid, 27, 15000);
  357. }
  358. }
  359. return 1;
  360. }
  361.  
  362. if(dialogid == DIALOGID+7) // Misc Fire Extinguisher\nSatchel Charge\nParachute\nNightvision Goggles\nFlowers
  363. {
  364. if(response)
  365. {
  366. if(listitem == 0)
  367. {
  368. GivePlayerWeapon(playerid, 42, 15000);
  369. }
  370. if(listitem == 1)
  371. {
  372. GivePlayerWeapon(playerid, 46, 1);
  373. }
  374. if(listitem == 2)
  375. {
  376. GivePlayerWeapon(playerid, 44, 1);
  377. }
  378. if(listitem == 3)
  379. {
  380. GivePlayerWeapon(playerid, 14, 1);
  381. }
  382. }
  383. return 1;
  384. }
  385. return 0;
  386. }
Advertisement
Add Comment
Please, Sign In to add comment