Project1

标题: 物品使用触发变量 [打印本页]

作者: magic_zealot    时间: 2009-4-12 09:41
标题: 物品使用触发变量
请问各位大大,我做一个这样的效果,设置一种卷轴物品,使用后会自动对一个变量付值,应该如何做? [LINE]1,#dddddd[/LINE]此贴于 2009-4-14 19:17:59 被版主darkten提醒,请楼主看到后对本贴做出回应。 [LINE]1,#dddddd[/LINE]版务信息:版主帮忙结贴~
作者: 最後一滴淚    时间: 2009-4-12 09:49
物品带上公共事件
作者: magic_zealot    时间: 2009-4-12 10:06
谢谢2楼,公共事件都懂,我要的是脚本解决!流程 使用卷轴物品-得到该物品ID的变量-赋予1号变量!
作者: magic_zealot    时间: 2009-4-12 10:15
def item_effect(item)
if uesd
if self.is_a?(Game_Actor) and item.name.include?("卷轴")
$game_variables[1] = item.id
end

但是不知道为什么没有赋值变量的效果!
作者: 小lim    时间: 2009-4-12 16:12
提示: 作者被禁止或删除 内容自动屏蔽
作者: magic_zealot    时间: 2009-4-12 20:55
4楼的朋友 不好意思 是我打错的 不是这里的错误
作者: tommay    时间: 2009-4-12 20:58
end怎么这么少
作者: magic_zealot    时间: 2009-4-12 21:39
我只写了这个部分而已 其他的都没改 就是添加在Scene_Item类里,使用的后面加了这个条件判断,if used 之后的,我用这个办法写技能书都能实现,不知道为什么,变量不能赋值!
作者: tommay    时间: 2009-4-12 21:50
我觉得用公共事件写会好很多,脚本的话可能有点冲突,而且写起来会麻烦一点。
作者: 水镜风生    时间: 2009-4-13 00:02
不需动脚本啊……

假如卷轴是46号物品的话,就给它一个公共事件,内容就是变量1=46。
反正物品信息是在数据库里预设的,手动把变量的值和数据库里的物品ID对上就行了吧。
作者: 天使喝可乐    时间: 2009-4-13 02:28
现在的人啊...干吗都要动脚本...
事件是万能的!!!
作者: magic_zealot    时间: 2009-4-13 23:12
因为需要做大量的卷轴信息,准备放在一个公共事件下进行判断,比如变量1=10是什么,变量1=12是什么,如果用公共事件会大量增大内存!
作者: tommay    时间: 2009-4-13 23:19
LZ的想法是不对的,用脚本做也要判断,不是耗内存量:公共事件>脚本,脚本如果不注意优化,也会占很多内存的。像这种判断不是不能用脚本实现,而是没有必要。
作者: 新月の道化师    时间: 2009-4-18 05:24
def item_effect(item)
if uesd
if self.is_a?(Game_Actor) and item.name.include?("卷轴")
$game_variables[1] = item.id
end

但是不知道为什么没有赋值变量的效果!

在下上班的地方米装RM,不过印象中感觉调用这个方法的对象不是Game_Actor的实例,而且判断是否是角色使用又又什么意义呢?
建议改写成
if (item.id > 100) and (item.id < 200)
$game_variables[1] = item.id
另外公共事件每帧都会被判断一次类型,如果是条件触发类则结束。所以如果大量类似的公共事件页还是写成一个脚本比较好,毕竟脚本灵活些。 [LINE]1,#dddddd[/LINE]系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~




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