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

Project1

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

[已经解决] 请问怎么设置物品得失指示?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
663
在线时间
5 小时
注册时间
2013-10-4
帖子
3
跳转到指定楼层
1
发表于 2014-1-29 21:42:25 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
请教了。

Lv2.观梦者

梦石
0
星屑
714
在线时间
224 小时
注册时间
2009-2-19
帖子
227
5
发表于 2014-1-31 21:28:25 | 只看该作者
一帮情况下可以自己用“显示文章”的办法来写得到物品。
上面给的脚本是你可以直接在事件中直接“增减物品”就行了,不用自己写得到某某某
等待3帧的意思就是如果你“增减物品”的前面是用的一个“显示文章”的话,就在“显示文章”的后面等待3帧,在使用“增减物品”

评分

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

查看全部评分

[img][/img]
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
663
在线时间
5 小时
注册时间
2013-10-4
帖子
3
4
 楼主| 发表于 2014-1-31 15:19:01 | 只看该作者
swb11028869 发表于 2014-1-29 22:02
#==============================================================================
# 本腳本來自www.66RP ...

额……请问这个等待三帧要怎么操作?
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
372
在线时间
300 小时
注册时间
2013-2-3
帖子
94
3
发表于 2014-1-29 22:02:32 | 只看该作者
#==============================================================================
# 本腳本來自www.66RPG.com,使用和轉載請保留此信息
#==============================================================================

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

# 開關定義:

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

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

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

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

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

#——聲效,可以自己改
folder = "Audio/SE/"
$gain_gold_se   = folder +"Shop"      # 获得金钱声效
$loss_gold_se   = folder +"Blow2"     # 失去金钱声效

$gain_item_se   = folder +"Item1"     # 获得物品声效
$loss_item_se   = folder +"Blow2"     # 失去物品声效

$gain_weapon_se = folder +"Item1"     # 获得武器声效
$loss_weapon_se = folder +"Blow2"     # 失去武器声效

$gain_armor_se  = folder +"Item1"     # 获得防具声效
$loss_armor_se  = folder +"Blow2"     # 失去防具声效

$gain_lv_se     = folder +"Item1"     # 提升等级声效
$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]
        show_gain_level_window(actor,value)
      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,200,100)
    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 = 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

  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


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



兰州接着吧

评分

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

查看全部评分

关于背叛什么的,谁会在乎呢?
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
600
在线时间
1118 小时
注册时间
2012-12-24
帖子
831
2
发表于 2014-1-29 22:02:00 | 只看该作者

评分

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

查看全部评分


点击签名档去一个神奇的地方
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-14 09:15

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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