铁血丹心

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

[通用] 今天闲得无聊,做了个复刻版的经脉系统(显示功能+事件+修改器+demo)(修正)

  [复制链接]
发表于 2010-2-4 02:41 | 显示全部楼层 |阅读模式
RT,是在原版复刻的基础上改的

没发现两个事件的变量居然不一致,第二次出错了,惭愧惭愧~

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

1,显示功能:
显示功能没啥好说的~就在原版的基础上加了一页的样子,感觉粗糙得可怕~懒得改了,召唤界面帝来改吧~~
  1. //显示状态

  2. procedure ShowStatus(rnum: integer);
  3. var
  4.   i, magicnum, mlevel, needexp, x, y: integer;
  5.   p: array[0..10] of integer;
  6.   addatk, adddef, addspeed: integer;
  7.   str: widestring;
  8.   strs: array[0..21] of widestring;
  9.   color1, color2: uint32;
  10.   name: widestring;
  11.   jingmai: array[0..15] of WideString;
  12.   num: SmallInt;
  13. begin
  14.   jingmai[0] := ' 手太阳';
  15.   jingmai[1] := ' 手少阳';
  16.   jingmai[2] := ' 手阳明';
  17.   jingmai[3] := ' 手太阴';
  18.   jingmai[4] := ' 手少阴';
  19.   jingmai[5] := ' 手厥阴';
  20.   jingmai[6] := ' 足太阳';
  21.   jingmai[7] := ' 足少阳';
  22.   jingmai[8] := ' 足阳明';
  23.   jingmai[9] := ' 足太阴';
  24.   jingmai[10] := ' 足少阴';
  25.   jingmai[11] := ' 足厥阴';
  26.   jingmai[12] := ' 任、督';
  27.   jingmai[13] := ' 冲、带';
  28.   jingmai[14] := ' 阳维、阳蹻';
  29.   jingmai[15] := ' 阴维、阴蹻';
  30.   strs[0] := ' 等級';
  31.   strs[1] := ' 生命';
  32.   strs[2] := ' 內力';
  33.   strs[3] := ' 體力';
  34.   strs[4] := ' 經驗';
  35.   strs[5] := ' 升級';
  36.   strs[6] := ' 攻擊';
  37.   strs[7] := ' 防禦';
  38.   strs[8] := ' 輕功';
  39.   strs[9] := ' 醫療能力';
  40.   strs[10] := ' 用毒能力';
  41.   strs[11] := ' 解毒能力';
  42.   strs[12] := ' 拳掌功夫';
  43.   strs[13] := ' 御劍能力';
  44.   strs[14] := ' 耍刀技巧';
  45.   strs[15] := ' 特殊兵器';
  46.   strs[16] := ' 暗器技巧';
  47.   strs[17] := ' 裝備物品';
  48.   strs[18] := ' 修煉物品';
  49.   strs[19] := ' 所會武功';
  50.   strs[20] := ' 受傷';
  51.   strs[21] := ' 中毒';
  52.   p[0] := 43;
  53.   p[1] := 45;
  54.   p[2] := 44;
  55.   p[3] := 46;
  56.   p[4] := 47;
  57.   p[5] := 48;
  58.   p[6] := 50;
  59.   p[7] := 51;
  60.   p[8] := 52;
  61.   p[9] := 53;
  62.   p[10] := 54;
  63.   Redraw;
  64.   x := 40;
  65.   y := CENTER_Y - 160;

  66.   DrawRectangle(x, y, 560, 315, 0, colcolor(255), 50);
  67.   //显示头像
  68.   drawheadpic(Rrole[rnum].HeadNum, x + 60, y + 80);
  69.   //显示姓名
  70.   name := big5tounicode(@Rrole[rnum].Name);
  71.   drawshadowtext(@name[1], x + 68 - length(pchar(@Rrole[rnum].Name)) * 5, y + 85, colcolor($66), colcolor($63));
  72.   //显示所需字符
  73.   for i := 0 to 5 do
  74.     drawshadowtext(@strs[i, 1], x - 10, y + 110 + 21 * i, colcolor($23), colcolor($21));
  75.   for i := 6 to 16 do
  76.     drawshadowtext(@strs[i, 1], x + 160, y + 5 + 21 * (i - 6), colcolor($66), colcolor($63));
  77.   drawshadowtext(@strs[19, 1], x + 360, y + 5, colcolor($23), colcolor($21));

  78.   addatk := 0;
  79.   adddef := 0;
  80.   addspeed := 0;
  81.   if rrole[rnum].Equip[0] >= 0 then
  82.   begin
  83.     addatk := addatk + ritem[rrole[rnum].Equip[0]].AddAttack;
  84.     adddef := adddef + ritem[rrole[rnum].Equip[0]].AddDefence;
  85.     addspeed := addspeed + ritem[rrole[rnum].Equip[0]].AddSpeed;
  86.   end;

  87.   if rrole[rnum].Equip[1] >= 0 then
  88.   begin
  89.     addatk := addatk + ritem[rrole[rnum].Equip[1]].AddAttack;
  90.     adddef := adddef + ritem[rrole[rnum].Equip[1]].AddDefence;
  91.     addspeed := addspeed + ritem[rrole[rnum].Equip[1]].AddSpeed;
  92.   end;

  93.   //攻击, 防御, 轻功
  94.   //单独处理是因为显示顺序和存储顺序不同
  95.   str := format('%4d', [Rrole[rnum].Attack + addatk]);
  96.   drawengshadowtext(@str[1], x + 300, y + 5 + 21 * 0, colcolor($7), colcolor($5));
  97.   str := format('%4d', [Rrole[rnum].Defence + adddef]);
  98.   drawengshadowtext(@str[1], x + 300, y + 5 + 21 * 1, colcolor($7), colcolor($5));
  99.   str := format('%4d', [Rrole[rnum].Speed + addspeed]);
  100.   drawengshadowtext(@str[1], x + 300, y + 5 + 21 * 2, colcolor($7), colcolor($5));

  101.   //其他属性
  102.   str := format('%4d', [Rrole[rnum].Medcine]);
  103.   drawengshadowtext(@str[1], x + 300, y + 5 + 21 * 3, colcolor($7), colcolor($5));

  104.   str := format('%4d', [Rrole[rnum].UsePoi]);
  105.   drawengshadowtext(@str[1], x + 300, y + 5 + 21 * 4, colcolor($7), colcolor($5));

  106.   str := format('%4d', [Rrole[rnum].MedPoi]);
  107.   drawengshadowtext(@str[1], x + 300, y + 5 + 21 * 5, colcolor($7), colcolor($5));

  108.   str := format('%4d', [Rrole[rnum].Fist]);
  109.   drawengshadowtext(@str[1], x + 300, y + 5 + 21 * 6, colcolor($7), colcolor($5));

  110.   str := format('%4d', [Rrole[rnum].Sword]);
  111.   drawengshadowtext(@str[1], x + 300, y + 5 + 21 * 7, colcolor($7), colcolor($5));

  112.   str := format('%4d', [Rrole[rnum].Knife]);
  113.   drawengshadowtext(@str[1], x + 300, y + 5 + 21 * 8, colcolor($7), colcolor($5));

  114.   str := format('%4d', [Rrole[rnum].Unusual]);
  115.   drawengshadowtext(@str[1], x + 300, y + 5 + 21 * 9, colcolor($7), colcolor($5));

  116.   str := format('%4d', [Rrole[rnum].HidWeapon]);
  117.   drawengshadowtext(@str[1], x + 300, y + 5 + 21 * 10, colcolor($7), colcolor($5));

  118.   //武功
  119.   for i := 0 to 9 do
  120.   begin
  121.     magicnum := Rrole[rnum].magic[i];
  122.     if magicnum > 0 then
  123.     begin
  124.       drawbig5shadowtext(@Rmagic[magicnum].Name, x + 360, y + 26 + 21 * i, colcolor($7), colcolor($5));
  125.       str := format('%3d', [Rrole[rnum].MagLevel[i] div 100 + 1]);
  126.       drawengshadowtext(@str[1], x + 520, y + 26 + 21 * i, colcolor($66), colcolor($64));
  127.     end;
  128.   end;
  129.   str := format('%4d', [Rrole[rnum].Level]);
  130.   drawengshadowtext(@str[1], x + 110, y + 110, colcolor($7), colcolor($5));
  131.   //生命值, 在受伤和中毒值不同时使用不同颜色
  132.   case RRole[rnum].Hurt of
  133.     34..66:
  134.       begin
  135.         color1 := colcolor($E);
  136.         color2 := colcolor($10);
  137.       end;
  138.     67..1000:
  139.       begin
  140.         color1 := colcolor($14);
  141.         color2 := colcolor($16);
  142.       end;
  143.   else
  144.     begin
  145.       color1 := colcolor($7);
  146.       color2 := colcolor($5);
  147.     end;
  148.   end;
  149.   str := format('%4d', [RRole[rnum].CurrentHP]);
  150.   drawengshadowtext(@str[1], x + 60, y + 131, color1, color2);

  151.   str := '/';
  152.   drawengshadowtext(@str[1], x + 100, y + 131, colcolor($66), colcolor($63));

  153.   case RRole[rnum].Poision of
  154.     34..66:
  155.       begin
  156.         color1 := colcolor($30);
  157.         color2 := colcolor($32);
  158.       end;
  159.     67..1000:
  160.       begin
  161.         color1 := colcolor($35);
  162.         color2 := colcolor($37);
  163.       end;
  164.   else
  165.     begin
  166.       color1 := colcolor($23);
  167.       color2 := colcolor($21);
  168.     end;
  169.   end;
  170.   str := format('%4d', [RRole[rnum].MaxHP]);
  171.   drawengshadowtext(@str[1], x + 110, y + 131, color1, color2);
  172.   //内力, 依据内力性质使用颜色
  173.   if rrole[rnum].MPType = 0 then
  174.   begin
  175.     color1 := colcolor($50);
  176.     color2 := colcolor($4E);
  177.   end
  178.   else if rrole[rnum].MPType = 1 then
  179.   begin
  180.     color1 := colcolor($7);
  181.     color2 := colcolor($5);
  182.   end
  183.   else
  184.   begin
  185.     color1 := colcolor($66);
  186.     color2 := colcolor($63);
  187.   end;
  188.   str := format('%4d/%4d', [RRole[rnum].CurrentMP, RRole[rnum].MaxMP]);
  189.   drawengshadowtext(@str[1], x + 60, y + 152, color1, color2);
  190.   //体力
  191.   str := format('%4d/%4d', [rrole[rnum].PhyPower, MAX_PHYSICAL_POWER]);
  192.   drawengshadowtext(@str[1], x + 60, y + 173, colcolor($7), colcolor($5));
  193.   //经验
  194.   str := format('%5d', [uint16(Rrole[rnum].Exp)]);
  195.   drawengshadowtext(@str[1], x + 100, y + 194, colcolor($7), colcolor($5));
  196.   str := format('%5d', [uint16(Leveluplist[Rrole[rnum].Level - 1])]);
  197.   drawengshadowtext(@str[1], x + 100, y + 215, colcolor($7), colcolor($5));

  198.   //str:=format('%5d', [Rrole[rnum,21]]);
  199.   //drawengshadowtext(@str[1],150,295,colcolor($7),colcolor($5));

  200.   //drawshadowtext(@strs[20, 1], 30, 341, colcolor($23), colcolor($21));
  201.   //drawshadowtext(@strs[21, 1], 30, 362, colcolor($23), colcolor($21));

  202.   //drawrectanglewithoutframe(100,351,Rrole[rnum,19],10,colcolor($16),50);
  203.   //中毒, 受伤
  204.   //str := format('%4d', [RRole[rnum].Hurt]);
  205.   //drawengshadowtext(@str[1], 150, 341, colcolor($14), colcolor($16));
  206.   //str := format('%4d', [RRole[rnum].Poision]);
  207.   //drawengshadowtext(@str[1], 150, 362, colcolor($35), colcolor($37));

  208.   //装备, 秘笈
  209.   drawshadowtext(@strs[17, 1], x + 160, y + 240, colcolor($23), colcolor($21));
  210.   drawshadowtext(@strs[18, 1], x + 360, y + 240, colcolor($23), colcolor($21));
  211.   if Rrole[rnum].Equip[0] >= 0 then
  212.     drawbig5shadowtext(@Ritem[Rrole[rnum].Equip[0]].Name, x + 170, y + 261, colcolor($7), colcolor($5));
  213.   if Rrole[rnum].Equip[1] >= 0 then
  214.     drawbig5shadowtext(@Ritem[Rrole[rnum].Equip[1]].Name, x + 170, y + 282, colcolor($7), colcolor($5));

  215.   //计算秘笈需要经验
  216.   if Rrole[rnum].PracticeBook >= 0 then
  217.   begin
  218.     mlevel := 1;
  219.     magicnum := Ritem[Rrole[rnum].PracticeBook].Magic;
  220.     if magicnum > 0 then
  221.       for i := 0 to 9 do
  222.         if Rrole[rnum].Magic[i] = magicnum then
  223.         begin
  224.           mlevel := Rrole[rnum].MagLevel[i] div 100 + 1;
  225.           break;
  226.         end;
  227.     needexp := mlevel * Ritem[Rrole[rnum].PracticeBook].NeedExp * (7 - Rrole[rnum].Aptitude div 15);
  228.     drawbig5shadowtext(@Ritem[Rrole[rnum].PracticeBook].Name, x + 370, y + 261, colcolor($7), colcolor($5));
  229.     str := format('%5d/%5d', [uint16(Rrole[rnum].ExpForBook), needexp]);
  230.     if mlevel = 10 then
  231.       str := format('%5d/=', [uint16(Rrole[rnum].ExpForBook)]);
  232.     drawengshadowtext(@str[1], x + 400, y + 282, colcolor($66), colcolor($63));
  233.   end;
  234.   //显示第一页
  235.   SDL_UpdateRect(screen, x, y, 561, 316);
  236.   WaitAnyKey;
  237.   Redraw;
  238.   DrawRectangle(x, y, 560, 315, 0, colcolor(255), 50);
  239.   //显示头像
  240.   drawheadpic(Rrole[rnum].HeadNum, x + 60, y + 80);
  241.   //显示姓名
  242.   name := big5tounicode(@Rrole[rnum].Name);
  243.   drawshadowtext(@name[1], x + 68 - length(pchar(@Rrole[rnum].Name)) * 5, y + 85, colcolor($66), colcolor($63));

  244.   for i := 0 to 15 do
  245.   begin
  246.     drawshadowtext(@jingmai[i, 1], x + 160 + 180*(i div 8), y + 20 + 21 * (i-((i div 8)*8)), colcolor($66), colcolor($63));
  247.     num := (Rrole[rnum].Data[59]) shr i;       //示例以声望为经脉值,偏移118
  248.     num := num mod 2;

  249.     if Boolean(num) then
  250.       str := '开啓'
  251.     else
  252.       str := '關閉';

  253.     drawshadowtext(@str[1], x + 300 + 180*(i div 8), y + 20 + 21 * (i-((i div 8)*8)), colcolor($7), colcolor($5));
  254.   end;


  255.   //显示第二页
  256.   SDL_UpdateRect(screen, x, y, 561, 316);
  257. end;
复制代码

[ 本帖最后由 winson7891 于 2010-2-7 12:13 编辑 ]

本帖子中包含更多资源

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

x
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2010-2-4 02:48 | 显示全部楼层
2,事件~~
其实改个经脉跟改其他数值有区别吗?没有~所以50指令完全足够,没啥必要再写事件,不过判断经脉的过程似乎挺麻烦
这里是个判断事件~请放到50指令里面,事件号是随便写的~BS我吧
加了冲穴事件了~~可选冲穴或闭穴~
  1.     101:       //判断冲穴,e2人物经脉,e3需求经脉
  2.       begin
  3.         e2 := e_getvalue(0, e1, e2);
  4.         e3 := e_getvalue(1, e1, e3);
  5.         e4 := e_getvalue(2, e1, e4);
  6.         if (e2 or e3) = e2 then           //达到需求
  7.           x50[$7000] := 0
  8.         else
  9.           x50[$7000] := 1;
  10.         //然后用指令36跳转吧
  11.       end;
  12.     102:      //冲、关穴事件,赋值
  13.       //e2冲关穴, e3赋值位置, e4人物经脉值, e5需求经脉值
  14.       begin
  15.         e3 := e_getvalue(0, e1, e4);
  16.         e4 := e_getvalue(1, e1, e5);
  17.         if e2 = 0 then
  18.           x50[e3] := e4 or e5
  19.         else
  20.           x50[e3] := e4 and e5 xor e4;
  21.         //之后用R赋值的事件解决~
  22.       end;
复制代码
就那么几句话~判断经脉冲不冲一个or搞定了,很简单的,但50指令似乎没有说~(有的话当我火星好了~我50不熟~)




3,修改器~~

其实这也没啥~就多个编辑界面呗~用法里面有说明,有兴趣的自己看~


4,demo加源码(已更新)

源码其实也没改啥,提供吧~~不知道有没有却文件
同时里面打包好了执行文件,覆盖一下可以玩了~上面那个101事件也可以用了~

发完收工~
睡觉去~

[ 本帖最后由 winson7891 于 2010-2-7 12:12 编辑 ]

本帖子中包含更多资源

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

x

评分

参与人数 1声望 +14 收起 理由
黄顺坤 + 14 甚好

查看全部评分

【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-2-4 04:33 | 显示全部楼层
不懂。
不过经脉打通之后,还能再关闭不成?
winson大无聊为啥不放一下mod的进度
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-2-4 08:54 | 显示全部楼层
原帖由 行俨 于 2010/2/4 04:33 发表
不懂。
不过经脉打通之后,还能再关闭不成?
winson大无聊为啥不放一下mod的进度

可以被打伤或中毒关闭,再通过医生或武功疗伤、解毒。

[发帖际遇]: 潜龙勿用偷听到尹志平酒后吐露真言,威胁要将他的丑事公开,得到封口费银两15。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-2-4 09:09 | 显示全部楼层
winson大能不能说说怎么判断是否到达修炼秘籍条件?
还有练成后怎么增加冲穴程度啊?

[发帖际遇]: 轩辕夏禹无意中获得赵敏的木制倚天剑,卖给摆地摊的,获利银两2。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-2-4 09:25 | 显示全部楼层
觉得挺好的
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-2-4 09:50 | 显示全部楼层
winson大没有加冲穴的功能!
其他都很好!
不过做出来真的有人会用吗
应用面还要想!

[发帖际遇]: 游客在丐帮大会揭露何师我的真正面目,得郭靖称赞,增加声望2。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-2-4 10:04 | 显示全部楼层
干嘛把界面的代码一起帖上来?
还是有点不懂, 这个和前面那个一样也是要先冲这个在冲那个的?
ps:界面帝就是你自己, 竟然还召唤别人

[发帖际遇]: killer_zingy跟韦小宝赌钱,识破千术,韦小宝乖乖奉上银两23两。


[ 本帖最后由 killer_zingy 于 2010-2-4 10:09 编辑 ]
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2010-2-4 10:13 | 显示全部楼层
原帖由 游客 于 2010-2-4 09:50 发表
winson大没有加冲穴的功能!
其他都很好!
不过做出来真的有人会用吗
应用面还要想!

[发帖际遇]: 游客在丐帮大会揭露何师我的真正面目,得郭靖称赞,增加声望2。


加了冲穴事件了~~配合其他50指令用就好~

我哪知道有没有人用~~不过是昨天想起这个系统不错,做做看罢了,我自己都不打算用~
要不怎么会用原版改呢~~

killer_zingy 发表于 2010-2-4 10:04
干嘛把界面的代码一起帖上来?
还是有点不懂, 这个和前面那个一样也是要先冲这个在冲那个的?
ps:界面帝就是你自己, 竟然还召唤别人

[发帖际遇]: killer_zingy跟韦小宝赌钱,识破千术,韦小宝乖乖奉上银两23两。


我界面代码其实就改了后面的,但这是整个的嘛~分开了怕有人又要问,故整个发上来~
至于啥先充哪个再冲哪个,自己看清楚这段代码就明白了~

[发帖际遇]: winson7891帮张无忌翻译小昭写的情书,得到辛苦费银两11。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-2-4 12:35 | 显示全部楼层
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-2-4 13:52 | 显示全部楼层
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-2-4 15:44 | 显示全部楼层
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-2-4 21:15 | 显示全部楼层
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
头像被屏蔽
发表于 2010-2-4 23:02 | 显示全部楼层
楼主修的不错,段誉爱用这些经脉
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-2-5 09:45 | 显示全部楼层
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2010-2-5 15:34 | 显示全部楼层
汗水,那个冲穴事件发现bug~对不起了各位

那个闭穴操作中,直接用xor是明显不妥的,如果要关闭的穴位人物本来就是关闭的,这样这个穴位将会被冲开~
所以应该改成
x50[e3] := e4 and e5 xor e5;
这样先取得需要,而且可以被关闭的穴位,再关闭

已经在二楼更新
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-2-5 15:51 | 显示全部楼层
这功能好像有点复杂
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
头像被屏蔽
发表于 2010-2-5 19:21 | 显示全部楼层
好!!!!!!!!!做得不错!!!!!!!!!
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-2-6 20:22 | 显示全部楼层
之前改個動作就改了半天
真是高手如雲 好佩服...

[发帖际遇]: 雪浪抓了很多毒物给阿紫练功,获奖赏银两11两。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-2-7 10:12 | 显示全部楼层
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-2-7 10:30 | 显示全部楼层
筋脉全冲开了貌似声望变为-1.。。不能参加武林大会了。。

[发帖际遇]: tasmhust抓了很多毒物给阿紫练功,获奖赏银两24两。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-2-7 10:36 | 显示全部楼层

回复 21# 的帖子

【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2010-2-7 11:53 | 显示全部楼层
原帖由 游客 于 2010-2-7 10:12 发表
判断冲穴的达到需求貌似为AND...

[发帖际遇]: 游客吃烧饼的时候,发现烧饼里藏着一枚“玄铁令”,转手卖掉后,赚到银两2。


应该是or没错
例如人的经脉为A,需求为B
所以例如有:
A: 1000 1000 1000 1000
B: 0001 0001 0001 0001
A or B: 1001 1001 1001 1001
我的判断是写,if A or B = A then 成功嘛~
这里是人物达不到经脉需求了
然后,
如果,B: 1000 0000 1000 0000
此时
A or B: 1000 1000 1000 1000
结果 A or B = A, 成功~~
——————————————————————————————————————————————————
如果用and的话也可以,但是比较的根据成了经脉需求
也就是A and B = B

完毕~~有错请指正

———————————————————————————————————————————————————
对不起,事件本身是没有错的,但101和102号两个事件的变量意义不一致,容易导致错乱,我还是去改改吧~~

汗阿~~丢三落四的~

另外demo就不更新了~反正要改的部分都贴出来了~

[ 本帖最后由 winson7891 于 2010-2-7 12:10 编辑 ]
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-2-8 11:47 | 显示全部楼层
赞一下winson大,经脉的确很创意,游戏中增加易经洗髓功能挺吸引的,比如增加打通某些经脉后能对某些属性有加成,或者打通后相应能增加资质,某些武功必须打通某些经脉或者起码打通多少条经脉才能学,这样更能增添游戏乐趣,呵呵

[发帖际遇]: 封狼居胥在海边沙滩上捡到一支圣火令,当废铜卖了,获得银两7。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2010-2-8 16:44 | 显示全部楼层

回复 24# 的帖子

这个系统不是我想出来的,创意来自游客大大,请看这贴:

http://www.txdx.net/thread-435896-1-1.html

我作个系统只是举手之劳,关键是有游客大大这么好的想法,而且想法很具体~~

[发帖际遇]: winson7891私入铁掌峰禁地,盗取各种珠宝,共贩卖得银两23两。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

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

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

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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