Plugin Experience
Posted: 01 Aug 2018, 01:11
Are careva pluginul asta cu rankuri si experienta??
Totul despre Counter-Strike, Resurse si Servere
https://www.extreamcs.com/forum/
#include <amxmodx> #include <hamsandwich> #include <cstrike> #include <nvault> #include <fun> static const PLUGIN[] = "Simple Level Mod", VERSION[] = "2.0", AUTHOR[] = "scosmyn"; #define MAX_LEVELS 16 new const Kills[MAX_LEVELS] = { 0, 50, 100, 150, 250, 350, 500, 650, 750, 850, 1250, 1500, 2000, 2500, 5000 } new const szTag[MAX_LEVELS][] = { "", "Soldat", "Fruntas", "Caporal", "Sergent", "Plutonier", "Maistru", "Sublocotenent", "Locotenent", "Capitan", "Maior", "Colonel", "General de Brigada", "General-Maior", "General-Locotenent", "GENERAL" } 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","3") pcvar_kill = register_cvar("cvar_normal_bonus","1") pcvar_knife = register_cvar("cvar_knife_bonus","3") pcvar_he = register_cvar("cvar_he_bonus","3") pcvar_efect = register_cvar("cvar_effect_lvl","3") 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","5") pcvar_ap_lvl = register_cvar("cvar_ap_lvl","10") 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(0, 255, 0, 0.02, 0.2, 0, 6.0, 7.0 ) ShowSyncHudMsg(id,g_sync,"Name: [%s]^nLevel: [%d]^nStatus: [%s]^nKill's: [%i/%i]",szName,Level[id],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\\ ansicpg1252\\ deff0\\ deflang1033{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par } */