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

Project1

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

[已经解决] “暂时消除事件” 这个功能在脚本中要怎么写?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
39 小时
注册时间
2013-2-2
帖子
75
跳转到指定楼层
1
发表于 2013-7-26 21:37:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 xiaoxin3357 于 2013-7-26 22:36 编辑

然后我其实不懂脚本,事件页里面的是根据以前的编程经验写的,暂时消除事件那句代码是复制来的,但是不知道对不对。


顺便问一下功能的可行性,我是这么想的,主角按Z键攻击,如果怪物被攻击到则退一步然后扣血,但是没有进入战斗系统,肯定是没办法给怪物扣减血量的。

所以我想定义一个临时变量,再每次攻击后减少这个变量的值,到底负数后暂时消除事件。

事件页是这么写的,第二页的脚本会直接报错。
然后我有三个疑问:
1:第一页事件页定义的变量第二页能直接读取到码?
2:本事件定义的变量,其他事件能读取到吗?
3:怎么弄临时变量,只能在当前事件内使用的变量,这样我做好一个怪物的事件,其他的就可以复制粘贴了

Lv2.观梦者 (暗夜天使)

梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
帖子
2309

贵宾

2
发表于 2013-7-26 21:38:45 | 只看该作者
本帖最后由 Sion 于 2013-7-26 21:41 编辑

消除本事件
  1. get_character(0).erase
复制代码
事件内变量的话
在事件中定义
  1. class Game_Event
  2.   attr_accessor :your_variable
  3. end
复制代码
然后在事件里用
  1. get_character(0).your_variable = xxx
复制代码
就可以对本事件内的变量赋值了。

点评

就是实例变量  发表于 2013-7-27 09:38
简体好像翻成"独立变量"?  发表于 2013-7-26 22:59
冒昧問一下,我可以把這個視為自用變量嗎?  发表于 2013-7-26 22:54
your_variable 可以替换成你喜欢的,小写字母或者下划线开头就行。  发表于 2013-7-26 21:43
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
39 小时
注册时间
2013-2-2
帖子
75
3
 楼主| 发表于 2013-7-26 21:49:08 | 只看该作者
Sion 发表于 2013-7-26 21:38
消除本事件事件内变量的话
在事件中定义然后在事件里用就可以对本事件内的变量赋值了。 ...

如果变量小于0  暂时消除事件
这个怎么写?我现在是
get_character(0).monsterHP -=20

if get_character(0).monsterHP<=0

get_character(0).erase

end

但是报错

点评

报的什么错?  发表于 2013-7-26 21:55
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
39 小时
注册时间
2013-2-2
帖子
75
4
 楼主| 发表于 2013-7-26 22:00:27 | 只看该作者
Sion 发表于 2013-7-26 21:38
消除本事件事件内变量的话
在事件中定义然后在事件里用就可以对本事件内的变量赋值了。 ...



这样的错误

点评

你的脚本改过了吧。  发表于 2013-7-26 22:10
回复 支持 反对

使用道具 举报

Lv2.观梦者 (暗夜天使)

梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
帖子
2309

贵宾

5
发表于 2013-7-26 22:12:47 | 只看该作者

我这样写没问题啊
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
39 小时
注册时间
2013-2-2
帖子
75
6
 楼主| 发表于 2013-7-26 22:19:58 | 只看该作者
Sion 发表于 2013-7-26 22:12
我这样写没问题啊




事件是这样写的,一个事件里,两个事件页
回复 支持 反对

使用道具 举报

Lv2.观梦者 (暗夜天使)

梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
帖子
2309

贵宾

7
发表于 2013-7-26 22:21:20 | 只看该作者
....那个
  1. class Game_Event
  2.   attr_accessor :your_variable
  3. end
复制代码
当插件脚本,放在Main前使用。

评分

参与人数 1+1 收起 理由
Vortur + 1 哈哈哈...

查看全部评分

回复 支持 1 反对 0

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
39 小时
注册时间
2013-2-2
帖子
75
8
 楼主| 发表于 2013-7-26 22:35:38 | 只看该作者
Sion 发表于 2013-7-26 22:21
....那个当插件脚本,放在Main前使用。

额...这次OK了...原来声明变量要放在插件脚本里...

点评

4.用“$game_map.events[1].reset_battler”重置怪物  发表于 2017-10-18 19:20
3.可以用事件脚本“get_character(0).battler.hp -= 1”、“$game_map.events[编号].battler.hp -= 1”等语句操作事件的hp  发表于 2017-10-18 19:19
2.“Game_Event”的“initialize”方法中,添加“reset_battler”语句  发表于 2017-10-18 19:16
我有个更好用的:1.在“Game_Event”中,添加方法 def reset_battler;@battler = Game_Enemy.new(1, enemy_id) if enemy_id != nil;end  发表于 2017-10-18 19:15
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-18 06:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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