铁血丹心

 找回密码
 我要成为铁血侠客
搜索
查看: 1373|回复: 1

问高人一下7.3 diy的问题

[复制链接]
发表于 2013-7-31 23:54 | 显示全部楼层 |阅读模式

马上注册,结交更多侠友!

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
   这个是以前版本龙人的diy补丁, 请问高人怎么可以在7.3里使用呢?



    从这开始:

   --[[
效果:

1.主角自带斗转特效附带加10点怒气,否则将会发动罡气护体顺便回些体力。(因为我觉得内力不够用,所以斗转不消耗内力)

2.主角有30%几率发动罡气加力,增加伤害(我这里设定的是3倍,不想搞太复杂,需要的朋友可以联系上内力消耗什么的)。当主角儿怒气满值,则罡气100%加力。

3.罡气加力除了增加伤害外,还能类似水镜一般小屏攻击,免队友伤害。这个范围可以自己根据需要修改,我现在默认的范围就已经很大了。
]]
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------主角自带斗转星移与罡气护体,其他人修炼龙象般若功后有30%几率发动罡气护体------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
function War_DIY_WugongHurtLife(enemyid, wugong, hurt, ang, dng)
local pid,eid = WAR.Person[WAR.CurID]["人物编号"],WAR.Person[enemyid]["人物编号"];
local a,f=10,false
        if eid == 0 then
                WAR.FXDS[0] = nil
                        if  math.random(10)> 3 and WAR.tmp[7034]==nil then
                            JY.Person[eid]["中毒程度"] = 0
                                JY.Person[eid]["受伤程度"] = 0
                                WAR.tmp[7030]=wugong
                                WAR.tmp[7031]=eid
                                WAR.tmp[7034]=WAR.CurID
                                WAR.Person[enemyid]["特效动画"]=72
                                    if      WAR.Person[enemyid]["特效文字3"]== nil then
                                                        WAR.Person[enemyid]["特效文字3"]="斗转星移"
                                    else    WAR.Person[enemyid]["特效文字3"]="斗转星移".."+"..WAR.Person[enemyid]["特效文字3"]
                                        end
                                                if      WAR.LQZ[eid]==nil then
                                                                WAR.LQZ[eid]=10
                                                elseif  WAR.LQZ[eid]<100 then
                                                                WAR.LQZ[eid]=WAR.LQZ[eid]+10
                                                        if WAR.LQZ[eid]>100 then
                                                                        WAR.LQZ[eid]=100
                                                        end
                                                end
                                                        if  WAR.LQZ[eid]==100 and WAR.tmp[7035]==nil then
                                                                        WAR.tmp[7035]=1
                                                                if WAR.Person[enemyid]["特效文字3"]== nil then
                                                                        WAR.Person[enemyid]["特效文字3"]="怒气爆发"
                                                                else WAR.Person[enemyid]["特效文字3"]="怒气爆发".."+"..WAR.Person[enemyid]["特效文字3"]
                                                                end
                                                        end
                                dng = dng + 2000
                                hurt = math.modf(hurt/2)
                        else    JY.Person[eid]["中毒程度"] = 0
                                        JY.Person[eid]["受伤程度"] = 0
                                        if      WAR.Person[enemyid]["特效文字2"]== nil then
                                                        WAR.Person[enemyid]["特效文字2"]="罡气护体"
                                        else    WAR.Person[enemyid]["特效文字2"]="罡气护体".."+"..WAR.Person[enemyid]["特效文字2"]
                                        end
                                WAR.Person[enemyid]["特效动画"]=91
                                dng = dng + 5000
                                hurt = math.modf(hurt/5)
                                        if  JY.Person[eid]["体力"] < 100 then
                                                JY.Person[eid]["体力"] = JY.Person[eid]["体力"]+a
                                                        if      WAR.Person[enemyid]["特效文字1"]== nil then
                                                                        WAR.Person[enemyid]["特效文字1"]="回复"..a.."点体力"
                                                        else    WAR.Person[enemyid]["特效文字1"]=WAR.Person[enemyid]["特效文字1"].."+".."回复"..a.."点体力"
                                                        end
                                                        if JY.Person[eid]["体力"] > 100 then
                                                        JY.Person[eid]["体力"] =100
                                                        end
                                        end
                        end
        elseif math.random(10)> 7 then
                        for j=1,10 do
                                if  JY.Person[eid]["武功"..j]==103 then
                                        JY.Person[eid]["中毒程度"] = 0
                                        JY.Person[eid]["受伤程度"] = 0
                                        WAR.FXDS[eid] = nil                                        --罡气免封穴
                                        if      WAR.Person[enemyid]["特效文字2"]== nil then
                                                        WAR.Person[enemyid]["特效文字2"]="罡气护体"
                                        else    WAR.Person[enemyid]["特效文字2"]="罡气护体".."+"..WAR.Person[enemyid]["特效文字2"]
                                        end
                                                        WAR.Person[enemyid]["特效动画"]=math.fmod(JY.Person[eid]["武功"..j],10)+88
                                                                if  JY.Person[eid]["体力"] < 100 then
                                                                        JY.Person[eid]["体力"] = JY.Person[eid]["体力"]+a
                                                                                if      WAR.Person[enemyid]["特效文字1"]== nil then
                                                                                                WAR.Person[enemyid]["特效文字1"]="回复"..a.."点体力"
                                                                                else    WAR.Person[enemyid]["特效文字1"]=WAR.Person[enemyid]["特效文字1"].."+".."回复"..a.."点体力"
                                                                                end
                                                                                        if  JY.Person[eid]["体力"] > 100 then
                                                                                                JY.Person[eid]["体力"] =100
                                                                                        end
                                                                end
                                                        dng = dng + 5000
                                                        hurt = math.modf(hurt/5)
                                end
                        end
        else for j=1,10 do
                        if  JY.Person[eid]["武功"..j]==103 then
                                JY.Person[eid]["中毒程度"] = 0
                                JY.Person[eid]["受伤程度"] = 0
                                        if      WAR.Person[enemyid]["特效文字2"]== nil then
                                                        WAR.Person[enemyid]["特效文字2"]="密宗·"..JY.Wugong[JY.Person[eid]["武功"..j]]["名称"].."护体"
                                        else   WAR.Person[enemyid]["特效文字2"]="密宗·"..JY.Wugong[JY.Person[eid]["武功"..j]]["名称"].."护体".."+"..WAR.Person[enemyid]["特效文字2"]
                                        end
                                                        WAR.Person[enemyid]["特效动画"]=math.fmod(JY.Person[eid]["武功"..j],10)+85
                                dng = dng + 2000
                                hurt = math.modf(hurt/2)
                        end
             end
        end
        if  WAR.tmp[7032] ~= nil  then
                hurt = math.modf(hurt*WAR.tmp[7032])
                ang= math.modf(ang*10)
        end
return hurt,ang,dng
end

function War_isEnd()
    local myNum=0;
    local EmenyNum=0;
        local a=0
        for i=0,WAR.PersonNum-1 do
                local pid=WAR.Person[i]["人物编号"];
        if JY.Person[pid]["生命"]<=0 then
            WAR.Person[i]["死亡"]=true;
                        if inteam(pid) then
                                JY.Person[pid]["无用"]=0;
                        end
        end
    end
    WarSetPerson();
    Cls();
    ShowScreen();
    for i=0,WAR.PersonNum-1 do
        if WAR.Person[i]["死亡"]==false then
            if WAR.Person[i]["我方"]==true then
                myNum=1;
            else
                EmenyNum=1;
            end
        end
    end
    if EmenyNum==0 then
        return 1;
    end
    if myNum==0 then
        return 2;
    end
                WAR.tmp[7032]=nil
                WAR.tmp[7035]=nil
                if WAR.tmp[7034]~=nil then
                        if  WAR.Person[WAR.tmp[7034]]["我方"]==false then
                                local k=-1
                                                for j=0,WAR.PersonNum-1 do
                                                        if WAR.Person[j]["人物编号"] == WAR.tmp[7031] then
                                                                k=j
                                                        end
                                                end
                                local  k1=WAR.CurID
                                local  k2=JY.Person[WAR.tmp[7031]]["武功"..1]
                                local  k3=JY.Wugong[WAR.tmp[7030]]["消耗内力点数"]
                                if  JY.Person[WAR.tmp[7031]]["左右互搏"]==1 then
                                        JY.Person[WAR.tmp[7031]]["左右互搏"]=0
                                        a=1
                                end
                                                WAR.CurID=k
                                    JY.Person[WAR.tmp[7031]]["武功"..1] = WAR.tmp[7030]
                                            JY.Wugong[JY.Person[WAR.tmp[7031]]["武功" .. 1]]["消耗内力点数"]=0
                                local r2=War_Fight_Sub(WAR.CurID,1);
                                                WAR.CurID=k1
                                                JY.Person[WAR.tmp[7031]]["武功"..1] =k2
                                                JY.Wugong[WAR.tmp[7030]]["消耗内力点数"]=k3
                                                if a==1 then
                                                        JY.Person[0]["左右互搏"]=1
                                                        a=0
                                                end
                                                WAR.tmp[7030]=nil
                                                WAR.tmp[7031]=nil
                                                WAR.tmp[7034]=nil
        for i=0,WAR.PersonNum-1 do
                local pid=WAR.Person[i]["人物编号"];
        if JY.Person[pid]["生命"]<=0 then
            WAR.Person[i]["死亡"]=true;
                        if inteam(pid) then
                                JY.Person[pid]["无用"]=0;
                        end
        end
    end
    WarSetPerson();
    Cls();
    ShowScreen();
    for i=0,WAR.PersonNum-1 do
        if WAR.Person[i]["死亡"]==false then
            if WAR.Person[i]["我方"]==true then
                myNum=1;
            else
                EmenyNum=1;
            end
        end
    end
    if EmenyNum==0 then
        return 1;
    end
    if myNum==0 then
        return 2;
    end
                        end
                end
        for i=0,WAR.PersonNum-1 do
                local pid=WAR.Person[i]["人物编号"];
        if JY.Person[pid]["生命"]<=0 then
            WAR.Person[i]["死亡"]=true;
                        if inteam(pid) then
                                JY.Person[pid]["无用"]=0;
                        end
        end
    end
    WarSetPerson();
    Cls();
    ShowScreen();
    for i=0,WAR.PersonNum-1 do
        if WAR.Person[i]["死亡"]==false then
            if WAR.Person[i]["我方"]==true then
                myNum=1;
            else
                EmenyNum=1;
            end
        end
    end
    if EmenyNum==0 then
        return 1;
    end
    if myNum==0 then
        return 2;
    end
    return 0;
end

function War_DIY_Fight(id, wugong, level, ng)
        local pid = WAR.Person[id]["人物编号"];
        if pid == 0 then
                if math.random(10)> 7 or WAR.LQZ[0]==100 then
                local Tname={"先天罡气","天罡战气","五气朝元","三分归元气","无量迭起","无量气海","大海无量"}
                                        WAR.Person[id]["特效文字3"]=Tname[math.random(7)]
                                        WAR.Person[id]["特效动画"]=91
                                        WAR.tmp[7032] = 2
                                        WAR.WS = 1                                      --免队友伤害
                        for i=0,(level+1)/100 do
                                for j=0,(level+1)/100 do
                                        SetWarMap(WAR.Person[WAR.CurID]["坐标X"]+i,WAR.Person[WAR.CurID]["坐标Y"]+j,4,1)
                                        SetWarMap(WAR.Person[WAR.CurID]["坐标X"]-i,WAR.Person[WAR.CurID]["坐标Y"]+j,4,1)
                                        SetWarMap(WAR.Person[WAR.CurID]["坐标X"]+i,WAR.Person[WAR.CurID]["坐标Y"]-j,4,1)
                                        SetWarMap(WAR.Person[WAR.CurID]["坐标X"]-i,WAR.Person[WAR.CurID]["坐标Y"]-j,4,1)
                                end
                        end
                end
        end
        return ng;
end




【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2013-8-3 21:24 | 显示全部楼层
没有人帮我弄这个吗
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

小黑屋|手机版|铁血丹心

GMT+8, 2024-11-22 15:36

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表