查看: 2108|回复: 6

[已经解决] 怎样让获得物品时提示,并和NPC对话得物只得一次

[复制链接]
梦石
0
星屑
50
在线时间
9 小时
注册时间
2011-9-14
回帖
8
发表于 2012-4-5 20:30:14 | 显示全部楼层 |阅读模式

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

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

×
怎样让获得物品时提示,并和NPC对话得物品只得一次
梦石
0
星屑
48
在线时间
2459 小时
注册时间
2011-12-18
回帖
1419
发表于 2012-4-5 20:36:09 | 显示全部楼层
楼主一题多问了哦
第一个请搜索 得失物品提示
第二个在事件页的结尾处插入一个独立开关,比如独立开关 A=ON 然后为该事件新建一个事件页,执行条件为独立开关操作A为ON,内容空白

评分

参与人数 1星屑 +60 收起 理由
iisnow + 60 感谢帮助

查看全部评分

这是一个深不见底的坑,这是一个广袤无边的坑,我才刚刚放上了一抔泥土……

《六道·陈国篇》开坑了……↓点我
回复

使用道具 举报

梦石
0
星屑
50
在线时间
9 小时
注册时间
2011-9-14
回帖
8
 楼主| 发表于 2012-4-5 20:52:37 | 显示全部楼层
本帖最后由 w7511368 于 2012-4-5 21:04 编辑
a364774426 发表于 2012-4-5 20:36
楼主一题多问了哦
第一个请搜索 得失物品提示
第二个在事件页的结尾处插入一个独立开关,比如独立开关 A=ON ...


(1)找不到啊!
(2)设置完后,NPC消失了!
还有怎么让得到物品后对话内容更换
回复

使用道具 举报

梦石
0
星屑
145
在线时间
352 小时
注册时间
2010-7-20
回帖
16
发表于 2012-4-5 21:17:10 | 显示全部楼层
本帖最后由 cxy51255555 于 2012-4-5 21:19 编辑

[pre lang="php" line="1"]#==============================================================================
# 本腳本來自www.66RPG.com,使用和轉載請保留此信息
#==============================================================================

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

# 開關定義:

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

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

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

$noshowarmor = 44                       # 不显示防具得失
# 以上開關,當打開的時候,獲得物品將不會提示,比如默認打開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[1], @params[2], @params[3])
    iterate_actor_id(@params[0]) do |actor|
      actor.change_level(actor.level + value, false)
      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,32,gain_text+gain_type+":")
   
    unless type == 0
      snstar2006_66rpg.draw_item_name(string, 28, 32, true)
      snstar2006_66rpg.contents.draw_text(0, 32, 150, 32, "×"+value.abs.to_s, 2)
    else
      snstar2006_66rpg.contents.draw_text(32,32,240,32,value.abs.to_s + "  "+ Vocab::gold)
    end
   
    snstar2006_66rpg.opacity = 160
   
    for i in 0..30
      Graphics.update
    end
   
    for i in 0..10
      snstar2006_66rpg.opacity -= 30
      snstar2006_66rpg.contents_opacity -= 30
      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 - 32, snstar2006_66rpg.height - 32)
   
    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, 108, 32, actor.name)
    string = lvstring+gain_text+value.abs.to_s+"级"
    snstar2006_66rpg.contents.draw_text(32,32,160,32,string)

    snstar2006_66rpg.opacity = 160
   
    for i in 0..30
      Graphics.update
    end
   
    for i in 0..10
      snstar2006_66rpg.opacity -= 30
      snstar2006_66rpg.contents_opacity -= 30
      Graphics.update
    end
   
    snstar2006_66rpg.dispose

  end
end



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

(2)NPC消失了,应该在新的事件页中NPC图形和第一面一样。

评分

参与人数 1星屑 +80 收起 理由
iisnow + 80 感谢帮助

查看全部评分

默默地,表达自己的情感。[color=Purple]♥[/color]
回复

使用道具 举报

梦石
0
星屑
50
在线时间
9 小时
注册时间
2011-9-14
回帖
8
 楼主| 发表于 2012-4-5 21:33:01 | 显示全部楼层
cxy51255555 发表于 2012-4-5 21:17
#==============================================================================
# 本腳本來自www.66RP ...

这个不行啊


‘‘──w7511368于2012-4-5 21:33补充以下内容

[@]cxy51255555[/@]
’’


‘‘──w7511368于2012-4-5 21:33补充以下内容

[@]cxy51255555[/@]
’’


‘‘──w7511368于2012-4-5 21:34补充以下内容

[@]cxy51255555[/@]这个不能用
’’
回复

使用道具 举报

梦石
0
星屑
145
在线时间
352 小时
注册时间
2010-7-20
回帖
16
发表于 2012-4-5 21:35:43 | 显示全部楼层
w7511368 发表于 2012-4-5 21:33
这个不行啊

可以用的啊
默默地,表达自己的情感。[color=Purple]♥[/color]
回复

使用道具 举报

虚空人形

梦石
0
星屑
4866
在线时间
2037 小时
注册时间
2011-8-11
回帖
3260

贵宾

发表于 2012-4-5 22:24:26 | 显示全部楼层
w7511368 发表于 2012-4-5 21:33
这个不行啊

注意:如果只得一次,在设置好物品增减事件指令后,
        用显示文章来提示即可(或搜索得失物品提示脚本)
       再插入一个独立开关A开启,新建事件页后事件图形要重新设定一次,
      内容最好是说“喂喂,我不是给你了吗”之类的已得物品提示。

点评

hcm
忘了说第二页执行条件像沙发那样就行了。  发表于 2012-4-5 22:25
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部