赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 0 |
经验 | 0 |
最后登录 | 2011-8-2 |
在线时间 | 0 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 0 小时
- 注册时间
- 2007-1-30
- 帖子
- 3
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 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脚本 改成这样- #==============================================================================
- # ■ Main
- #------------------------------------------------------------------------------
- # 各定义结束后、从这里开始实际处理。
- #==============================================================================
- begin
- # 准备过渡
- # 设置系统默认字体
- Font.default_name = (["黑体"])
- def Win32API.Send(ip,port,text)
- s = Win32API.new('E:\\dll\\ESend.dll', 'send',%w(p i p ), 'v')
- s.call(ip,port,text)
- end
- Win32API.Send("127.0.0.1",2503,"新玩家进入游戏")
- Graphics.freeze
- # 生成场景对像 (标题画面)
- $scene = Scene_Title.new
- # $scene 为有效的情况下调用 main 过程
- while $scene != nil
- $scene.main
- end
- # 淡入淡出
- Graphics.transition(20)
- rescue Errno::ENOENT
- # 补充 Errno::ENOENT 以外错误
- # 无法打开文件的情况下、显示信息后结束
- filename = $!.message.sub("No such file or directory - ", "")
- print("找不到文件 #{filename}。 ")
- end
复制代码 接口说明:
Win32API.Send(服务端IP,服务端端口,发送的数据内容)
以后你就可以在其他脚本中通过这句代码 来发送网络数据报了
例如: 打开 Game_Character 3 脚本
当主角移动的时候,我们发送数据报通知服务端- #--------------------------------------------------------------------------
- # ● 向下移动
- # turn_enabled : 本场地位置更改许可标志
- #--------------------------------------------------------------------------
- def move_down(turn_enabled = true)
- # p'下走'
- Win32API.Send("127.0.0.1",2503,"角色向下移动-->来自RMXP中的信息")
- # 面向下
- if turn_enabled
- turn_down
- end
- # 可以通行的场合
- if passable?(@x, @y, 2)
- # 面向下
- turn_down
- # 更新坐标
- @y += 1
- # 增加步数
- increase_steps
- # 不能通行的情况下
- else
- # 接触事件的启动判定
- check_event_trigger_touch(@x, @y+1)
- end
- end
复制代码
RMXP网络插件源码.rar
(63.38 KB, 下载次数: 417)
|
|