北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 16703|回复: 9

想研究下MUD源码

[复制链接]
发表于 2011-4-28 11:26:12 | 显示全部楼层 |阅读模式
请问下各位老大们,刚开始该如何学习呢

前两天试着改了一个skill
是yh2003里的lunhui-jian的hui 共6个连招 想将各连招之间修改成有延迟效果。。。
问了下说要用到call_out函数
改了N久都没改成功 提示载入失败- -
发现稍微复杂的方法根本看不懂- -

请问下是要先学习lpc呢?还是学其他的呢?
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2011-4-28 11:34:31 | 显示全部楼层
本版有教程。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2011-4-28 11:35:26 | 显示全部楼层
谢谢啦
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2011-4-28 12:51:52 | 显示全部楼层
先把自己下的mud好好玩一遍,各种pfm都吃透之后,
找一个带延迟效果的pfm,照抄就行了

话说我就只知道照抄
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2011-4-28 13:26:10 | 显示全部楼层
好像网上有初级教程和中级教程,这个版里面都有,找找
还有一个是函数大全
LPC Base Tutorial
LPC Intermediates
都有对应的翻译版本。
吃透这三个基本上就差不多了,其他语言之类和c语言也有相通的地方
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2011-4-28 13:49:19 | 显示全部楼层
非常感谢各位老大们的解答
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2011-4-28 21:38:33 | 显示全部楼层
有延迟的物理pfm,大致这样的结构

  1. int perform(object me, object target)
  2. {
  3. …………
  4. …………
  5. buff_a=……;
  6. buff_b=……;

  7. player->add_temp("apply/attack",buff_a);
  8. player->add_temp("apply/damage",buff_b);

  9. msg="……";

  10. COMBAT_D->do_attack(player,target,weapon,TYPE_REGULAR,msg);

  11. player->add_temp("apply/attack",-buff_a);
  12. player->add_temp("apply/damage",-buff_b);

  13. call_out("perform2",1,player,target);
  14. }

  15. int perform2(object player,object target)
  16. {
  17. …………
  18. …………
  19. buff_a=……;
  20. buff_b=……;

  21. player->add_temp("apply/attack",buff_a);
  22. player->add_temp("apply/damage",buff_b);

  23. msg="……";

  24. COMBAT_D->do_attack(player,target,weapon,TYPE_REGULAR,msg);

  25. player->add_temp("apply/attack",-buff_a);
  26. player->add_temp("apply/damage",-buff_b);

  27. call_out("perform3",1,player,target);
  28. }

  29. int perform3(object player,object target)
  30. {
  31. …………
  32. …………
复制代码
以此类推
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2011-5-1 19:21:38 | 显示全部楼层
lpc里面没有类似sleep(4)这样子的语句确实非常遗憾,以至于要控制时间就得用call_out或者heart_beat
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2011-5-1 22:36:45 | 显示全部楼层
原帖由 seagate 于 2011-5-1 07:21 PM 发表
lpc里面没有类似sleep(4)这样子的语句确实非常遗憾,以至于要控制时间就得用call_out或者heart_beat


单线程的,不可能允许sleep。如果能引入协程会方便很多。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2011-8-8 13:58:05 | 显示全部楼层
原帖由 jason 于 2011-5-1 10:36 PM 发表


单线程的,不可能允许sleep。如果能引入协程会方便很多。


不会方便的,只会出现各种bug,宕机。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-4-20 08:44 PM , Processed in 0.010985 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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