Guest User

Untitled

a guest
Apr 15th, 2012
300
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.16 KB | None | 0 0
  1. /**************************************************************
  2. * WeaponShop FS v.1.1 *
  3. * ^^ *
  4. * (o )o) (o )o) *
  5. * <-- | --> .: By Gertin :. <-- | --> *
  6. * / \ / \ *
  7. ***************************************************************/
  8.  
  9. //================================INCLUDES======================================
  10. #include <a_samp>
  11. #include <zcmd>
  12. #include <dudb>
  13. #include <sscanf2>
  14. //================================DEFINES=======================================
  15. #define RED 0xFF0000AA
  16. #pragma unused ret_memcpy
  17. //================================THINGS YOU CAN CHANGE=========================
  18. #define MAX_AMMO 250 // Max ammo type. Change it, how much you wan't.
  19. #define SNIPER_PRICE 50 // Sniper 1 ammo price
  20. #define ROCKET_PRICE 10000 // Rocket 1 ammo price
  21. #define MOLOTIV_PRICE 100 // Molotiv 1 ammo price
  22. #define C_SHOTGUN_PRICE 50 // Combat Shotgun 1 ammo price
  23. #define S_SHOTGUN_PRICE 50 // Sawn-Off Shotgun 1 ammo price
  24. #define DESERT_PRICE 30 // Desert eagle 1 ammo price
  25. #define GRANADE_PRICE 300 // Granade 1 ammo price
  26. #define MP5_PRICE 10 // MP5 1 ammo price
  27. //================================DIALOG ID's===================================
  28. #define WEAPON_DIALOG 9000
  29. #define WEAPON_DIALOG1 9001
  30. #define WEAPON_DIALOG2 9002
  31. #define WEAPON_DIALOG3 9003
  32. #define WEAPON_DIALOG4 9004
  33. #define WEAPON_DIALOG5 9005
  34. #define WEAPON_DIALOG6 9006
  35. #define WEAPON_DIALOG7 9007
  36. #define WEAPON_DIALOG8 9008
  37. #define WEAPON_DIALOG9 9009
  38. //================================NEWS==========================================
  39. new Weaps;
  40. new bool:Shop;
  41. new wstring[512];
  42. //================================COMMANDS======================================
  43. COMMAND:shop(playerid,params[])
  44. {
  45. if(Shop == true)
  46. {
  47. SendClientMessage(playerid,RED,"{33FF00}You've opened the shop.");
  48. ShowDialog(playerid, WEAPON_DIALOG);
  49. return 1;
  50. }
  51. if(Shop == false)
  52. {
  53. SendClientMessage(playerid,RED,"{33FF00}Shop is closed .");
  54. return 1;
  55. }
  56. return 0;
  57. }
  58. //==============================================================================
  59. COMMAND:ashop(playerid, params[])
  60. {
  61. if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,RED,"{FF0000}You need to be rcon admin !");
  62. ShowDialog(playerid, WEAPON_DIALOG9);
  63. return 1;
  64. }
  65. //==============================PUBLICS=========================================
  66. public OnFilterScriptInit()
  67. {
  68. Shop = true;
  69. printf("===================================================");
  70. printf("Oh , you loaded me . I'm WeaponShop FilterScript ^^");
  71. printf("I'm Maked By Gertin !");
  72. printf("===================================================");
  73. return 1;
  74. }
  75. //==============================================================================
  76. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  77. {
  78. if(response)
  79. {
  80. if(dialogid == WEAPON_DIALOG)
  81. {
  82. if(listitem == 0)
  83. {
  84. new string[256];
  85. format(string, sizeof(string), "~w~Thanks ~b~For ~p~Using Shop ^^");
  86. GameTextForPlayer(playerid, string, 7500, 3);
  87. }
  88. if(listitem == 1)
  89. {
  90. ShowDialog(playerid,WEAPON_DIALOG1);
  91. }
  92. if(listitem == 2)
  93. {
  94. ShowDialog(playerid,WEAPON_DIALOG2);
  95. }
  96. if(listitem == 3)
  97. {
  98. ShowDialog(playerid,WEAPON_DIALOG3);
  99. }
  100. if(listitem == 4)
  101. {
  102. ShowDialog(playerid,WEAPON_DIALOG4);
  103. }
  104. if(listitem == 5)
  105. {
  106. ShowDialog(playerid,WEAPON_DIALOG5);
  107. }
  108. if(listitem == 6)
  109. {
  110. ShowDialog(playerid,WEAPON_DIALOG6);
  111. }
  112. if(listitem == 7)
  113. {
  114. ShowDialog(playerid,WEAPON_DIALOG7);
  115. }
  116. if(listitem == 8)
  117. {
  118. ShowDialog(playerid,WEAPON_DIALOG8);
  119. }
  120. }
  121. }
  122. if(dialogid == WEAPON_DIALOG9)
  123. {
  124. new string[256];
  125. new ime[MAX_PLAYER_NAME];
  126. GetPlayerName(playerid, ime, sizeof(ime));
  127. if(response)
  128. {
  129. format(string, sizeof(string), "~r~[]Shop]~b~ is turned on by an admin:~y~ %s", ime);
  130. GameTextForAll(string,5000,3);
  131. Shop = true;
  132. }
  133. if(!response)
  134. {
  135. format(string, sizeof(string), "~r~[]Shop]~b~ is turned off by an admin:~y~ %s", ime);
  136. GameTextForAll(string,5000,3);
  137. Shop = false;
  138. }
  139. }
  140. if(response)
  141. {
  142. if(dialogid == WEAPON_DIALOG1)
  143. {
  144. Weaps = strval(inputtext);
  145. if(Weaps > MAX_AMMO)
  146. {
  147. format(wstring, sizeof(wstring), "{FF0000}Max Ammo is %s .",MAX_AMMO);
  148. SendClientMessage(playerid, -1, wstring);
  149. }
  150. if(!isNumeric(inputtext)) return SendClientMessage(playerid, 0x0000D9AA, "Only numbers");
  151. if(GetPlayerMoney(playerid) <= Weaps*SNIPER_PRICE) return SendClientMessage(playerid,RED,"You don´t have so much money!");
  152. GivePlayerMoney(playerid, -Weaps*SNIPER_PRICE);
  153. GivePlayerWeapon(playerid, 34, Weaps);
  154. SendClientMessage(playerid, RED, "{33FF00}Thanks to use shop !{FF9900} You have buy Sniper Rifle !");
  155. }
  156. }
  157. if(response)
  158. {
  159. if(dialogid == WEAPON_DIALOG2)
  160. {
  161. Weaps = strval(inputtext);
  162. if(Weaps > MAX_AMMO)
  163. {
  164. format(wstring, sizeof(wstring), "{FF0000}Max Ammo is %s .",MAX_AMMO);
  165. SendClientMessage(playerid, -1, wstring);
  166. }
  167. if(!isNumeric(inputtext)) return SendClientMessage(playerid, 0x0000D9AA, "Only numbers");
  168. if(GetPlayerMoney(playerid) <= Weaps*ROCKET_PRICE) return SendClientMessage(playerid,RED,"You don´t have so much money!");
  169. GivePlayerMoney(playerid, -Weaps*ROCKET_PRICE);
  170. GivePlayerWeapon(playerid, 35, Weaps);
  171. SendClientMessage(playerid, RED, "{33FF00}Thanks to use shop !{FF9900} You have buy Rocket Launcher !");
  172. }
  173. }
  174. if(response)
  175. {
  176. if(dialogid == WEAPON_DIALOG3)
  177. {
  178. Weaps = strval(inputtext);
  179. if(Weaps > MAX_AMMO)
  180. {
  181. format(wstring, sizeof(wstring), "{FF0000}Max Ammo is %s .",MAX_AMMO);
  182. SendClientMessage(playerid, -1, wstring);
  183. }
  184. if(!isNumeric(inputtext)) return SendClientMessage(playerid, 0x0000D9AA, "Only numbers");
  185. if(GetPlayerMoney(playerid) <= Weaps*MOLOTIV_PRICE) return SendClientMessage(playerid,RED,"You don´t have so much money!");
  186. GivePlayerMoney(playerid, -Weaps*MOLOTIV_PRICE);
  187. GivePlayerWeapon(playerid, 18, Weaps);
  188. SendClientMessage(playerid, RED, "{33FF00}Thanks to use shop !{FF9900} You have buy Molotov Cocktail !");
  189. }
  190. }
  191. if(response)
  192. {
  193. if(dialogid == WEAPON_DIALOG4)
  194. {
  195. Weaps = strval(inputtext);
  196. if(Weaps > MAX_AMMO)
  197. {
  198. format(wstring, sizeof(wstring), "{FF0000}Max Ammo is %s .",MAX_AMMO);
  199. SendClientMessage(playerid, -1, wstring);
  200. }
  201. if(!isNumeric(inputtext)) return SendClientMessage(playerid, 0x0000D9AA, "Only numbers");
  202. if(GetPlayerMoney(playerid) <= Weaps*C_SHOTGUN_PRICE) return SendClientMessage(playerid,RED,"You don´t have so much money!");
  203. GivePlayerMoney(playerid, -Weaps*C_SHOTGUN_PRICE);
  204. GivePlayerWeapon(playerid, 27, Weaps);
  205. SendClientMessage(playerid, RED, "{33FF00}Thanks to use shop !{FF9900} You have buy Combat Shotgun !");
  206. }
  207. }
  208. if(response)
  209. {
  210. if(dialogid == WEAPON_DIALOG5)
  211. {
  212. Weaps = strval(inputtext);
  213. if(Weaps > MAX_AMMO)
  214. {
  215. format(wstring, sizeof(wstring), "{FF0000}Max Ammo is %s .",MAX_AMMO);
  216. SendClientMessage(playerid, -1, wstring);
  217. }
  218. if(!isNumeric(inputtext)) return SendClientMessage(playerid, 0x0000D9AA, "Only numbers");
  219. if(GetPlayerMoney(playerid) <= Weaps*S_SHOTGUN_PRICE) return SendClientMessage(playerid,RED,"You don´t have so much money!");
  220. GivePlayerMoney(playerid, -Weaps*S_SHOTGUN_PRICE);
  221. GivePlayerWeapon(playerid, 26, Weaps);
  222. SendClientMessage(playerid, RED, "{33FF00}Thanks to use shop !{FF9900} You have buy Sawn-Off Shotgun !");
  223. }
  224. }
  225. if(response)
  226. {
  227. if(dialogid == WEAPON_DIALOG6)
  228. {
  229. Weaps = strval(inputtext);
  230. if(Weaps > MAX_AMMO)
  231. {
  232. format(wstring, sizeof(wstring), "{FF0000}Max Ammo is %s .",MAX_AMMO);
  233. SendClientMessage(playerid, -1, wstring);
  234. }
  235. if(!isNumeric(inputtext)) return SendClientMessage(playerid, 0x0000D9AA, "Only numbers");
  236. if(GetPlayerMoney(playerid) <= Weaps*DESERT_PRICE) return SendClientMessage(playerid,RED,"You don´t have so much money!");
  237. GivePlayerMoney(playerid, - Weaps*DESERT_PRICE);
  238. GivePlayerWeapon(playerid, 24, Weaps);
  239. SendClientMessage(playerid, RED, "{33FF00}Thanks to use shop !{FF9900} You have buy Desert Eagle !");
  240. }
  241. }
  242. if(response)
  243. {
  244. if(dialogid == WEAPON_DIALOG7)
  245. {
  246. Weaps = strval(inputtext);
  247. if(Weaps > MAX_AMMO)
  248. {
  249. format(wstring, sizeof(wstring), "{FF0000}Max Ammo is %s .",MAX_AMMO);
  250. SendClientMessage(playerid, -1, wstring);
  251. }
  252. if(!isNumeric(inputtext)) return SendClientMessage(playerid, 0x0000D9AA, "Only numbers");
  253. if(GetPlayerMoney(playerid) <= Weaps*GRANADE_PRICE) return SendClientMessage(playerid,RED,"You don´t have so much money!");
  254. GivePlayerMoney(playerid, -Weaps*GRANADE_PRICE);
  255. GivePlayerWeapon(playerid, 16, Weaps);
  256. SendClientMessage(playerid, RED, "{33FF00}Thanks to use shop !{FF9900} You have buy Grenade !");
  257. }
  258. }
  259. if(response)
  260. {
  261. if(dialogid == WEAPON_DIALOG8)
  262. {
  263. Weaps = strval(inputtext);
  264. if(Weaps > MAX_AMMO)
  265. {
  266. format(wstring, sizeof(wstring), "{FF0000}Max Ammo is %s .",MAX_AMMO);
  267. SendClientMessage(playerid, -1, wstring);
  268. }
  269. if(!isNumeric(inputtext)) return SendClientMessage(playerid, 0x0000D9AA, "Only numbers");
  270. if(GetPlayerMoney(playerid) <= Weaps*MP5_PRICE) return SendClientMessage(playerid,RED,"You don´t have so much money!");
  271. GivePlayerMoney(playerid, -Weaps*MP5_PRICE);
  272. GivePlayerWeapon(playerid, 29, Weaps);
  273. SendClientMessage(playerid, RED, "{33FF00}Thanks to use shop !{FF9900} You have buy MP5 !");
  274. }
  275. }
  276. return 0;
  277. }
  278. //================================STOCKS========================================
  279. stock IsNumeric(string[])
  280. {
  281. for (new i = 0, j = strlen(string);
  282. i < j; i++)
  283. {
  284. if (string[i] > '9' || string[i] < '0')
  285. return 0;
  286. }
  287. return 1;
  288. }
  289. //==============================================================================
  290. stock ShowDialog(playerid, dialog)
  291. {
  292. new dstring[1024];
  293. switch(dialog)
  294. {
  295. case WEAPON_DIALOG: {
  296. format(dstring, sizeof(dstring),"{6600CC}|<-------Weapons------>|\nSniper Rifle [Ammo Price: %d$ ]\nRocket Launcher [Ammo Price: %d$ ]\nMolotiv Coctails [Ammo Price: %d$ ]\nCombat Shotgun [Ammo Price: %d$ ]\nShawn-Off Shotgun [Ammo Price: %d$ ]\nDesert Eagle [Ammo Price: %d$ ]\nGranade [Ammo Price: %d$ ]\nMP5 [Ammo Price: %d$ ]",
  297. SNIPER_PRICE,
  298. ROCKET_PRICE,
  299. MOLOTIV_PRICE,
  300. C_SHOTGUN_PRICE,
  301. S_SHOTGUN_PRICE,
  302. DESERT_PRICE,
  303. GRANADE_PRICE,
  304. MP5_PRICE);
  305. ShowPlayerDialog(playerid, dialog, DIALOG_STYLE_LIST,"{003399}S{00FF66}hop",dstring,"Next","Cancel");
  306. }
  307. case WEAPON_DIALOG1: {
  308. format(dstring, sizeof(dstring),"{00FF66}Type the ammo, what you want for sniper .\n 1 Ammo Price is %d$",SNIPER_PRICE);
  309. ShowPlayerDialog(playerid, dialog, DIALOG_STYLE_INPUT,"{003399}Sniper Rifle",dstring,"Buy","Cancel");
  310. }
  311. case WEAPON_DIALOG2: {
  312. format(dstring, sizeof(dstring),"{00FF66}Type the ammo, what you want for rocket launcher .\n 1 Ammo Price is %d$",ROCKET_PRICE);
  313. ShowPlayerDialog(playerid, dialog, DIALOG_STYLE_INPUT,"{003399}Rocket Launcher",dstring,"Buy","Cancel");
  314. }
  315. case WEAPON_DIALOG3: {
  316. format(dstring, sizeof(dstring),"{00FF66}Type the ammo, what you want for coctails .\n 1 Ammo Price is %d$",MOLOTIV_PRICE);
  317. ShowPlayerDialog(playerid, dialog, DIALOG_STYLE_INPUT,"{003399}Molotiv Coctails",dstring,"Buy","Cancel");
  318. }
  319. case WEAPON_DIALOG4: {
  320. format(dstring, sizeof(dstring),"{00FF66}Type the ammo, what you want for shotgun .\n 1 Ammo Price is %d$",C_SHOTGUN_PRICE);
  321. ShowPlayerDialog(playerid, dialog, DIALOG_STYLE_INPUT,"{003399}Combat ShotGun",dstring,"Buy","Cancel");
  322. }
  323. case WEAPON_DIALOG5: {
  324. format(dstring, sizeof(dstring),"{00FF66}Type the ammo, what you want for shawn-off .\n 1 Ammo Price is %d$",S_SHOTGUN_PRICE);
  325. ShowPlayerDialog(playerid, dialog, DIALOG_STYLE_INPUT,"{003399}Shawn-Off ShotGun",dstring,"Buy","Cancel");
  326. }
  327. case WEAPON_DIALOG6: {
  328. format(dstring, sizeof(dstring),"{00FF66}Type the ammo, what you want for eagle .\n 1 Ammo Price is %d$",DESERT_PRICE);
  329. ShowPlayerDialog(playerid, dialog, DIALOG_STYLE_INPUT,"{003399}Desert Eagle",dstring,"Buy","Cancel");
  330. }
  331. case WEAPON_DIALOG7: {
  332. format(dstring, sizeof(dstring),"{00FF66}Type the ammo, what you want for granades .\n 1 Ammo Price is %d$",GRANADE_PRICE);
  333. ShowPlayerDialog(playerid, dialog, DIALOG_STYLE_INPUT,"{003399}Granades",dstring,"Buy","Cancel");
  334. }
  335. case WEAPON_DIALOG8: {
  336. format(dstring, sizeof(dstring),"{00FF66}Type the ammo, what you want for granades .\n 1 Ammo Price is %d$",MP5_PRICE);
  337. ShowPlayerDialog(playerid, dialog, DIALOG_STYLE_INPUT,"{003399}MP5",dstring,"Buy","Cancel");
  338. }
  339. case WEAPON_DIALOG9: ShowPlayerDialog(playerid, dialog, DIALOG_STYLE_MSGBOX, "{FF0000}Shop !","{FF6600}You wan't to {6600CC}open{33CC00}/{00FFFF}close{FF6600} shop ?","Open","Close");
  340. }
  341. return 0;
  342. }
  343. //====================[ BEST PART OF THAT FILTERSCRIPT ]========================
  344. //========================[ THEY CALLED IT THE END ! ]==========================
Advertisement
Add Comment
Please, Sign In to add comment