广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 3361 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
z2352671213
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 社区建设奖
小人物
级别: 小人物 该用户目前不上站
推文 x10 鲜花 x47
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[1.6][插件] 关于BOT的问题,求大大解答~~  (~~~~~~~~~~)
我的ZP伺服器装了个人类升级插件。

复制程式
    ……
    RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
    ……
public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type)
{
    // 插件开关
    if (!g_pluginenabled) return HAM_IGNORED;
    
    if (victim == attacker || !is_user_connected(attacker))
        return HAM_IGNORED;
    // 如果是人类攻击
    if(!zp_get_user_zombie(attacker))
    {
        // 攻击倍数
        if(g_human_level[attacker][HLU_DAMAGE])
            damage *=float(g_human_level[attacker][HLU_DAMAGE])*1.2
        
        //如果满级则不增加经验
        if(g_human_level[attacker][HLU_LEVEL] < sizeof LEVELSCORE-1)
        {
            // 储存伤害值
            g_damagedealt[attacker] += floatround(damage)
            
            // 经验值增加
            while (g_damagedealt[attacker] > hlu_damage_reward)
            {
                if(get_user_flags(attacker) & ADMIN_RESERVATION)
                {
                    g_human_level[attacker][HLU_EXPERIENCE] += floatround(float(hlu_experience) * hlu_vip) // VIP获得经验倍数
                }else{
                    g_human_level[attacker][HLU_EXPERIENCE] += hlu_experience // 普通用户获得经验
                }
                g_damagedealt[attacker] -= hlu_damage_reward
            }
            
            for(new i = 0; i < sizeof LEVELSCORE; i++)
            {
                if(g_human_level[attacker][HLU_EXPERIENCE]<LEVELSCORE[i])
                {
                    if(i>0)
                    {
                        g_human_level[attacker][HLU_LEVEL]         = i;
                        g_human_level[attacker][HLU_EXPSCORE]    = g_human_level[attacker][HLU_EXPERIENCE] - LEVELSCORE[i-1]; // 当前经验值
                        g_human_level[attacker][HLU_EXPNEED]     = LEVELSCORE[i] - LEVELSCORE[i-1]; // 升级所需经验值
                    }else{
                        g_human_level[attacker][HLU_EXPNEED]     = 100;
                        g_human_level[attacker][HLU_EXPSCORE]    = g_human_level[attacker][HLU_EXPERIENCE];
                    }
                    g_human_level[attacker][HLU_EXPRATE] = floatround(float(g_human_level[attacker][HLU_EXPSCORE]) / float(LEVELSCORE[i] - LEVELSCORE[i-1]) * 100.0) // 升级百分比
                    break;
                }
            }
        }
        SetHamParamFloat(4, damage)
        check_leveling_up(attacker); // 检查是否升级了
        return HAM_IGNORED;
    }
    
    SetHamParamFloat(4,damage)
    return HAM_HANDLED
}

  ……

但是我装到伺服器里后,攻击BOT(不是PODBOT)发现经验根本不会增加。
只有攻击PODBOT或者真人,经验才会增加。

有大大知道这是为什么吗?为什么攻击CS1.6自带的BOT不增加经验?



献花 x0 回到顶端 [楼 主] From:未知地址 | Posted:2014-08-19 20:16 |
fouury 手机
个人头像
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x9 鲜花 x101
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

复制程式
new g_czbot

public client_putinserver(id)
{
       new classname[32]
       pev(id, pev_classname, classname, 31)
       

       if (!equal(classname, "player") && !g_czbot)
       {
              g_czbot = true
              set_task(0.5, "registerham_from_czbot", id)
       }
}

public registerham_from_czbot(id)
{
        RegisterHamFromEntity(Ham_TakeDamage, id, "fw_TakeDamage")
}


应该吧.


按这里检视影片,登入论坛可以直接观看
BLACK OPS 2 - MOB OF THE DEAD
决胜时刻 黑色行动2 僵尸78毛 就是这样了
献花 x0 回到顶端 [1 楼] From:台湾宽频通讯顾问股份有限公司 | Posted:2014-08-21 17:17 |
z2352671213
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 社区建设奖
小人物
级别: 小人物 该用户目前不上站
推文 x10 鲜花 x47
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用 fouury 于 2014-08-21 17:17 发表的 : 到引言文
复制程式
new g_czbot

public client_putinserver(id)
{
       new classname[32]
       pev(id, pev_classname, classname, 31)
       

       if (!equal(classname, "player") && !g_czbot)
       {
              g_czbot = true
              set_task(0.5, "registerham_from_czbot", id)
       }
}

public registerham_from_czbot(id)
{
        RegisterHamFromEntity(Ham_TakeDamage, id, "fw_TakeDamage")
}


应该吧.

谢谢大大!!


献花 x0 回到顶端 [2 楼] From:欧洲 | Posted:2014-08-21 23:16 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.013735 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言