Project1

标题: 用易语言RMXP增加网络功能 [打印本页]

作者: woolenhy    时间: 2009-7-30 22:33
标题: 用易语言RMXP增加网络功能
本帖最后由 woolenhy 于 2009-7-30 22:55 编辑

来源:EDGame http://www.yx166.com/

作者也发了一个,被我抢先几秒先转过来了,:L ,转载已通过作者授权。。。

RpgMake XP 使用脚本是Ruby ,我们可以用易语言开发dll插件 供RMXP调用,实现一些该软件本身不具有的功能

这个例程使用“黑月”开发 给RMXP增加了一个UDP的网络通信功能
插件: ESend.dll       7K
演示服务端:EServer.exe    22K



调用方法:
使用RM脚本编辑器 查看Main脚本 改成这样
  1. #==============================================================================

  2. # ■ Main

  3. #------------------------------------------------------------------------------

  4. #  各定义结束后、从这里开始实际处理。

  5. #==============================================================================



  6. begin

  7. # 准备过渡

  8. # 设置系统默认字体

  9. Font.default_name = (["黑体"])





  10. def Win32API.Send(ip,port,text)

  11. s = Win32API.new('E:\\dll\\ESend.dll', 'send',%w(p i p ), 'v')

  12. s.call(ip,port,text)

  13. end



  14. Win32API.Send("127.0.0.1",2503,"新玩家进入游戏")





  15. Graphics.freeze

  16. # 生成场景对像 (标题画面)

  17. $scene = Scene_Title.new

  18. # $scene 为有效的情况下调用 main 过程

  19. while $scene != nil

  20. $scene.main

  21. end

  22. # 淡入淡出

  23. Graphics.transition(20)

  24. rescue Errno::ENOENT

  25. # 补充 Errno::ENOENT 以外错误

  26. # 无法打开文件的情况下、显示信息后结束

  27. filename = $!.message.sub("No such file or directory - ", "")

  28. print("找不到文件 #{filename}。 ")

  29. end
复制代码
接口说明:
Win32API.Send(服务端IP,服务端端口,发送的数据内容)


以后你就可以在其他脚本中通过这句代码 来发送网络数据报了
例如: 打开 Game_Character 3 脚本
当主角移动的时候,我们发送数据报通知服务端
  1. #--------------------------------------------------------------------------

  2. # ● 向下移动

  3. # turn_enabled : 本场地位置更改许可标志

  4. #--------------------------------------------------------------------------

  5. def move_down(turn_enabled = true)

  6. # p'下走'

  7. Win32API.Send("127.0.0.1",2503,"角色向下移动-->来自RMXP中的信息")

  8. # 面向下

  9. if turn_enabled

  10. turn_down

  11. end

  12. # 可以通行的场合

  13. if passable?(@x, @y, 2)

  14. # 面向下

  15. turn_down

  16. # 更新坐标

  17. @y += 1

  18. # 增加步数

  19. increase_steps

  20. # 不能通行的情况下

  21. else

  22. # 接触事件的启动判定

  23. check_event_trigger_touch(@x, @y+1)

  24. end

  25. end
复制代码
RMXP网络插件源码.rar (63.38 KB, 下载次数: 417)
作者: 凌辰    时间: 2009-7-30 22:41
请问你的转载获得授权了么?
作者: woolenhy    时间: 2009-7-30 22:56
怕了你的头像。。。。
作者: 凌辰    时间: 2009-7-30 22:59
怕了你的头像。。。。
woolenhy 发表于 2009-7-30 22:56

请不要言其它,你的转载得到作者的授权了么?
作者: link006007    时间: 2009-7-31 00:17
话说。。。这个和以前发布的 调用Win API教学说的有什么区别?
作者: DeathKing    时间: 2009-7-31 09:11
怕了你的头像。。。。
woolenhy 发表于 2009-7-30 22:56


现在才发现,某辰的头像是削笔刀???

还有,我说RM没有实现网络的必要。不然的话,那些网游就用RM开发了。
作者: 流川枫    时间: 2009-8-1 14:57
66RPG论坛越来越牛了,广告竟然做到编辑框里来了……

LZ说的,RUBY本身就可以自己实现,根本不需要插件,多此一举嘛
作者: 涂鸦boy    时间: 2009-8-23 19:52
很好很强大,还是开源的
正好玩了半年易语言,对RUBY无爱
不过还是期待柳之一的新版6R网络脚本,毕竟这个没有组队和交易
作者: 亿万星辰    时间: 2009-8-25 14:06
其实最早的那个网络脚本,也就是数据包乱飞……
作者: 小叽    时间: 2009-8-25 17:29
这个东西有什么用吗?
作者: chaoscracker    时间: 2009-9-27 12:12
好耶~开源:victory:
作者: 雅冬露    时间: 2009-11-30 11:39
提示: 作者被禁止或删除 内容自动屏蔽
作者: 一醉倾城    时间: 2010-2-12 19:38
呃、。。。。。。持保留意见。。。。
作者: yangff    时间: 2010-7-3 15:35
这个数据包忒猥琐了……
作者: 飛天派    时间: 2010-7-20 17:00
這要怎麼用??
有詳細教學嗎?




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1