幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3666|回复: 2

[入门教程] 独立开关变独立变量

[复制链接]

14

主题

60

帖子

1万

积分

⑧专业

积分
13647
发表于 2011-4-26 14:42:35 | 显示全部楼层 |阅读模式
独立开关变独立变量,事件狂人的最爱


一行脚本,独立开关变独立变量 --- 作者:SailCat   

Game_SelfSwitches第20行:
原文:    return @data[key] == true ? true : false
改为:    return @data[key] == nil ? false : @data[key]

-----------------------------------------------------------------------------------------------------

之后可以用事件脚本的方式操作独立变量:
例: $game_self_switches[[@map_id,@event_id,"E"]] =   $data_enemies[1].maxhp     

# 当前地图当前事件E独立变量等于数据库怪1的最大血量

# E可以是(E~Z)的任何之母,好像A1 , B2之类的也行,一个字母一独立变量,A~D还做独立开关保留


# 这样就可以做事件版ARPG了,大量复制NPC事件了,无需大量改动

-----------------------------------------------------------------------------------------------------------------------------------

几点说明:
1. 在将开关当变量操作运算(包括作为条件分歧中的比较)前,需要先进行变量赋值,否则会有FalseClass的NoMethodError
2. 但如果是直接当开关操作则不用,比如
$game_self_switches[[$game_map.map_id, @event_id, "E"]]=!$game_self_switches[[$game_map.map_id, @event_id, "E"]]
3. 原来的独立开关逻辑仍然保留,不受任何影响,不过还是建议用到独立变量时,编号从E开始设置比较好
4. 注意引用下标的写法,双层方括号,不要写漏了。
5. 引用其他事件的独立开关:$game_self_switches[[$game_map.map_id, 那个事件的ID, 开关编号]]
回复

使用道具 举报

30

主题

154

帖子

1552

积分

⑥精研

积分
1552
发表于 2011-5-30 23:51:27 | 显示全部楼层
多谢分享
给游戏制作者空间,还你一个乐趣无穷的网络。
回复 支持 反对

使用道具 举报

1

主题

10

帖子

32

积分

②入门

积分
32
发表于 2011-7-29 10:36:36 | 显示全部楼层
多谢分享.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-4-17 05:08 , Processed in 0.016804 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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