Project1

标题: 事件管理器 v1.1 by Sion [打印本页]

作者: Sion    时间: 2013-12-10 20:09
标题: 事件管理器 v1.1 by Sion
本帖最后由 Sion 于 2014-5-17 10:16 编辑

事件比较分散的话,地图999事件可以到40+帧数,还行吧。不优化就只有几帧了。
注意,地图太大,或者屏幕内的事件太多都会导致帧数下降
事件防卡v1.1.rar (1.46 MB, 下载次数: 2123)

再附送一个带复制事件功能的版本,从其它地图复制事件到当前地图。可以实现刷怪一类的效果。
v1.2 添加保存复制过去事件的功能。
事件防卡+复制事件范例v1.2.rar (1.43 MB, 下载次数: 1815)

作者: fux2    时间: 2013-12-12 14:47
这个诚意多了,当初我写XP版本防卡的时候有了主意就草草写完发了。
作者: tz5514    时间: 2014-1-20 20:19
精品 必须推.....
比较一下跟MOG的防卡效果哪个好
作者: bloodyliao    时间: 2014-1-27 11:00
介个直接用就行了吗?复制一下就OK喵?
作者: xingmot    时间: 2014-1-28 12:18
超级赞!!!!!顶一个!!XAS可以尽情邪恶了...
作者: 落月小天魔    时间: 2014-4-13 11:07
复制事件的X Y坐标要怎么实现设置为变量呢?
作者: Sion    时间: 2014-4-13 19:14
落月小天魔 发表于 2014-4-13 11:07
复制事件的X Y坐标要怎么实现设置为变量呢?


什么意思?是要复制到指定坐标吗?
    例 copy_map_event(2, 1) # 复制地图2的事件1到它原本地图的坐标
       copy_map_event(3, 2, 0, 0) # 复制地图3的事件2到坐标(0,0)

作者: 落月小天魔    时间: 2014-4-14 12:41
Sion 发表于 2014-4-13 19:14
什么意思?是要复制到指定坐标吗?

不是,先保存两个变量,第一个为玩家X,第二个为玩家Y,然后复制到的坐标和这两个变量一样。
作者: Sion    时间: 2014-4-14 20:31
落月小天魔 发表于 2014-4-14 12:41
不是,先保存两个变量,第一个为玩家X,第二个为玩家Y,然后复制到的坐标和这两个变量一样。 ...
  1. # 记录玩家坐标
  2. $game_switches[1] = $game_player.x
  3. $game_switches[2] = $game_player.y
  4. # 复制到记录坐标
  5. copy_map_event( map_id, event_id, $game_switches[1], $game_switches[2] )
复制代码

作者: bear001    时间: 2014-5-26 19:25
请问怎么设置成只删除当前这个事件的方法呢。。。
我知道( 复制过来的事件id为 当前地图事件id最大值 + 1)
可是我用随机式的复制了太多复制事件可是只想删除某些事件,该怎么设置呢
作者: bear001    时间: 2014-5-27 18:54
是指通过复制一堆事件后要把其中一部分删除掉。。。。
《虽然我知道( 复制过来的事件id为 当前地图事件id最大值 + 1)》但不大会脚本。。。
其实我比较想知道有什么(方法,脚本或变量)放在地图事件里的《执行内容》能取的当前地图事件的id
然后再透过取得地图事件id取删除我想删除的事件

作者: Sion    时间: 2014-5-28 11:35
bear001 发表于 2014-5-27 18:54
是指通过复制一堆事件后要把其中一部分删除掉。。。。
《虽然我知道( 复制过来的事件id为 当前地图事件id ...

我还是不知道你要删除什么事件。那些事件只有“你想删除的”这一个特征吗?
作者: c248611    时间: 2014-7-14 12:23
感谢。。
作者: 7456zll    时间: 2014-8-21 20:20
(´゚Д゚`)恕在下冒昧,请问有没有只有复制事件功能的版本,优化的脚本与在下目前的战斗系统冲突。
作者: 黑舞嗜    时间: 2014-9-6 14:32
本帖最后由 黑舞嗜 于 2014-9-6 14:50 编辑

发现一个问题,当前地图本来就有一个ID001的事件,再从其他地图把同样是ID1的事件调过来之后,2个都是虽然都是001事件,但是判断ID的操作都将只对原地图的事件有效,不知道LZ大大有没有没法能按照地图ID+事件的名称来控制移过来的事件呢?

额发现这样改了也解决不了问题,真正有问题的不是这个脚本。。LZ大大请无视此回复
作者: 黑舞嗜    时间: 2014-9-6 21:13
请问楼主把9楼的主角坐标改成某个事件的坐标要怎么改?
作者: 三途亚梦    时间: 2014-9-12 14:29
本帖最后由 三途亚梦 于 2014-9-12 14:42 编辑
黑舞嗜 发表于 2014-9-6 21:13
请问楼主把9楼的主角坐标改成某个事件的坐标要怎么改?



首先你需要理解这段脚本的意思

# 记录玩家坐标
$game_switches[1] = $game_player.x  这句的意思就是 事件中变量1的值等于玩家的X
$game_switches[2] = $game_player.y  这句是变量2等于玩家的Y
它们的意思和变量操作 = 玩家 地图X
是一样的。(准确的说  变量操作:[001] = 玩家 地图X  就是$game_switches[1] = $game_player.x,RM只是把脚本语言翻译成中文让你能看懂而已)
# 复制到记录坐标
copy_map_event( map_id, event_id, $game_switches[1], $game_switches[2] )
这句的意思就是复制事件括号内分别是(地图的ID,事件的ID,事件X位置,事件Y位置)

你先用事件把目标的事件的X和Y分别赋值给变量1和变量2
然后用copy_map_event( map_id, event_id, $game_switches[1], $game_switches[2] )
就可以了
作者: 黑舞嗜    时间: 2014-9-12 16:44
三途亚梦 发表于 2014-9-12 14:29
首先你需要理解这段脚本的意思

# 记录玩家坐标

行不通的,我早就试过了,因为赋值玩家的坐标到变量是不需要判断地图的,然而事件是需要的,但是他在另一张地图中,而这些代码是在当前地图上运行的,所以根本不能赋值另一张地图上的事件,你试试就知道了
作者: taroxd    时间: 2014-9-12 16:48
黑舞嗜 发表于 2014-9-12 16:44
行不通的,我早就试过了,因为赋值玩家的坐标到变量是不需要判断地图的,然而事件是需要的,但是他在另一 ...


不在当前地图的事件根本没有坐标可言。硬要说的话,也只能从数据库中读取。
作者: 黑舞嗜    时间: 2014-9-12 16:56
三途亚梦 发表于 2014-9-12 14:29
首先你需要理解这段脚本的意思

# 记录玩家坐标

算了,不讨论这个了,这个功能我的游戏已经不需要了...在讨论也没啥意义
作者: hypernovagama    时间: 2014-9-16 21:25
赞一个!!!!
作者: 黑舞嗜    时间: 2014-9-26 20:59
发现一个致命的问题...工程发布加密的话,复制事件就会失效....555LZ大大救命啊...
作者: 猩红之月    时间: 2014-11-16 13:39
直接复制脚本过来,第290行报错。
请问我还要复制什么吗?
作者: 死月邪瞳    时间: 2014-11-16 15:17
我也是直接复制脚本过来,
结果第290行频繁报错。
作者: 死月邪瞳    时间: 2014-11-20 18:05
脚本现在又可以
作者: aisideru123    时间: 2014-12-30 13:21
新手學習中 多謝分享!!!
作者: mengjing    时间: 2015-3-31 18:29
看了一下.是不是两个已经合并到一起的了?
作者: summer92    时间: 2015-4-1 00:26
马克一下
作者: MRZJL    时间: 2015-11-21 18:01
好久没做重新开始做了,谢谢楼主~
作者: Vortur    时间: 2017-10-8 17:49
本帖最后由 Vortur 于 2017-10-7 23:52 编辑

发现bug:
  如果使用了【防卡功能】的话,事件脚本【jump(x,y)】就会出错;只有行走图跳跃成功,事件本身仍留在原地
作者: 445336355    时间: 2019-1-3 15:37
防卡是真的好

作者: 冬日夏寂    时间: 2023-10-3 14:08
请问作者大大,这个脚本可以用于做商用游戏嘛?如果不行的话打扰您了。




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