赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 1774 |
最后登录 | 2015-6-5 |
在线时间 | 14 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 14 小时
- 注册时间
- 2015-4-5
- 帖子
- 31
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 牧羊仔 于 2015-5-12 16:47 编辑
百变宝典找的获得物品的脚本,出现以下错误
- #===========================================================================
- #动态获得道具脚本 永劫的咎人 版
- #使用的时候选择事件第三页的脚本,输入 get_item("取得道具的名称",取得道具的数量)
- #即可得到相应的数量的相应道具。道具名称要用小引号括起来,写成 "回复剂" 的格式。
- #动态获得武器的代码是"get_weapon("武器名称",获得数量)"
- #动态获得防具的代码是"get_armor("防具名称",获得数量)"
- #获得金钱的代码是"get_gold(获得钱数)"
- #===========================================================================
- #获得金钱的时候特殊效果只有窗口随事件位置变化,米有动态哦~
- #因为默认是没有金钱图标的,如果想把效果加上去的话可以尝试自己修改这个脚本。
- #===========================================================================
- #冲突性:几乎没有,因为很少有外挂脚本会修改def start的。其他内容均为原创。
- #即使发生冲突也应该很容易进行整合^ ^
- #===========================================================================
- #感谢k' sama前两天解答了我读取事件坐标的问题。
- #===========================================================================
- class Game_Event < Game_Character
- #--------------------------------------------------------------------------
- # ● 启动事件 #读取事件坐标
- #--------------------------------------------------------------------------
- def start
- $event_x = 0
- $event_y = 0
- # 执行内容不为空的情况下
- if @list.size > 1
- @starting = true
- $event_x = @event.x * 32 + 3
- $event_y = @event.y * 32
- end
- end
- end
- #===========================================================================
- # 动态取得物品的窗口
- #===========================================================================
- class Window_get_item < Window_Base
- #--------------------------------------------------------------------------
- # ● 初始化对像
- #--------------------------------------------------------------------------
- def initialize(x,y,text)
- super(x, y, 640, 52)
- @text = text
- self.contents = Bitmap.new(width - 32, height - 32)#只用來避免出錯
- #这个中心对齐忙了几乎一夜。。。。。。
- @daomei = 30 - (self.contents.text_size(@text).width / 11 - 1) * 2
- self.width = self.contents.text_size(@text).width + @daomei
- self.contents = Bitmap.new(width - 32, height - 32)#重定位图
- @text_width = self.contents.text_size(@text).width
- @extra_width = @text_width - 140 > 0 ? @text_width - 140 : 0
- self.x = $event_x > 0 ? $event_x - self.contents.width / 2 : self.contents.width
- #几重保险运算
- if $event_x - self.width / 2 <= 0
- self.x = 0
- end
- if $event_x + self.width / 2 >= $game_map.width * 32
- self.x = $game_map.width * 32 - self.width
- end
- self.y = $event_y
- if $event_y + self.height / 2 + 6 >= $game_map.height * 32
- self.y = $game_map.height * 32 - self.height
- end
- self.back_opacity = 120
- refresh
- end
- #--------------------------------------------------------------------------
- # ● 刷新
- #--------------------------------------------------------------------------
- def refresh
- self.contents.clear
- self.contents.font.size = 18
- self.contents.draw_text(0,0,self.width - 32,20,@text)
- end
- end
- class Game_Party
- #--------------------------------------------------------------------------
- # ● 获得物品
- # item_id : 物品 ID
- # n : 个数
- #--------------------------------------------------------------------------
- def get_item(item_id, n)
- @angel_item_dis = $data_items[item_id]
- @item_id = item_id
- @n = n
- #和谐掉得到0个道具以及负数个武器和三位数个武器的情况
- if @n <= 0 or @n > 99
- return
- end
- # 更新 hash 的个数数据
- if @item_id > 0
- @items[@item_id] = [[item_number(@item_id) + @n, 0].max, 99].min
- end
- #描绘图标的变量带入sprite
- $angel_dis = Sprite.new
- #描绘图标
- if @angel_item_dis.icon_name != ""
- $angel_dis.bitmap = Bitmap.new("Graphics/Icons/#{@angel_item_dis.icon_name}")
- $angel_dis.x = $event_x
- $angel_dis.y = $event_y
- $angel_dis.opacity = 155
- end
- #移动图标
- for i in 1..10
- $angel_dis.y -= 4
- $angel_dis.opacity += 10
- $angel_dis.update
- Graphics.update
- end
- #计算额外宽度
- @extra_width = @angel_item_dis.name.size * 9 - 140 > 0 ? @angel_item_dis.name.size * 9 - 140 : 0
- #描绘得到道具的窗口
- if @n == 1 #如果得到的道具只有一个
- $one = 1
- $angel_name_window = Window_get_item.new($event_x - 56 > 0 ? $event_x - 56 - @extra_width / 2: 0 ,$event_y - 4,@angel_item_dis.name)
- else#除此以外的场合
- $one = 2
- @text = "#{@angel_item_dis.name} "+"×"+" #{@n}"
- $angel_name_window = Window_get_item.new($event_x - 56 > 0 ? $event_x - 56 - @extra_width / 2: 0 ,$event_y - 4,@text)
- end
- Audio.se_play("Audio/SE/"+"006-System06",80,100)
- #只是等待50帧而已
- 50.times{Graphics.update}
- #销毁
- $angel_dis.dispose
- $angel_name_window.dispose
- end
- #--------------------------------------------------------------------------
- # ● 获得武器
- # item_id : 物品 ID
- # n : 个数
- #--------------------------------------------------------------------------
- def get_weapon(item_id, n)
- @angel_item_dis = $data_weapons[item_id]
- @item_id = item_id
- @n = n
- #和谐掉得到0个武器以及负数个武器和三位数个武器的情况的情况
- if @n <= 0 or @n > 99
- return
- end
- # 更新 hash 的个数数据
- if @item_id > 0
- @weapons[@item_id] = [[weapon_number(@item_id) + @n, 0].max, 99].min
- end
- #描绘图标的变量带入sprite
- $angel_dis = Sprite.new
- #描绘图标
- if @angel_item_dis.icon_name != ""
- $angel_dis.bitmap = Bitmap.new("Graphics/Icons/#{@angel_item_dis.icon_name}")
- $angel_dis.x = $event_x
- $angel_dis.y = $event_y
- $angel_dis.opacity = 155
- end
- #移动图标
- for i in 1..10
- $angel_dis.y -= 4
- $angel_dis.opacity += 10
- $angel_dis.update
- Graphics.update
- end
- #计算额外宽度
- @extra_width = @angel_item_dis.name.size * 9 - 140 > 0 ? @angel_item_dis.name.size * 9 - 140 : 0
- #描绘得到道具的窗口
- if @n == 1 #如果得到的道具只有一个
- $one = 1
- $angel_name_window = Window_get_item.new($event_x - 56 > 0 ? $event_x - 56 - @extra_width / 2: 0 ,$event_y - 4,@angel_item_dis.name)
- else#除此以外的场合
- $one = 2
- @text = "#{@angel_item_dis.name} "+"×"+" #{@n}"
- $angel_name_window = Window_get_item.new($event_x - 56 > 0 ? $event_x - 56 - @extra_width / 2: 0 ,$event_y - 4,@text)
- end
- Audio.se_play("Audio/SE/"+"006-System06",80,100)
- #只是等待50帧而已
- 50.times{Graphics.update}
- #销毁
- $angel_dis.dispose
- $angel_name_window.dispose
- end
- #--------------------------------------------------------------------------
- # ● 获得防具
- # item_id : 物品 ID
- # n : 个数
- #--------------------------------------------------------------------------
- def get_armor(item_id, n)
- @angel_item_dis = $data_armors[item_id]
- @item_id = item_id
- @n = n
- #和谐掉得到0个防具,负数个防具以及三位数个防具的情况
- if @n <= 0 or @n > 99
- return
- end
- # 更新 hash 的个数数据
- if @item_id > 0
- @armors[@item_id] = [[armor_number(@item_id) + @n, 0].max, 99].min
- end
- #描绘图标的变量带入sprite
- $angel_dis = Sprite.new
- #描绘图标
- if @angel_item_dis.icon_name != ""
- $angel_dis.bitmap = Bitmap.new("Graphics/Icons/#{@angel_item_dis.icon_name}")
- $angel_dis.x = $event_x
- $angel_dis.y = $event_y
- $angel_dis.opacity = 155
- end
- #移动图标
- for i in 1..10
- $angel_dis.y -= 4
- $angel_dis.opacity += 10
- $angel_dis.update
- Graphics.update
- end
- #p @angel_item_dis.name.length* 9
- #计算额外宽度
- @extra_width = @angel_item_dis.name.size * 9 - 140 > 0 ? @angel_item_dis.name.size * 9 - 140 : 0
- #描绘得到道具的窗口
- if @n == 1 #如果得到的道具只有一个
- $one = 1
- $angel_name_window = Window_get_item.new($event_x - 56 > 0 ? $event_x - 56 - @extra_width / 2: 0 ,$event_y - 4,@angel_item_dis.name)
- else#除此以外的场合
- $one = 2
- @text = "#{@angel_item_dis.name} "+"×"+" #{@n}"
- $angel_name_window = Window_get_item.new($event_x - 56 > 0 ? $event_x - 56 - @extra_width / 2: 0 ,$event_y - 4,@text)
- end
- Audio.se_play("Audio/SE/"+"006-System06",80,100)
- #只是等待50帧而已
- 50.times{Graphics.update}
- #销毁
- $angel_dis.dispose
- $angel_name_window.dispose
- end
- #--------------------------------------------------------------------------
- # ● 获得金钱
- # n : 个数
- #--------------------------------------------------------------------------
- def get_gold( n)
- @n = n
- #和谐掉得到0金钱以及负数金钱的情况
- if @n <= 0
- return
- end
- @gold = [[@gold + n, 0].max, 9999999].min
- #计算额外宽度
- #@extra_width = @angel_item_dis.name.size * 9 - 140 > 0 ? @angel_item_dis.name.size * 9 - 140 : 0
- #描绘得到道具的窗口
- $angel_name_window = Window_get_item.new($event_x - 56 > 0 ? $event_x - 56 : 0 ,$event_y - 4,"#{n}" + "#{$data_system.words.gold}")
- Audio.se_play("Audio/SE/"+"006-System06",80,100)
- #只是等待50帧而已
- 50.times{Graphics.update}
- #销毁
- $angel_name_window.dispose
- end
- end
- class Interpreter
- #========================================================================
- #定义事件中动态获得物品的方法
- #========================================================================
- def get_item(item_name,n)
- @item_name = item_name
- for i in 1...$data_items.size
- if $data_items[i].name == @item_name
- @item_id = i
- end
- end
- return $game_party.get_item(@item_id, n)
- end
- #========================================================================
- #定义事件中动态获得武器的方法
- #========================================================================
- def get_weapon(item_name, n)
- @item_name = item_name
- for i in 1...$data_weapons.size
- if $data_weapons[i].name == @item_name
- @item_id = i
- end
- end
- return $game_party.get_weapon(@item_id, n)
- end
- #========================================================================
- #定义事件中动态获得防具的方法
- #========================================================================
- def get_armor(item_name, n)
- @item_name = item_name
- for i in 1...$data_armors.size
- if $data_armors[i].name == @item_name
- @item_id = i
- end
- end
- return $game_party.get_armor(@item_id, n)
- end
- #========================================================================
- #定义事件中动态获得金钱的方法
- #========================================================================
- def get_gold(n)
- return $game_party.get_gold(n)
- end
- end
复制代码 |
|