广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 2808 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
龙心
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x0 鲜花 x2
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[插件] 100 % 最完美改刀距离

图 1.



【插件资讯】

插件来源:网路资源转载提供会员参考
使用指令:自行修改编译及参考 http://bbs.mychat.tw/re...id=907323
安装路径:自行修改编译及参考 http://bbs.mychat.tw/re...id=907323

【插件介绍】

复制程式






new PLUGIN_VERSION[4] =
{
    49, 46, 48, 0
}
new g_attacking[33];
new g_maxplayers;
new cvar_kf1;
new cvar_kf2;






xs_vec_add(Float:in1[], Float:in2[], Float:out[])
{
    out[0] = in1[0] + in2[0];
    out[1] = in1[1] + in2[1];
    out[2] = in1[2] + in2[2];
    return 0;
}




xs_vec_mul_scalar(Float:vec[], Float:scalar, Float:out[])
{
    out[0] = vec[0] * scalar;
    out[1] = vec[1] * scalar;
    out[2] = vec[2] * scalar;
    return 0;
}




public plugin_precache()
{
    register_plugin("Custom Knife Distance", "1.0", "Fai & Shardow");
    return 0;
}




public plugin_init()
{
    register_event("HLTV", "event_round_start", "a", "1=0", "2=0");
    RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_knife", "fw_PrimaryAttack", 0);
    RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_knife", "fw_SecondaryAttack", 0);
    RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_knife", "fw_PrimaryAttack_Post", 1);
    RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_knife", "fw_SecondaryAttack_Post", 1);
    register_forward(FM_TraceLine, "fw_TraceLine", 0);
    register_forward(FM_TraceHull, "fw_TraceHull", 0);
    cvar_kf1 = register_cvar("knife_distance1", "32.0", 0, 0.00);
    cvar_kf2 = register_cvar("knife_distance2", "48.0", 0, 0.00);
    g_maxplayers = get_maxplayers();
    return 0;
}




public event_round_start()
{
    colored_print(0, "\4[FxG]\3 FxG 伺服 IP: fxg1.nets.hk:27017 | fxg1.nets.hk:27016", get_pcvar_float(cvar_kf1), get_pcvar_float(cvar_kf2));
    colored_print(0, "\4[FxG]\3 本伺服正在运行 \"Custom Knife Distance\" 版本: %d 作者: Fai & Shardow", PLUGIN_VERSION);
    colored_print(0, "\4[FxG]\3 小刀轻砍有效距离: %1.f 小刀重砍有效距离: %1.f", get_pcvar_float(cvar_kf1), get_pcvar_float(cvar_kf2));
    set_hudmessage(255, 0, 0, 0.60, 0.80, 1, 0.00, 5.00, 1.00, 1.00, -1);
    show_hudmessage(0, "\4[FxG]\3 本伺服正在运行 \"Custom Knife Distance\"\n版本: %d 作者: 泥鳅大哥 & 史来姆");
    return 0;
}




public fw_PrimaryAttack(weapon_ent)
{
 
    if (!pev_valid(weapon_ent))
    {
        return 0;
    }
    if (g_maxplayers >= var2 & 1 <= var2 && is_user_connected(owner))
    {
        return 0;
    }
    g_attacking[owner] = 1;
    return 0;
}




public fw_SecondaryAttack(weapon_ent)
{
 
    if (!pev_valid(weapon_ent))
    {
        return 0;
    }
    if (g_maxplayers >= var2 & 1 <= var2 && is_user_connected(owner))
    {
        return 0;
    }
    g_attacking[owner] = 2;
    return 0;
}




public fw_PrimaryAttack_Post(weapon_ent)
{
 
    if (!pev_valid(weapon_ent))
    {
        return 0;
    }
    if (g_maxplayers >= var2 & 1 <= var2 && is_user_connected(owner))
    {
        return 0;
    }
    g_attacking[owner] = 0;
    return 0;
}




public fw_SecondaryAttack_Post(weapon_ent)
{
 
    if (!pev_valid(weapon_ent))
    {
        return 0;
    }
    if (g_maxplayers >= var2 & 1 <= var2 && is_user_connected(owner))
    {
        return 0;
    }
    g_attacking[owner] = 0;
    return 0;
}




public fw_TraceLine(Float:vector_start[3], Float:vector_end[3], ignored_monster, id, handle)
{
 
    if (g_maxplayers >= var2 & 1 <= var2 && is_user_connected(id))
    {
        return 1;
    }
    if (!is_user_alive(id))
    {
        return 1;
    }
    if (get_user_weapon(id, 0, 0) != 29)
    {
        return 1;
    }
    if (!g_attacking[id][0][0])
    {
        return 1;
    }
    pev(id, pev_v_angle, vector_end);
    angle_vector(vector_end, 1, vector_end);
    if (g_attacking[id][0][0] == 1)
    {
        xs_vec_mul_scalar(vector_end, get_pcvar_float(cvar_kf1), vector_end);
    }
    else
    {
        xs_vec_mul_scalar(vector_end, get_pcvar_float(cvar_kf2), vector_end);
    }
    xs_vec_add(vector_start, vector_end, vector_end);
    engfunc(EngFunc_TraceLine, vector_start, vector_end, ignored_monster, id, handle);
    return 4;
}




public fw_TraceHull(Float:vector_start[3], Float:vector_end[3], ignored_monster, hull, id, handle)
{
 
    if (g_maxplayers >= var2 & 1 <= var2 && is_user_connected(id))
    {
        return 1;
    }
    if (!is_user_alive(id))
    {
        return 1;
    }
    if (get_user_weapon(id, 0, 0) != 29)
    {
        return 1;
    }
    if (!g_attacking[id][0][0])
    {
        return 1;
    }
    pev(id, pev_v_angle, vector_end);
    angle_vector(vector_end, 1, vector_end);
    if (g_attacking[id][0][0] == 1)
    {
        xs_vec_mul_scalar(vector_end, get_pcvar_float(cvar_kf1), vector_end);
    }
    else
    {
        xs_vec_mul_scalar(vector_end, get_pcvar_float(cvar_kf2), vector_end);
    }
    xs_vec_add(vector_start, vector_end, vector_end);
    engfunc(EngFunc_TraceHull, vector_start, vector_end, ignored_monster, hull, id, handle);
    return 4;
}




colored_print(target, String:message[])
{
    static g_msgSayText;
    static argscount;
    static i;
    static buffer[512];
    argscount = numargs();
    g_msgSayText = get_user_msgid("SayText");
    if (!target)
    {
        static player;
        player = 1;
        while (player <= g_maxplayers)
        {
            if (is_user_connected(player))
            {
                static changedcount;
                static changed[5];
                changedcount = 0;
                i = 2;
                while (i < argscount)
                {
                    if (getarg(i, 0) == -1)
                    {
                        setarg(i, 0, player);
                        changed[changedcount] = i;
                        changedcount += 1;
                        i += 1;
                    }
                    i += 1;
                }
                vformat(buffer, 511, message, 3);
                message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, 4692, player);
                write_byte(player);
                write_string("");
                message_end();
                i = 0;
                while (i < changedcount)
                {
                    setarg(changed[i][0][0], 0, -1);
                    i += 1;
                }
            }
            player += 1;
        }
    }
    else
    {
        vformat(buffer, 511, message, 3);
        message_begin(MSG_ONE, g_msgSayText, 4692, target);
        write_byte(target);
        write_string("");
        message_end();
    }
    return 0;
}



[ 此文章被龙心在2017-11-03 21:44重新编辑 ]



献花 x0 回到顶端 [楼 主] From:香港特别行政区 | Posted:2017-09-08 16:31 |
ewqas9387 手机
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x2
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

作者网站仔点已死


献花 x0 回到顶端 [1 楼] From:欧洲 | Posted:2024-09-15 15:02 |

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