Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <amxmisc>
- #include <cstrike>
- #include <fun>
- #include <dhudmessage>
- #include <cs_core>
- #include <vault>
- #include <hamsandwich>
- #define CLASS_NOTHING 0
- #define CLASS_NINJA 1
- #define CLASS_SAMURAI 2
- #define CLASS_EXPERT_NINJA 3
- #define CLASS_EXPERT_SAMURAI 4
- #define CLASS_SUPER_SAN 5
- #define MAXCLASSES 6
- new PlayerClass[33]
- new PlayerXP[33]
- new PlayerLevel[33] = 1
- new NinjaMenu
- new XP_Kill,XP_Knife,XP_Hs,XP_Awp
- new san_health, san_armor
- new const CLASSES[MAXCLASSES][] = {
- "None",
- "Ninja",
- "Samurai",
- "Expert Ninja",
- "Expert Samurai",
- "Super SAN"
- }
- new const LEVELS[8] = {
- 100,
- 200,
- 400,
- 800,
- 1600,
- 3200,
- 6400,
- 7300
- }
- public plugin_init() {
- register_plugin("Ninja mod", "1.1", "MustiDev#")
- register_dictionary("NinjaModCUSTOM.txt")
- register_event("DeathMsg", "DeathMsg", "a")
- // Is Ninja Mod on or off?
- register_cvar("sv_ninjamod", "1")
- // XP Cvars
- XP_Kill = register_cvar("XP_Kill", "10")
- XP_Hs = register_cvar("XP_Hs", "20")
- XP_Knife = register_cvar("XP_knife", "15")
- XP_Awp = register_cvar("XP_AWP", "5")
- // Super SAN Cvars
- san_armor = register_cvar("san_armor", "200")
- san_health = register_cvar("san_health", "250")
- // Save XP on or off?
- register_cvar("SaveXP", "1")
- //register_clcmd("ResetHUD", "ResetHud")
- register_clcmd("say /gsd", "ChangeNinja")
- register_clcmd("say_team /changeninja", "ChangeNinja")
- register_clcmd("say /xp", "ShowHUD")
- register_clcmd("say_team /xp", "ShowHUD")
- register_clcmd("say /reset", "Reset")
- register_clcmd("say_team /reset", "Reset")
- RegisterHam(Ham_Spawn, "player", "fw_HamSpawn", 1)
- }
- public Reset(id)
- {
- PlayerXP[id] = 0
- PlayerLevel[id] = 0
- PlayerClass[id] = CLASS_NOTHING
- ShowHUD(id)
- }
- public fw_HamSpawn(id)
- {
- if(PlayerClass[id] == CLASS_NOTHING)
- {
- ChangeNinja(id)
- return 1;
- }
- if(PlayerClass[id] == CLASS_SUPER_SAN)
- {
- strip_user_weapons(id)
- give_item(id, "weapon_ak47")
- give_item(id, "weapon_m4a1")
- give_item(id, "weapon_knife")
- give_item(id, "weapon_deagle")
- cs_set_user_bpammo(id, CSW_AK47, 1000)
- cs_set_user_bpammo(id, CSW_M4A1, 1000)
- cs_set_user_bpammo(id, CSW_DEAGLE, 1000)
- set_user_health(id, get_pcvar_num(san_health))
- set_user_armor(id, get_pcvar_num(san_armor))
- cs_glow_reward(id, 1, "255 0 0", 0, 0.0)
- cs_aura_reward(id, 1, "255 0 0", 0, 0.0)
- cs_jump_reward(id, 1, 3, 0, 0.0)
- cs_trail_reward(id, 1, "255 0 0", 0, 0.0)
- cs_line_reward(id, 1, "255 0 0", 1, 0, 0.0)
- }
- return PLUGIN_HANDLED
- }
- public SaveXP(id)
- {
- new authid[32];
- get_user_authid(id,authid, 31);
- new vaultkey[64], vaultdata[64];
- //Save CLASSES
- format(vaultkey,63,"Ninja-%s-class",authid);
- format(vaultdata,63,"%d",PlayerClass[id]);
- set_vaultdata(vaultkey,vaultdata);
- //Save Users XP
- format(vaultkey,63,"Ninja-%s-xp",authid);
- format(vaultdata,63,"%d",PlayerXP[id]);
- set_vaultdata(vaultkey,vaultdata);
- //Save Levels
- format(vaultkey,63,"Ninja-%s-level",authid);
- format(vaultdata,63,"%d",PlayerLevel[id]);
- set_vaultdata(vaultkey,vaultdata);
- }
- public LoadXP(id)
- {
- new authid[32];
- get_user_authid(id,authid,31);
- new vaultkey[64], vaultdata[64];
- //Load CLASSES
- format(vaultkey,63,"Ninja-%s-class",authid);
- get_vaultdata(vaultkey,vaultdata,63);
- PlayerClass[id] = str_to_num(vaultdata);
- //Load XP
- format(vaultkey,63,"Ninja-%s-xp",authid);
- get_vaultdata(vaultkey,vaultdata,63)
- PlayerXP[id] = str_to_num(vaultdata)
- //Load Levels
- format(vaultkey,63,"Ninja-%s-level", authid);
- get_vaultdata(vaultkey,vaultdata,63)
- PlayerLevel[id] = str_to_num(vaultdata)
- }
- public client_authorized(id)
- {
- //Load XP if SaveXP is 1
- if(get_cvar_num("SaveXP") == 1) {
- LoadXP(id)
- client_print(id, print_chat, "[Ninja Mod] XP Loaded!")
- client_print(id, print_chat, "[Ninja Mod] You are a %s with level %s and %s XP", PlayerClass[id], PlayerLevel[id], PlayerXP[id])
- }
- }
- public client_disconnect(id)
- {
- if(get_cvar_num("SaveXP") == 1) {
- SaveXP(id)
- }
- PlayerClass[id] = 0
- PlayerLevel[id] = 0
- PlayerXP[id] = 0
- }
- public ChangeNinja(id)
- {
- new szTemp[500 char]
- formatex(szTemp, charsmax(szTemp), "Ninja Class Menu \y[\rCurrent Class: \y%s]\y[\rXP: \y%d]", CLASSES[PlayerClass[id]], PlayerXP[id])
- NinjaMenu = menu_create(szTemp, "Ninja_handler")
- formatex(szTemp, charsmax(szTemp), "Ninja \y[\rLevel: \y%d]", PlayerLevel[id])
- menu_additem(NinjaMenu, szTemp, "1", 0)
- formatex(szTemp, charsmax(szTemp), "Samurai \y[\rLevel: \y%d]", PlayerLevel[id])
- menu_additem(NinjaMenu, szTemp, "2", 0)
- formatex(szTemp, charsmax(szTemp), "Expert Ninja \y[\rLevel: \y%d]", PlayerLevel[id])
- menu_additem(NinjaMenu, szTemp, "3", 0)
- formatex(szTemp, charsmax(szTemp), "Expert Samurai \y[\rLevel: \y%d]", PlayerLevel[id])
- menu_additem(NinjaMenu, szTemp, "4", 0)
- formatex(szTemp, charsmax(szTemp), "Super SAN \y[ \rADMIN/\yVIP ] [\rLevel: \y%d]", PlayerLevel[id])
- menu_additem(NinjaMenu, szTemp, "5", 0)
- menu_setprop(NinjaMenu, MPROP_EXITNAME, "Exit")
- menu_setprop(NinjaMenu, MPROP_EXIT, MEXIT_ALL)
- menu_display(id, NinjaMenu, 0)
- return PLUGIN_CONTINUE
- }
- public Ninja_handler(id, menu, class)
- {
- if(class == MENU_EXIT)
- {
- menu_destroy(menu)
- return 1;
- }
- new Data[6], iName[64], access, callback
- menu_item_getinfo(menu, class, access, Data,5,iName,63, callback)
- new key = str_to_num(Data)
- switch(key)
- {
- case 1:
- {
- if(PlayerClass[id] == CLASS_NINJA)
- {
- client_print(id, print_chat, "[Ninja Mod] You are already an Ninja!")
- Ninja_handler(id, menu, class)
- return PLUGIN_CONTINUE
- }
- else {
- PlayerClass[id] = CLASS_NINJA
- client_print(id, print_chat, "[Ninja Mod] You are now an Ninja!")
- }
- }
- case 2:
- {
- if(PlayerClass[id] == CLASS_SAMURAI)
- {
- client_print(id, print_chat, "[Ninja Mod] You are already an Samurai!")
- Ninja_handler(id, menu, class)
- return 1;
- }
- PlayerClass[id] = CLASS_SAMURAI
- client_print(id, print_chat, "[Ninja Mod] You are now an Samurai!")
- }
- case 3:
- {
- if(PlayerClass[id] == CLASS_EXPERT_NINJA)
- {
- client_print(0, print_chat, "[Ninja Mod]You are already an Expert Ninja!")
- Ninja_handler(id, menu, class)
- return PLUGIN_CONTINUE
- }
- PlayerClass[id] = CLASS_EXPERT_NINJA
- client_print(id, print_chat, "[Ninja Mod] You are now an Expert Ninja!")
- }
- case 4:
- {
- if(PlayerClass[id] == CLASS_EXPERT_SAMURAI)
- {
- client_print(id, print_chat, "[Ninja Mod] You are already an Expert-Samurai!")
- Ninja_handler(id, menu, class)
- return PLUGIN_CONTINUE
- }
- PlayerClass[id] = CLASS_EXPERT_SAMURAI
- client_print(id, print_chat, "[Ninja Mod] You are now an Expert-Samurai!")
- }
- case 5:
- {
- if(!(get_user_flags(id) & ADMIN_LEVEL_B))
- {
- client_print(id, print_chat, "[Ninja Mod ]You need to be VIP or ADMIN to use this class!")
- return PLUGIN_CONTINUE
- }
- if(!is_user_alive(id))
- {
- client_print(id, print_chat, "[Ninja Mod] You are dead!")
- Ninja_handler(id, menu, class)
- return PLUGIN_CONTINUE
- }
- if(PlayerClass[id] == CLASS_SUPER_SAN)
- {
- client_print(id, print_chat, "[Ninja Mod] You are already an Super SAN")
- Ninja_handler(id, menu, class)
- return PLUGIN_CONTINUE
- }
- PlayerClass[id] = CLASS_SUPER_SAN
- client_print(id, print_chat, "[Ninja Mod] You are now an Super SAN")
- strip_user_weapons(id)
- give_item(id, "weapon_ak47")
- give_item(id, "weapon_m4a1")
- give_item(id, "weapon_knife")
- give_item(id, "weapon_deagle")
- cs_set_user_bpammo(id, CSW_AK47, 1000)
- cs_set_user_bpammo(id, CSW_M4A1, 1000)
- set_user_health(id, get_pcvar_num(san_health))
- set_user_armor(id, get_pcvar_num(san_armor))
- cs_glow_reward(id, 1, "255 0 0", 0, 0.0)
- cs_aura_reward(id, 1, "255 0 0", 0, 0.0)
- cs_jump_reward(id, 1, 3, 0, 0.0)
- cs_trail_reward(id, 1, "255 0 0", 0, 0.0)
- cs_line_reward(id, 1, "255 0 0", 1, 0, 0.0)
- }
- }
- ShowHUD(id)
- return PLUGIN_CONTINUE
- }
- /*public ResetHUD(id)
- {
- if(PlayerClass[id] == CLASS_NOTHING)
- {
- ChangeNinja(id)
- return 1;
- }
- return 1;
- }*/
- public DeathMsg()
- {
- new attacker = read_data(1)
- new headshot = read_data(2)
- PlayerXP[attacker] += get_pcvar_num(XP_Kill)
- if(headshot)
- {
- PlayerXP[attacker] += get_pcvar_num(XP_Hs)
- }
- new plrWeapId, plrClip, plrAmmo
- plrWeapId = get_user_weapon(attacker, plrClip, plrAmmo)
- if(plrWeapId == CSW_AWP)
- {
- PlayerXP[attacker] += get_pcvar_num(XP_Awp)
- }
- if (plrWeapId == CSW_KNIFE)
- {
- PlayerXP[attacker] += get_pcvar_num(XP_Knife)
- }
- while((PlayerXP[attacker] >= LEVELS[PlayerLevel[attacker]]))
- {
- client_print(attacker, print_chat, "[Ninja Mod] Congratulations! You are a level %i %s!", PlayerLevel[attacker],CLASSES[PlayerClass[attacker]])
- PlayerLevel[attacker] += 1
- }
- ShowHUD(attacker)
- }
- public ShowHUD(id)
- {
- set_dhudmessage(255, 0, 0, -1.0, 0.20, 0, 0.1, 5.0, 0.1, 0.1)
- show_dhudmessage(id, "[%s]Current Level: %d XP: %d", CLASSES[PlayerClass[id]], PlayerLevel[id], PlayerXP[id])
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement