| drakeris |
10-08-2009 11:48 |
Re: menu would be shown at round start
PHP Code:
#include <amxmodx> #include <amxmisc> #include <nvault> #include <fun> #include <fakemeta> #include <fakemeta_util> #include <cstrike>
#define MAXCLASSES 5 #define PREFIX "Simpsonu Modas" #define Houmeris #define mdl #define fm_set_user_model
enum { PLAYERLEVEL_1, PLAYERLEVEL_2, PLAYERLEVEL_3, // How many Levels PLAYERLEVEL_4, PLAYERLEVEL_5, PLAYERLEVEL_6, PLAYERLEVEL_7, PLAYERLEVEL_8, PLAYERLEVEL_9, PLAYERLEVEL_10 } enum { CLASS_burn = 0, CLASS_Traskis, CLASS_Bartas, // Add your Classes there.. CLASS_Otas, CLASS_Houmeris, } new const CLASSES[MAXCLASSES][] = { "burn", "Traskis", "Bartas", "Otas", "Houmeris" }; new const LEVELS[10] = { 100, 200, 400, 800, 1600, 3200, 4000, 5200, 7000, 10000 }; new PlayerXP[33], PlayerLevel[33], PlayerClass[33]; new gCvar_Kill, gCvar_Knife, gCvar_HS, gCvar_Enable, g_Vault;
public plugin_init() { register_plugin("Simpsons Mod", "1.0", "Drakeris"); register_event("DeathMsg", "eDeath", "a"); // register_event("ResetHUD", "resetModel", "b") register_event("ResetHUD", "skill", "be");
gCvar_Enable = register_cvar("xp_save", "1"); gCvar_Kill = register_cvar("xp_per_kill", "20"); gCvar_HS = register_cvar("xp_hs_bonus", "20"); gCvar_Knife = register_cvar("xp_Knife_bonus", "20"); g_Vault = nvault_open("animod");
// register_concmd("amx_paimt_exp", "cmd_paimt_exp", ADMIN_KICK, "<target> <amount>"); // register_concmd("amx_dot_exp", "cmd_dot_exp", ADMIN_KICK, "<target> <amount>");
register_event("HLTV", "ChangeClass"); register_clcmd("say /klase", "ChangeClass"); register_clcmd("say_team /klase", "ChangeClass"); register_clcmd("say /lygis", "ShowHud"); register_clcmd("say_team /lygis", "ShowHud"); }
public plugin_precache() { //... precache_model("models/player/Bartas/Bartas.mdl"); precache_model("models/player/Houmeris/Houmeris.mdl"); precache_model("models/player/Traskis/Traskis.mdl"); precache_model("models/player/Otas/Otas.mdl"); precache_model("models/player/burn/burn.mdl"); precache_model("models/v_Otok.mdl"); precache_model("models/v_duffhe.mdl"); precache_model("models/v_pepsi.mdl"); precache_model("models/v_bartk.mdl"); }
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(gCvar_Kill); if(headshot) PlayerXP[attacker] += get_pcvar_num(gCvar_HS); if(weapon == CSW_KNIFE) PlayerXP[attacker] += get_pcvar_num(gCvar_Knife); while(PlayerXP[attacker] >= LEVELS[PlayerLevel[attacker]]) { client_print(attacker, print_chat, "[%s] Sveikiname! Jus jau esate %i %s!", PREFIX, PlayerLevel[attacker], CLASSES[PlayerClass[attacker]]); PlayerLevel[attacker] += 1; } ShowHud(attacker); SaveData(attacker); } public ShowHud(id) { set_hudmessage(255, 0, 0, 0.75, 0.01, 0, 6.0, 15.0); show_hudmessage(id, "Lygis: %i^nXP: %i^nKlase: %s", PlayerLevel[id], PlayerXP[id], CLASSES[PlayerClass[id]]); } public ChangeClass(id) { client_print(id, print_chat, "rinkis kuo tu nori but") new menu = menu_create("Class Menu" , "Class_Handle"); menu_additem(menu ,"Traskis", "1" , 0); menu_additem(menu ,"Bartas", "2" , 0); menu_additem(menu ,"Otas", "3" , 0); menu_additem(menu ,"Houmeris", "4" , 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,"[%s] Tu pasirinkai %s", PREFIX, CLASSES[i]); } else { client_print(id,print_chat,"[%s] Tu jau esi %s", PREFIX, CLASSES[i]); } menu_destroy(menu); return PLUGIN_CONTINUE; }
public client_connect(id) { client_cmd(id,"cl_minmodels 0"); if(get_pcvar_num(gCvar_Enable) == 1) LoadData(id); }
public client_disconnect(id) { if(get_pcvar_num(gCvar_Enable) == 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; }
// doti/paimti XP addaon by Drakeris public cmd_doti_exp( id, level,cid ) { if( ! cmd_access ( id, level, cid, 3 ) ) return PLUGIN_HANDLED; new target[32], amount[21], reason[21]; read_argv( 1, target, 31 ); read_argv(2, amount, 20 ); read_argv( 3, reason, 20 ); new player = cmd_target( id, target, 8 ); if( ! player ) return PLUGIN_HANDLED; new admin_name[32], player_name[32]; get_user_name( id, admin_name, 31 ); get_user_name( player, player_name, 31 ); new expnum = str_to_num( amount ); PlayerXP[player] += expnum; switch( get_cvar_num ( "amx_show_activity" ) ) { case 1: client_print( 0, print_chat, "ADMINAS: Dave %i Tasku %s.", expnum, player_name ); case 2: client_print( 0, print_chat, "ADMINAS %s: Dave %i tasku %s.", admin_name, expnum, player_name ); } client_print( player, print_chat, "[%s] You received %i points. (Total: %d)", PREFIX, expnum, PlayerXP[player] ); SaveData( id ); return PLUGIN_CONTINUE; }
public cmd_paimti_exp( id, level,cid ) { if( ! cmd_access ( id, level, cid, 3 ) ) return PLUGIN_HANDLED; new target[32], amount[21], reason[21]; read_argv( 1, target, 31 ); read_argv( 2, amount, 20 ); read_argv( 3, reason, 20 ); new player = cmd_target( id, target, 8 ); if( !player ) return PLUGIN_HANDLED; new admin_name[32], player_name[32]; get_user_name( id, admin_name, 31 ); get_user_name( player, player_name, 31 ); new expnum = str_to_num( amount ); PlayerXP[player] -= expnum; switch(get_cvar_num("amx_show_activity")) { case 1: client_print( 0, print_chat, "ADMINAS: ateme %i taskus is %s.", expnum, player_name ); case 2: client_print( 0, print_chat, "ADMINAS %s: ateme %i taskus is %s.", admin_name, expnum, player_name ); } client_print( player, print_chat, "[%s] Tu praradai %i exp (isviso: %d)", PREFIX, expnum, PlayerXP[player] ); SaveData( id ); return PLUGIN_CONTINUE; }
public skill(id) { if(PlayerClass[id] == CLASS_Houmeris) { set_user_health(id, 135); // Jei tu esi homeris tau duoda 135hp set_user_armor(id, 300); new Entity = give_item( id, "weapon_hegrenade" ); cs_set_weapon_ammo( Entity, 1 ); cs_reset_user_model(id); cs_set_user_model(id, "Houmeris") set_pev(id, pev_viewmodel2, "models/v_duffhe.mdl") set_user_gravity(id, 0.9 ) } else if(PlayerClass[id] == CLASS_Bartas) { set_user_health(id, 125); // Jei tu esi Bartas tau duoda 125hp set_user_gravity(id, 0.6 ) new Entity = give_item( id, "weapon_hegrenade" ); cs_set_weapon_ammo( Entity, 1 ); cs_reset_user_model(id); cs_set_user_model(id, "Bartas"); set_pev(id, pev_viewmodel2, "models/v_pepsi.mdl") } else if(PlayerClass[id] == CLASS_Otas) { set_user_health(id, 140); // Jei tu esi Otas tau duoda 140hp cs_reset_user_model(id); cs_set_user_model(id, "Otas"); set_pev(id, pev_viewmodel2, "models/v_otok.mdl") set_user_gravity(id, 0.7 ) } else if(PlayerClass[id] == CLASS_Traskis) { set_user_health(id, 150); // Jei tu esi Traskis tau duoda 150hp set_user_maxspeed(id, 200.0); cs_reset_user_model(id); cs_set_user_model(id, "Traskis"); set_user_gravity(id, 0.8 ) set_pev(id, pev_viewmodel2, "models/v_bartk.mdl") } else if(PlayerClass[id] == CLASS_burn) { set_user_health(id, 66); cs_set_user_model(id, "Burns"); } }
meant this?
|