Simple_vip by artha
Posted: 2015 Feb 17 14:31
Reikia patvarkyti 
SCriptas..
dekui 

Code: Select all
Meta klaida 02/17/2015 - 14:01:54: Start of error session.L 02/17/2015 - 14:01:54: Info (map "cs_max") (file "addons/amxmodx/logs/error_20150217.log")L 02/17/2015 - 14:01:54: [FUN] Invalid player 1L 02/17/2015 - 14:01:54: [AMXX] Displaying debug trace (plugin "simple_vip.amxx", version "3.1")L 02/17/2015 - 14:01:54: [AMXX] Run time error 10: native error (native "give_item")L 02/17/2015 - 14:01:54: [AMXX] [0] simple_vip..sma::give_items (line 258)L 02/17/2015 - 14:01:54: [AMXX] [1] simple_vip..sma::menu_handler (line 157)
SCriptas..
Code: Select all
#include <amxmodx>#include <amxmisc>#include <cstrike>#include <fun>#include <hamsandwich>#include <pmodel> new CurrentRoundnew bool:HasC4[33] #define PLUGIN "Simple VIP"#define VERSION "3.1"#define AUTHOR "ArtHa" #define VIP ADMIN_LEVEL_H // VIP flag, keisti cia. new bool:gShopVipmenu = true;new grenades, pistols, armornew vipinfo, vip_motdnew bulletdmg_vip, g_hudmsg1, g_hudmsg2new g_pHp[ 3 ]new awp_vip new const vip_t[] = "vip_model_t"new const vip_ct[] = "vip_model_ct" new vip_models public plugin_init(){ register_plugin(PLUGIN, VERSION, AUTHOR) register_logevent("LogEvent_RoundStart", 2, "1=Round_Start" ) register_event("TextMsg", "round_restart", "a", "2=#Game_will_restart_in") RegisterHam( Ham_Spawn, "player", "FnHamSpawn", 1 ) new configsdir[64], file[132] get_configsdir(configsdir, 63) format(file, 131, "%s/blockedmaps.ini", configsdir) load_maps(file) register_cvar("vipmenu_round","2") pistols = register_cvar("vipmenu_pistols","1") grenades = register_cvar("vipmenu_grenades","1") armor = register_cvar("vipmenu_armor","1") register_clcmd("say /noriuvip", "motd") vipinfo = register_cvar("vipinfo_website", "http://amxmodx.lt/viewtopic.php?f=12&t=5707") vip_motd = register_cvar("vipmenu_motd","1") register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0") bulletdmg_vip = register_cvar("bulletdmg_vip","1") g_hudmsg1 = CreateHudSyncObj() g_hudmsg2 = CreateHudSyncObj() register_event( "DeathMsg", "Event_DeathMsg", "a" ) g_pHp[ 0 ] = register_cvar( "amx_vip_hpadd", "10" ) g_pHp[ 1 ] = register_cvar( "amx_vip_hsadd", "20" ) g_pHp[ 2 ] = register_cvar( "amx_vip_hpmax", "100" ) register_event("CurWeapon", "event_CurWeapon", "be") awp_vip = register_cvar( "amx_vip_awp", "1" ) register_dictionary("simple_vip.txt") vip_models = register_cvar( "amx_vip_models", "1" ) register_clcmd("say /isjungti", "models") register_clcmd("say /ijungti", "models2") UsePlayerModels()} public plugin_cfg(){ new cfgdir[32]; get_configsdir(cfgdir, charsmax(cfgdir)); server_cmd("exec %s/simple_vip.cfg", cfgdir);} public plugin_precache(){ PrecachePlayerModel(vip_t) PrecachePlayerModel(vip_ct)} public client_disconnect(id){ SetPlayerModel(id)} public load_maps(path[]){ new szMapname[64], szMap[64] new file = fopen(path, "rt") if(!file) { server_print("Nepavyko rasti blockedmaps.ini failo!") return PLUGIN_HANDLED } while(!feof(file)) { fgets(file, szMapname, 63) if(equal(szMapname[0], "") || equal(szMapname[0], ";")) { continue; } get_mapname(szMap, 63) if(equali(szMap, szMapname)) { gShopVipmenu = false; } } fclose(file); return PLUGIN_CONTINUE} public LogEvent_RoundStart(){ CurrentRound++;} public round_restart(){ CurrentRound = 1;} public FnHamSpawn(id){ if(gShopVipmenu) { if(CurrentRound >= get_cvar_num( "vipmenu_round" ) ) { if(get_user_flags(id) & VIP ) { vipmenu(id); } } if(get_pcvar_num(pistols) == 1 && CurrentRound <= get_cvar_num( "vipmenu_round" )) { if(get_user_flags(id) & VIP ) { vipmenu2(id) } } } if(get_pcvar_num(vip_models) == 1) { if(is_user_alive(id)) { if(get_user_flags(id) & VIP ) { if(cs_get_user_team(id) == CS_TEAM_T) { SetPlayerModel(id, vip_t) } if(cs_get_user_team(id) == CS_TEAM_CT) { SetPlayerModel(id, vip_ct) } } } }} public vipmenu(id) { new menu = menu_create("\w[\y VIP MENU \w]", "menu_handler"); menu_additem(menu, "\wM4A1 + Deagle", "1", 0); menu_additem(menu, "\wAK47 + Deagle", "2", 0); menu_additem(menu, "\wFAMAS + Deagle", "3", 0); menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) menu_display(id, menu, 0); } public vipmenu2(id) { new menu = menu_create("\w[\y VIP MENU \w]", "menu_handler"); menu_additem(menu, "\wGlock", "4", 0); menu_additem(menu, "\wUsp", "5", 0); menu_additem(menu, "\wDeagle", "6", 0); menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) menu_display(id, menu, 0); } public menu_handler(id, menu, item){ if( item == MENU_EXIT ) { give_items(id); menu_destroy(menu); return PLUGIN_HANDLED; } new data[6], iName[64]; new acess, callback; menu_item_getinfo(menu, item, acess, data,6, iName, 63, callback); new key = str_to_num(data); switch(key) { case 1: { give_weapons(id, CSW_M4A1, 90, CSW_DEAGLE, 35) } case 2: { give_weapons(id, CSW_AK47, 90, CSW_DEAGLE, 35) } case 3: { give_weapons(id, CSW_FAMAS, 90, CSW_DEAGLE, 35) } case 4: { give_weapon(id, CSW_GLOCK18, 120) } case 5: { give_weapon(id, CSW_USP, 100) } case 6: { give_weapon(id, CSW_DEAGLE, 35) } } menu_destroy(menu); return PLUGIN_HANDLED;} public give_weapons(id, prim, ammo1, sec, ammo2){ if(user_has_weapon(id, CSW_C4) ) HasC4[id] = true; else HasC4[id] = false; new weapon[32] strip_user_weapons (id) get_weaponname(prim, weapon, 31) give_item(id,weapon) cs_set_user_bpammo(id, prim, ammo1) get_weaponname(sec, weapon, 31) give_item(id,weapon) cs_set_user_bpammo(id, sec, ammo2) give_item(id,"weapon_knife") if (HasC4[id]) { give_item(id, "weapon_c4") cs_set_user_plant( id ) } give_items(id)} public give_weapon(id, sec, ammo){ if(user_has_weapon(id, CSW_C4) ) HasC4[id] = true; else HasC4[id] = false; new weapon[32] strip_user_weapons (id) get_weaponname(sec, weapon, 31) give_item(id,weapon) cs_set_user_bpammo(id, sec, ammo) give_item(id,"weapon_knife") if (HasC4[id]) { give_item(id, "weapon_c4") cs_set_user_plant( id ) } give_items(id)} give_items(id){ if(get_pcvar_num(grenades) == 1) { give_item(id, "weapon_hegrenade"); give_item(id, "weapon_smokegrenade"); give_item(id, "weapon_flashbang"); cs_set_user_bpammo(id, CSW_FLASHBANG, 2); } if(get_pcvar_num(armor) == 1) { give_item(id, "item_assaultsuit"); give_item(id, "item_thighpack"); }} public motd(id){ if(get_pcvar_num(vip_motd) == 1) { Link( id, "%s" ) }} stock Link( id, url[] ){ static html[ 128 ] new site[64] get_pcvar_string(vipinfo, site, charsmax(site)) format( html, 127, "<html><head><META HTTP-EQUIV=^"Refresh^" CONTENT=^"0; URL=%s^"></head><body bgcolor=^"black^" scroll=^"yes^"><a href=^"%s^">VIP privilegijos</a></body></html>", site, url, url, url ) show_motd( id, html, "Pirkti VIP" )} public on_damage(id) { if(get_pcvar_num(bulletdmg_vip) == 1) { static attacker; attacker = get_user_attacker(id) static damage; damage = read_data(2) if( get_user_flags(id) & VIP ) { set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1) ShowSyncHudMsg(id, g_hudmsg2, "%i^n", damage) } if(is_user_connected(attacker)) { if( get_user_flags(attacker) & VIP ) { set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1) ShowSyncHudMsg(attacker, g_hudmsg1, "%i^n", damage) } } } else if(get_pcvar_num(bulletdmg_vip) == 2) { static attacker; attacker = get_user_attacker(id) static damage; damage = read_data(2) set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1) ShowSyncHudMsg(id, g_hudmsg2, "%i^n", damage) if(is_user_connected(attacker)) { set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1) ShowSyncHudMsg(attacker, g_hudmsg1, "%i^n", damage) } }} public Event_DeathMsg( ){ new iKiller = read_data( 1 ) new iVictim = read_data( 2 ) new HeadShot = read_data( 3 ) if( get_user_team( iKiller ) == get_user_team( iVictim ) ) return if( iKiller && iVictim != iKiller && get_user_flags(iKiller) & VIP ) { static maxhp, hp maxhp = get_pcvar_num( g_pHp[ 2 ] ) hp = get_user_health( iKiller ) if( hp != maxhp ) { new BonusHp; if( HeadShot ) BonusHp = get_pcvar_num( g_pHp[ 1 ] ) else BonusHp = get_pcvar_num( g_pHp[ 0 ] ) if( hp + BonusHp > maxhp ) { set_user_health( iKiller, maxhp ) ChatColor(iKiller, "%L", LANG_PLAYER, "HP_BONUS", maxhp - hp ) } else { set_user_health( iKiller, hp + BonusHp ); ChatColor(iKiller, "%L", LANG_PLAYER, "HP_BONUS", BonusHp ) } } } } public event_CurWeapon(id){ new szMapname[64] get_mapname(szMapname, 63) if(containi(szMapname, "awp")) { if(get_pcvar_num(awp_vip) == 1) { if(!(get_user_flags(id) & VIP)) { switch(read_data(2)) { case CSW_AWP, CSW_SG550, CSW_G3SG1: { client_cmd(id, "drop") ChatColor(id, "%L", LANG_PLAYER, "AWP_DROP" ) } } } } }} public models(id){ client_cmd(id, "cl_minmodels 1" ) ChatColor(id, "%L", LANG_PLAYER, "MODELS_OFF" )} public models2(id){ client_cmd(id, "cl_minmodels 0" ) ChatColor(id, "%L", LANG_PLAYER, "MODELS_ON" )} stock ChatColor(const id, const input[], any:...){ new count = 1, players[32] static msg[192] vformat(msg, 191, input, 3) replace_all(msg, 191, "!g", "^4") // Green Color replace_all(msg, 191, "!y", "^1") // Default Color replace_all(msg, 191, "!t", "^3") // Team Color 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(); } } }}
