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

Project1

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

[已经解决] 怎么把VA设定成战斗失败(全灭)后传送,而不是游戏结束?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
4594
在线时间
476 小时
注册时间
2013-2-13
帖子
53
跳转到指定楼层
1
发表于 2013-7-11 12:55:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 聆语 于 2013-7-15 01:05 编辑

获得物品提示脚本在队伍有多人时不管用,怎么办?
嗯……单人时是管用的,但是角色一多就不管用了。脚本是从66RPG的VA超级整合里拿出的。
想过是不是和其余脚本冲突了,但是队伍中单人是没问题的,于是想问问看是不是脚本的问题……
如果可以改,那还请告诉我……

如果不知道这个……还请告诉我标题的答案……怎么设定……?全灭后一定要GameOver吗?


这里是获得物品提示脚本。
#==============================================================================
#
# ▼ Yanfly Engine Ace - Event Window v1.01
# -- Last Updated: 2011.12.27
# -- Level: Easy, Normal
# -- Requires: n/a
#
#==============================================================================

$imported = {} if $imported.nil?
$imported["YEA-EventWindow"] = true

#==============================================================================
# ▼ Updates
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# 2011.12.27 - Bug Fixed: Used the wrong script to hide event window.
# 2011.12.26 - Started Script and Finished.
#
#==============================================================================
# ▼ Introduction
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# The Event Window is a new feature added through this script that appears in
# the lower left corner of the screen. Whenever the player gains or loses gold
# and items, the Event Window is updated to show the changes. In addition to
# showing item gains and losses, you may even add in your own text to update
# through a Script Call.
#
#==============================================================================
# ▼ Instructions
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# To install this script, open up your script editor and copy/paste this script
# to an open slot below ▼ Materials/素材 but above ▼ Main. Remember to save.
#
# -----------------------------------------------------------------------------
# Script Calls - These commands are used with script calls.
# -----------------------------------------------------------------------------
# event_window_add_text(string)
# This inserts "string" text into the Event Window. Use \n to designate
# linebreaks in the string. If you wish to use text codes, write them in the
# strings as \\n[2] or \\c[3] to make them work properly.
#
# event_window_clear_text
# This causes the Event Window to clear all of the stored text. You can choose
# whether or not to clear the stored Event Window text every time the player
# enters a new map.
#
#==============================================================================
# ▼ Compatibility
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
# it will run with RPG Maker VX without adjusting.
#
#==============================================================================

module YEA
  module EVENT_WINDOW
   
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # - Event Window Switch -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # This is the switch used for hiding the event window. When this switch is
    # ON, the event window will be hidden from view. If it is OFF, the event
    # window will maintain normal visibility.
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    HIDE_SWITCH = 24       # If switch is ON, event window will not appear.
   
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # - General Event Window Settings -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # This section adjusts the event window. These settings adjust the overall
    # appearance of the event window from the width to the number of lines
    # shown and the window fade rate.
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    NEW_MAP_CLEAR = true    # Clear text when entering a new map?
    WINDOW_WIDTH  = 280     # Event Window width.
    VISIBLE_TIME  = 180     # Frames the window is visible before fading.
    MAX_LINES     = 4       # Maximum number of lines shown.
    WINDOW_FADE   = 8       # Fade rate for the Event Window.
   
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # - Event Window Text Settings -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # This section adjusts the text that appears in the event window. The text
    # that appears when an item is found and the text that appears when an item
    # is lost will always appear before the item found. If there is more than
    # one item found, the amount text will be added on after followed by the
    # closing text. When gold is found, no icons will be used.
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    HEADER_TEXT = "\e}"                # Text that's always used at the head.
    FOUND_TEXT  = "\ec[6]获得\ec[0] "   # Text used when an item is found.
    LOST_TEXT   = "\ec[4]失去\ec[0] "    # Text used when an item is lost.
    AMOUNT_TEXT = "×%s"                  # Text used to display an amount.
    CLOSER_TEXT = ""                   # Text that's always used at the end.
   
  end # EVENT_WINDOW
end # YEA

#==============================================================================
# ▼ Editting anything past this point may potentially result in causing
# computer damage, incontinence, explosion of user's head, coma, death, and/or
# halitosis so edit at your own risk.
#==============================================================================

#==============================================================================
# ■ Switch
#==============================================================================

module Switch
  
  #--------------------------------------------------------------------------
  # self.hide_event_window
  #--------------------------------------------------------------------------
  def self.hide_event_window
    return false if YEA::EVENT_WINDOW::HIDE_SWITCH <= 0
    return $game_switches[YEA::EVENT_WINDOW::HIDE_SWITCH]
  end
   
end # Switch

#==============================================================================
# ■ Numeric
#==============================================================================

class Numeric
  
  #--------------------------------------------------------------------------
  # new method: group_digits
  #--------------------------------------------------------------------------
  unless $imported["YEA-CoreEngine"]
  def group; return self.to_s; end
  end # $imported["YEA-CoreEngine"]
   
end # Numeric

#==============================================================================
# ■ Game_Temp
#==============================================================================

class Game_Temp
  
  #--------------------------------------------------------------------------
  # public instance variables
  #--------------------------------------------------------------------------
  attr_accessor :event_window_data
  
  #--------------------------------------------------------------------------
  # new method: add_event_window_data
  #--------------------------------------------------------------------------
  def add_event_window_data(text)
    @event_window_data = [] if @event_window_data.nil?
    return if text == ""
    @event_window_data.push(text)
  end
  
  #--------------------------------------------------------------------------
  # new method: clear_event_window_data
  #--------------------------------------------------------------------------
  def clear_event_window_data
    @event_window_data = []
  end
  
end # Game_Temp

#==============================================================================
# ■ Game_Interpreter
#==============================================================================

class Game_Interpreter
  
  #--------------------------------------------------------------------------
  # alias method: command_125
  #--------------------------------------------------------------------------
  alias game_interpreter_command_125_ew command_125
  def command_125
    game_interpreter_command_125_ew
    value = operate_value(@params[0], @params[1], @params[2])
    $game_temp.clear_event_window_data
    event_window_make_gold_text(value)
  end
  
  #--------------------------------------------------------------------------
  # alias method: command_126
  #--------------------------------------------------------------------------
  alias game_interpreter_command_126_ew command_126
  def command_126
    game_interpreter_command_126_ew
    value = operate_value(@params[1], @params[2], @params[3])
    $game_temp.clear_event_window_data
    event_window_make_item_text($data_items[@params[0]], value)
  end
  
  #--------------------------------------------------------------------------
  # alias method: command_127
  #--------------------------------------------------------------------------
  alias game_interpreter_command_127_ew command_127
  def command_127
    game_interpreter_command_127_ew
    value = operate_value(@params[1], @params[2], @params[3])
    $game_temp.clear_event_window_data
    event_window_make_item_text($data_weapons[@params[0]], value)
  end
  
  #--------------------------------------------------------------------------
  # alias method: command_128
  #--------------------------------------------------------------------------
  alias game_interpreter_command_128_ew command_128
  def command_128
    game_interpreter_command_128_ew
    value = operate_value(@params[1], @params[2], @params[3])
    event_window_make_item_text($data_armors[@params[0]], value)
  end
  
  #--------------------------------------------------------------------------
  # new method: event_window_make_gold_text
  #--------------------------------------------------------------------------
  def event_window_make_gold_text(value)
    return unless SceneManager.scene_is?(Scene_Map)
    return if Switch.hide_event_window
    if value > 0
      text = YEA::EVENT_WINDOW::FOUND_TEXT
    elsif value < 0
      text = YEA::EVENT_WINDOW::LOST_TEXT
    else; return
    end
    text += sprintf("%s%s", value.abs.group, Vocab::currency_unit)
    event_window_add_text(text)
  end
  
  #--------------------------------------------------------------------------
  # new method: event_window_make_item_text
  #--------------------------------------------------------------------------
  def event_window_make_item_text(item, value)
    return unless SceneManager.scene_is?(Scene_Map)
    return if Switch.hide_event_window
    if value > 0
      text = YEA::EVENT_WINDOW::FOUND_TEXT
    elsif value < 0
      text = YEA::EVENT_WINDOW::LOST_TEXT
    else; return
    end
    text += sprintf("\ei[%d]%s", item.icon_index, item.name)
    if value.abs > 1
      fmt = YEA::EVENT_WINDOW::AMOUNT_TEXT
      text += sprintf(fmt, value.abs.group)
    end
    event_window_add_text(text)
  end
  
  #--------------------------------------------------------------------------
  # new method: event_window_add_text
  #--------------------------------------------------------------------------
  def event_window_add_text(text)
    return unless SceneManager.scene_is?(Scene_Map)
    return if Switch.hide_event_window
    text = YEA::EVENT_WINDOW::HEADER_TEXT + text
    text += YEA::EVENT_WINDOW::CLOSER_TEXT
    SceneManager.scene.event_window_add_text(text)
  end
  
  #--------------------------------------------------------------------------
  # new method: event_window_clear_text
  #--------------------------------------------------------------------------
  def event_window_clear_text
    $game_temp.clear_event_window_data
  end
  
end # Game_Interpreter

#==============================================================================
# ■ Window_EventWindow
#==============================================================================

class Window_EventWindow < Window_Selectable
  
  #--------------------------------------------------------------------------
  # initialize
  #--------------------------------------------------------------------------
  def initialize
    dw = YEA::EVENT_WINDOW::WINDOW_WIDTH
    super(0, 0, dw, fitting_height(YEA::EVENT_WINDOW::MAX_LINES))
    self.x -= 12
    self.opacity = 0
    self.contents_opacity = 0
    @visible_counter = 0
    modify_skin
    deactivate
  end
  
  #--------------------------------------------------------------------------
  # modify_skin
  #--------------------------------------------------------------------------
  def modify_skin
    dup_skin = self.windowskin.dup
    dup_skin.clear_rect(64,  0, 64, 64)
    dup_skin.clear_rect(64, 64, 32, 32)
    self.windowskin = dup_skin
  end
  
  #--------------------------------------------------------------------------
  # item_max
  #--------------------------------------------------------------------------
  def item_max
    return $game_temp.event_window_data ? $game_temp.event_window_data.size : 1
  end
  
  #--------------------------------------------------------------------------
  # update
  #--------------------------------------------------------------------------
  def update
    super
    self.visible = show_window?
    update_visible_counter
    update_contents_opacity
  end
  
  #--------------------------------------------------------------------------
  # show_window?
  #--------------------------------------------------------------------------
  def show_window?
    return false if $game_message.visible
    return true
  end
  
  #--------------------------------------------------------------------------
  # update_visible_counter
  #--------------------------------------------------------------------------
  def update_visible_counter
    return if @visible_counter <= 0
    @visible_counter -= 1
  end
  
  #--------------------------------------------------------------------------
  # update_contents_opacity
  #--------------------------------------------------------------------------
  def update_contents_opacity
    return if @visible_counter > 0
    return if self.contents_opacity <= 0
    self.contents_opacity -= YEA::EVENT_WINDOW::WINDOW_FADE
  end
  
  #--------------------------------------------------------------------------
  # instant_hide
  #--------------------------------------------------------------------------
  def instant_hide
    @visible_counter = 0
    self.contents_opacity = 0
  end
  
  #--------------------------------------------------------------------------
  # add_text
  #--------------------------------------------------------------------------
  def add_text(text)
    $game_temp.add_event_window_data(text)
    refresh
    self.contents_opacity = 255
    @visible_counter = YEA::EVENT_WINDOW::VISIBLE_TIME
    change_y_position
    select(item_max - 1)
  end
  
  #--------------------------------------------------------------------------
  # change_y_position  这里的数字可以改变显示条的位置,数字越小越低。
  #--------------------------------------------------------------------------
  def change_y_position
    maximum = [item_max, YEA::EVENT_WINDOW::MAX_LINES].min
    self.y = Graphics.height - fitting_height(maximum) - 180
  end
  
  #--------------------------------------------------------------------------
  # refresh
  #--------------------------------------------------------------------------
  def refresh
    create_contents
    draw_all_items
  end
  
  #--------------------------------------------------------------------------
  # draw_item
  #--------------------------------------------------------------------------
  def draw_item(index)
    $game_temp.clear_event_window_data if $game_temp.event_window_data.nil?
    item = $game_temp.event_window_data[index]
    return if item.nil?
    rect = item_rect(index)
    draw_background(rect)
    rect.x += 4
    rect.width -= 8
    draw_text_ex(rect.x, rect.y, item)
  end
  
  #--------------------------------------------------------------------------
  # draw_background
  #--------------------------------------------------------------------------
  def draw_background(rect)
    back_colour1 = Color.new(0, 0, 0, 96)
    back_colour2 = Color.new(0, 0, 0, 0)
    contents.gradient_fill_rect(rect, back_colour1, back_colour2)
  end
  
end # Window_EventWindow

#==============================================================================
# ■ Scene_Map
#==============================================================================

class Scene_Map < Scene_Base
  
  #--------------------------------------------------------------------------
  # alias method: create_all_windows
  #--------------------------------------------------------------------------
  alias scene_map_create_all_windows_event_window create_all_windows
  def create_all_windows
    scene_map_create_all_windows_event_window
    create_event_window
  end
  
  #--------------------------------------------------------------------------
  # new method: create_event_window
  #--------------------------------------------------------------------------
  def create_event_window
    @event_window = Window_EventWindow.new
  end
  
  #--------------------------------------------------------------------------
  # new method: event_window_add_text
  #--------------------------------------------------------------------------
  def event_window_add_text(text)
    Sound.play_shop
    @event_window.add_text(text)
  end
  
  #--------------------------------------------------------------------------
  # alias method: post_transfer
  #--------------------------------------------------------------------------
  alias scene_map_post_transfer_ew post_transfer
  def post_transfer
    $game_temp.clear_event_window_data if YEA::EVENT_WINDOW::NEW_MAP_CLEAR
    @event_window.instant_hide
    scene_map_post_transfer_ew
  end
  
end # Scene_Map

#==============================================================================
#
# ▼ End of File
#
#==============================================================================

Lv1.梦旅人

梦石
0
星屑
50
在线时间
256 小时
注册时间
2013-5-27
帖子
196
2
发表于 2013-7-13 02:20:41 | 只看该作者
图书馆里好像就有物品显示脚本,我用了没什么问题。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
706
在线时间
183 小时
注册时间
2012-4-21
帖子
145
3
发表于 2013-7-14 15:36:33 | 只看该作者
打开事件→战斗处理→下方“全灭后继续剧情”勾上→达到效果。
另外脚本没问题,这个脚本只有VA适用,你可以看看是不是用错地方了,还是角色那里设定错了。你可以这样。
主角1搭主角2看有没有提示,主角1搭主角三有没有提示,主角1搭主角4有没有提示。主角二搭主角三有没有提示,主角一搭主角二三有没有提示。以此类推

评分

参与人数 1星屑 +70 收起 理由
Sion + 70 感谢帮忙

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21636
在线时间
9415 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

4
发表于 2013-7-14 16:34:58 | 只看该作者
暗雷遇敌不死亡请看这个:

http://rpg.blue/thread-244768-1-1.html

评分

参与人数 1梦石 +1 收起 理由
Sion + 1 又是你

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4594
在线时间
476 小时
注册时间
2013-2-13
帖子
53
5
 楼主| 发表于 2013-7-15 00:20:05 | 只看该作者
喵呜喵5 发表于 2013-7-14 16:34
暗雷遇敌不死亡请看这个:

http://rpg.blue/thread-244768-1-1.html

谢谢……十分感谢……
不过我一开始怎么没找到QAQ……
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4594
在线时间
476 小时
注册时间
2013-2-13
帖子
53
6
 楼主| 发表于 2013-7-15 00:21:20 | 只看该作者
853861078 发表于 2013-7-14 15:36
打开事件→战斗处理→下方“全灭后继续剧情”勾上→达到效果。
另外脚本没问题,这个脚本只有VA适用,你可 ...

我滚去试验了……有成果再回复你……
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-18 08:14

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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