Project1

标题: 请教如何永久删除本事件 [打印本页]

作者: taeckle    时间: 2021-10-19 23:54
标题: 请教如何永久删除本事件
本帖最后由 taeckle 于 2021-10-21 00:19 编辑

我想在地图事件中用一个指令(或def)把当前事件(事件开始条件不管是什么)永久删除,但不是删数据库中的这个事件, 需保证下次重开游戏新档后此事件还要存在

菜鸟我只会在本事件建立个空白页, 然后在事件设置时打开对应的独立开关A, 钩上选项允许穿透, 这样做看上去事件被删除了其实没有被删除。。。

事件指令里当然也有"临时消除事件"这个指令($game_map.events[@event_id].erase), 但用了这个指令后从地图上出去再进来事件还是存在那。。。

还请大神指点一二,多谢了!
作者: guoxiaomi    时间: 2021-10-20 10:52
你都知道用空白页了,绑定一个全局开关不就行了?
作者: Im剑侠客    时间: 2021-10-20 12:20
使用事件空白页+移动路线式事件消除。
空白则在视觉上消失了,而erase之后事件不会参与进刷新了。
作者: cinderelmini    时间: 2021-10-20 13:00
独立开关+允许穿透的空白页就是一般的做法,
你一定要强迫它消失的话,那就把这个空白页设置成并行处理,内容就是暂时删除本事件(?)
作者: taeckle    时间: 2021-10-21 00:25
cinderelmini 发表于 2021-10-20 13:00
独立开关+允许穿透的空白页就是一般的做法,
你一定要强迫它消失的话,那就把这个空白页设置成并行处理,内 ...


多谢大神指点,不过这样做还是没从本质上永久删除当前事件啊...
作者: Im剑侠客    时间: 2021-10-21 01:15
taeckle 发表于 2021-10-21 00:25
多谢大神指点,不过这样做还是没从本质上永久删除当前事件啊...

给你提一个思路,像独立ID的装备那种。将游戏中关于读取地图data的索引全部替更,地图data在进入游戏时,作为全局变量使用,并且存档保存,仅在开始游戏时从从地图包读取。有一个弊端,就是存档的体积可能会很大,相比普通的以k为计算单位,它可能要以m为计算单位,不过还是有避免的方式,针对使用的地图ID做选择性存档。好吧,大概就是这样吧。
作者: cinderelmini    时间: 2021-10-21 22:35
taeckle 发表于 2021-10-21 00:25
多谢大神指点,不过这样做还是没从本质上永久删除当前事件啊...

那你可以在Game_Map里读取地图数据文件的时候转存一份到存档里,
然后给这里加一个读取存档的判定:仅在存档里没有对应地图数据的时候才读数据库文件。
这样在数据层面删除地图的事件然后存档之后事件就真的消失了。
缺点是存档不支持游戏地图内容更新,也就是存档里已经保存了的地图(已经踏足过并存档的地图),在编辑器里更新内容之后,除非开新游戏,不然旧档不会再更新。
作者: 寂静的夜里    时间: 2021-10-21 22:45
我就好奇这永久删除是什么需求 他不能触发了 放在那里会怎么样




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