铁血丹心

 找回密码
 我要成为铁血侠客
搜索
12
返回列表 发新帖
楼主: deepinshit

【龙人DIY分享交流】自制玄冥极意 不一样的毒人战斗【毒拳也有春天】

  [复制链接]
发表于 2011-12-22 13:05 | 显示全部楼层


function War_DIY_Fight(id, wugong, level, ng)
        local pid = WAR.Person[id]["人物编号"];
        local Ppoison = JY.Person[pid]["中毒程度"];               
        local Phurt = JY.Person[pid]["受伤程度"];
        local jipo =  GetS(5,1,6,5)-2;
       
        if jipo>500 then jipo = 500
        end
       
                WAR.tmp[1987]=Ppoison;
                WAR.tmp[1988]=Phurt;
                WAR.tmp[1989]=0; --杀死敌人数
               
        if wugong ==106 and level==999 and pid==9  
        then
                if  WAR.LQZ[0]==100 or Ppoison>=math.floor(50+(jipo/10)) then
                        WAR.WS=1;       
                        WAR.tmp[1986]=106;       
                        JY.Person[pid]["中毒程度"]=0;
                        --JY.Person[pid]["受伤程度"]=0;
                        ng=(ng + 750)*(1+Ppoison/100);
                        for i=0,5 do
                                for j=0,5 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       
                       
                        if WAR.Person[id]["特效文字1"]== nil
                        then WAR.Person[id]["特效文字1"]="九阳极意——炎阳天翔"
                        else WAR.Person[id]["特效文字1"]="九阳极意——炎阳天翔 + "..WAR.Person[id]["特效文字1"]
                        end       
                else
               
                JY.Person[pid]["中毒程度"]=JY.Person[pid]["中毒程度"]+math.floor((jipo+500)/40);       
                WAR.tmp[1986]=9;
                end
               
        end
        return ng;
end

function War_DIY_WugongHurtLife(enemyid, wugong, hurt, ang, dng)
                local pid = WAR.Person[WAR.CurID]["人物编号"];
        local eid = WAR.Person[enemyid]["人物编号"];
                local Ppoison = WAR.tmp[1987];               
                local Phurt = WAR.tmp[1988];
               
                if eid==0 and WAR.tmp[1985]==true and math.random(10)<=3+math.floor(JY.Person[eid]["中毒程度"]/25) then
                dng=dng+500+20*JY.Person[eid]["中毒程度"];
                if WAR.LQZ[eid]==nil
                then
                WAR.LQZ[eid]=10;
                else
                WAR.LQZ[eid]=WAR.LQZ[eid]+10;
                        if WAR.LQZ[eid]>100 then WAR.LQZ[eid]=100
                        end
                end
                if WAR.Person[enemyid]["特效文字2"]== nil
                        then WAR.Person[enemyid]["特效文字2"]="九阳极意——极阳归元"
                        else WAR.Person[enemyid]["特效文字2"]="九阳极意——极阳归元 + "..WAR.Person[enemyid]["特效文字2"]
                        end       
                WAR.Person[enemyid]["特效动画"]=7;
                --WAR.tmp[1990]=enemyid;      --反击的实现
                --WAR.tmp[1991]=WAR.CurID;
                end
               
        if pid==9 and wugong==106 and WAR.tmp[1986]==106 then
               
                --WAR.WS=1;
                JY.Person[eid]["中毒程度"]=JY.Person[eid]["中毒程度"]+Ppoison;
                --JY.Person[eid]["受伤程度"]=JY.Person[eid]["受伤程度"]+Phurt;
               
                hurt = math.floor(hurt*(1+Ppoison/150)) + JY.Person[eid]["中毒程度"]*2;
                if hurt >=JY.Person[eid]["生命"] then
               
                WAR.tmp[1989]=WAR.tmp[1989]+1;
                JY.Person[9]["中毒程度"]=JY.Person[0]["中毒程度"]+20;
                for i=0,WAR.PersonNum-1 do
                if WAR.Person[i]["死亡"]~=true and WAR.Person[i]["我方"]~=true then
                if WAR.Person[i]["Time"]>=-400 then WAR.Person[i]["Time"]=WAR.Person[i]["Time"]-100;
                else WAR.Person[i]["Time"]=-500;
                end
               
                JY.Person[WAR.Person[i]["人物编号"]]["中毒程度"]=JY.Person[WAR.Person[i]["人物编号"]]["中毒程度"]+20;
                end
                end
        end
        end
                return hurt, ang, dng;
end

function drawname(x,y,name,size)
  x=x-math.modf(size/2)
  local namelen=string.len(name)/2
  local zi={}
  
  for i=1,namelen do
    zi[i]=string.sub(name,i*2-1,i*2)
    DrawString(x,y,zi[i],C_WHITE,size)
    y=y+size
  end       
  
  local f = true
  local zhangwuji=9;
  local Ppoison = JY.Person[9]["中毒程度"];               
  local Phurt = JY.Person[9]["受伤程度"];
  local jipo =  GetS(5,1,6,5)-2;
  local EnemyCount=0;

  if jipo>500 then jipo = 500
        end  
  

  --找主角id,排除杀集气,为时序效果准备
for i=0,WAR.PersonNum-1 do
        if JY.Person[WAR.Person[i]["人物编号"]]["生命"]>0 and WAR.Person[i]["我方"]~=true
        then  EnemyCount=EnemyCount+1;
        end
  if WAR.Person[i]["人物编号"]==9 then
  zhangwuji=i;
  end
  if WAR.Person[i]["TimeAdd"] <= 0 and WAR.Person[i]["人物编号"]~=446 and WAR.Person[i]["人物编号"]~= 445 and WAR.Person[i]["死亡"]~=true
  then  
    f = false
  end
end

--[[九阳极意持续触发判定 暂不使用
  if  WAR.LQZ[0]==100 or (Ppoison+Phurt)>=math.floor(50+(jipo/10)) then
                        WAR.tmp[1986]=106;
  elseif WAR.Person[zhangwuji]["Time"]<1000 then WAR.tmp[1986]=0;
  end]]

--九阳判断
  local xuanming=false
        for k=1,10 do
                                if JY.Person[9]["武功"..k]==106  then
                                if JY.Person[9]["武功等级" .. k]==999
                                then jiuyang=true
                                end
                                break;
                                end
        end
               
        WAR.tmp[1985]=jiuyang;

       
        --毒疗回内
        if jiuyang==true and f==true and name==JY.Person[9]["姓名"] then
        --毒疗回血太淫霸 JY.Person[9]["生命"]=JY.Person[9]["生命"]+math.floor(JY.Person[9]["中毒程度"]/10);
        if JY.Person[9]["内力"]<JY.Person[9]["内力最大值"]
        then JY.Person[9]["内力"]=JY.Person[9]["内力"]+math.floor(JY.Person[9]["中毒程度"]/10);
        elseif JY.Person[9]["内力"]>JY.Person[9]["内力最大值"]
        then JY.Person[9]["内力"]=JY.Person[9]["内力最大值"];
        end
        --中毒加速 越毒越猛
        if WAR.Person[zhangwuji]["Time"]<1000 and JY.Person[9]["中毒程度"]>0 then
        WAR.Person[zhangwuji]["Time"]=WAR.Person[zhangwuji]["Time"]+math.floor(JY.Person[9]["中毒程度"]/10);
        elseif WAR.Person[zhangwuji]["Time"]>1010 then
        WAR.Person[zhangwuji]["Time"]=1010;
        end
        end
       
       
               
--特性 毒尸引爆 敌人全灭后不触发
if jiyang==true and WAR.tmp[1989]~=nil and WAR.tmp[1989]>0 and EnemyCount>0 then
        local yinbao="极意——天炎焚身"..tostring(WAR.tmp[1989]).."人";
       
        DrawStrBoxWaitKey(yinbao,C_GOLD,CC.Fontbig);
                        
        if WAR.Person[zhangwuji]["Time"]<1000 then
        WAR.Person[zhangwuji]["Time"]=WAR.Person[zhangwuji]["Time"]+WAR.tmp[1989]*100;
        WAR.tmp[1989]=0;
        if WAR.Person[zhangwuji]["Time"]>1010 then WAR.Person[zhangwuji]["Time"]=1010;
        end
        end
        end

end
想把你的玄冥极意改成张无忌的九阳极意,可是以战斗就跳出,是怎么回事啊?

点评

九阳判断写错了。。。你定义的变量还叫xuanming...其他看不出来,你可以看看debug.txt看看是哪一行出的问题  发表于 2011-12-22 13:09
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-12-22 13:26 | 显示全部楼层
试试是什么效果~支持了~
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-12-26 19:49 | 显示全部楼层
楼主,毒尸一出卡1分多,集气条闪动,正常吗?怎么 解决
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

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

GMT+8, 2024-11-23 12:46

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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