[ZP][優化] 限制得到子彈包的數量

Home Home
引用 | 編輯 calove00
2010-07-19 19:38
樓主
推文 x0
先打開zombie_plague40.sma

找(2165Line)
複製程式
// Reward ammo packs for every [ammo damage] dealt


複製程式
            while (g_damagedealt[attacker] > get_pcvar_num(cvar_ammodamage))
            {
                g_ammopacks[attacker]++
                g_damagedealt[attacker] -= get_pcvar_num(cvar_ammodamage)
            }

修改成
複製程式
            while (g_damagedealt[attacker] > get_pcvar_num(cvar_ammodamage))
            {
                g_damagedealt[attacker] -= get_pcvar_num(cvar_ammodamage)
                if(g_ammopacks[attacker] < 160) // 現在子彈包上限為160
                    g_ammopacks[attacker]++
            }


以下是 將 管理員/VIP 和 普通玩家 的設定至限制不同

有兩個方法

第一、(這是適用於ADMIN_LEVEL_A - ADMIN_LEVEL_H)


複製程式
            while (g_damagedealt[attacker] > get_pcvar_num(cvar_ammodamage))
            {
                g_ammopacks[attacker]++
                g_damagedealt[attacker] -= get_pcvar_num(cvar_ammodamage)
            }

修改成
複製程式
            while (g_damagedealt[attacker] > get_pcvar_num(cvar_ammodamage))
            {
                g_damagedealt[attacker] -= get_pcvar_num(cvar_ammodamage)
                if(g_ammopacks[attacker] < 200 && is_user_admin(attacker)) // VIP或管理員統一限制 (限制200)
                    g_ammopacks[attacker]++
                else if(g_ammopacks[attacker] < 160) // 普通玩家 (限制160)
                    g_ammopacks[attacker]++
            }

第二、(這是將每個不同的等級配置, 不建議使用)


複製程式
            while (g_damagedealt[attacker] > get_pcvar_num(cvar_ammodamage))
            {
                g_ammopacks[attacker]++
                g_damagedealt[attacker] -= get_pcvar_num(cvar_ammodamage)
            }

修改成
複製程式
            while (g_damagedealt[attacker] > get_pcvar_num(cvar_ammodamage))
            {
                g_damagedealt[attacker] -= get_pcvar_num(cvar_ammodamage)
                if(g_ammopacks[attacker] < 200 && get_user_flags(attacker) & ADMIN_LEVEL_A) //限制擁有LEVEL_A(限制200)
                    g_ammopacks[attacker]++
                else if(g_ammopacks[attacker] < 160) // 普通玩家 (限制160)
                    g_ammopacks[attacker]++
            }




以下是再分開每個LEVEL設定

複製程式
                     while (g_damagedealt[attacker] > get_pcvar_num(cvar_ammodamage))
                     {
                            g_damagedealt[attacker] -= get_pcvar_num(cvar_ammodamage)
                            if(g_ammopacks[attacker] < 200 && get_user_flags(attacker) & ADMIN_LEVEL_A) // LEVEL_A (200)
                                   g_ammopacks[attacker]++
                            else if(g_ammopacks[attacker] < 190 && get_user_flags(attacker) & ADMIN_LEVEL_B) // LEVEL_B (190)
                                   g_ammopacks[attacker]++
                            else if(g_ammopacks[attacker] < 180 && get_user_flags(attacker) & ADMIN_LEVEL_C) // LEVEL_C (190)
                                   g_ammopacks[attacker]++
                            else if(g_ammopacks[attacker] < 160) // 普通玩家(160)
                                   g_ammopacks[attacker]++
                     }

教學已完....(我真的很無聊-.- , 因為想不起做什麼就打教學....)表情

獻花 x2
引用 | 編輯 森之千手
2010-07-19 22:17
1樓
  
if(g_ammopacks[attacker] < 200 && is_user_admin(id)) // VIP或管理員統一限制 (限制200)


改成
if(g_ammopacks[attacker] < 200 && is_user_admin(attacker)) // VIP或管理員統一限制 (限制200)


比較好些

獻花 x0
引用 | 編輯 calove00
2010-07-20 13:15
2樓
  
唔係改好D -.-


係我打錯左.... 表情

獻花 x1
引用 | 編輯 i-c0112
2010-08-02 19:43
3樓
  
這樣的話不是只在人類攻擊傷害累積達一定值時才有作用嗎
其他狀況都沒設定到

獻花 x0
引用 | 編輯 hemazizi
2010-08-17 16:18
4樓
  
那不限要怎樣 表情

獻花 x0
引用 | 編輯 dennis888
2010-11-20 10:22
5樓
  
子彈包應該是愈多愈好,加上限制不可超過160子彈包太刻薄-.-
如限制,限制400子彈包好些=.=

獻花 x0
引用 | 編輯 qma
2010-11-21 18:38
6樓
  
哈哈 這個不錯 用來開F 的

獻花 x0
引用 | 編輯 jasonwks
2010-11-22 15:26
7樓
  
回 覆 鎖 定 :

  此回覆已被鎖定,只有『管理員及回覆者』看的到 !!!



獻花 x0
引用 | 編輯 zdt
2011-01-30 21:55
8樓
  
其实为什么子弹包到达一定数值后会弹GAME呢?到了1000多就会了

獻花 x0