廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 3377 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為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.082619 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言