铁血丹心

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

[通用] 代码发布——给队友用药(已完善)

[复制链接]
发表于 2009-3-23 06:18 | 显示全部楼层 |阅读模式
昨晚凌晨匆忙完成的东西,难免有错,如取消物品会跳出等

不过现在已经完善了,需要的可以直接复制,呵呵~

嗯,附件也更新了

——————
——————

小弟玩金庸mod很久了,今天第一次看代码,用的是复刻lua0.5版的mod
(其实先用dos,不过最后发现vista不好搞,郁闷了)

这是完全在JYModify.lua中实现的,除了我标题所说的功能外,其他都没有改
不知道是否火星,给点意见,哈
其实我不懂lua编程,也没有看教程,不过我有C的基础,感觉上lua是很易懂的东西……

好了,言归正传,就是把药品使用的function改改罢了……
代码如下
function SetModify()
     UseThing_Type3=UseThing_Type3_new;                --自改,改变战斗物品系统
end

--药品物品
function UseThing_Type3_new(id)        --药品物品使用
    local usepersonid=-1;
    if JY.Status==GAME_MMAP or JY.Status==GAME_SMAP then
        Cls(80,10,CC.ScreenW,CC.ScreenH);
        DrawStrBox(80,10,string.format("谁要使用%s?",JY.Thing[id]["名称"]),C_WHITE,24);
        local r=SelectTeamMenu(80,45);
        if r>0 then
            usepersonid=JY.Base["队伍" ..r]
        end
    elseif JY.Status==GAME_WMAP then           ---战斗场景使用药品
        local pid=WAR.Person[WAR.CurID]["人物编号"];
        local step=2;
        War_CalMoveStep(WAR.CurID,step,1);
        local x1,y1=War_SelectMove();
        if x1 ~=nil then
                local offset=(y1*CC.WarWidth+x1)*2;
                Byte.set16(WAR.Map4,offset,1);
                local emeny=Byte.get16(WAR.Map2,offset);
                if emeny<0 then                --没人
                        Cls(80,10,CC.ScreenW,CC.ScreenH);
                            ShowScreen();
                        return 0;
                elseif emeny>=0 then          --有人
                        if WAR.Person[WAR.CurID]["我方"] == WAR.Person[emeny]["我方"] then      
                                usepersonid=WAR.Person[emeny]["人物编号"];
                        end
                end
        else
                Cls(80,10,CC.ScreenW,CC.ScreenH);
                    ShowScreen();
                return 0;
        end
    end
    if usepersonid>=0 then
        if UseThingEffect(id,usepersonid)==1 then       --使用有效果
            instruct_32(id,-1);            --物品数量减少
            WaitKey();
        else
                Cls(80,10,CC.ScreenW,CC.ScreenH);
                    ShowScreen();
            return 0;
        end
    end

    Cls(80,10,CC.ScreenW,CC.ScreenH);
    ShowScreen();
        return 1;
end


这样改后,使用药品后不是直接给自己用上,而是会出现移动范围(我设定的是2格)
然后把移动范围移到队友脚下,就可以帮队友用药了~

具体代码在附件中,欢迎指正


[发帖际遇]: winson7891去辽东拜祭胡一刀,碰到胡斐,传授刀法,增加声望6。


[ 本帖最后由 winson7891 于 2009-3-23 13:52 编辑 ]

本帖子中包含更多资源

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

x

评分

参与人数 1声望 +15 收起 理由
黄顺坤 + 15 管理需要

查看全部评分

【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-3-23 07:48 | 显示全部楼层
很好啊,又一个大力研究fishedit_lua的人哈~~
支持支持~

[ 本帖最后由 黄顺坤 于 2009-3-23 07:54 编辑 ]
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-3-23 09:38 | 显示全部楼层
谢谢LZ.偶正这机会也能学习学习了
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-3-23 12:09 | 显示全部楼层
哈哈~~~支持~~~~
终于又有人发布Lua版的东东了。。。。keke
最近有点忙了,不能做仔细研究~~~
等过了这段时期再跟LZ讨教讨教~~~hihi

[发帖际遇]: kuap0002去长白山捉火蟾,送给韦一笑,得感谢费银两27.
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2009-3-23 13:53 | 显示全部楼层
呵呵,有什么好的概念拿出来讨论讨论啊~

[发帖际遇]: winson7891成功阻止胡斐与苗人凤决斗,遭田归农追杀,损失银两10.
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-3-29 09:13 | 显示全部楼层
谢谢LZ了,呵呵
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

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

GMT+8, 2024-11-16 08:34

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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