设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1655|回复: 4
打印 上一主题 下一主题

[已经解决] 怎么让脚本获得的物品也有获得提示

[复制链接]

Lv1.梦旅人

梦石
0
星屑
245
在线时间
219 小时
注册时间
2015-9-24
帖子
166
跳转到指定楼层
1
发表于 2015-12-16 09:40:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
现在的提示只有事件获得的才提示,怎么让脚本的物品获得也提示?
i = rand(10)
p = rand(10)
$game_party.gain_item($data_items[i], p)

比如通过以上脚本获得随机数量的1~10号物品,怎么才能正确显示获得?

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2015-12-16 12:45:00 | 只看该作者
看你的物品提示脚本提供的API

点评

贴了脚本拉  发表于 2015-12-16 13:58
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
245
在线时间
219 小时
注册时间
2015-9-24
帖子
166
3
 楼主| 发表于 2015-12-16 13:10:33 | 只看该作者
taroxd 发表于 2015-12-16 12:45
看你的物品提示脚本提供的API

怎么看API啊( ̄ .  ̄)

点评

看那个脚本是怎么实现的  发表于 2015-12-16 13:34
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
245
在线时间
219 小时
注册时间
2015-9-24
帖子
166
4
 楼主| 发表于 2015-12-16 13:56:10 | 只看该作者
#==============================================================================


# 本腳本來自www.66RPG.com,使用和轉載請保留此信息

# 得失物品、金钱、武器、防具、技能提示

#==============================================================================

# 注意!!!在對話後得到物品,請在對話後先用事件等待3幀,否則對話框來不及消失。


# 開關定義:


$noshowgold = 11                        # 不显示金钱得失


$noshowitem = 12                        # 不显示物品得失


$noshowweapon = 13                      # 不显示武器得失


$noshowarmor = 14                       # 不显示防具得失

$noshowlv = 15

# 以上開關,當打開的時候,獲得物品將不會提示,比如默認打開41號開關,獲得金錢不再提示


# 不想提示等级升降时,就在事件命令直接选择是否显示就行了。


#聲效,可改#

folder = "Audio/SE/"

$gain_gold_se   = folder +"Shop"      # 获得金钱声效

$loss_gold_se   = folder +"Blow2"     # 失去金钱声效


$gain_item_se   = folder +"Shop"     # 获得物品声效

$loss_item_se   = folder +"Blow2"     # 失去物品声效


$gain_weapon_se = folder +"Shop"     # 获得武器声效

$loss_weapon_se = folder +"Blow2"     # 失去武器声效


$gain_armor_se  = folder +"Shop"     # 获得防具声效

$loss_armor_se  = folder +"Blow2"     # 失去防具声效


$gain_lv_se     = folder +"Shop"     # 提升等级声效

$loss_lv_se     = folder +"Blow2"     # 降低等级声效


# ————————————————————————————————————


class Game_Interpreter

  #--------------------------------------------------------------------------

  # ● 增減金錢

  #--------------------------------------------------------------------------

  def command_125

    value = operate_value(@params[0], @params[1], @params[2])

    $game_party.gain_gold(value)

    if $game_switches[$noshowgold]==false

      show_gain_window(0, value)

    end

    return true

  end

  #--------------------------------------------------------------------------

  # ● 增減物品

  #--------------------------------------------------------------------------

  def command_126

    value = operate_value(@params[1], @params[2], @params[3])

    $game_party.gain_item($data_items[@params[0]], value)

    if $game_switches[$noshowitem]==false

      show_gain_window(1, value)

    end

    $game_map.need_refresh = true

    return true

  end

  #--------------------------------------------------------------------------

  # ● 增減武器

  #--------------------------------------------------------------------------

  def command_127

    value = operate_value(@params[1], @params[2], @params[3])

    $game_party.gain_item($data_weapons[@params[0]], value, @params[4])

    if $game_switches[$noshowweapon]==false

      show_gain_window(2, value)

    end

    return true

  end

  #--------------------------------------------------------------------------

  # ● 增減防具

  #--------------------------------------------------------------------------

  def command_128

    value = operate_value(@params[1], @params[2], @params[3])

    $game_party.gain_item($data_armors[@params[0]], value, @params[4])

    if $game_switches[$noshowarmor]==false

      show_gain_window(3, value)

    end

    return true

  end

  #--------------------------------------------------------------------------

  # ● 等级増減

  #--------------------------------------------------------------------------

  def command_316

    value = operate_value(@params[2], @params[3], @params[4])

    iterate_actor_var(@params[0], @params[1]) do |actor|

      actor.change_level(actor.level + value, @params[5])

      if @params[4]
        if $game_switches[$noshowlv]==false

        show_gain_level_window(actor,value)
        end

      end

    end

    return true

  end

  

  def show_gain_window(type, value)

    snstar2006_66rpg_item = $data_armors[@params[0]]

    snstar2006_66rpg = Window_Base.new((640-300)/2,128 + 16,200,100 - 16)

    snstar2006_66rpg.contents = Bitmap.new(snstar2006_66rpg.width - 32, snstar2006_66rpg.height - 32)
   
    if value >= 0

      gain_text = "获得"   
    else

      gain_text = "失去"

    end

   
    case type

    when 0

      gain_type = "金钱"

      if value >=0

        Audio.se_play($gain_gold_se,80,100)

      else

        Audio.se_play("Audio/SE/"+"Item1",80,100)

      end

    when 1

      gain_type = "物品"

      string = $data_items[@params[0]]

      if value >=0

        Audio.se_play($gain_item_se,80,100)

      else

        Audio.se_play($loss_item_se,80,100)

      end

    when 2

      gain_type = "武器"

      string = $data_weapons[@params[0]]

      if value >=0

        Audio.se_play($gain_weapon_se,80,100)

      else

        Audio.se_play($loss_weapon_se,80,100)

      end

    when 3

      gain_type = "防具"

      string = $data_armors[@params[0]]

      if value >=0

        Audio.se_play($gain_armor_se,80,100)

      else

        Audio.se_play($loss_armor_se,80,100)

      end

    end

   
    snstar2006_66rpg.contents.draw_text(0,0,160,30,gain_text+gain_type+":")

   
    unless type == 0

      snstar2006_66rpg.draw_item_name(string, 0, 30, true)

      snstar2006_66rpg.contents.draw_text(0, 30, 160, 30, "×"+value.abs.to_s, 2)

    else

      snstar2006_66rpg.contents.draw_text(0,30,165,30,value.abs.to_s + "  "+ Vocab.currency_unit, 2)

    end

   
    snstar2006_66rpg.opacity = 255 ###SR

   
    for i in 0..50

      Graphics.update

    end

   
    for i in 0..10

      snstar2006_66rpg.opacity -= 10

      snstar2006_66rpg.contents_opacity -= 10

      Graphics.update

    end

   
    snstar2006_66rpg.dispose

   
  end


  def show_gain_level_window(actor,value)

    lvstring = Vocab::level

        

    snstar2006_66rpg = Window_Base.new((640-300)/2,128,200,100)

    snstar2006_66rpg.contents = Bitmap.new(snstar2006_66rpg.width - 30, snstar2006_66rpg.height - 30)

   
    if value >= 0

      gain_text = "提升"

      Audio.se_play($gain_lv_se,80,100)

    else

      gain_text = "降低"

      Audio.se_play($loss_lv_se,80,100)

    end

   
    snstar2006_66rpg.contents.draw_text(0, 0, 110, 30, actor.name)

    string = lvstring+gain_text+value.abs.to_s+"级"

    snstar2006_66rpg.contents.draw_text(0,30,160,30,string, 2)


    snstar2006_66rpg.opacity = 160

   
    for i in 0..50

      Graphics.update

    end

   
    for i in 0..10

      snstar2006_66rpg.opacity -= 10

      snstar2006_66rpg.contents_opacity -= 10

      Graphics.update

    end

   
    snstar2006_66rpg.dispose


  end

end


回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

5
发表于 2015-12-16 14:03:24 | 只看该作者
chenyilindzh 发表于 2015-12-16 13:56
#==============================================================================

  1. @params = [i]
  2. show_gain_window 1, p
复制代码
未测试。以后发代码记得加上代码框

点评

加在事件脚本里可以用拉,3Q~  发表于 2015-12-16 14:18
加在事件脚本后面还是加物品显示脚本后面啊```  发表于 2015-12-16 14:16

评分

参与人数 1星屑 +200 收起 理由
VIPArcher + 200 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-17 05:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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