这个是以前版本龙人的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
|