Raised This Month: $ Target: $400
 0% 

menu problems with xp based plugin


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
raa
Senior Member
Join Date: Oct 2005
Old 02-13-2007 , 15:39   Re: menu problems with xp based plugin
Reply With Quote #6

I got your menu working. Also you can try to use what blackrose posted as well.

Code:
//------------------------------------------------------------------------------------------- // //            based on XunTric's animal omd // //         modified for MosthatedOnline Servers // //           <a href="http://clan.mosthatedonline.com" target="_blank" rel="nofollow noopener">http://clan.mosthatedonline.com</a> //------------------------------------------------------------------------------------------- #include <amxmodx> #include <amxmisc> #include <cstrike> #include <fun> #include <vault> //#include <superheromod> #include <Vexd_Utilities> #include <engine> #define PLUGIN "mho_mod" #define VERSION "1.12" #define AUTHOR "Gzus" #define CLASS_NOTHING 0 #define CLASS_MUTANT 1 #define CLASS_ALIEN 2 #define CLASS_PREDATOR 3 #define CLASS_MACHINE 4 #define MAXCLASSES 5 //------------------------------------------------------------------------------------------- //new g_nightCrawlerTimer[33] new PlayerClass[33] new PlayerXP[33] new PlayerLevel[33] //------------------------------------------------------------------------------------------- new const CLASSES[MAXCLASSES][] = {     "None",     "Mutant",     "Alien",     "Predator",     "Machine" } //------------------------------------------------------------------------------------------- new msgtext //------------------------------------------------------------------------------------------- new const LEVELS[6] = {     100,     200,     400,     800,     1600,     3200 } //------------------------------------------------------------------------------------------- public plugin_init()     {     register_plugin(PLUGIN, VERSION, AUTHOR)     register_cvar("SaveXP", "1")     register_cvar("sv_mhomod", "1")         register_event("DeathMsg", "DeathMsg", "ae")         register_cvar("XP_per_kill", "20")         register_menucmd(register_menuid("menu_ChooseRace"),(1<<0|1<<1|1<<2|1<<3|1<<4|1<<5),"DoChooseRace");         register_event("ResetHUD", "hook_hud", "b")         msgtext = get_user_msgid("StatusText")         register_clcmd("say changerace", "ChooseRace")     register_clcmd("say_team changerace", "ChooseRace")     register_clcmd("mosthatedonline", "MHO_Skill")     //register_concmd("mho_givexp", "mho_xp", ADMIN_SLAY, "<target> ")     register_event("CurWeapon", "Event_CurWeapon", "be", "1=1"); } //------------------------------------------------------------------------------------------- public Event_CurWeapon(id)     {     new Float:Speed = 300.0+(PlayerLevel[id]*50)     set_user_maxspeed(id, Float:Speed) } //------------------------------------------------------------------------------------------- public SaveXP(id)     {     new authid[32];     get_user_authid(id,authid,31);     new vaultkey[64], vaultdata[64];         format(vaultkey,63,"RACE-%s-class",authid);     format(vaultdata,63,"%d",PlayerClass[id]);     set_vaultdata(vaultkey,vaultdata);         format(vaultkey,63,"RACE-%s-xp",authid);     format(vaultdata,63,"%d",PlayerXP[id]);     set_vaultdata(vaultkey,vaultdata);         format(vaultkey,63,"RACE-%s-level",authid);     format(vaultdata,63,"%d",PlayerLevel[id]);     set_vaultdata(vaultkey,vaultdata);         server_print("--MHO MOD-- SAVED XP",0.01) } //------------------------------------------------------------------------------------------- public LoadXP(id)     {     new authid[32];     get_user_authid(id,authid,31);         new vaultkey[64], vaultdata[64];         format(vaultkey,63,"RACE-%s-class",authid);     get_vaultdata(vaultkey,vaultdata,63);     PlayerClass[id] = str_to_num(vaultdata);         format(vaultkey,63,"RACE-%s-xp",authid);     get_vaultdata(vaultkey,vaultdata,63);     PlayerXP[id] = str_to_num(vaultdata);           format(vaultkey,63,"RACE-%s-level",authid);     get_vaultdata(vaultkey,vaultdata,63);     PlayerLevel[id] = str_to_num(vaultdata);       server_print("--MHO MOD-- LOADED XP",0.01) } //------------------------------------------------------------------------------------------- public client_connect(id)     {     //if(get_cvar_num("SaveXP") == 1) {         //      LoadXP(id)         //      client_print(id, print_chat, "[MHO Mod] XP Loaded!")     //      client_print(id, print_chat, "[MHO Mod] You are a %s with level %s and %s XP", PlayerClass[id], PlayerLevel[id], PlayerXP[id])     //} } //------------------------------------------------------------------------------------------- public client_authorized(id)     {     if(get_cvar_num("SaveXP") == 1) {                 LoadXP(id)                 client_print(id, print_chat, "[MHO Mod] XP Loaded!")         client_print(id, print_chat, "[MHO Mod] You are a %s with level %s and %s XP", PlayerClass[id], PlayerLevel[id], PlayerXP[id])     } } //------------------------------------------------------------------------------------------- public MHO_Skill(id)     {     //new i     //new sum     //for (i=1; i<=10; i++)     //{     //   sum += i     //}     if(PlayerClass[id] == CLASS_MUTANT) {         //invisible     }     if(PlayerClass[id] == CLASS_ALIEN) {         //lazer/acid spit     }     if(PlayerClass[id] == CLASS_PREDATOR) {         //knifespeed     }     if(PlayerClass[id] == CLASS_MACHINE && is_user_alive(id) ) {         //if ( g_nightCrawlerTimer[id] > 0 ) {         //  set_user_godmode(id, 0)         //  new message[128]         //  format(message, 127, "%d seconds left of GOD Mode^n", g_nightCrawlerTimer[id] )         //  set_hudmessage(255,0,0,-1.0,0.3,0,1.0,1.2,0.0,0.0,87)         //  show_hudmessage( id, message)         //  g_nightCrawlerTimer[id]--         //}         //else if ( g_nightCrawlerTimer[id] == 0 ) {         //  g_nightCrawlerTimer[id]--         //  set_user_godmode(id)         //}             }     //client_print(id, print_chat, "[MHO Mod] %s skill level %s used by %s ", PlayerClass[id], PlayerLevel[id], PlayerXP[id]) } //------------------------------------------------------------------------------------------- public client_disconnect(id)     {     if(get_cvar_num("SaveXP") == 1) {                 SaveXP(id)     } } //------------------------------------------------------------------------------------------- public ChooseRace(id)     {     new menu[192];     new keys = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4     format(menu, 191, "MHO Mod: Choose Race^n^n1. Mutant^n2. Alien^n3. Predator^n4. Machine^n^n0. Exit")     //new nLen = format( menu, 191, "MHO Mod: Choose Race:^n" )         //nLen += format( menu[nLen], 191-nLen, "^n\w1. Mutant" )     //nLen += format( menu[nLen], 191-nLen, "^n\w2. Alien" )     //nLen += format( menu[nLen], 191-nLen, "^n\w3. Predator" )     //nLen += format( menu[nLen], 191-nLen, "^n\w4. Machine" )     //nLen += format( szMenuBody[nLen], 255-nLen, "^n^n\w0. Exit" )     keys = (1<<9|1<<0|1<<1|1<<2|1<<3)       show_menu(id, keys, menu, -1, "menu_ChooseRace")     return PLUGIN_CONTINUE } //------------------------------------------------------------------------------------------- public DoChooseRace(id, key)     {     if(key == 0) {         if(PlayerClass[id] == CLASS_MUTANT) {             client_print(id, print_chat, "[MHO Mod] You are allready a Mutant! Choose something else!")             ChooseRace(id)                       return PLUGIN_HANDLED         }             PlayerClass[id] = CLASS_MUTANT                 client_print(id, print_chat, "[MHO Mod] You are now a Mutant!")         server_print("--MHO MOD-- KEY 1 SELECTED - Mutant",0.01)             }     if(key == 1) {                 if(PlayerClass[id] == CLASS_ALIEN) {             client_print(id, print_chat, "[MHO Mod] You are allready a Alien! Choose something else!")             ChooseRace(id)             return PLUGIN_HANDLED         }         PlayerClass[id] = CLASS_ALIEN         client_print(id, print_chat, "[MHO Mod] You are now a Alien!")         server_print("--MHO MOD-- KEY 2 SELECTED - Alien",0.01)             }     if(key == 2) {         if(PlayerClass[id] == CLASS_PREDATOR) {             client_print(id, print_chat, "[MHO Mod] You are allready a Predator! Choose something else!")             ChooseRace(id)             return PLUGIN_HANDLED         }         PlayerClass[id] = CLASS_PREDATOR         client_print(id, print_chat, "[MHO Mod] You are now a Predator!")         server_print("--MHO MOD-- KEY 3 SELECTED - Predator",0.01)             }     if(key == 3) {         if(PlayerClass[id] == CLASS_MACHINE) {             client_print(id, print_chat, "[MHO Mod] You are allready a Machine! Choose something else!")             ChooseRace(id)             return PLUGIN_HANDLED         }         PlayerClass[id] = CLASS_MACHINE         client_print(id, print_chat, "[MHO Mod] You are now a Machine!")         server_print("--MHO MOD-- KEY 4 SELECTED - Machine",0.01)             }     if(key == 4) {         server_print("--MHO MOD-- KEY 0 SELECTED - Exit",0.01)         return PLUGIN_HANDLED             }         ShowHUD(id)         return PLUGIN_HANDLED } //------------------------------------------------------------------------------------------- public hook_hud(id)     {     if(PlayerClass[id] == CLASS_NOTHING) {                 set_user_gravity(id, 1.03)         set_user_health(id, 100)         set_user_footsteps(id, 0)         set_user_maxspeed(id, 0.0)         setInvisibility(id, 250)         ChooseRace(id)         return PLUGIN_HANDLED     }     if(PlayerClass[id] == CLASS_MUTANT) {         //mutant powers         if (PlayerLevel[id] == 1){             set_user_gravity(id, 0.9)             set_user_health(id, 110)             } else if (PlayerLevel[id] == 2){             set_user_gravity(id, 0.8)             set_user_health(id, 115)             }else if (PlayerLevel[id] == 3){             set_user_gravity(id, 0.7)             set_user_health(id, 120)             }else if (PlayerLevel[id] == 4){             set_user_gravity(id, 0.6)             set_user_health(id, 130)         }     }     if(PlayerClass[id] == CLASS_ALIEN) {         //alien powers         if (PlayerLevel[id] == 1){             set_user_gravity(id, 0.9)             set_user_health(id, 110)             } else if (PlayerLevel[id] == 2){             set_user_gravity(id, 0.8)             set_user_health(id, 135)             }else if (PlayerLevel[id] == 3){             set_user_gravity(id, 0.7)             set_user_health(id, 150)             }else if (PlayerLevel[id] == 4){             set_user_gravity(id, 0.6)             set_user_health(id, 160)         }     }     if(PlayerClass[id] == CLASS_PREDATOR) {         //predator powers         if (PlayerLevel[id] == 1){             setInvisibility(id, 210)             set_user_gravity(id, 0.9)             set_user_health(id, 110)             set_user_footsteps(id, 1)             } else if (PlayerLevel[id] == 2){             setInvisibility(id, 190)             set_user_gravity(id, 0.8)             set_user_health(id, 135)             set_user_footsteps(id, 1)             }else if (PlayerLevel[id] == 3){             setInvisibility(id, 150)             set_user_gravity(id, 0.7)             set_user_health(id, 150)             set_user_footsteps(id, 1)             }else if (PlayerLevel[id] == 4){             setInvisibility(id, 100)             set_user_gravity(id, 0.6)             set_user_health(id, 160)             set_user_footsteps(id, 1)         }     }     if(PlayerClass[id] == CLASS_MACHINE) {         //machine powers         if (PlayerLevel[id] == 1){             set_user_gravity(id, 0.9)             set_user_health(id, 110)             set_user_maxspeed(id, 1.0)             cs_set_user_armor(id, 150, CS_ARMOR_VESTHELM)             } else if (PlayerLevel[id] == 2){             set_user_gravity(id, 0.69)             set_user_health(id, 135)             set_user_maxspeed(id, 1.5)             cs_set_user_armor(id, 175, CS_ARMOR_VESTHELM)             }else if (PlayerLevel[id] == 3){             set_user_gravity(id, 0.6)             set_user_health(id, 150)             set_user_maxspeed(id, 2.0)             cs_set_user_armor(id, 200, CS_ARMOR_VESTHELM)             }else if (PlayerLevel[id] == 4){             set_user_gravity(id, 0.5)             set_user_health(id, 160)             set_user_maxspeed(id, 4.0)             cs_set_user_armor(id, 250, CS_ARMOR_VESTHELM)         }     }         //client_print(id, print_chat, "[MHO Mod] XP Loaded!")     //client_print(id, print_chat, "[MHO Mod] You are a %s with level %s and %s XP", PlayerClass[id], PlayerLevel[id], PlayerXP[id])     server_print("--MHO MOD-- Setting Player Stats [hooking hud]",0.01)     return PLUGIN_HANDLED } //------------------------------------------------------------------------------------------- public DeathMsg()     {     if(get_cvar_num("sv_mhomod") == 0) {         return PLUGIN_HANDLED     }         new attacker = read_data(1)         if(PlayerClass[attacker] == CLASS_NOTHING) {         return PLUGIN_HANDLED     }         if(PlayerLevel[attacker] == 6) {         return PLUGIN_HANDLED     }         PlayerXP[attacker] += get_cvar_num("XP_per_kill")         if(PlayerXP[attacker] >= LEVELS[PlayerLevel[attacker]]) {                 PlayerLevel[attacker] += 1                 client_print(attacker, print_chat, "[MHO Mod] Congratulations! You are now level %i!", PlayerLevel[attacker])                 if(get_cvar_num("SaveXP") == 1) {                         SaveXP(attacker)         }                 ShowHUD(attacker)     }           ShowHUD(attacker)         return PLUGIN_CONTINUE } //------------------------------------------------------------------------------------------- public ShowHUD(id)         {     new HUD[51]     format(HUD, 50, "[%s] Level: %i XP: %i", CLASSES[PlayerClass[id]], PlayerLevel[id], PlayerXP[id])         message_begin(MSG_ONE, msgtext, {0,0,0}, id)     write_byte(0)     write_string(HUD)     message_end()     server_print("--MHO MOD-- HOOK HUD COMPLETE",0.05)     return } //------------------------------------------------------------------------------------------- public setInvisibility(id, alpha)     {     if (alpha < 125) {         set_user_rendering(id,kRenderFxGlowShell,8,8,8,kRenderTransAlpha,alpha)     }     else {         set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,alpha)     }         server_print("--MHO MOD-- Set Invisibility",0.01) } //------------------------------------------------------------------------------------------- public server_changeleve(map[], id)     {     server_print("--MHO MOD-- CHANGE LEVEL",0.01)     SaveXP(id) }

The reason the classes were'nt being assigned correctly what cuz of;
I changed
Code:
new const CLASSES[MAXCLASSES][] = {     "Mutant",     "Alien",     "Predator",     "Machine",     "None" }
To:
Code:
new const CLASSES[MAXCLASSES][] = {     "None",     "Mutant",     "Alien",     "Predator",     "Machine" }
__________________

Last edited by raa; 02-13-2007 at 15:44.
raa is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 00:43.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode