|
Senior Member
|

12-31-2008
, 03:34
Class problem.
|
#1
|
How to make the menu can choose the classes?
PHP Code:
#include <amxmodx> #include <amxmisc> #include <nvault> #include <fun> #include <fakemeta_util> #include <fakemeta> #include <hamsandwich>
#define MAXCLASSES 4 #define CLASS_Buggy 1 #define CLASS_Scures 2 #define CLASS_Scooby 3
const HIDE_MONEY = (1<<5)
new const CLASSES[MAXCLASSES][] = { "None", "Buggy", "Scures", "Scooby" } new const LEVELS[8] = { 100, 200, 400, 600, 800, 900, 1000, 1500 } new PlayerXP[33],PlayerLevel[33],PlayerClass[33] new XP_Kill,XP_Knife,XP_Hs,SaveXP,g_vault new thickness public plugin_init() { register_plugin("gHosT_Xp", "1.0", "ianglowz") register_event("DeathMsg", "eDeath", "a") register_event("ResetHUD","on_spawn","be") SaveXP = register_cvar("SaveXP","0") XP_Kill=register_cvar("XP_per_kill", "20") XP_Hs=register_cvar("XP_hs_bonus","20") XP_Knife=register_cvar("XP_knife_bonus","20") g_vault = nvault_open("animod") thickness = register_cvar("ghost_glow","15") register_clcmd("say /ghost", "ChangeClass") register_clcmd("say_team /ghost", "ChangeClass") register_clcmd("say /xp", "ShowHud") register_clcmd("say_team /xp", "ShowHud") } public eDeath( ) { new attacker = read_data( 1 ) new headshot = read_data( 3 ) new clip, ammo, weapon = get_user_weapon(attacker,clip,ammo); PlayerXP[attacker] += get_pcvar_num(XP_Kill) if(headshot) PlayerXP[attacker] += get_pcvar_num(XP_Hs) if(weapon == CSW_KNIFE) PlayerXP[attacker] += get_pcvar_num(XP_Knife) while(PlayerXP[attacker] >= LEVELS[PlayerLevel[attacker]]) { client_print(attacker, print_chat, "[gHosT XpMod] Congratulations! You are a level %i %s!",PlayerLevel[attacker],CLASSES[PlayerClass[attacker]]) PlayerLevel[attacker] += 1 }
ShowHud(attacker) SaveData(attacker) }
public ShowHud(id) { set_hudmessage(0, 0, 255, -1.0, -1.0) show_hudmessage(id, "Level: %i^nXP: %i^nClass: %s",PlayerLevel[id],PlayerXP[id],CLASSES[PlayerClass[id]]) } public ChangeClass(id) { new menu = menu_create("Class Menu" , "Class_Handle"); menu_additem(menu ,"Buggy gHosT", "1" , 0); menu_additem(menu ,"Scures gHosT", "2" , 0); menu_additem(menu ,"Scooby gHosT", "3" , 0); menu_setprop(menu , MPROP_EXIT , MEXIT_ALL); menu_display(id , menu , 0); return PLUGIN_CONTINUE; } public Class_Handle(id , menu , item) { if(item == MENU_EXIT) { menu_destroy(menu); } new szCommand[6] , szName[64]; new access , callback; menu_item_getinfo(menu , item , access , szCommand , 5 , szName , 63 , callback); new i = str_to_num(szCommand) if(PlayerClass[id] != i) { PlayerClass[id] = i client_print(id,print_chat,"[gHosT XpMod]You are now a %s",CLASSES[i]) } else { client_print(id,print_chat,"[gHosT XpMod]You are already a %s",CLASSES[i]) } menu_destroy(menu); return PLUGIN_CONTINUE } public client_connect(id) { if(get_pcvar_num(SaveXP) == 1) { LoadData(id) } } public client_disconnect(id) { if(get_pcvar_num(SaveXP) == 1) { SaveData(id) } PlayerXP[id] = 0 PlayerLevel[id] = 0 PlayerClass[id] = 0 } public SaveData(id) { new AuthID[35] get_user_authid(id,AuthID,34) new vaultkey[64],vaultdata[256] format(vaultkey,63,"%s-Mod",AuthID) format(vaultdata,255,"%i#%i#",PlayerXP[id],PlayerLevel[id]) nvault_set(g_vault,vaultkey,vaultdata) return PLUGIN_CONTINUE } public LoadData(id) { new AuthID[35] get_user_authid(id,AuthID,34) new vaultkey[64],vaultdata[256] format(vaultkey,63,"%s-Mod",AuthID) format(vaultdata,255,"%i#%i#",PlayerXP[id],PlayerLevel[id]) nvault_get(g_vault,vaultkey,vaultdata,255) replace_all(vaultdata, 255, "#", " ") new playerxp[32], playerlevel[32] parse(vaultdata, playerxp, 31, playerlevel, 31) PlayerXP[id] = str_to_num(playerxp) PlayerLevel[id] = str_to_num(playerlevel) return PLUGIN_CONTINUE } public on_spawn(id) { fm_strip_user_weapons(id) if (PlayerLevel[id] == 2) { // set_user_health(id, 135); set_user_gravity(id, 1.5); } if (PlayerLevel[id] == 3) { // set_user_health(id, 150); set_user_gravity(id, 1.2); set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderNormal,get_pcvar_num(thickness)) } if (PlayerLevel[id] == 4) { // set_user_health(id, 185); set_user_gravity(id, 1.0); set_user_rendering(id, kRenderFxGlowShell, 71, 237, 231, kRenderNormal,get_pcvar_num(thickness)) } if (PlayerLevel[id] == 5) { // set_user_health(id, 200); set_user_gravity(id, 0.8); set_user_rendering(id, kRenderFxGlowShell, 255, 255, 0, kRenderNormal,get_pcvar_num(thickness)) } if (PlayerLevel[id] >= 6) { // set_user_health(id, 255); set_user_gravity(id, 0.5); set_user_rendering(id, kRenderFxGlowShell, 255, 255, 255, kRenderNormal,get_pcvar_num(thickness)) }
if (PlayerClass[id] == CLASS_Buggy) { // give_item(id, "weapon_awp"); give_item(id, "ammo_338magnum"); give_item(id, "ammo_338magnum"); give_item(id, "ammo_338magnum"); give_item(id, "weapon_hegrenade"); } // if (PlayerClass[id] == CLASS_Scures) { // give_item(id, "weapon_m249"); give_item(id, "weapon_deagle"); give_item(id, "ammo_556natobox"); give_item(id, "ammo_556natobox"); give_item(id, "weapon_hegrenade"); } // if (PlayerClass[id] == CLASS_Scooby) { // give_item(id, "weapon_m4a1"); give_item(id, "ammo_556nato"); give_item(id, "ammo_556nato"); give_item(id, "ammo_556nato"); give_item(id, "ammo_556nato"); give_item(id, "weapon_hegrenade"); } }
Because when I choose the classes,it don't give the weapon that I set.
__________________
~ +karma to me and leave your name. ~
~ If you -karma to me,please leave your name so I know you are pro scripter. ~
~ Helping anytime ~
|
|