Raised This Month: $ Target: $400
 0% 

1000 Vip dmg reward 1 ammo packs


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
emoto2
Member
Join Date: May 2016
Old 06-26-2016 , 20:14   1000 Vip dmg reward 1 ammo packs
Reply With Quote #1

Hi, i want when vip user deal 1000 dmg reward 1 ammo packs. Now code have bug and reward 1 ammo packs on every 1100 dmg (cvar zp_human_damage_reward 1000 // cvar zp_vip_damage_increase 1.1)
Code:
Code:
#include <amxmodx> #include <amxmisc> #include <fakemeta> #include <engine> #include <fun> #include <hamsandwich> #include <zombie_plague_special> #define MODE 2 #define CHAT_PREFIX "[AMXX]" #define VIPACCES ADMIN_LEVEL_H #define MJACCES ADMIN_LEVEL_H #define FLAG_A (1<<0) #define FLAG_B (1<<1) #define FLAG_C (1<<2) #define FLAG_D (1<<3) #define FLAG_E (1<<4) #define FLAG_K (1<<10) #if cellbits == 32 const OFFSET_CLIPAMMO = 51 #else const OFFSET_CLIPAMMO = 65 #endif const OFFSET_LINUX_WEAPONS = 4 const DMG_HEGRENADE = (1<<24) #define set_flood(%1,%2)    (%1 |= (1<<(%2&31))) #define clear_flood(%1,%2)    (%1 &= ~(1<<(%2&31))) #define get_flood(%1,%2)    (%1 & (1<<(%2&31))) #if MODE & (1<<0) || MODE & (1<<1) new amx_password_field_string[30] #endif #if MODE & (1<<0) new g_user_privileges[33] enum _:database_items {     auth[50],     password[50],     accessflags,     flags } new vips_database[database_items] new Array:database_holder new g_hour_flags new g_hour #endif #if MODE & (1<<1) const ZV_PLUGIN_HANDLED = 97 enum _:items {     i_name[31],     i_description[31],     i_cost,     i_team } new extra_items[items] new Array:items_database new g_registered_items_count #endif #if MODE == 3 new g_vip_buy_time new g_vip_cost_ammo new g_vip_buy_flags #endif new const MAXCLIP[] = { -1, 13, -1, 10, 1, 7, -1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20, 10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 } static const CONTACT[] = "skype: xxxxx" new g_jumps, g_allow_jump, g_armor, g_killammo, g_infectammo, g_infecthealth, g_nemhealth, g_show_vips, g_unlimited_clip, g_fall_damage, g_damage_reward, g_damage_increase, g_happy_hour, g_happy_hour_frag, g_happy_hour_ammo new happy_hour_on new g_bit new chache_g_jumps new maxplayers, g_msgSayText new jumpnum[33] new bool:dojump[33] new Float:g_damage[33] public plugin_init() {         register_plugin("Zombie plague VIP","1.7.2","aaarnas")     RegisterHam(Ham_Spawn, "player", "FwdHamPlayerSpawnPost", 1)     RegisterHam(Ham_Killed, "player", "fw_PlayerKilled_Post", 1)     RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")     register_event("ResetHUD", "HUDReset", "be")     register_event("HLTV", "chache_cvars", "a", "1=0", "2=0")         maxplayers = get_maxplayers()     g_msgSayText = get_user_msgid("SayText")         register_message(get_user_msgid("CurWeapon"), "message_cur_weapon")         g_jumps = register_cvar("zp_vip_jumps", "1")     g_allow_jump = register_cvar("zp_vip_allow_jump", "abcd")     g_armor = register_cvar("zp_vip_armor", "100")     g_killammo = register_cvar("zp_vip_killammo", "1")     g_infectammo = register_cvar("zp_vip_infectammo", "1")     g_infecthealth = register_cvar("zp_vip_infecthealth", "200")     g_nemhealth = register_cvar("zp_vip_nemextra", "0")     g_show_vips = register_cvar("zp_vip_show", "1")     g_unlimited_clip = register_cvar("zp_vip_unlimited_ammo", "0")     g_fall_damage = register_cvar("zp_vip_no_fall_damage", "0")     g_damage_reward = register_cvar("zp_vip_damage_reward", "0")     g_damage_increase = register_cvar("zp_vip_damage_increase", "1.1")     g_happy_hour = register_cvar("zp_vip_happy_hour", "off")     g_happy_hour_frag = register_cvar("zp_vip_happy_hour_frag", "0")     g_happy_hour_ammo = register_cvar("zp_vip_happy_hour_ammo", "0")     register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER)         #if MODE & (1<<0) || MODE & (1<<1)     get_cvar_string("amx_password_field", amx_password_field_string, charsmax(amx_password_field_string))     register_dictionary("zp_vip.txt") #endif #if MODE & (1<<0) && MODE & (1<<1)     g_vip_cost_ammo = register_cvar("zp_vip_cost_ammo", "3000")     g_vip_buy_time = register_cvar("zp_vip_buy_time", "1")     g_vip_buy_flags = register_cvar("zp_vip_buy_flags", "abcde")     set_task(5.0,"check_date",0) #endif #if MODE & (1<<0)     register_concmd("amx_reloadvips", "reload_vips", ADMIN_CFG)     g_hour = register_cvar("zp_vip_hour", "off")     g_hour_flags = register_cvar("zp_vip_hour_flags", "b")     reload_vips() #endif #if MODE & (1<<1)         new temp[31]     formatex(temp, 30, "%L", LANG_SERVER, "VIP_EXTRA_NAME") #endif     register_clcmd("say /vips", "print_adminlist")     register_clcmd("say /vip", "ShowMotd") } public chache_cvars() {         static string[5]     get_pcvar_string(g_allow_jump, string, charsmax(string))     g_bit = read_flags(string)     chache_g_jumps = get_pcvar_num(g_jumps)         static hours[6], hour1s[3], hour2s[3], hour1, hour2, h, m, s     get_pcvar_string(g_happy_hour, hours, charsmax(hours))             if(equal(hours, "off")) {happy_hour_on = false; return; }             strtok(hours, hour1s, charsmax(hour1s), hour2s, charsmax(hour2s), '-')     hour1 = str_to_num(hour1s)     hour2 = str_to_num(hour2s)             time(h, m, s)     if(hour1 <= h <= hour2) happy_hour_on = true     else happy_hour_on = false } #if MODE & (1<<1) || MODE & (1<<0) public plugin_natives() { #if MODE & (1<<1)     register_native("zv_register_extra_item", "native_zv_register_extra_item", 1) #endif #if MODE & (1<<0)     register_native("zv_get_user_flags", "native_zv_get_user_flags", 1) #endif  } #endif public FwdHamPlayerSpawnPost(id) {         if(!is_user_alive(id)) return HAM_IGNORED; #if MODE & (1<<0)     if(!(g_user_privileges[id] & FLAG_A)) #else     if(!(get_user_flags(id) & VIPACCES)) #endif         return PLUGIN_HANDLED;     if(pev(id, pev_armorvalue) < get_pcvar_num(g_armor))     set_pev(id, pev_armorvalue, float(get_pcvar_num(g_armor)))     return HAM_IGNORED; } public fw_PlayerKilled_Post(victim, attacker) {     if(!is_user_alive(attacker) || victim == attacker)         return     #if MODE & (1<<0)     if(1 <= attacker <= maxplayers && g_user_privileges[attacker] & FLAG_A)     #else     if(1 <= attacker <= maxplayers && get_user_flags(attacker) & VIPACCES)     #endif      {         if(zp_get_user_zombie(attacker) && !(zp_get_user_nemesis(attacker) && get_pcvar_num(g_nemhealth)))         {             set_user_health(attacker, (get_user_health(attacker) + get_pcvar_num(g_infecthealth)))         }                 zp_set_user_ammo_packs(attacker, zp_get_user_ammo_packs(attacker) + get_pcvar_num(g_killammo))                 if(happy_hour_on)         {             static frag, ammo             frag = get_pcvar_num(g_happy_hour_frag)             ammo = get_pcvar_num(g_happy_hour_ammo)                         if(frag) set_user_frags(attacker, get_user_frags(attacker)+frag)             if(ammo) zp_set_user_ammo_packs(attacker, zp_get_user_ammo_packs(attacker)+ammo)         }                 } } public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type) {     if(victim == attacker)         return HAM_IGNORED             if(damage_type & DMG_HEGRENADE)         return HAM_IGNORED         #if MODE & (1<<0)     if(g_user_privileges[victim] & FLAG_A)     #else     if(get_user_flags(victim) & VIPACCES)     #endif     {         if(damage_type & DMG_FALL && get_pcvar_num(g_fall_damage))             return HAM_SUPERCEDE;     }         if(!is_user_connected(attacker))         return HAM_IGNORED         if(zp_get_user_zombie(attacker) || zp_get_user_survivor(attacker))         return HAM_IGNORED     #if MODE & (1<<0)     if(g_user_privileges[attacker] & FLAG_D)     #else     if(get_user_flags(attacker) & VIPACCES)     #endif     {         damage *= get_pcvar_float(g_damage_increase)         SetHamParamFloat(4, damage)     }         #if MODE & (1<<0)     if(g_user_privileges[attacker] & FLAG_D)     #else     if(get_user_flags(attacker) & VIPACCES)     #endif     {         if(get_pcvar_num(g_damage_reward) > 0)         {             g_damage[attacker]+=damage             if(g_damage[attacker] > get_pcvar_float(g_damage_reward))             {                 zp_set_user_ammo_packs(attacker, zp_get_user_ammo_packs(attacker)+1)                 g_damage[attacker] -= get_pcvar_float(g_damage_reward)             }         }       }     return HAM_IGNORED } public zp_user_infected_post(id, infector, nemesis) {         setVip()     if(!(1<=infector<=maxplayers)) return;     #if MODE & (1<<0)     if(g_user_privileges[infector] & FLAG_A) { #else     if(get_user_flags(infector) & VIPACCES) { #endif         if(is_user_alive(infector)) set_user_health(infector, (get_user_health(infector) + get_pcvar_num(g_infecthealth)))         zp_set_user_ammo_packs(infector, zp_get_user_ammo_packs(infector) + get_pcvar_num(g_infectammo))                 if(happy_hour_on) {                         static frag, ammo             frag = get_pcvar_num(g_happy_hour_frag)             ammo = get_pcvar_num(g_happy_hour_ammo)                         if(frag) set_user_frags(infector, get_user_frags(infector)+frag)             if(ammo) zp_set_user_ammo_packs(infector, zp_get_user_ammo_packs(infector)+ammo)         }     }   } public client_connect(id) {         jumpnum[id] = 0     g_damage[id] = 0.0     dojump[id] = false #if MODE & (1<<0)     else {         static hours[6], hour1s[3], hour2s[3], hour1, hour2, h, m, s         get_pcvar_string(g_hour, hours, charsmax(hours))                 if(equal(hours, "off")) return;                 strtok(hours, hour1s, charsmax(hour1s), hour2s, charsmax(hour2s), '-')         hour1 = str_to_num(hour1s)         hour2 = str_to_num(hour2s)                 time(h, m, s)         if(hour1 <= h <= hour2) {                         new fflags[10]             get_pcvar_string(g_hour_flags, fflags, charsmax(fflags))             g_user_privileges[id] = read_flags(fflags)         }     } #endif } public client_putinserver(id) {     if(is_user_connected(id))     {         #if MODE & (1<<0)         set_flags(id)         if(get_pcvar_num(g_show_vips) == 1 && g_user_privileges[id] & FLAG_A)         #else         if(get_pcvar_num(g_show_vips) == 1 && get_user_flags(id) & VIPACCES)         #endif         {             new name[100]             get_user_name(id, name, 100)             client_printcolor(0, "/g%L", LANG_PLAYER, "VIP_CONNECTED", name)         }     } } #if MODE & (1<<0) && MODE & (1<<1) public buy_meniu(id) {     new holder[150], menu     formatex(holder, charsmax(holder), "\r%L", id, "BUY_MENU_TOP", get_pcvar_num(g_vip_cost_ammo), get_pcvar_num(g_vip_buy_time))     menu = menu_create(holder, "buy_menu_handler")     new callback = menu_makecallback("_menu_callback")     formatex(holder, charsmax(holder), "%L", id, "BUY_MENU_TYPE1")     menu_additem(menu, holder)     formatex(holder, charsmax(holder), "%L", id, "BUY_MENU_TYPE2")     menu_additem(menu, holder, _, _, callback)     formatex(holder, charsmax(holder), "%L", id, "BUY_MENU_TYPE3")     menu_additem(menu, holder)         menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)     formatex(holder, charsmax(holder), "%L", id, "EXIT")     menu_setprop(menu, MPROP_EXITNAME, holder)     menu_display(id, menu, 0) }   public buy_menu_handler(id, menu, item) {     if( item == MENU_EXIT )     {         menu_destroy(menu)         return PLUGIN_HANDLED     }     new ammo_packs = zp_get_user_ammo_packs(id)     if(item > 0) {         if(ammo_packs >= get_pcvar_num(g_vip_cost_ammo)) {             amx_tempadmin(id, item)             zp_set_user_ammo_packs(id, ammo_packs - get_pcvar_num(g_vip_cost_ammo))             client_printcolor(id, "/g%s /y%L", CHAT_PREFIX, id, "BOUGHT_VIP", get_pcvar_num(g_vip_buy_time))                     }         else client_printcolor(id, "/g%s /y%L", CHAT_PREFIX, id, "MISSING_AMMO", get_pcvar_num(g_vip_cost_ammo)-ammo_packs)     }     else {         nick_buy_meniu(id)         return PLUGIN_HANDLED     }         menu_destroy(menu)     return PLUGIN_HANDLED } public nick_buy_meniu(id) {     new buttons_string[16], menu_string[151], menu_item[81], menu, client_password[20]     get_user_info(id, amx_password_field_string, client_password, charsmax(client_password))     formatex(menu_string, 150, "\r%L", id, "NICK_BUY_MENU_TOP", client_password)     menu = menu_create(menu_string, "nick_buy_menu_handler")         formatex(menu_item, 80, "%L", id, "NICK_BUY_MENU_TYPE1")     menu_additem(menu, menu_item)     formatex(menu_item, 80, "%L", id, "NICK_BUY_MENU_TYPE2")     menu_additem(menu, menu_item)     formatex(menu_item, 80, "%L", id, "NICK_BUY_MENU_TYPE3", get_pcvar_num(g_vip_cost_ammo) ,get_pcvar_num(g_vip_buy_time))     menu_additem(menu, menu_item)         menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)     formatex(buttons_string, 15, "%L", id, "BACK")     menu_setprop(menu, MPROP_EXITNAME, buttons_string)     menu_display(id, menu, 0)     }   public nick_buy_menu_handler(id, menu, item) {     if( item == MENU_EXIT )     {         buy_meniu(id)         return PLUGIN_HANDLED     }     switch(item) {         case 0: {             generate_password(id)             set_task(0.2, "menu_delay", id)         }         case 1: nick_buy_meniu_sec(id)         case 2: {                         new ammo_packs = zp_get_user_ammo_packs(id)             if(ammo_packs >= get_pcvar_num(g_vip_cost_ammo)) {                 amx_tempadmin(id, 0)                 zp_set_user_ammo_packs(id, ammo_packs - get_pcvar_num(g_vip_cost_ammo))                 client_printcolor(id, "/g%s /y%L", CHAT_PREFIX, id, "BOUGHT_VIP", get_pcvar_num(g_vip_buy_time))                         }             else client_printcolor(id, "/g%s /y%L", CHAT_PREFIX, id, "MISSING_AMMO", get_pcvar_num(g_vip_cost_ammo)-ammo_packs)                         menu_destroy(menu)             return PLUGIN_HANDLED         }     }         menu_destroy(menu)     return PLUGIN_HANDLED } public nick_buy_meniu_sec(id) {     new holder[150], menu     formatex(holder, charsmax(holder), "\r%L", id, "NICK_BUY_MENU_SEC_TOP")     menu = menu_create(holder, "nick_buy_menu_sec_handler")         formatex(holder, charsmax(holder), "%L", id, "BACK")     menu_additem(menu, holder)         menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER)     menu_display(id, menu, 0) }   public nick_buy_menu_sec_handler(id, menu, item) {     nick_buy_meniu(id)     menu_destroy(menu)     return PLUGIN_HANDLED; } public _menu_callback(id, menu, item) {         if(item == 1) {         new authid[30]         get_user_authid(id, authid, charsmax(authid))         if(equal(authid, "STEAM_0", 7)) return ITEM_ENABLED         else return ITEM_DISABLED     }         return ITEM_ENABLED } public menu_delay(id) nick_buy_meniu(id) #endif public message_cur_weapon(msg_id, msg_dest, msg_entity) {     if (!get_pcvar_num(g_unlimited_clip)) return #if MODE & (1<<0)     if (!(g_user_privileges[msg_entity] & FLAG_C)) return #else     if (!(get_user_flags(msg_entity) & VIPACCES)) return #endif     if (!is_user_alive(msg_entity) || get_msg_arg_int(1) != 1) return         static weapon, clip     weapon = get_msg_arg_int(2)     clip = get_msg_arg_int(3)         if (MAXCLIP[weapon] > 2)     {         set_msg_arg_int(3, get_msg_argtype(3), MAXCLIP[weapon])                 if (clip < 2)         {             static wname[32], weapon_ent             get_weaponname(weapon, wname, sizeof wname - 1)             weapon_ent = find_ent_by_owner(-1, wname, msg_entity)             fm_set_weapon_ammo(weapon_ent, MAXCLIP[weapon])         }     } } public HUDReset()     setVip()     public setVip() {     new players[32], pNum     get_players(players, pNum, "a")     for (new i = 0; i < pNum; i++)     {         new id = players[i] #if MODE & (1<<0)           if (g_user_privileges[id] & FLAG_A) #else         if (get_user_flags(id) & VIPACCES) #endif         {             message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))             write_byte(id)             write_byte(4)             message_end()         }     }     return PLUGIN_HANDLED } public print_adminlist(user) {     new adminnames[33][32]     new message[256]     new contactinfo[256], contact[112]     new id, count, x, len         for(id = 1 ; id <= maxplayers ; id++)         if(is_user_connected(id)) #if MODE & (1<<0)             if(g_user_privileges[id] & FLAG_A) #else             if(get_user_flags(id) & VIPACCES) #endif                 get_user_name(id, adminnames[count++], 31)     len = format(message, 255, "[AMXX] /yOnline vips:/t ", id)     if(count > 0) {         for(x = 0 ; x < count ; x++) {             len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? "/y, /t":"")             if(len > 96 ) {                 client_printcolor(user, "/t%s", message)                 len = format(message, 255, "")             }         }         client_printcolor(user, "/g%s", message)     }     else {         len += format(message[len], 255-len, "%L ", id, "VIP_STATUS_N")         client_printcolor(user, "/g%s", message)     }         get_cvar_string("amx_contactinfo", contact, 63)     if(contact[0])  {         format(contactinfo, 111, "[AMXX] /yTo buy vip previlegies skype: /txxxxx", id)         client_printcolor(user, "/g%s", contactinfo)     }     } public client_disconnect(id) {     jumpnum[id] = 0     g_damage[id] = 0.0     dojump[id] = false } public client_PreThink(id) { #if MODE & (1<<0)     if(!is_user_alive(id) || !g_jumps || (!(g_user_privileges[id] & FLAG_B))) return PLUGIN_CONTINUE #else     if(!is_user_alive(id) || !g_jumps || (!(get_user_flags(id) & MJACCES))) return PLUGIN_CONTINUE #endif     static nbut, obut, fflags     nbut= get_user_button(id)     obut = get_user_oldbutton(id)     fflags = get_entity_flags(id)         if((nbut & IN_JUMP) && !(fflags & FL_ONGROUND) && !(obut & IN_JUMP))     {         if(jumpnum[id] < chache_g_jumps &&         ((g_bit & FLAG_D && zp_get_user_nemesis(id)) ||         (g_bit & FLAG_C && zp_get_user_survivor(id)) ||         (g_bit & FLAG_A && !zp_get_user_zombie(id)) ||         (g_bit & FLAG_B && zp_get_user_zombie(id) && !zp_get_user_nemesis(id))))         {             dojump[id] = true             jumpnum[id]++             return PLUGIN_CONTINUE         }     }     if((nbut & IN_JUMP) && (fflags & FL_ONGROUND))     {         jumpnum[id] = 0         return PLUGIN_CONTINUE     }         return PLUGIN_CONTINUE } public client_PostThink(id) { #if MODE & (1<<0)     if(!is_user_alive(id) || !get_pcvar_num(g_jumps) || (!(g_user_privileges[id] & FLAG_B))) return PLUGIN_CONTINUE #else     if(!is_user_alive(id) || !get_pcvar_num(g_jumps) || (!(get_user_flags(id) & MJACCES))) return PLUGIN_CONTINUE #endif     if(dojump[id] == true)     {         static Float:velocity[3]            entity_get_vector(id,EV_VEC_velocity,velocity)         velocity[2] = random_float(265.0,285.0)         entity_set_vector(id,EV_VEC_velocity,velocity)         dojump[id] = false         return PLUGIN_CONTINUE     }     return PLUGIN_CONTINUE }   public ShowMotd(id)     show_motd(id, "vip.txt") #if MODE & (1<<0) public reload_vips() {         if(database_holder) ArrayDestroy(database_holder)     database_holder = ArrayCreate(database_items)     new configsDir[64]     get_configsdir(configsDir, 63)     format(configsDir, 63, "%s/vips.ini", configsDir)         new File=fopen(configsDir,"r");         if (File)     {         static Text[512], Flags[32], AuthData[50], Privileges_Flags[32], Password[50]         while (!feof(File))         {             fgets(File,Text,sizeof(Text)-1);                         trim(Text);                         if (Text[0]==';')             {                 continue;             }                         Flags[0]=0;             AuthData[0]=0;             Privileges_Flags[0]=0;             Password[0]=0;                         if (parse(Text,AuthData,sizeof(AuthData)-1,Password,sizeof(Password)-1,Privileges_Flags,sizeof(Privileges_Flags)-1,Flags,sizeof(Flags)-1) < 2)             {                 continue;             }             vips_database[auth] = AuthData             vips_database[password] = Password             vips_database[accessflags] = read_flags(Privileges_Flags)             vips_database[flags] = read_flags(Flags)             ArrayPushArray(database_holder, vips_database)         }                 fclose(File);     }     else log_amx("Error: vips.ini file doesn't exist") } #endif #if MODE & (1<<0) && MODE & (1<<1) public check_date() {     new holder[20]     new y, m ,d     date(y, m, d)     format(holder, charsmax(holder), "m%dd%dy%d", m, d, y)     new configdir[200]     get_configsdir(configdir,199)     new configfile1[200]     format(configfile1,199,"%s/vips.ini",configdir)         new text[512], len     new pnum = file_size(configfile1,1)     for(new i = 1; i < pnum; i++)     {         read_file(configfile1, i, text, 511, len)         if ( contain(text, holder) != -1 )         {             DeleteLine(configfile1, i)         }     }     return PLUGIN_HANDLED } public amx_tempadmin(id, type) {       new authid[31], ip[31], name[51], client_password[20], p_flags[21], sdate[20]     get_pcvar_string(g_vip_buy_flags, p_flags, charsmax(p_flags))     get_user_authid(id, authid, charsmax(authid))     get_user_ip(id, ip, charsmax(ip), 1)     get_user_name(id, name, charsmax(name))     get_user_info(id, amx_password_field_string, client_password, charsmax(client_password))         get_date(get_pcvar_num(g_vip_buy_time), sdate, charsmax(sdate))         new holder[200]     switch(type) {         case 0: formatex(holder, charsmax(holder), "^"%s^" ^"%s^" ^"%s^" ^"b^"; Exp: %s", name, client_password, p_flags, sdate)         case 1: formatex(holder, charsmax(holder), "^"%s^" ^"^" ^"%s^" ^"ce^"; Exp: %s", authid, p_flags, sdate)         case 2: formatex(holder, charsmax(holder), "^"%s^" ^"^" ^"%s^" ^"de^"; Exp: %s", ip, p_flags, sdate)     }         new configdir[200]     get_configsdir(configdir, 199)     new configfile1[200]     format(configfile1,199,"%s/vips.ini",configdir)     write_file(configfile1, holder, -1)     server_cmd("amx_reloadvips")     set_task(1.0, "set_flags", id)     } DeleteLine( const szFilename[ ], const iLine ) {     new iFile = fopen( szFilename, "rt" );     if( !iFile )     {         return;     }     static const szTempFilename[ ] = "delete_line.txt";     new iTempFile = fopen( szTempFilename, "wt" );         new szData[ 256 ], iLineCount, bool:bReplaced = false;     while( !feof( iFile ) )     {         fgets( iFile, szData, 255 );                 if( iLineCount++ == iLine )         {             bReplaced = true;         }         else         {             fputs( iTempFile, szData );         }     }         fclose( iFile );     fclose( iTempFile );         if( bReplaced )     {         delete_file( szFilename );                 while( !rename_file( szTempFilename, szFilename, 1 ) ) { }     }     else     {         delete_file( szTempFilename );     } } stock get_date(days, string[], chars) {         new y, m, d     date(y, m ,d)         d+=days         new go = true     while(go) {         switch(m) {             case 1,3, 5, 7, 8, 10: {                 if(d>31) { d=d-31; m++; }                 else go = false             }             case 2: {                 if(d>28) { d=d-28; m++; }                 else go = false             }             case 4, 6, 9, 11: {                 if(d>30) { d=d-30; m++; }                 else go = false             }             case 12: {                 if(d>31) { d=d-31; y++; m=1; }                 else go = false             }         }     }     formatex(string, chars, "m%dd%dy%d", m, d ,y) } #endif stock client_printcolor(id, const message[], any:...) {     static buffer[512], argscount     argscount = numargs()         if (!id) {                 static players[32], num, player, i, i2         get_players(players, num , "ch")                     for (i = 0; i < num; i++) {                         player = players[i]                         static changed[5], changedcount             changedcount = 0                         for (i2 = 2; i2 < argscount; i2++)             {                 if (getarg(i2) == LANG_PLAYER)                 {                     setarg(i2, 0, player)                     changed[changedcount] = i2                     changedcount++                 }             }                         vformat(buffer, charsmax(buffer), message, 3)                         replace_all(buffer, charsmax(buffer), "/g", "^4")             replace_all(buffer, charsmax(buffer), "/y", "^1")             replace_all(buffer, charsmax(buffer), "/t", "^3")                     message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, player)             write_byte(player)             write_string(buffer)             message_end()                         for (i2 = 0; i2 < changedcount; i2++)                 setarg(changed[i2], 0, LANG_PLAYER)         }     }     else {                 vformat(buffer, charsmax(buffer), message, 3)                 replace_all(buffer, charsmax(buffer), "/g", "^4")         replace_all(buffer, charsmax(buffer), "/y", "^1")         replace_all(buffer, charsmax(buffer), "/t", "^3")                 message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, id)         write_byte(id)         write_string(buffer)         message_end()     } } stock fm_find_ent_by_owner(entity, const classname[], owner) {     while ((entity = engfunc(EngFunc_FindEntityByString, entity, "classname", classname)) && pev(entity, pev_owner) != owner) {}         return entity; } stock fm_set_weapon_ammo(entity, amount) {     set_pdata_int(entity, OFFSET_CLIPAMMO, amount, OFFSET_LINUX_WEAPONS); } #if MODE & (1<<0) public set_flags(id) {         static authid[31], ip[31], name[51], index, client_password[30], size, log_flags[11]     get_user_authid(id, authid, 30)     get_user_ip(id, ip, 30, 1)     get_user_name(id, name, 50)     get_user_info(id, amx_password_field_string, client_password, charsmax(client_password))         g_user_privileges[id] = 0     size = ArraySize(database_holder)     for(index=0; index < size ; index++) {         ArrayGetArray(database_holder, index, vips_database)         if(vips_database[flags] & FLAG_D) {             if(equal(ip, vips_database[auth])) {                 if(!(vips_database[flags] & FLAG_E)) {                     if(equal(client_password, vips_database[password]))                         g_user_privileges[id] = vips_database[accessflags]                     else if(vips_database[flags] & FLAG_A) {                         server_cmd("kick #%d ^"%L^"", get_user_userid(id), id, "INV_PAS")                         break                     }                 }                 else g_user_privileges[id] = vips_database[accessflags]                 get_flags(vips_database[accessflags], log_flags, 10)                 log_amx("%L",LANG_PLAYER, "AUTHORISED", name, authid, ip, log_flags)                 break             }         }         else if(vips_database[flags] & FLAG_C) {             if(equal(authid, vips_database[auth])) {                 if(!(vips_database[flags] & FLAG_E)) {                     if(equal(client_password, vips_database[password]))                         g_user_privileges[id] = vips_database[accessflags]                     else if(vips_database[flags] & FLAG_A) {                         server_cmd("kick #%d ^"%L^"", get_user_userid(id), id, "INV_PAS")                         break                     }                 }                 else g_user_privileges[id] = vips_database[accessflags]                 get_flags(vips_database[accessflags], log_flags, 10)                 log_amx("%L",LANG_PLAYER, "AUTHORISED", name, authid, ip, log_flags)                 break             }         }         else {             if(vips_database[flags] & FLAG_K) {                 if((vips_database[flags] & FLAG_B && contain(name, vips_database[auth]) != -1) || equal(name, vips_database[auth])) {                     if(!(vips_database[flags] & FLAG_E)) {                         if(equal(client_password, vips_database[password]))                             g_user_privileges[id] = vips_database[accessflags]                         else if(vips_database[flags] & FLAG_A) {                             server_cmd("kick #%d ^"%L^"", get_user_userid(id), id, "INV_PAS")                             break                         }                     }                     else g_user_privileges[id] = vips_database[accessflags]                     get_flags(vips_database[accessflags], log_flags, 10)                     log_amx("%L",LANG_PLAYER, "AUTHORISED", name, authid, ip, log_flags)                     break                 }             }             else {                 if((vips_database[flags] & FLAG_B && containi(name, vips_database[auth]) != -1) || equali(name, vips_database[auth])) {                     if(!(vips_database[flags] & FLAG_E)) {                         if(equal(client_password, vips_database[password]))                             g_user_privileges[id] = vips_database[accessflags]                         else if(vips_database[flags] & FLAG_A) {                             server_cmd("kick #%d ^"%L^"", get_user_userid(id), id, "INV_PAS")                             break                         }                     }                     else g_user_privileges[id] = vips_database[accessflags]                     get_flags(vips_database[accessflags], log_flags, 10)                     log_amx("%L",LANG_PLAYER, "AUTHORISED", name, authid, ip, log_flags)                     break                 }             }         }     } } #endif #if MODE & (1<<0) && MODE & (1<<1) stock generate_password(id) {         new password_holder[30]     formatex(password_holder, charsmax(password_holder), "%d%d%d%d%d", random(10), random(10), random(10), random(10), random(10))     client_cmd(id, "setinfo %s %s", amx_password_field_string, password_holder) } #endif #if MODE & (1<<0) public native_zv_get_user_flags(id)     return g_user_privileges[id] #endif #if MODE & (1<<1) public native_zv_register_extra_item(const item_name[], const item_discription[], item_cost, item_team) {         if(!items_database) items_database = ArrayCreate(items)                 param_convert(1)         param_convert(2)         copy(extra_items[i_name], 30, item_name)         copy(extra_items[i_description], 30, item_discription)         extra_items[i_cost] = item_cost         extra_items[i_team] = item_team         ArrayPushArray(items_database, extra_items)         g_registered_items_count++         return g_registered_items_count } public plugin_end() if(items_database) ArrayDestroy(items_database) #endif

Last edited by emoto2; 06-26-2016 at 20:19.
emoto2 is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 10:03.


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