AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   menu would be shown at round start (https://forums.alliedmods.net/showthread.php?t=105777)

drakeris 10-08-2009 10:15

menu would be shown at round start
 
hello i thinked about it for a while and i got an idea that i dont want to leave so when you write /class o r some other command you need to choose your class i want so it would the menu shown at round start if it possible of course i do not know how to do this so heres all thecode
PHP Code:

#include <amxmodx> 
#include <amxmisc> 
#include <nvault> 
#include <fun> 
#include <fakemeta_util> 
#include <cstrike> 

#define MAXCLASSES 5 
#define PREFIX "Simpsonu Modas" 

enum 
    
PLAYERLEVEL_1
    
PLAYERLEVEL_2
    
PLAYERLEVEL_3// How many Levels 
    
PLAYERLEVEL_4
    
PLAYERLEVEL_5
    
PLAYERLEVEL_6 

enum {
    
CLASS_Mege 0
    
CLASS_Traskis
    
CLASS_Bartas// Add your Classes there.. 
    
CLASS_Otas
    
CLASS_Houmeris

new const 
CLASSES[MAXCLASSES][] = {  
    
"Mege"
    
"Traskis"
    
"Bartas"
    
"Otas"
    
"Houmeris" 
};
    
new const 
LEVELS[7] = { 
    
100
    
200
    
400
    
800
    
1600
    
3200
    
4000 
}; 
new 
PlayerXP[33], PlayerLevel[33], PlayerClass[33]; 
new 
gCvar_KillgCvar_KnifegCvar_HSgCvar_Enableg_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_clcmd("say /class""ChangeClass"); 
    
register_clcmd("say_team /class""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")   


public 
eDeath() 

    new 
attacker read_data); 
    new 
headshot read_data); 
    new 
clipammoweapon get_user_weapon(attackerclipammo); 
    
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(attackerprint_chat"[%s] Congratulations! You are a level %i %s!"PREFIXPlayerLevel[attacker], CLASSES[PlayerClass[attacker]]); 
        
PlayerLevel[attacker] += 1
    } 
    
ShowHud(attacker); 
    
SaveData(attacker); 

public 
ShowHud(id

    
set_hudmessage(255000.750.0106.015.0); 
    
show_hudmessage(id"Level: %i^nXP: %i^nClass: %s"PlayerLevel[id], PlayerXP[id], CLASSES[PlayerClass[id]]); 

public 
ChangeClass(id

    
client_print(idprint_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 szName 63 callback); 
    new 
str_to_num(szCommand); 
     
    if(
PlayerClass[id] != i
    { 
        
PlayerClass[id] = i
        
client_print(id,print_chat,"[%s] Tu pasirinkai %s"PREFIXCLASSES[i]); 
    } 
    else 
    { 
        
client_print(id,print_chat,"[%s] Tu jau esi %s"PREFIXCLASSES[i]); 
    } 
     
    
menu_destroy(menu); 
    return 
PLUGIN_CONTINUE


public 
client_connect(id

    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(idAuthID34); 

    new 
vaultkey[64], vaultdata[256]; 
    
format(vaultkey63"%s-Mod"AuthID); 
    
format(vaultdata255"%i#%i#"PlayerXP[id], PlayerLevel[id]); 
    
nvault_set(g_Vaultvaultkeyvaultdata); 
    return 
PLUGIN_CONTINUE


public 
LoadData(id

    new 
AuthID[35]; 
    
get_user_authid(id,AuthID,34); 

    new 
vaultkey[64], vaultdata[256]; 
    
format(vaultkey63"%s-Mod"AuthID); 
    
format(vaultdata255"%i#%i#"PlayerXP[id], PlayerLevel[id]); 
    
nvault_get(g_Vaultvaultkeyvaultdata,255); 
    
replace_all(vaultdata255"#"" "); 
    new 
playerxp[32], playerlevel[32]; 
    
parse(vaultdataplayerxp31playerlevel31); 
    
PlayerXP[id] = str_to_num(playerxp); 
    
PlayerLevel[id] = str_to_num(playerlevel); 
    return 
PLUGIN_CONTINUE


// doti/paimti XP addaon by Drakeris 
public cmd_doti_expidlevel,cid 

    if( ! 
cmd_access idlevelcid) ) 
        return 
PLUGIN_HANDLED
     
    new 
target[32], amount[21], reason[21]; 
    
read_argv1target31 ); 
    
read_argv(2amount20 ); 
    
read_argv3reason20 ); 
    new 
player cmd_targetidtarget); 
     
    if( ! 
player 
        return 
PLUGIN_HANDLED
     
    new 
admin_name[32], player_name[32]; 
    
get_user_nameidadmin_name31 ); 
    
get_user_nameplayerplayer_name31 ); 
    new 
expnum str_to_numamount ); 
    
PlayerXP[player] += expnum
     
    switch( 
get_cvar_num "amx_show_activity" ) ) 
    { 
        case 
1client_print0print_chat"ADMINAS: Dave %i Tasku %s."expnumplayer_name ); 
        case 
2client_print0print_chat"ADMINAS %s: Dave %i tasku %s."admin_nameexpnumplayer_name ); 
    } 
    
client_printplayerprint_chat"[%s] You received %i points. (Total: %d)"PREFIXexpnumPlayerXP[player] ); 
    
SaveDataid ); 
    return 
PLUGIN_CONTINUE


public 
cmd_paimti_expidlevel,cid ) { 
    if( ! 
cmd_access idlevelcid) ) 
    return 
PLUGIN_HANDLED
     
    new 
target[32], amount[21], reason[21]; 
    
read_argv1target31 ); 
    
read_argv2amount20 ); 
    
read_argv3reason20 ); 
    new 
player cmd_targetidtarget); 
    if( !
player 
        return 
PLUGIN_HANDLED
     
    new 
admin_name[32], player_name[32]; 
    
get_user_nameidadmin_name31 ); 
    
get_user_nameplayerplayer_name31 ); 
    new 
expnum str_to_numamount ); 
    
PlayerXP[player] -= expnum
    switch(
get_cvar_num("amx_show_activity")) 
    { 
        case 
1client_print0print_chat"ADMINAS: ateme %i taskus is %s."expnumplayer_name ); 
        case 
2client_print0print_chat"ADMINAS %s: ateme %i taskus is %s."admin_nameexpnumplayer_name ); 
    } 
    
client_printplayerprint_chat"[%s] Tu praradai %i exp (isviso: %d)"PREFIXexpnumPlayerXP[player] ); 
    
SaveDataid ); 
    return 
PLUGIN_CONTINUE


public 
skill(id

    if(
PlayerClass[id] == CLASS_Houmeris
    { 
        
set_user_health(id100); // Jei tu esi homeris tau duoda 100hp 
        
give_item(id,"weapon_knife"); 
        
set_user_armor(id300);
        
cs_reset_user_model(id); 
        
cs_set_user_model(id"Houmeris"); 
    if(
PlayerLevel[id] == PLAYERLEVEL_6)
        
set_user_gravity(id0.7 )
    }  
    else if(
PlayerClass[id] == CLASS_Bartas
    { 
        
set_user_health(id125); // Jei tu esi Bartas tau duoda 125hp 
        
set_user_gravity(id0.6 
        
fm_give_item(id,"weapon_hegrenade"
    
cs_reset_user_model(id); 
        
cs_set_user_model(id"Bartas");  

    } 
    else if(
PlayerClass[id] == CLASS_Otas
    { 
        
set_user_health(id125); // Jei tu esi Liza tau duoda 125hp 
    
cs_reset_user_model(id); 
        
cs_set_user_model(id"Otas");
    } 
    else if(
PlayerClass[id] == CLASS_Traskis
    { 
        
set_user_health(id150); // Jei tu esi Marge tau duoda 500hp 
        
give_item(id,"weapon_knife")
        
set_user_maxspeed(id 200.0); 
    
cs_reset_user_model(id); 
        
cs_set_user_model(id"Traskis");
    } 



Arkshine 10-08-2009 10:28

Re: menu would be shown at round start
 
Hook the round start event ( there is a tuto for that ) and call ChangeClass() for all players.

drakeris 10-08-2009 11:11

Re: menu would be shown at round start
 
when you wirte there`s something a tutorial or code you could include link to that tutorial :)

Arkshine 10-08-2009 11:14

Re: menu would be shown at round start
 
Search please. Tuto by VEN.

drakeris 10-08-2009 11:25

Re: menu would be shown at round start
 
VEN created like hundred of tutorials you could at least say the full name of the thread :/

Exolent[jNr] 10-08-2009 11:26

Re: menu would be shown at round start
 
He made 9. It's not that hard to find out which one has to do with round start.

drakeris 10-08-2009 11:41

Re: menu would be shown at round start
 
okay i maybe found the tutorial.
PHP Code:

    register_event("HLTV""ChangeClass"); 

but im geting error with these :/

Arkshine 10-08-2009 11:46

Re: menu would be shown at round start
 
It's hard to think you don't know even copy-paste a provided code.

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_KillgCvar_KnifegCvar_HSgCvar_Enableg_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); 
    new 
headshot read_data); 
    new 
clipammoweapon get_user_weapon(attackerclipammo); 
    
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(attackerprint_chat"[%s] Sveikiname! Jus jau esate %i %s!"PREFIXPlayerLevel[attacker], CLASSES[PlayerClass[attacker]]); 
        
PlayerLevel[attacker] += 1
    } 
    
ShowHud(attacker); 
    
SaveData(attacker); 

public 
ShowHud(id

    
set_hudmessage(255000.750.0106.015.0); 
    
show_hudmessage(id"Lygis: %i^nXP: %i^nKlase: %s"PlayerLevel[id], PlayerXP[id], CLASSES[PlayerClass[id]]); 

public 
ChangeClass(id

    
client_print(idprint_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 szName 63 callback); 
    new 
str_to_num(szCommand); 
     
    if(
PlayerClass[id] != i
    { 
        
PlayerClass[id] = i
        
client_print(id,print_chat,"[%s] Tu pasirinkai %s"PREFIXCLASSES[i]); 
    } 
    else 
    { 
        
client_print(id,print_chat,"[%s] Tu jau esi %s"PREFIXCLASSES[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(idAuthID34); 

    new 
vaultkey[64], vaultdata[256]; 
    
format(vaultkey63"%s-Mod"AuthID); 
    
format(vaultdata255"%i#%i#"PlayerXP[id], PlayerLevel[id]); 
    
nvault_set(g_Vaultvaultkeyvaultdata); 
    return 
PLUGIN_CONTINUE


public 
LoadData(id

    new 
AuthID[35]; 
    
get_user_authid(id,AuthID,34); 

    new 
vaultkey[64], vaultdata[256]; 
    
format(vaultkey63"%s-Mod"AuthID); 
    
format(vaultdata255"%i#%i#"PlayerXP[id], PlayerLevel[id]); 
    
nvault_get(g_Vaultvaultkeyvaultdata,255); 
    
replace_all(vaultdata255"#"" "); 
    new 
playerxp[32], playerlevel[32]; 
    
parse(vaultdataplayerxp31playerlevel31); 
    
PlayerXP[id] = str_to_num(playerxp); 
    
PlayerLevel[id] = str_to_num(playerlevel); 
    return 
PLUGIN_CONTINUE


// doti/paimti XP addaon by Drakeris 
public cmd_doti_expidlevel,cid 

    if( ! 
cmd_access idlevelcid) ) 
        return 
PLUGIN_HANDLED
     
    new 
target[32], amount[21], reason[21]; 
    
read_argv1target31 ); 
    
read_argv(2amount20 ); 
    
read_argv3reason20 ); 
    new 
player cmd_targetidtarget); 
     
    if( ! 
player 
        return 
PLUGIN_HANDLED
     
    new 
admin_name[32], player_name[32]; 
    
get_user_nameidadmin_name31 ); 
    
get_user_nameplayerplayer_name31 ); 
    new 
expnum str_to_numamount ); 
    
PlayerXP[player] += expnum
     
    switch( 
get_cvar_num "amx_show_activity" ) ) 
    { 
        case 
1client_print0print_chat"ADMINAS: Dave %i Tasku %s."expnumplayer_name ); 
        case 
2client_print0print_chat"ADMINAS %s: Dave %i tasku %s."admin_nameexpnumplayer_name ); 
    } 
    
client_printplayerprint_chat"[%s] You received %i points. (Total: %d)"PREFIXexpnumPlayerXP[player] ); 
    
SaveDataid ); 
    return 
PLUGIN_CONTINUE


public 
cmd_paimti_expidlevel,cid ) { 
    if( ! 
cmd_access idlevelcid) ) 
    return 
PLUGIN_HANDLED
     
    new 
target[32], amount[21], reason[21]; 
    
read_argv1target31 ); 
    
read_argv2amount20 ); 
    
read_argv3reason20 ); 
    new 
player cmd_targetidtarget); 
    if( !
player 
        return 
PLUGIN_HANDLED
     
    new 
admin_name[32], player_name[32]; 
    
get_user_nameidadmin_name31 ); 
    
get_user_nameplayerplayer_name31 ); 
    new 
expnum str_to_numamount ); 
    
PlayerXP[player] -= expnum
    switch(
get_cvar_num("amx_show_activity")) 
    { 
        case 
1client_print0print_chat"ADMINAS: ateme %i taskus is %s."expnumplayer_name ); 
        case 
2client_print0print_chat"ADMINAS %s: ateme %i taskus is %s."admin_nameexpnumplayer_name ); 
    } 
    
client_printplayerprint_chat"[%s] Tu praradai %i exp (isviso: %d)"PREFIXexpnumPlayerXP[player] ); 
    
SaveDataid ); 
    return 
PLUGIN_CONTINUE


public 
skill(id

    if(
PlayerClass[id] == CLASS_Houmeris
    { 
        
set_user_health(id135); // Jei tu esi homeris tau duoda 135hp  
        
set_user_armor(id300);
        new 
Entity give_itemid"weapon_hegrenade" );
        
cs_set_weapon_ammoEntity);  
        
cs_reset_user_model(id); 
        
cs_set_user_model(id"Houmeris")
        
set_pev(idpev_viewmodel2"models/v_duffhe.mdl")
        
set_user_gravity(id0.9 )
    }  
    else if(
PlayerClass[id] == CLASS_Bartas
    { 
        
set_user_health(id125); // Jei tu esi Bartas tau duoda 125hp 
        
set_user_gravity(id0.6 
        new 
Entity give_itemid"weapon_hegrenade" );
        
cs_set_weapon_ammoEntity);
    
cs_reset_user_model(id); 
        
cs_set_user_model(id"Bartas");
        
set_pev(idpev_viewmodel2"models/v_pepsi.mdl")
  
    } 
    else if(
PlayerClass[id] == CLASS_Otas
    { 
        
set_user_health(id140); // Jei tu esi Otas tau duoda 140hp 
    
cs_reset_user_model(id); 
        
cs_set_user_model(id"Otas");
        
set_pev(idpev_viewmodel2"models/v_otok.mdl")
        
set_user_gravity(id0.7 )
    } 
    else if(
PlayerClass[id] == CLASS_Traskis
    { 
        
set_user_health(id150); // Jei tu esi Traskis tau duoda 150hp 
        
set_user_maxspeed(id200.0); 
    
cs_reset_user_model(id); 
        
cs_set_user_model(id"Traskis");
        
set_user_gravity(id0.8 )
        
set_pev(idpev_viewmodel2"models/v_bartk.mdl")
    } 
    else if(
PlayerClass[id] == CLASS_burn
    { 
        
set_user_health(id66);
        
cs_set_user_model(id"Burns");
    }


meant this?

Arkshine 10-08-2009 11:56

Re: menu would be shown at round start
 
You see" register_event("HLTV", "Blabla");" in the tuto ?


All times are GMT -4. The time now is 22:37.

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