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

Project1

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

[已经解决] 接下来的问题,请教

 关闭 [复制链接]

Lv4.逐梦者

素材区好人

梦石
3
星屑
7983
在线时间
3561 小时
注册时间
2011-7-21
帖子
2290

极短25参与极短24参与极短23参与极短22参与极短21参与

跳转到指定楼层
1
发表于 2011-7-21 15:20:26 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
接下来的问题
1,如何让绿发主角隔着柜台按空格和老板说话
2,如何让黄发NPC走出酒店的们,设置移动好像不行吧
3,如何显示失去物品
4,我设置跟老板对话后,金钱减少100G,可是再度对话后,又减少了,如何只能减少一次
5,如何战斗的时候显示主角


为什么只显示了敌方角色

点评

http://bbs.66rpg.com/thread-127177-1-1.html =-=LZ看看这个吧  发表于 2011-7-21 15:37

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3309
在线时间
3620 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

2
发表于 2011-7-21 15:30:06 | 只看该作者
本帖最后由 越前リョーマ 于 2011-7-21 15:35 编辑

1.你用默认的柜台元件都是有柜台属性的,本身就可以隔着讲话。不行的话把那个事件内容复制到柜台上吧。
另外你用的不是柜台是墙壁…………………………………………………………
2.移动到门前打开开关,然后在那个黄发NPC事件里新增空白事件页,条件为该开关打开。
3.搜索【得失提示】
4.减少后打开独立开关A,新建事件页,条件为独立开关A打开,这里不再减少金钱即可。
5.http://rpg.blue/thread-103909-1-1.html
其实VX我几乎没看见过显示战斗图的,都是这种 - -
6.你问题太多了,强烈要求增加悬赏 = =
7.你怎么拿窗户当椅子……

点评

噗,第7个的吐槽……好用心  发表于 2011-7-21 21:01
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
229
在线时间
596 小时
注册时间
2010-6-21
帖子
1218
3
发表于 2011-7-21 15:32:20 | 只看该作者
第一个问题可以,把老板属性设置到柜台上
XP有柜台属性,VX不知

点评

“永别了6R,我再也不能来了” 哈哈  发表于 2011-7-21 15:38
应该说是事件内容,不是属性  发表于 2011-7-21 15:32
如果我是一个美工就好啦!
回复

使用道具 举报

Lv4.逐梦者 (版主)

职业の水客

梦石
0
星屑
14230
在线时间
7233 小时
注册时间
2010-6-16
帖子
3500

开拓者

4
发表于 2011-7-21 15:35:46 | 只看该作者
1,如何让绿发主角隔着柜台按空格和老板说话
答:可以在桌子设置事件

2,如何让黄发NPC走出酒店的们,设置移动好像不行吧
答:移动路线设置-穿透ON-透明ON

3,如何显示失去物品
答:论坛搜索 得失

4,我设置跟老板对话后,金钱减少100G,可是再度对话后,又减少了,如何只能减少一次
答:加个开关

5,如何战斗的时候显示主角
答:http://rpg.blue/thread-110309-1-1.html
一个看图的地方
群爆炸重建后状态:论坛老人最多(只剩下了活跃的老人),技术力很强(依旧不变)的编程灌水群:901540785
专门讨论RM相关的Q群:56875149
PS:第一个群不是专门讨论RM的,第二个才是哦。
回复

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
186 小时
注册时间
2011-7-8
帖子
183
5
发表于 2011-7-21 15:37:21 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
354
在线时间
1036 小时
注册时间
2011-5-19
帖子
2098
6
发表于 2011-7-21 15:59:50 | 只看该作者
本帖最后由 MSQ 于 2011-7-21 16:31 编辑

我也是新手,所以只能回答部分提问。
1,vx有些桌子柜台是能默认隔着答话的,如果某个原件不能隔着柜台答话,可以用事件。事件图标同柜台,只不过把老板的触发事件粘到柜台而已。也可以在地板上粘上老板的事件,优先度为低于普通人物。
至于按空格……
2,在事件第二页中的“移动路线的设定”中,可以在右上角选择npc的移动路线。在npc的事件中也可以设定移动路线,例如在完成什么事件时,开关XX打开,在npc的事件中新建一页,勾上开关且为XX开关,设定“自主移动”为“自定路线”,再设定移动路线。
要消失的话在在事件第二页上选择“事件点的暂时消除”。
要永久消除再新建事件页,原事件页最后勾上自用开关XX打开,新建事件页的事件图形为无,自用开关勾上XX打开。
3,找http://rpg.blue/forum.php?mod=vi ... 8%E6%8F%90%E7%A4%BA
4,同2,新建事件页,自用开关,新建事件页删去-100金钱。
5,http://rpg.blue/forum.php?mod=vi ... B%E6%9F%B3%E6%9F%B3

ps:我这还有一个战斗时显示己方的脚本,以前从6r转载的,效果如下:



#==============================================================================
# ☆ Window_BattleFaceStatus Ver.1.00
#------------------------------------------------------------------------------
#  バトル画面でパーティメンバーのステータスを顔表示するウィンドウです。
#==============================================================================

class Window_BattleStatus < Window_Selectable
  #--------------------------------------------------------------------------
  # ☆ オブジェクト初期化 <追加変更>
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0-16, 416, 128+32)#変更
   
    @item_max = 1      # 追加: 項目数
    @column_max = 4    # 追加: 桁数
    @index = -1        # 追加: カーソル位置
    @spacing = 0       # 追加: 横に項目が並ぶときの空白の幅
    self.opacity = 0   # 追加: ウィンドウ背景透明
   
    refresh
    self.active = false
  end  
  #--------------------------------------------------------------------------
  # ☆ 項目を描画する矩形の取得  <新規追加>
  #     index : 項目番号
  #--------------------------------------------------------------------------
  def item_rect(index)
    rect = Rect.new(0, 0, 0, 0)
    @column_max=$game_party.members.size
   
    #rect.width = (contents.width + @spacing) / @column_max - @spacing
    #rect.height = contents.height + 32 -32
    #rect.x = index % @column_max * (rect.width + @spacing)
    #rect.y = index / @column_max - 16 +16 #* WLH
   
    rect.width = (contents.width + @spacing) / @column_max - @spacing
    rect.width=96 if @column_max<4
    rect.height = contents.height + 32 -32
    x=((self.width-32) - rect.width*@column_max )/(@column_max+1)
    rect.x = index*rect.width + x*(index+1)
    rect.y = index / @column_max - 16 +16 #* WLH
   
    return rect
  end
  #--------------------------------------------------------------------------
  # ☆ 項目の描画 <追加変更>
  #     index   : 項目番号
  #--------------------------------------------------------------------------
  def draw_item(index)
    rect = item_rect(index)
    rect.x += 4
    rect.width -= 8
    #self.contents.clear_rect(rect)
    self.contents.font.color = normal_color
    actor = $game_party.members[index]
   
   
    ms=$game_party.members.size
    w=96
    w=(self.width-32)/ms if ms>4
    x=((self.width-32) - w*ms )/(ms+1)
    x=0 if x<0
    draw_actor_face(actor,actor.index * w + 2 + x*(actor.index+1), 0,w-4) #追加
   
    size = self.contents.font.size  #追加
    self.contents.font.size=16      #追加
   
    draw_actor_name(actor, actor.index * w + 2 + x*(actor.index+1), 0-4) #追加
    draw_actor_state(actor, index*w + x*(actor.index+1), WLH*2 +12, w) #追加
   
    draw_actor_hp(actor, index*w +2 + x*(actor.index+1), WLH*3 +8, w-4) #追加
    draw_actor_mp(actor, index*w +2 + x*(actor.index+1), WLH*4 +4, w-4) #追加
   
    self.contents.font.size=size    #追加

  end
  #--------------------------------------------------------------------------
  # ☆ 顔グラフィックの描画 <追加変更>
  #     face_name  : 顔グラフィック ファイル名
  #     face_index : 顔グラフィック インデックス
  #     x          : 描画先 X 座標
  #     y          : 描画先 Y 座標
  #     size       : 表示サイズ
  #--------------------------------------------------------------------------
  def draw_face(face_name, face_index, x, y, size = 96)
    bitmap = Cache.face(face_name)
    rect = Rect.new(0, 0, 0, 0)
    rect.x = face_index % 4 * 96 + (96 - size) / 2
    rect.y = face_index / 4 * 96 #+ (96 - size) / 2#追加
   
    rect.width = size
   
    rect.height = 96 #size#追加
    self.contents.blt(x, y, bitmap, rect)
    bitmap.dispose
  end
  
  #--------------------------------------------------------------------------
  # ☆ HP の描画 <追加変更>
  #     actor : アクター
  #     x     : 描画先 X 座標
  #     y     : 描画先 Y 座標
  #     width : 幅
  #--------------------------------------------------------------------------
  def draw_actor_hp(actor, x, y, width = 120)
    ms = self.contents.font.size/2  #追加
   
    draw_actor_hp_gauge(actor, x, y, width)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y+2, 30, WLH, Vocab::hp_a)             #追加
    self.contents.font.color = hp_color(actor)
    xr = x + width
    if width <90                                                      #追加
      self.contents.draw_text(xr - ms*4, y+2, ms*4, WLH, actor.hp, 2) #追加
    else
      self.contents.draw_text(xr - ms*9, y+2, ms*4, WLH, actor.hp, 2) #追加
      self.contents.font.color = normal_color                         #追加
      self.contents.draw_text(xr - ms*5, y+2, ms, WLH, "/", 2)        #追加
      self.contents.draw_text(xr - ms*4, y+2, ms*4, WLH, actor.maxhp, 2)#追加
    end
  end
  #--------------------------------------------------------------------------
  # ☆ MP の描画 <追加変更>
  #     actor : アクター
  #     x     : 描画先 X 座標
  #     y     : 描画先 Y 座標
  #     width : 幅
  #--------------------------------------------------------------------------
  def draw_actor_mp(actor, x, y, width = 120)
    ms = self.contents.font.size/2  #追加   
   
    draw_actor_mp_gauge(actor, x, y, width)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y+2, 30, WLH, Vocab::mp_a)             #追加
    self.contents.font.color = mp_color(actor)
    xr = x + width
    if width <90                                                      #追加
      self.contents.draw_text(xr - ms*4, y+2, ms*4, WLH, actor.mp, 2) #追加
    else
      self.contents.draw_text(xr - ms*9, y+2, ms*4, WLH, actor.mp, 2) #追加
      self.contents.font.color = normal_color                         #追加
      self.contents.draw_text(xr - ms*5, y+2, ms, WLH, "/", 2)        #追加
      self.contents.draw_text(xr - ms*4, y+2, ms*4, WLH, actor.maxmp, 2)#追加
    end
  end
end

class Scene_Battle < Scene_Base
  #--------------------------------------------------------------------------
  # ☆ 対象アクター対象選択の開始 <追加変更>
  #--------------------------------------------------------------------------
  alias old_start_target_actor_selection start_target_actor_selection
  def start_target_actor_selection
    old_start_target_actor_selection
   
    @target_actor_window.y -= 16  #追加  
  end
end

#////////////////////////////////////////////////////////////////
#作成者: ehime
#サイト: 未完のダンボール (Mikan no Danboru)
#   URL: http://www.abcoroti.com/~nekoneko/index.html
#readmeやスタッフロールの明記,使用報告は任意.
#////////////////////////////////////////////////////////////////



这是6r谁转载的,抱歉,我忘了,有谁看到的话帮忙问声好!

点评

MSQ
哦,我速度太慢了。  发表于 2011-7-21 16:02

评分

参与人数 1星屑 +20 收起 理由
月夜神音 + 20 奖励~

查看全部评分

回复

使用道具 举报

Lv4.逐梦者

素材区好人

梦石
3
星屑
7983
在线时间
3561 小时
注册时间
2011-7-21
帖子
2290

极短25参与极短24参与极短23参与极短22参与极短21参与

7
 楼主| 发表于 2011-7-21 18:37:05 | 只看该作者
越前リョーマ 发表于 2011-7-21 15:30
1.你用默认的柜台元件都是有柜台属性的,本身就可以隔着讲话。不行的话把那个事件内容复制到柜台上吧。
另 ...

柜,柜台在哪,椅,椅子在哪

点评

你左边使用的那些就是正确的桌子。至于椅子……你自己认不出来吗 = =  发表于 2011-7-21 18:59
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
354
在线时间
1036 小时
注册时间
2011-5-19
帖子
2098
8
发表于 2011-7-21 19:04:54 | 只看该作者
无忧谷主幻 发表于 2011-7-21 18:37
柜,柜台在哪,椅,椅子在哪

  柜台是A中右上角的从上到下数的3,4,5,椅子在C的中间部分。
回复

使用道具 举报

Lv1.梦旅人

雨狸

梦石
0
星屑
48
在线时间
625 小时
注册时间
2011-3-19
帖子
1296
9
发表于 2011-7-22 10:27:12 | 只看该作者
1、你用的不是桌子而是墙壁……
2、设置移动路线然后独立开关操作新建事件页她就直接消失(你想在门口看到她就直接在门口弄一个她)
3、在那个主处理和外来RGSS插件脚本加上这段
  1. #==============================================================================
  2. # ■  Game_Interpreter
  3. #------------------------------------------------------------------------------
  4. #  执行事件命令的解释器。本类在 Game_System 类
  5. # 与 Game_Event 类的内部使用。
  6. #==============================================================================
  7. class Game_Interpreter
  8.   #--------------------------------------------------------------------------
  9.   # ● 得失物品自动提示的刷新时间控制
  10.   #--------------------------------------------------------------------------
  11.   def call_6RgetItem(para1, para2 = nil, para3 = nil)
  12.     temp_window = Window_Gain_Item.new(para1, para2, para3)
  13.     Sound.play_shop
  14.     for i in 0..120
  15.       Graphics.update
  16.       Input.update
  17.       if Input.trigger?(Input::C) or Input.trigger?(Input::B)
  18.         Sound.play_cancel
  19.         break
  20.       end
  21.     end
  22.     for i in 0..15
  23.       temp_window.opacity -= 20
  24.       temp_window.contents_opacity -= 16
  25.       temp_window.update
  26.       Graphics.update
  27.     end   
  28.     temp_window.dispose
  29.     temp_window = nil
  30.   end  
  31.   #--------------------------------------------------------------------------
  32.   # ● 增减金钱
  33.   #--------------------------------------------------------------------------
  34.   def command_125
  35.     value = operate_value(@params[0], @params[1], @params[2])
  36.     $game_party.gain_gold(value)
  37.     call_6RgetItem("gold", value)
  38.     return true
  39.   end
  40.   #--------------------------------------------------------------------------
  41.   # ● 增减物品
  42.   #--------------------------------------------------------------------------
  43.   def command_126
  44.     value = operate_value(@params[1], @params[2], @params[3])
  45.     $game_party.gain_item($data_items[@params[0]], value)
  46.     $game_map.need_refresh = true
  47.     call_6RgetItem("item", $data_items[@params[0]], value)
  48.     return true
  49.   end  
  50.   #--------------------------------------------------------------------------
  51.   # ● 增减武器
  52.   #--------------------------------------------------------------------------
  53.   def command_127
  54.     value = operate_value(@params[1], @params[2], @params[3])
  55.     $game_party.gain_item($data_weapons[@params[0]], value, @params[4])
  56.     call_6RgetItem("item", $data_weapons[@params[0]], value)
  57.     return true
  58.   end
  59.   #--------------------------------------------------------------------------
  60.   # ● 增减防具
  61.   #--------------------------------------------------------------------------
  62.   def command_128
  63.     value = operate_value(@params[1], @params[2], @params[3])
  64.     $game_party.gain_item($data_armors[@params[0]], value, @params[4])
  65.     call_6RgetItem("item", $data_armors[@params[0]], value)
  66.     return true
  67.   end
  68. end

  69. #==============================================================================
  70. # ■ Window_Gain_Item
  71. #------------------------------------------------------------------------------
  72. #  显示获得物品的窗口。
  73. #==============================================================================

  74. class Window_Gain_Item < Window_Base
  75.   #--------------------------------------------------------------------------
  76.   # ● 初始化窗口
  77.   #--------------------------------------------------------------------------
  78.   def initialize(para1, para2 = nil, para3 = nil)
  79.     super(0, 0, 160, WLH + 32)
  80.     self.z = 10000
  81.     case para1
  82.     when "item"
  83.       str = "获得"
  84.       if para3 < 0 then
  85.         str = "失去"
  86.         para3 = - para3
  87.       end
  88.       winwidth = contents.text_size("  你获得了: ?  " + para3.to_s).width + 24 + contents.text_size(para2.name).width
  89.       self.width = winwidth + 64
  90.       self.height = 64
  91.       self.x = (Graphics.width - self.width) / 2
  92.       self.y = (Graphics.height - self.height) / 2
  93.       create_contents
  94.       self.contents.draw_text(0, 0, self.width, 32, "  你" + str + "了: ")
  95.       tx = contents.text_size("  你" + str + "了:").width
  96.       draw_item_name(para2, tx , 0, true)
  97.       self.contents.draw_text(tx + 24, 0, self.width, 32, para2.name)
  98.       tx = contents.text_size("  你" + str + "了: ").width + 24 + contents.text_size(para2.name).width
  99.       self.contents.draw_text(tx, 0, self.width, 32, " ? + para3.to_s)
  100.     when "gold"
  101.       str = "获得"
  102.       if para2 < 0 then
  103.         str = "失去"
  104.         para2 = - para2
  105.       end
  106.       winwidth = contents.text_size("  你获得了:   " + Vocab.gold.to_s).width + contents.text_size(para2).width
  107.       self.width = winwidth + 64
  108.       self.height = 64
  109.       self.x = (Graphics.width - self.width) / 2
  110.       self.y = (Graphics.height - self.height) / 2
  111.       create_contents
  112.       self.contents.draw_text(0, 0, self.width, 32, "  你" + str + "了: #{para2} " + Vocab.gold.to_s)
  113.     end
  114.   end
  115.   #--------------------------------------------------------------------------
  116.   # ● 物品名的描画
  117.   #     item : 物品(特技、武器、防具可)
  118.   #     x    : 描画目标 X 坐标
  119.   #     y    : 描画目标 Y 坐标
  120.   #     enabled : 有效标记录。是false 的时候半透明绘画
  121.   #--------------------------------------------------------------------------
  122.   def draw_item_name(item, x, y, enabled = true)
  123.     if item != nil
  124.       draw_icon(item.icon_index, x, y, enabled)
  125.       self.contents.font.color = normal_color
  126.       self.contents.font.color.alpha = enabled ? 255 : 128
  127.     end
  128.   end  
  129. end
复制代码
4、使用独立开关什么的新建事件页那个新建事件页不用钱就可以了。

5、
  1. #==============================================================================
  2. # ■ Window_BattleStatus
  3. #------------------------------------------------------------------------------
  4. #  显示战斗画面同伴状态的窗口。
  5. #==============================================================================

  6. class Window_BattleStatus < Window_Selectable
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     super(0, 0, 416, 128)
  12.     self.contents.font.size = 18
  13.     refresh
  14.     self.active = false
  15.   end
  16.   #--------------------------------------------------------------------------
  17.   # ● 释放
  18.   #--------------------------------------------------------------------------
  19.   def dispose
  20.     super
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # ● 刷新
  24.   #--------------------------------------------------------------------------
  25.   def refresh
  26.     self.contents.clear
  27.     @item_max = $game_party.members.size
  28.     for i in 0...@item_max
  29.       draw_item(i)
  30.     end
  31.     draw_6Rface(@index) if @index >= 0
  32.   end
  33.   #--------------------------------------------------------------------------
  34.   # ● 描绘项目
  35.   #     index : 项目编号
  36.   #--------------------------------------------------------------------------
  37.   def draw_item(index)
  38.     rect = item_rect(index)
  39.     rect.x += 4
  40.     rect.width -= 8
  41.     self.contents.clear_rect(rect)
  42.     self.contents.font.color = normal_color
  43.     actor = $game_party.members[index]
  44.     draw_actor_name(actor, 124, rect.y + 2)
  45.     begin_x = self.contents.text_size(actor.name).width + 4
  46.     draw_actor_state(actor, begin_x, rect.y, 24)
  47.     draw_actor_hp(actor, 230, rect.y, 65)
  48.     draw_actor_mp(actor, 310, rect.y, 65)
  49.   end
  50.   #--------------------------------------------------------------------------
  51.   # ● 描绘人物头像
  52.   #     index : 项目编号
  53.   #--------------------------------------------------------------------------
  54.   def draw_6Rface(index)
  55.     rect = Rect.new(0, 0, 96, 96)
  56.     self.contents.clear_rect(rect)
  57.     actor = $game_party.members[index]
  58.     draw_actor_face(actor, 0, 0, 96)
  59.   end  
  60.   #--------------------------------------------------------------------------
  61.   # ● 设置光标的位置
  62.   #     index : 新的光标位置
  63.   #--------------------------------------------------------------------------
  64.   def index=(index)
  65.     @index = index
  66.     update_cursor
  67.     refresh
  68.   end
  69.   #--------------------------------------------------------------------------
  70.   # ● 获取项目描画矩形
  71.   #     index : 项目编号
  72.   #--------------------------------------------------------------------------
  73.   def item_rect(index)
  74.     rect = Rect.new(0, 0, 0, 0)
  75.     rect.width = contents.width - 113
  76.     rect.height = WLH
  77.     rect.x = 113
  78.     rect.y = index / @column_max * WLH
  79.     return rect
  80.   end  
  81.   #--------------------------------------------------------------------------
  82.   # ● 更新光标矩形
  83.   #--------------------------------------------------------------------------
  84.   def update_cursor
  85.     if @index < 0                   # 光标位置不满 0 的情况下
  86.       self.cursor_rect.empty        # 光标无效
  87.     else                            # 光标位 0 以上的情况下
  88.       row = @index / @column_max    # 获取当前的行
  89.       if row < top_row              # 当前行被显示开头行前面的情况下
  90.         self.top_row = row          # 从当前行向开头行滚动
  91.       end
  92.       if row > bottom_row           # 当前行被显示末尾行之后的情况下
  93.         self.bottom_row = row       # 从当前行向末尾滚动
  94.       end
  95.       rect = item_rect(@index)      # 获取选择项的矩形
  96.       rect.y -= self.oy             # 矩形滚动的位置加起来
  97.       self.cursor_rect = rect       # 更新光标矩形
  98.     end
  99.   end
  100. end
复制代码
明夕,何夕
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-11 04:14

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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