Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <hamsandwich>
- #include <cstrike>
- #include <nvault>
- #include <fun>
- static const
- PLUGIN[] = "Simple Level Mod",
- VERSION[] = "2.0",
- AUTHOR[] = "extreamCS";
- #define MAX_LEVELS 22
- new const Kills[MAX_LEVELS] =
- {
- 0,
- 50,
- 100,
- 150,
- 205,
- 270,
- 360,
- 420,
- 500,
- 580,
- 640,
- 690,
- 760,
- 810,
- 850,
- 900,
- 950,
- 1005,
- 1030,
- 1070,
- 1115,
- 1250
- }
- new const szTag[MAX_LEVELS][] =
- {
- "",
- "Silver 1",
- "Silver 2",
- "Silver 3",
- "Silver IV",
- "Silver Elite",
- "Silver Elite Master",
- "Gold Nova 1",
- "Gold Nova 2",
- "Gold Nova 3",
- "Gold Nova IV",
- "Gold Nova Elite",
- "Gold Nova Elite Master",
- "Master Guardian 1",
- "Master Guardian 2",
- "Master Guardian 3",
- "Master Guardian IV",
- "Master Guardian Disthingued",
- "Legendary Eagle ",
- "Supreme Master",
- "LORD",
- "KING of the server"
- }
- new Level[33],Kill[33],szName[32],g_vault,g_sync
- new pcvar_hs,pcvar_kill,pcvar_knife,pcvar_he,pcvar_efect,pcvar_r,pcvar_g,pcvar_b,pcvar_hp_lvl,pcvar_ap_lvl
- public plugin_init() {
- register_plugin(PLUGIN,VERSION,AUTHOR)
- register_event("DeathMsg","ev_msg","a")
- RegisterHam(Ham_Spawn,"player","player_spawn",1)
- pcvar_hs = register_cvar("cvar_hs_bonus","1")
- pcvar_kill = register_cvar("cvar_normal_bonus","1")
- pcvar_knife = register_cvar("cvar_knife_bonus","1")
- pcvar_he = register_cvar("cvar_he_bonus","1")
- pcvar_efect = register_cvar("cvar_effect_lvl","1")
- pcvar_r = register_cvar("cvar_red","255")
- pcvar_g = register_cvar("cvar_green","0")
- pcvar_b = register_cvar("cvar_blue","0")
- pcvar_hp_lvl = register_cvar("cvar_hp_lvl","0")
- pcvar_ap_lvl = register_cvar("cvar_ap_lvl","0")
- g_vault = nvault_open("simple_lvl_mod")
- g_sync = CreateHudSyncObj()
- if(g_vault == INVALID_HANDLE)
- set_fail_state("Eroare la deschiderea bazei de date din vault.")
- }
- public player_spawn(id) {
- if(!is_user_alive(id) || is_user_bot(id))
- return HAM_HANDLED
- if(Level[id] < 1)
- Level[id] = 1
- set_user_health(id,get_user_health(id) + get_pcvar_num(pcvar_hp_lvl) * Level[id])
- set_user_armor(id,get_user_armor(id) + get_pcvar_num(pcvar_ap_lvl) * Level[id])
- return HAM_HANDLED
- }
- public ev_msg( ) {
- static kiler; kiler = read_data(1)
- static hs; hs = read_data(3)
- if(kiler == read_data(2) || !is_user_alive(kiler))
- return
- if(hs)
- Kill[kiler]+= get_pcvar_num(pcvar_hs)
- else
- Kill[kiler]+= get_pcvar_num(pcvar_kill)
- if(get_user_weapon(kiler) == CSW_KNIFE && !hs)
- Kill[kiler]+= get_pcvar_num(pcvar_knife)
- if(get_user_weapon(kiler) == CSW_HEGRENADE && !hs)
- Kill[kiler]+= get_pcvar_num(pcvar_he)
- if(Level[kiler] < MAX_LEVELS)
- {
- while(Kill[kiler] >= Kills[Level[kiler]])
- {
- Level[kiler]++
- color(kiler,"!teamFelicitari,ai ajuns la level %i (!g%s!team).",Level[kiler],szTag[Level[kiler]])
- screen_fade(kiler, get_pcvar_num(pcvar_efect), get_pcvar_num(pcvar_r), get_pcvar_num(pcvar_g), get_pcvar_num(pcvar_b), 115)
- return
- }
- }
- SaveData(kiler)
- }
- public client_putinserver(id) {
- if(!is_user_bot(id))
- {
- LoadData(id)
- set_task(1.0,"show_hud",id+0x4332,_,_,"b")
- }
- }
- public client_disconnect(id) {
- remove_task(id+0x4332)
- SaveData(id)
- }
- public show_hud(id) {
- id-=0x4332
- get_user_name(id,szName,charsmax(szName))
- if(is_user_alive(id))
- {
- set_hudmessage(255, 255, 255, 0.02, 0.45, 0, 6.0, 1.1)
- ShowSyncHudMsg(id,g_sync,"Name: %s^nRank: %s^nExperience: [%i/%i]",szName,szTag[Level[id]],Kill[id],Kills[Level[id]])
- }
- }
- public SaveData(id)
- {
- new name[32],vaultkey[64],vaultdata[256]
- get_user_name(id,name,charsmax(name))
- formatex(vaultkey,63,"%s-Mod",name)
- formatex(vaultdata,255,"%i#%i#",Kill[id],Level[id])
- nvault_set(g_vault,vaultkey,vaultdata)
- }
- public LoadData(id)
- {
- new name[32],vaultkey[64],vaultdata[256]
- get_user_name(id,name,charsmax(name))
- formatex(vaultkey,63,"%s-Mod",name)
- formatex(vaultdata,255,"%i#%i#",Kill[id],Level[id])
- nvault_get(g_vault,vaultkey,vaultdata,255)
- replace_all(vaultdata, 255, "#", " ")
- new kill[32],level[32]
- parse(vaultdata, kill, 31, level, 31)
- Kill[id] = str_to_num(kill)
- Level[id] = str_to_num(level)
- }
- public plugin_end() nvault_close(g_vault)
- stock screen_fade(id,holdtime,r,g,b,a)
- {
- message_begin(MSG_ONE_UNRELIABLE,get_user_msgid("ScreenFade"),{ 0, 0, 0 },id);
- write_short(seconds_to_units(holdtime));
- write_short(seconds_to_units(holdtime));
- write_short(0);
- write_byte(r);
- write_byte(g);
- write_byte(b);
- write_byte(a);
- message_end();
- }
- stock seconds_to_units(time)
- {
- return((1 << 12) * (time))
- }
- stock color( const id, const input[ ], any:... )
- {
- new count = 1, players[ 32 ]
- static msg[ 191 ]
- vformat( msg, 190, input, 3 )
- replace_all( msg, 190, "!g", "^4" ) //- verde
- replace_all( msg, 190, "!y", "^1" ) //- galben
- replace_all( msg, 190, "!team", "^3" ) //- echipa
- replace_all( msg, 190, "!n", "^0" ) //- normal
- if( id ) players[ 0 ] = id; else get_players( players, count, "ch" )
- {
- for( new i = 0; i < count; i++ )
- {
- if( is_user_connected( players[ i ] ) )
- {
- message_begin( MSG_ONE_UNRELIABLE, get_user_msgid( "SayText" ), _, players[ i ] )
- write_byte( players[ i ] );
- write_string( msg );
- message_end( );
- }
- }
- }
- }
- /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
- *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement