点通粉丝 发表于 2011-3-9 23:12:53

CS1.5僵尸感染版技术难题求助-KK进来解决一下

代码过长...只好打包发上来
这个版要配合选枪模式使用的.相关插件可到论坛上找来加截====================

先说一下需要解决的问题先吧..就是变成僵尸后..应该所有武器掉出来不能使用的吗
但这个版本他变成僵尸后.只掉出武器..手雷.闪光.烟雾他还能使用..我晕死了..请高手们帮忙解决一下这个BUG啊...............

点通粉丝 发表于 2011-3-9 23:17:13

        g_meta_base_hp = register_cvar("zombie_meta_base_hp","8000") //母体僵尸基础HP。默认为2000
        g_meta_extr_hp = register_cvar("zombie_meta_extr_hp","500")//每多1名玩家,母体僵尸增加的额外HP。默认为400
        g_daug_base_hp = register_cvar("zombie_daug_base_hp","2000")//子体僵尸基础HP。默认为1500
        g_add_hp = register_cvar("zombie_add_hp","50")//僵尸每感染一个人类,增加的HP。默认为800
        g_max_zombie_life = register_cvar("zombie_max_life","10")//子体僵尸最大的重生次数。默认为1 1# 点通粉丝
子僵尸他一复活.就有10个手雷..一复活.就10个手雷
人类不是死臭了么..这本来是人类的东西..现在变成僵尸也能用...我晕死了

点通粉丝 发表于 2011-3-9 23:20:22

GiveUserFullWeapon(id, wp[])
{
        /** 首先检查,以确保用户没有在这个时段武器 */
        new wpnid = getWepId(wp);
        new weapons, num
        new name, weap
        new slot = g_WeaponSlots
        if (slot == SLOT_SECONDARY || slot == SLOT_PRIMARY)
        {
                get_user_weapons(id, weapons, num)
                for (new i=0; i<num; i++)
                {
                        weap = weapons
                        if (weap == wpnid)
                                continue
                        if (g_WeaponSlots == slot)
                        {
                                get_weaponname(weap, name, 23)
                                csdm_force_drop(id, name)
                                remove_weapon(id,weap)
                        }
                }
        }
       
        csdm_give_item(id, wp);

} 2# 点通粉丝

看了整个代码..我想应该是在这里加点什么上去来..限制僵尸不能用手雷的吧
也找过点通N多人了..此终解决不了这个问题..................

rsdtt 发表于 2011-3-12 00:35:35

原版僵尸不就有个
stock fm_strip_user_weapons(id)
{
        static ent
        ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "player_weaponstrip"))
        if (!pev_valid(ent)) return;
       
        dllfunc(DLLFunc_Spawn, ent)
        dllfunc(DLLFunc_Use, ent, id)
        engfunc(EngFunc_RemoveEntity, ent)
}

点通粉丝 发表于 2011-3-12 07:30:13

rsdtt .版主我的原代码.也不看一下.这么快就回帖了.CS1.5僵尸感染代码....和cs1.6的是不同的

rsdtt 发表于 2011-3-12 13:54:12

抱歉,我对1.5的插件没研究,或者可以尝试判断当前武器,如果是手雷,就切换到刀

L*Y*Y* 发表于 2011-3-12 21:56:46

我觉得错误不在此代码,建议删除你的武器代码,因为有bug,用我给你发的gun,amxx,同时AOP_O3_O4_O5.amxx   关掉,有冲突
//变为僵尸后的所有武器、刀都掉出来
public drop_all(id)
{
new weapons, num, i
new name
get_user_weapons(id, weapons, num)
for (i=0; i<num; i++)
{
if (!(weapons == CSW_KNIFE))
{
get_weaponname(weapons, name, 23)
csdm_force_drop(id, name)
                        csdm_force_drop(id,"CSW_HEGRENADE")
                        csdm_force_drop(id,"CSW_SMOKEGRENADE")
                        csdm_force_drop(id,"CSW_FLASHBANG")
                        remove_weapon(id, weapons)

}
}
}
我修改了此处
csdm_force_drop(id,"CSW_HEGRENADE")
                        csdm_force_drop(id,"CSW_SMOKEGRENADE")
                        csdm_force_drop(id,"CSW_FLASHBANG")
,不知道对不对,还请教!!

点通粉丝 发表于 2011-3-12 23:11:59

云哥.你的那个选枪插件.不可以用在僵尸服上啊...用在死亡服还可以
原因.............子僵尸复活.还可以选枪用啊.........所以我没有用

rsdtt 发表于 2011-3-13 04:54:32

8# 点通粉丝


加个判断是否僵尸然后再弹出选枪不就可以了吗

点通粉丝 发表于 2011-3-13 07:22:20

                     csdm_force_drop(id,"CSW_HEGRENADE")
                        csdm_force_drop(id,"CSW_SMOKEGRENADE")
                        csdm_force_drop(id,"CSW_FLASHBANG")
9# rsdtt
没用啊.............我晕了
页: [1] 2
查看完整版本: CS1.5僵尸感染版技术难题求助-KK进来解决一下