铁血丹心

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

请问复刻版怎么做出整理物品的效果呢

[复制链接]
发表于 2012-1-9 10:15 | 显示全部楼层 |阅读模式

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

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

x
我是《天书劫》作者,因为游戏里物品太多,不能整理确实很花眼。

哪位大大教教我如何实现整理物品栏呢~
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-1-9 10:49 | 显示全部楼层
本帖最后由 蓝烟清 于 2012-1-9 10:53 编辑

我自己写的一个冒泡排序,200个物品全部凌乱的状态下需要几秒的时间,排过一次之后,后面就会比较快我是根据武功类型和武功威力进行排序,如果不是武功秘籍则按物品的ID编号升序排,你可以试试效果
  1. --物品整理
  2. function Menu_WPZL()
  3.   
  4.   local function swap(a, b)
  5.           JY.Base["物品" .. a], JY.Base["物品" .. b] = JY.Base["物品" .. b], JY.Base["物品" .. a]
  6.     JY.Base["物品数量" .. a], JY.Base["物品数量" .. b] = JY.Base["物品数量" .. b], JY.Base["物品数量" .. a]
  7.   end
  8.   
  9.   local flag = 0;
  10.   for i=1, 200 do
  11.           flag = 0;
  12.                 for j=1, 200-i+1 do
  13.                         if JY.Base["物品"..j] > -1 and JY.Base["物品" .. j+1] > -1 then                --如果两个物品有效
  14.                        
  15.                                 local wg1 = JY.Thing[JY.Base["物品"..j]]["练出武功"];
  16.                                 local wg2 = JY.Thing[JY.Base["物品"..j+1]]["练出武功"];
  17.                                                         
  18.                                 if wg2 < 0 then                --不可练出武功的根据编号排序
  19.                                          if wg1 > 0 or  (wg1 < 0 and JY.Base["物品"..j] > JY.Base["物品"..j+1])  then               
  20.                                                 swap(j, j+1);
  21.                   flag = 1;
  22.                  
  23.                                         end
  24.                                        
  25.                                 elseif wg1 > 0 then                        --可练出武功的根据类型排序,如果类型相同,再根据武功10级威力排序                        
  26.                                          if JY.Wugong[wg1]["武功类型"] > JY.Wugong[wg2]["武功类型"] or (JY.Wugong[wg1]["武功类型"] == JY.Wugong[wg2]["武功类型"]  and JY.Wugong[wg1]["攻击力10"] > JY.Wugong[wg2]["攻击力10"]) then
  27.                                                  swap(j, j+1);
  28.                         flag = 1;
  29.                                          end
  30.                                 end
  31.                                
  32.                         end
  33.                 end
  34.                
  35.                 if flag == 0 then                        --如果一轮下来没有任何的交换,肯定就是已经排好序了,直接退出
  36.                         break;
  37.                 end
  38.   end
  39.   Cls()
  40.   DrawStrBoxWaitKey(CC.s33, C_WHITE, 30)
  41. end
复制代码

点评

因为新增的物品都是一直往后面加编号。 如果只按编号来排序,那么秘籍无法归类  发表于 2012-1-9 23:27
太复杂了吧,为什么要根据练出武功排序?苍龙内部物品排序很混乱吗?为什么不直接物品编号排序?  发表于 2012-1-9 20:16
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2012-1-9 10:52 | 显示全部楼层
回复 蓝烟清 的帖子

把这段代码加到源码里去吗?怎么在游戏里实现?

技术盲,多谢您指导

点评

也可以在菜单里加一个子项,指定为Menu_WPZL,再把蓝蓝的这段代码放到源码里就可以了  发表于 2012-1-9 11:49
加到源码,这是一个函数,你可以自己定义菜单按钮来执行就可以  发表于 2012-1-9 10:55
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2012-1-9 11:08 | 显示全部楼层
回复 蓝烟清 的帖子

我自己尝试了一下,无奈还是做不出来。

游戏源码实在是软肋,大侠要是有时间能不能帮我写到附件的源码里呢?

本帖子中包含更多资源

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

x

点评

所谓在菜单里加一个子项啊,什么的,根本不会呀  发表于 2012-1-9 14:32
你对照着那个意思自己来改也可以的么  发表于 2012-1-9 14:10
老复刻版了,呜呜  发表于 2012-1-9 12:35
你是pascal 晕 让winson来搞定吧  发表于 2012-1-9 11:51
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-1-9 18:49 | 显示全部楼层
源码里应该有写好的排列物品函数,自己学学吧,学会了可以做很多新功能~
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-1-9 19:55 | 显示全部楼层
本帖最后由 winson7891 于 2012-1-9 20:29 编辑

Pascal呢,是要编译的,不是想Lua版那样,改了保存马上生效的,但LZ有编译工具不?如果有,那请覆盖文件自行编译,如果无,我可以帮你编译,你直接用就好
如果要别人能编译你的代码,请把所有带.dpr和.pas的文件打包发上来,谢谢合作

文件在此:


效果:我在物品选单那里加了个按钮,就是在什么全部物品,武器,药品暗器等下面加了个“整理物品”,按一下马上有效果

谢谢

本帖子中包含更多资源

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

x
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-1-10 12:36 | 显示全部楼层
LZ下次救助前最好将自己使用的游戏版本说清楚,如果连如何在菜单中增加一个“整理物品”的按钮都不会做,那么也要说明,坛子里一般只给内部函数的
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-1-18 09:54 | 显示全部楼层
请问复刻的哪里下啊?
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

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

GMT+8, 2024-12-22 13:23

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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