设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2872|回复: 10
打印 上一主题 下一主题

[已经解决] 如何用脚本生成事件并运行?

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
4 小时
注册时间
2011-10-16
帖子
81
跳转到指定楼层
1
发表于 2011-11-1 16:26:31 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

Lv1.梦旅人

梦石
0
星屑
50
在线时间
237 小时
注册时间
2011-7-28
帖子
81
2
发表于 2011-11-1 17:22:52 | 只看该作者
不知道楼主在说什么

评分

参与人数 1星屑 -40 收起 理由
各种压力的猫君 -40 酱油20一瓶谢谢惠顾

查看全部评分

看看网络,数不清的信息扑面而来,你知道了什么是冗余;看看每一天的生活,日复一日,许多的无奈,你理解了什么是缺陷;生命里充满了不可预知,明天将发生什么,谁也不知道,这就是动态。 ...
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
201
在线时间
779 小时
注册时间
2009-9-15
帖子
354
3
发表于 2011-11-1 17:29:58 | 只看该作者
很好奇为什么楼主要用脚本写,不是能用事件就用事件么??

点评

因为不习惯用事件,写代码写习惯了,想用代码实现一切,so.....  发表于 2011-11-1 17:57
巨型潜水艇
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
508
在线时间
1478 小时
注册时间
2011-9-17
帖子
1316

开拓者贵宾

4
发表于 2011-11-1 17:38:44 | 只看该作者
这个问题我以前问过:
参考一下:
http://rpg.blue/thread-211792-1-1.html
我帖子中要有是不HX的空白,请Ctrl + A
回复

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42404
在线时间
7602 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

5
发表于 2011-11-1 18:15:24 | 只看该作者
随便p一个事件就知道了啊。
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
4 小时
注册时间
2011-10-16
帖子
81
6
 楼主| 发表于 2011-11-1 19:10:25 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
255
在线时间
227 小时
注册时间
2009-7-26
帖子
216
7
发表于 2011-11-1 22:36:06 | 只看该作者
gamedev0001 发表于 2011-11-1 06:10
请问随便P一个是什么意思?能给个演示么,新手才接触,类和函数还不太熟。

感谢4楼,实验中

那啥⋯⋯
提示的错误不是方法未定义,而是实例没有初始化⋯⋯
你把add_event放在了Scene_Title 的     $scene = Scene_Map.new 后面
但是这个时候Spriteset_Map类的实例还没有初始化⋯⋯所以你调用add_event 的时候会找不到@spriteset这个对象⋯⋯
因为那个实例是在Scene_Map的main方法里头初始化的⋯⋯

简单地说就是⋯⋯你得换个地方调用add_event方法⋯⋯
比如就放在Scene_Map里main方法里头⋯⋯在@spriteset = Spriteset_Map.new 之后

点评

放在Spriteset_Map.new之后还是不行,不过感谢,用后知后觉的方法解决了  发表于 2011-11-2 08:20
不要吐槽我⋯⋯
回复

使用道具 举报

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1697
在线时间
3038 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

8
发表于 2011-11-1 22:55:02 | 只看该作者
美兽的“爱护环境,人人有责”这个里面就用了事件生成脚本……
如果需要的话再找找吧,宝典里有
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6855
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

9
发表于 2011-11-1 23:01:30 | 只看该作者
先插入下面代码
  1. $HEvent = RPG::Event.new(1, 1)
  2. $HEvent.id = 999
  3. $HEvent.pages[0].trigger = 3
  4. $HEvent.pages[0].list[0].code = 101
  5. $HEvent.pages[0].list[0].parameters[0] = "显示文章第一行"
  6. $HEvent.pages[0].list[1] = RPG::EventCommand.new(401, 0, ["第二行"])
  7. $HEvent.pages[0].list[2] = RPG::EventCommand.new(401, 0, ["第三行"])
  8. $HEvent.pages[0].list[3] = RPG::EventCommand.new(401, 0, ["第四行"])
  9. $HEvent.pages[0].list[4] = RPG::EventCommand.new
复制代码
然后找到 Game_Map 的第 74 75 76 77 这 4 行
  1.     @events = {}
  2.     for i in @map.events.keys
  3.       @events[i] = Game_Event.new(@map_id, @map.events[i])
  4.     end
复制代码
在第 74 行下面加一行变成这样
  1.     @events = {}
  2.     @map.events[$HEvent.id] = $HEvent
  3.     for i in @map.events.keys
  4.       @events[i] = Game_Event.new(@map_id, @map.events[i])
  5.     end
复制代码
搞定.一个【自动执行】【显示文章】的事件就做好了 事件 id 为 999
然后说你主楼里的脚本

ce1 = RPG::EventCommand.new(101,0,"hello")
第 3 个参数应该是个数组

evt_page.list = [ce1]
这个 list 数组的尾部少了一个空白命令(RPG::EventCommand实例)

最后在说一下 code 这个东西.
在 F1 里只能查到 命令的第一行 的 code
比如 显示文章 F1 里说 code 是 101
这个命令一次可以写 4 行.
第 1 行 code 是 101 没错.但第2 3 4 行却是 401
这些东西要么去 Interpreter 里找那些命令的定义里看.
要么就 Interpreter 2 里用 p 命令 给 p 出来
全局搜索 case @list[@index].code 可以快速定位

点评

标准答案,拜神~~~~  发表于 2011-11-2 08:19











你知道得太多了

回复

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
4 小时
注册时间
2011-10-16
帖子
81
10
 楼主| 发表于 2011-11-2 12:38:01 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-23 23:33

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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