Advertisement
Guest User

ORgasm

a guest
Jan 17th, 2017
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.97 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <fun>
  5. #include <dhudmessage>
  6. #include <cs_core>
  7. #include <vault>
  8. #include <hamsandwich>
  9.  
  10. #define CLASS_NOTHING 0
  11. #define CLASS_NINJA 1
  12. #define CLASS_SAMURAI 2
  13. #define CLASS_EXPERT_NINJA 3
  14. #define CLASS_EXPERT_SAMURAI 4
  15. #define CLASS_SUPER_SAN 5
  16.  
  17. #define MAXCLASSES 6
  18.  
  19. new PlayerClass[33]
  20. new PlayerXP[33]
  21. new PlayerLevel[33] = 1
  22. new NinjaMenu
  23. new XP_Kill,XP_Knife,XP_Hs,XP_Awp
  24. new san_health, san_armor
  25.  
  26. new const CLASSES[MAXCLASSES][] = {
  27. "None",
  28. "Ninja",
  29. "Samurai",
  30. "Expert Ninja",
  31. "Expert Samurai",
  32. "Super SAN"
  33. }
  34.  
  35. new const LEVELS[8] = {
  36. 100,
  37. 200,
  38. 400,
  39. 800,
  40. 1600,
  41. 3200,
  42. 6400,
  43. 7300
  44. }
  45. public plugin_init() {
  46. register_plugin("Ninja mod", "1.1", "MustiDev#")
  47. register_dictionary("NinjaModCUSTOM.txt")
  48. register_event("DeathMsg", "DeathMsg", "a")
  49. // Is Ninja Mod on or off?
  50. register_cvar("sv_ninjamod", "1")
  51. // XP Cvars
  52. XP_Kill = register_cvar("XP_Kill", "10")
  53. XP_Hs = register_cvar("XP_Hs", "20")
  54. XP_Knife = register_cvar("XP_knife", "15")
  55. XP_Awp = register_cvar("XP_AWP", "5")
  56. // Super SAN Cvars
  57. san_armor = register_cvar("san_armor", "200")
  58. san_health = register_cvar("san_health", "250")
  59. // Save XP on or off?
  60. register_cvar("SaveXP", "1")
  61. //register_clcmd("ResetHUD", "ResetHud")
  62. register_clcmd("say /gsd", "ChangeNinja")
  63. register_clcmd("say_team /changeninja", "ChangeNinja")
  64. register_clcmd("say /xp", "ShowHUD")
  65. register_clcmd("say_team /xp", "ShowHUD")
  66. register_clcmd("say /reset", "Reset")
  67. register_clcmd("say_team /reset", "Reset")
  68. RegisterHam(Ham_Spawn, "player", "fw_HamSpawn", 1)
  69. }
  70. public Reset(id)
  71. {
  72. PlayerXP[id] = 0
  73. PlayerLevel[id] = 0
  74. PlayerClass[id] = CLASS_NOTHING
  75. ShowHUD(id)
  76. }
  77. public fw_HamSpawn(id)
  78. {
  79. if(PlayerClass[id] == CLASS_NOTHING)
  80. {
  81. ChangeNinja(id)
  82. return 1;
  83. }
  84. if(PlayerClass[id] == CLASS_SUPER_SAN)
  85. {
  86.  
  87. strip_user_weapons(id)
  88. give_item(id, "weapon_ak47")
  89. give_item(id, "weapon_m4a1")
  90. give_item(id, "weapon_knife")
  91. give_item(id, "weapon_deagle")
  92. cs_set_user_bpammo(id, CSW_AK47, 1000)
  93. cs_set_user_bpammo(id, CSW_M4A1, 1000)
  94. cs_set_user_bpammo(id, CSW_DEAGLE, 1000)
  95. set_user_health(id, get_pcvar_num(san_health))
  96. set_user_armor(id, get_pcvar_num(san_armor))
  97. cs_glow_reward(id, 1, "255 0 0", 0, 0.0)
  98. cs_aura_reward(id, 1, "255 0 0", 0, 0.0)
  99. cs_jump_reward(id, 1, 3, 0, 0.0)
  100. cs_trail_reward(id, 1, "255 0 0", 0, 0.0)
  101. cs_line_reward(id, 1, "255 0 0", 1, 0, 0.0)
  102. }
  103. return PLUGIN_HANDLED
  104. }
  105. public SaveXP(id)
  106. {
  107. new authid[32];
  108. get_user_authid(id,authid, 31);
  109.  
  110. new vaultkey[64], vaultdata[64];
  111.  
  112.  
  113. //Save CLASSES
  114. format(vaultkey,63,"Ninja-%s-class",authid);
  115. format(vaultdata,63,"%d",PlayerClass[id]);
  116. set_vaultdata(vaultkey,vaultdata);
  117.  
  118. //Save Users XP
  119. format(vaultkey,63,"Ninja-%s-xp",authid);
  120. format(vaultdata,63,"%d",PlayerXP[id]);
  121. set_vaultdata(vaultkey,vaultdata);
  122.  
  123. //Save Levels
  124. format(vaultkey,63,"Ninja-%s-level",authid);
  125. format(vaultdata,63,"%d",PlayerLevel[id]);
  126. set_vaultdata(vaultkey,vaultdata);
  127. }
  128. public LoadXP(id)
  129. {
  130. new authid[32];
  131. get_user_authid(id,authid,31);
  132.  
  133. new vaultkey[64], vaultdata[64];
  134.  
  135. //Load CLASSES
  136. format(vaultkey,63,"Ninja-%s-class",authid);
  137. get_vaultdata(vaultkey,vaultdata,63);
  138. PlayerClass[id] = str_to_num(vaultdata);
  139.  
  140. //Load XP
  141. format(vaultkey,63,"Ninja-%s-xp",authid);
  142. get_vaultdata(vaultkey,vaultdata,63)
  143. PlayerXP[id] = str_to_num(vaultdata)
  144.  
  145. //Load Levels
  146. format(vaultkey,63,"Ninja-%s-level", authid);
  147. get_vaultdata(vaultkey,vaultdata,63)
  148. PlayerLevel[id] = str_to_num(vaultdata)
  149. }
  150. public client_authorized(id)
  151. {
  152. //Load XP if SaveXP is 1
  153. if(get_cvar_num("SaveXP") == 1) {
  154. LoadXP(id)
  155.  
  156. client_print(id, print_chat, "[Ninja Mod] XP Loaded!")
  157. client_print(id, print_chat, "[Ninja Mod] You are a %s with level %s and %s XP", PlayerClass[id], PlayerLevel[id], PlayerXP[id])
  158. }
  159. }
  160.  
  161. public client_disconnect(id)
  162. {
  163. if(get_cvar_num("SaveXP") == 1) {
  164. SaveXP(id)
  165. }
  166.  
  167. PlayerClass[id] = 0
  168. PlayerLevel[id] = 0
  169. PlayerXP[id] = 0
  170. }
  171. public ChangeNinja(id)
  172. {
  173. new szTemp[500 char]
  174. formatex(szTemp, charsmax(szTemp), "Ninja Class Menu \y[\rCurrent Class: \y%s]\y[\rXP: \y%d]", CLASSES[PlayerClass[id]], PlayerXP[id])
  175. NinjaMenu = menu_create(szTemp, "Ninja_handler")
  176. formatex(szTemp, charsmax(szTemp), "Ninja \y[\rLevel: \y%d]", PlayerLevel[id])
  177. menu_additem(NinjaMenu, szTemp, "1", 0)
  178. formatex(szTemp, charsmax(szTemp), "Samurai \y[\rLevel: \y%d]", PlayerLevel[id])
  179. menu_additem(NinjaMenu, szTemp, "2", 0)
  180. formatex(szTemp, charsmax(szTemp), "Expert Ninja \y[\rLevel: \y%d]", PlayerLevel[id])
  181. menu_additem(NinjaMenu, szTemp, "3", 0)
  182. formatex(szTemp, charsmax(szTemp), "Expert Samurai \y[\rLevel: \y%d]", PlayerLevel[id])
  183. menu_additem(NinjaMenu, szTemp, "4", 0)
  184. formatex(szTemp, charsmax(szTemp), "Super SAN \y[ \rADMIN/\yVIP ] [\rLevel: \y%d]", PlayerLevel[id])
  185. menu_additem(NinjaMenu, szTemp, "5", 0)
  186.  
  187. menu_setprop(NinjaMenu, MPROP_EXITNAME, "Exit")
  188. menu_setprop(NinjaMenu, MPROP_EXIT, MEXIT_ALL)
  189. menu_display(id, NinjaMenu, 0)
  190. return PLUGIN_CONTINUE
  191. }
  192. public Ninja_handler(id, menu, class)
  193. {
  194. if(class == MENU_EXIT)
  195. {
  196. menu_destroy(menu)
  197. return 1;
  198. }
  199. new Data[6], iName[64], access, callback
  200. menu_item_getinfo(menu, class, access, Data,5,iName,63, callback)
  201. new key = str_to_num(Data)
  202. switch(key)
  203. {
  204. case 1:
  205. {
  206. if(PlayerClass[id] == CLASS_NINJA)
  207. {
  208. client_print(id, print_chat, "[Ninja Mod] You are already an Ninja!")
  209. Ninja_handler(id, menu, class)
  210. return PLUGIN_CONTINUE
  211. }
  212. else {
  213. PlayerClass[id] = CLASS_NINJA
  214. client_print(id, print_chat, "[Ninja Mod] You are now an Ninja!")
  215. }
  216.  
  217. }
  218. case 2:
  219. {
  220. if(PlayerClass[id] == CLASS_SAMURAI)
  221. {
  222. client_print(id, print_chat, "[Ninja Mod] You are already an Samurai!")
  223. Ninja_handler(id, menu, class)
  224. return 1;
  225. }
  226. PlayerClass[id] = CLASS_SAMURAI
  227.  
  228.  
  229. client_print(id, print_chat, "[Ninja Mod] You are now an Samurai!")
  230. }
  231. case 3:
  232. {
  233. if(PlayerClass[id] == CLASS_EXPERT_NINJA)
  234. {
  235. client_print(0, print_chat, "[Ninja Mod]You are already an Expert Ninja!")
  236. Ninja_handler(id, menu, class)
  237. return PLUGIN_CONTINUE
  238. }
  239. PlayerClass[id] = CLASS_EXPERT_NINJA
  240.  
  241. client_print(id, print_chat, "[Ninja Mod] You are now an Expert Ninja!")
  242. }
  243. case 4:
  244. {
  245. if(PlayerClass[id] == CLASS_EXPERT_SAMURAI)
  246. {
  247. client_print(id, print_chat, "[Ninja Mod] You are already an Expert-Samurai!")
  248. Ninja_handler(id, menu, class)
  249. return PLUGIN_CONTINUE
  250. }
  251. PlayerClass[id] = CLASS_EXPERT_SAMURAI
  252. client_print(id, print_chat, "[Ninja Mod] You are now an Expert-Samurai!")
  253. }
  254. case 5:
  255. {
  256. if(!(get_user_flags(id) & ADMIN_LEVEL_B))
  257. {
  258. client_print(id, print_chat, "[Ninja Mod ]You need to be VIP or ADMIN to use this class!")
  259. return PLUGIN_CONTINUE
  260. }
  261. if(!is_user_alive(id))
  262. {
  263. client_print(id, print_chat, "[Ninja Mod] You are dead!")
  264. Ninja_handler(id, menu, class)
  265. return PLUGIN_CONTINUE
  266. }
  267. if(PlayerClass[id] == CLASS_SUPER_SAN)
  268. {
  269. client_print(id, print_chat, "[Ninja Mod] You are already an Super SAN")
  270. Ninja_handler(id, menu, class)
  271. return PLUGIN_CONTINUE
  272. }
  273. PlayerClass[id] = CLASS_SUPER_SAN
  274. client_print(id, print_chat, "[Ninja Mod] You are now an Super SAN")
  275. strip_user_weapons(id)
  276. give_item(id, "weapon_ak47")
  277. give_item(id, "weapon_m4a1")
  278. give_item(id, "weapon_knife")
  279. give_item(id, "weapon_deagle")
  280. cs_set_user_bpammo(id, CSW_AK47, 1000)
  281. cs_set_user_bpammo(id, CSW_M4A1, 1000)
  282. set_user_health(id, get_pcvar_num(san_health))
  283. set_user_armor(id, get_pcvar_num(san_armor))
  284. cs_glow_reward(id, 1, "255 0 0", 0, 0.0)
  285. cs_aura_reward(id, 1, "255 0 0", 0, 0.0)
  286. cs_jump_reward(id, 1, 3, 0, 0.0)
  287. cs_trail_reward(id, 1, "255 0 0", 0, 0.0)
  288. cs_line_reward(id, 1, "255 0 0", 1, 0, 0.0)
  289. }
  290. }
  291. ShowHUD(id)
  292. return PLUGIN_CONTINUE
  293. }
  294. /*public ResetHUD(id)
  295. {
  296. if(PlayerClass[id] == CLASS_NOTHING)
  297. {
  298. ChangeNinja(id)
  299. return 1;
  300. }
  301. return 1;
  302. }*/
  303. public DeathMsg()
  304. {
  305. new attacker = read_data(1)
  306. new headshot = read_data(2)
  307.  
  308. PlayerXP[attacker] += get_pcvar_num(XP_Kill)
  309. if(headshot)
  310. {
  311. PlayerXP[attacker] += get_pcvar_num(XP_Hs)
  312. }
  313.  
  314. new plrWeapId, plrClip, plrAmmo
  315. plrWeapId = get_user_weapon(attacker, plrClip, plrAmmo)
  316. if(plrWeapId == CSW_AWP)
  317. {
  318. PlayerXP[attacker] += get_pcvar_num(XP_Awp)
  319. }
  320. if (plrWeapId == CSW_KNIFE)
  321. {
  322. PlayerXP[attacker] += get_pcvar_num(XP_Knife)
  323. }
  324. while((PlayerXP[attacker] >= LEVELS[PlayerLevel[attacker]]))
  325. {
  326. client_print(attacker, print_chat, "[Ninja Mod] Congratulations! You are a level %i %s!", PlayerLevel[attacker],CLASSES[PlayerClass[attacker]])
  327. PlayerLevel[attacker] += 1
  328. }
  329.  
  330. ShowHUD(attacker)
  331.  
  332. }
  333. public ShowHUD(id)
  334. {
  335. set_dhudmessage(255, 0, 0, -1.0, 0.20, 0, 0.1, 5.0, 0.1, 0.1)
  336. show_dhudmessage(id, "[%s]Current Level: %d XP: %d", CLASSES[PlayerClass[id]], PlayerLevel[id], PlayerXP[id])
  337. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement