Project1

标题: [悬赏]请人帮我编写个菜单 [打印本页]

作者: 越前リョーマ    时间: 2007-7-31 23:46
标题: [悬赏]请人帮我编写个菜单
构想图:


(本来想悬赏2VIP的,但是税的缘故……)


………………

(到目前为止,除了这次就悬赏过一次……)

              [本贴由 K’ 于 2007-7-31 17:50:30 进行了编辑]
作者: 越前リョーマ    时间: 2007-7-31 23:46
标题: [悬赏]请人帮我编写个菜单
构想图:


(本来想悬赏2VIP的,但是税的缘故……)


………………

(到目前为止,除了这次就悬赏过一次……)

              [本贴由 K’ 于 2007-7-31 17:50:30 进行了编辑]
作者: 再生的kaze    时间: 2007-8-1 00:28
提示: 作者被禁止或删除 内容自动屏蔽
作者: 越前リョーマ    时间: 2007-8-1 00:30
就是存档和读档,

只是调用窗口而已。
作者: 越前リョーマ    时间: 2007-8-1 00:31
对了,

体力和疲劳上限也需要变量控制。
作者: 越前リョーマ    时间: 2007-8-1 00:52
期待有人制作出来……
作者: Flyingpww    时间: 2007-8-1 01:35

  1. class Menu_Window < Window_Base
  2.   def initialize(battler)
  3.     super(20,20,600,440)
  4.     self.contents = Bitmap.new(width - 32, height - 32)
  5.     @battler = battler
  6.     refresh
  7.   end
  8.   def refresh
  9.     self.contents.clear
  10.     head = RPG::Cache.battler(@battler.battler_name,@battler.battler_hue)
  11.     self.contents.blt(20,20,head,Rect.new(0,0,head.width,head.height))
  12.     y = 20+head.height
  13.     self.contents.draw_text(20,y,100,32,"体力:".to_s,0)
  14.     self.contents.draw_text(20 +  64,y,100,32,$game_variables[1].to_s,0)
  15.     self.contents.draw_text(20 +  96,y,100,32,"/".to_s,0)
  16.     self.contents.draw_text(20 + 128,y,100,32,$game_variables[1].to_s,0)
  17.      
  18.     self.contents.draw_text(20      ,y + 32,100,32,"疲劳:".to_s,0)
  19.     self.contents.draw_text(20 +  64,y + 32,100,32,$game_variables[3].to_s,0)
  20.     self.contents.draw_text(20 +  96,y + 32,100,32,"/".to_s,0)
  21.     self.contents.draw_text(20 + 128,y + 32,100,32,$game_variables[3].to_s,0)
  22.    
  23.     self.contents.draw_text(20     ,y + 64,100,32,"金钱:".to_s,0)
  24.     self.contents.draw_text(20 + 64,y + 64,100,32,$game_party.gold.to_s,0)
  25.    
  26.     self.contents.draw_text(20     ,y + 96,100,32,"赌博币:".to_s,0)
  27.     self.contents.draw_text(20 + 96,y + 96,100,32,$game_variables[4].to_s,0)
  28.    
  29.     self.contents.draw_text(20     ,y + 128,100,32,"步数:".to_s,0)
  30.     self.contents.draw_text(20 + 64,y + 128,100,32,$game_variables[5].to_s,0)
  31.    end  
  32. end

  33. class Window_Time < Window_Base
  34.   def initialize
  35.     super(640-160-10,10,160,64)
  36.     self.contents = Bitmap.new(width - 32, height - 32)
  37.     refresh
  38.   end
  39.   def refresh
  40.     self.contents.clear
  41.     self.contents.draw_text(0,0,100,32,"时间".to_s,0)
  42.   end
  43. end

  44. class Scene_NewMenu
  45.   def main
  46.     @menu_window = Menu_Window.new($game_party.actors[0])
  47.     @menu_window.back_opacity = 160
  48.     @cmd = Window_Command.new(160,["物品","装备","写日记","离开游戏"])
  49.     @cmd.back_opacity = 160
  50.     @cmd.opacity = 255
  51.     @cmd.x = 250
  52.     @cmd.y = 64
  53.     @time_window = Window_Time.new
  54.     @time_window.back_opacity = 160
  55.     # 执行过渡
  56.     Graphics.transition
  57.     # 主循环
  58.     loop do
  59.       # 刷新游戏画面
  60.       Graphics.update
  61.       # 刷新输入信息
  62.       Input.update
  63.       # 刷新画面
  64.       update
  65.       # 如果切换画面就中断循环
  66.       if $scene != self
  67.         break
  68.       end
  69.     end
  70.     # 准备过渡
  71.     Graphics.freeze
  72.     @menu_window.dispose
  73.     @cmd.dispose
  74.     @time_window.dispose
  75.   end
  76.   
  77.   def update
  78.     @time_window.update
  79.     @menu_window.update
  80.     @cmd.update
  81.     if Input.trigger?(Input::C)
  82.       $game_system.se_play($data_system.decision_se)
  83.       case @cmd.index
  84.       when 0
  85.         $scene=Scene_Item.new
  86.       when 1
  87.         $scene=Scene_Equip.new
  88.       when 2
  89.         $scene=Scene_Save.new
  90.       when 3
  91.         $scene=Scene_Title.new
  92.       end
  93.     end
  94.     if Input.trigger?(Input::B)
  95.       $game_system.se_play($data_system.cancel_se)
  96.       $scene=Scene_Map.new
  97.     end  
  98.   end
  99. end
复制代码


# 调用   $scene=Scene_NewMenu.new

[LINE]1,#dddddd[/LINE]系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
作者: kaze    时间: 2007-8-1 01:49
MS我慢了{/fd}
作者: 越前リョーマ    时间: 2007-8-1 01:54
需要调用……?

没关系……
我做成公共事件好了。

看看效果先。
作者: 越前リョーマ    时间: 2007-8-1 01:59
走了很多步怎么还是0步啊……

虽然变量可以控制,
但是自己也要会增加……
作者: Flyingpww    时间: 2007-8-1 02:03
以下引用越前リョーマ于2007-7-31 17:59:27的发言:

走了很多步怎么还是0步啊……

虽然变量可以控制,
但是自己也要会增加……

那要 Game_Character 3

move_down
move_up
move_left
move_right

加入 $game_variables[5] += 1

作者: 再生的kaze    时间: 2007-8-1 02:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: 越前リョーマ    时间: 2007-8-1 02:30
但MS没有头像显示。
作者: 越前リョーマ    时间: 2007-8-1 02:31
查什么都说没有找到指定文本……
作者: kaze    时间: 2007-8-1 02:38
以下引用越前リョーマ于2007-7-31 18:31:20的发言:

查什么都说没有找到指定文本……

$scene = Scene_Menu.new,少打了两个空格虽然不影响脚本但影响查找了
作者: 越前リョーマ    时间: 2007-8-1 02:59
那头像显示呢……
作者: kaze    时间: 2007-8-1 03:47
以下引用越前リョーマ于2007-7-31 18:59:04的发言:

那头像显示呢……
  1. class Menu_Window < Window_Base
  2.   def initialize(battler)
  3.     super(20,20,600,440)
  4.     self.contents = Bitmap.new(width - 32, height - 32)
  5.     @battler = battler
  6.     refresh
  7.   end
  8.   def refresh
  9.     self.contents.clear
  10. #    head = RPG::Cache.battler(@battler.battler_name,@battler.battler_hue)
  11. #    self.contents.blt(20,20,head,Rect.new(0,0,head.width,head.height))
  12.     y = 80#+head.height
  13.     self.contents.draw_text(20,y,100,32,"体力:".to_s,0)
  14.     self.contents.draw_text(20 +  64,y,100,32,$game_variables[1].to_s,0)
  15.     self.contents.draw_text(20 +  96,y,100,32,"/".to_s,0)
  16.     self.contents.draw_text(20 + 128,y,100,32,$game_variables[1].to_s,0)
  17.      
  18.     self.contents.draw_text(20      ,y + 32,100,32,"疲劳:".to_s,0)
  19.     self.contents.draw_text(20 +  64,y + 32,100,32,$game_variables[3].to_s,0)
  20.     self.contents.draw_text(20 +  96,y + 32,100,32,"/".to_s,0)
  21.     self.contents.draw_text(20 + 128,y + 32,100,32,$game_variables[3].to_s,0)
  22.    
  23.     self.contents.draw_text(20     ,y + 64,100,32,"金钱:".to_s,0)
  24.     self.contents.draw_text(20 + 64,y + 64,100,32,$game_party.gold.to_s,0)
  25.    
  26.     self.contents.draw_text(20     ,y + 96,100,32,"赌博币:".to_s,0)
  27.     self.contents.draw_text(20 + 96,y + 96,100,32,$game_variables[4].to_s,0)
  28.    
  29.     self.contents.draw_text(20     ,y + 128,100,32,"步数:".to_s,0)
  30.     self.contents.draw_text(20 + 64,y + 128,100,32,$game_variables[5].to_s,0)
  31.    end  
  32. end

  33. class Window_Time < Window_Base
  34.   def initialize
  35.     super(640-160-10,10,160,64)
  36.     self.contents = Bitmap.new(width - 32, height - 32)
  37.     refresh
  38.   end
  39.   def refresh
  40.     self.contents.clear
  41.     self.contents.draw_text(0,0,100,32,"时间".to_s,0)
  42.   end
  43. end

  44. class Scene_NewMenu
  45.   def main
  46.     @menu_window = Menu_Window.new($game_party.actors[0])
  47.     @menu_window.back_opacity = 160
  48.     @cmd = Window_Command.new(160,["物品","装备","写日记","离开游戏"])
  49.     @cmd.back_opacity = 160
  50.     @cmd.opacity = 255
  51.     @cmd.x = 250
  52.     @cmd.y = 64
  53.     @time_window = Window_Time.new
  54.     @time_window.back_opacity = 160
  55.     # 执行过渡
  56.     Graphics.transition
  57.     # 主循环
  58.     loop do
  59.       kaze = Sprite.new
  60.       kaze.bitmap = Bitmap.new("Graphics/Pictures/kaze")
  61.       kaze.x = 80
  62.       kaze.y = 20
  63.       loop do
  64.         Graphics.update
  65. #      end
  66.       # 刷新游戏画面
  67.       Graphics.update
  68.       # 刷新输入信息
  69.       Input.update
  70.       # 刷新画面
  71.       update
  72.       # 如果切换画面就中断循环
  73.       if $scene != self
  74.         break
  75.         end
  76.       end
  77.     end
  78.     # 准备过渡
  79.     Graphics.freeze
  80.     @menu_window.dispose
  81.     @cmd.dispose
  82.     @time_window.dispose
  83.   end
  84.   
  85.   def update
  86.     @time_window.update
  87.     @menu_window.update
  88.     @cmd.update
  89.     if Input.trigger?(Input::C)
  90.       $game_system.se_play($data_system.decision_se)
  91.       case @cmd.index
  92.       when 0
  93.         $scene=Scene_Item.new
  94.       when 1
  95.         $scene=Scene_Equip.new
  96.       when 2
  97.         $scene=Scene_Save.new
  98.       when 3
  99.         $scene=Scene_Title.new
  100.       end
  101.     end
  102.     if Input.trigger?(Input::B)
  103.       $game_system.se_play($data_system.cancel_se)
  104.       $scene=Scene_Map.new
  105.     end  
  106.   end
  107. end
复制代码


头像保存在Graphics/Pictures/kaze.png 中
作者: 越前リョーマ    时间: 2007-8-1 16:39
你整合好了……?

包括头像显示和原来功能加步数……?
作者: kaze    时间: 2007-8-1 16:42
以下引用越前リョーマ于2007-8-1 8:39:01的发言:

你整合好了……?

包括头像显示和原来功能加步数……?

你没叫我弄步数啊
= =
头像弄好了,把头像的图命名为kaze放在Graphics/Pictures中就好
作者: 越前リョーマ    时间: 2007-8-1 16:43
什么脚本啊……

什么操作都不能用……
作者: 越前リョーマ    时间: 2007-8-1 16:49
越弄越出错……

弄到最后干什么都会有错……
作者: 越前リョーマ    时间: 2007-8-1 16:52
你的脚本倒好……

进入菜单按空格没用的……
退也退不出……

而且后面空白是为了显示地图啦……
作者: kaze    时间: 2007-8-1 16:52
以下引用越前リョーマ于2007-8-1 8:43:07的发言:

什么脚本啊……

什么操作都不能用……

翻了个好白的错误{/gg}
  1. class Menu_Window < Window_Base
  2.   def initialize(battler)
  3.     super(20,20,600,440)
  4.     self.contents = Bitmap.new(width - 32, height - 32)
  5.     @battler = battler
  6.     refresh
  7.   end
  8.   def refresh
  9.     self.contents.clear
  10. #    head = RPG::Cache.battler(@battler.battler_name,@battler.battler_hue)
  11. #    self.contents.blt(20,20,head,Rect.new(0,0,head.width,head.height))
  12.     y = 80#+head.height
  13.     self.contents.draw_text(20,y,100,32,"体力:".to_s,0)
  14.     self.contents.draw_text(20 +  64,y,100,32,$game_variables[1].to_s,0)
  15.     self.contents.draw_text(20 +  96,y,100,32,"/".to_s,0)
  16.     self.contents.draw_text(20 + 128,y,100,32,$game_variables[1].to_s,0)
  17.      
  18.     self.contents.draw_text(20      ,y + 32,100,32,"疲劳:".to_s,0)
  19.     self.contents.draw_text(20 +  64,y + 32,100,32,$game_variables[3].to_s,0)
  20.     self.contents.draw_text(20 +  96,y + 32,100,32,"/".to_s,0)
  21.     self.contents.draw_text(20 + 128,y + 32,100,32,$game_variables[3].to_s,0)
  22.    
  23.     self.contents.draw_text(20     ,y + 64,100,32,"金钱:".to_s,0)
  24.     self.contents.draw_text(20 + 64,y + 64,100,32,$game_party.gold.to_s,0)
  25.    
  26.     self.contents.draw_text(20     ,y + 96,100,32,"赌博币:".to_s,0)
  27.     self.contents.draw_text(20 + 96,y + 96,100,32,$game_variables[4].to_s,0)
  28.    
  29.     self.contents.draw_text(20     ,y + 128,100,32,"步数:".to_s,0)
  30.     self.contents.draw_text(20 + 64,y + 128,100,32,$game_variables[5].to_s,0)
  31.    end  
  32. end

  33. class Window_Time < Window_Base
  34.   def initialize
  35.     super(640-160-10,10,160,64)
  36.     self.contents = Bitmap.new(width - 32, height - 32)
  37.     refresh
  38.   end
  39.   def refresh
  40.     self.contents.clear
  41.     self.contents.draw_text(0,0,100,32,"时间".to_s,0)
  42.   end
  43. end

  44. class Scene_NewMenu
  45.   def main
  46.     @menu_window = Menu_Window.new($game_party.actors[0])
  47.     @menu_window.back_opacity = 160
  48.     @cmd = Window_Command.new(160,["物品","装备","写日记","离开游戏"])
  49.     @cmd.back_opacity = 160
  50.     @cmd.opacity = 255
  51.     @cmd.x = 250
  52.     @cmd.y = 64
  53.     @time_window = Window_Time.new
  54.     @time_window.back_opacity = 160
  55.     # 执行过渡
  56.     Graphics.transition
  57.     # 主循环
  58.   #  loop do

  59. #      end
  60.       # 刷新游戏画面
  61.       kaze = Sprite.new
  62.       kaze.bitmap = Bitmap.new("Graphics/Pictures/kaze")
  63.       kaze.x = 80
  64.       kaze.y = 20
  65.       loop do
  66.        Input.update
  67.       Graphics.update
  68.       # 刷新输入信息

  69.       # 刷新画面
  70.       update
  71.       # 如果切换画面就中断循环
  72.       if $scene != self
  73.         break

  74.       end
  75.   #    end
  76.     end
  77.     # 准备过渡
  78.     Graphics.freeze
  79.     @menu_window.dispose
  80.     @cmd.dispose
  81.     @time_window.dispose
  82.   end
  83.   
  84.   def update
  85.     @time_window.update
  86.     @menu_window.update
  87.     @cmd.update
  88.     if Input.trigger?(Input::C)
  89.       $game_system.se_play($data_system.decision_se)
  90.       case @cmd.index
  91.       when 0
  92.         $scene=Scene_Item.new
  93.       when 1
  94.         $scene=Scene_Equip.new
  95.       when 2
  96.         $scene=Scene_Save.new
  97.       when 3
  98.         $scene=Scene_Title.new
  99.       end
  100.     end
  101.     if Input.trigger?(Input::B)
  102.       $game_system.se_play($data_system.cancel_se)
  103.       $scene=Scene_Map.new
  104.     end  
  105.   end
  106. end
复制代码

现在好了
作者: kaze    时间: 2007-8-1 16:58
以下引用再生的kaze于2007-7-31 18:04:25的发言:
找到$scene=Scene_Menu.new
全部改成$scene=Scene_NewMenu.new
即可

再补充一点
即使是$scene=Scene_Menu.new(*)
也只要修改成
$scene=Scene_NewMenu.new
就好不要再多加数字了
作者: kaze    时间: 2007-8-1 17:01
以下引用越前リョーマ于2007-8-1 8:59:00的发言:

又一个错误……

进如菜单里面的一些选项后,
退出来会有脚本错误……

你把$scene=Scene_NewMenu.new
写成$scene=Scene_NewMenu.new(*)了吧
刚有说啦
作者: 越前リョーマ    时间: 2007-8-1 17:09
每次都是我回复的前一秒你回复的说……
作者: 越前リョーマ    时间: 2007-8-1 17:12
MS头像显示出来在对话框之下……

这样就没效果了……
MS不显示头像好点还……

PS。我自己改成显示行走图算了……


作者: 越前リョーマ    时间: 2007-8-1 17:15
MS上限显示跟数值一个数的……

算了,
我来改好了。
作者: 越前リョーマ    时间: 2007-8-1 17:26
显示时间的那两个变量呢……
作者: 絮儿    时间: 2007-8-1 19:44
=w=路过顺便帮忙除一点错```
http://rpg.blue/upload_program/files/menu``.rar
作者: 越前リョーマ    时间: 2007-8-1 19:45
还打了个包……
作者: 越前リョーマ    时间: 2007-8-1 19:47
更完美了,
不过那个时间怎么用变量控制……?
作者: 絮儿    时间: 2007-8-1 19:48
以下引用越前リョーマ于2007-8-1 11:47:13的发言:

更完美了,
不过那个时间怎么用变量控制……?

O O时间是按照顶楼要求的算法``米加变量= =||
作者: 越前リョーマ    时间: 2007-8-1 19:50
帮偶加个变量也能控制吧……{/gg}

PS。感觉多了自动走感觉麻烦了……
算了,没关系,不要变量控制了。
作者: 越前リョーマ    时间: 2007-8-1 19:51
那么就解决最后步数问题吧……

可以自动增加也要可以变量控制……
作者: 絮儿    时间: 2007-8-1 19:56
= =|||步数直接用$game_party.steps就好了的说```咳``
首先在main前那个脚本里改    self.contents.draw_text(20     ,y + 128,100,32,"步数:".to_s,0)
    self.contents.draw_text(20 + 64,y + 128,100,32,$game_party.steps.to_s,0)
然后在Game_Party里把attr_reader   :steps 改成attr_accessor   :steps  
然后就可以在事件脚本里直接 $game_party.steps += **来控制了``
作者: 越前リョーマ    时间: 2007-8-1 20:05
复杂啊……{/fd}{/fd}{/fd}
作者: 恶魔牙齿    时间: 2007-8-1 20:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: Amano    时间: 2007-8-1 20:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: 越前リョーマ    时间: 2007-8-1 20:17
还算不错……
解决了……

正在准备奖励分配……

PS。给某LS解决步数问题的100……
作者: 越前リョーマ    时间: 2007-8-1 20:28
……

絮絮姐姐这个脚本需要用调用脚本把那些原有脚本的地方替换掉么?
作者: 絮儿    时间: 2007-8-1 20:33
以下引用越前リョーマ于2007-8-1 12:28:58的发言:

……

絮絮姐姐这个脚本需要用调用脚本把那些原有脚本的地方替换掉么?

8需要``O O
作者: 越前リョーマ    时间: 2007-8-1 20:41
……

麻烦做个需要换的……
难道要我再全部辛苦的换回去么……{/ll}
作者: 再生的kaze    时间: 2007-8-1 20:46
提示: 作者被禁止或删除 内容自动屏蔽
作者: 絮儿    时间: 2007-8-1 20:47
以下引用越前リョーマ于2007-8-1 12:41:40的发言:

……

麻烦做个需要换的……
难道要我再全部辛苦的换回去么……

{/gg}你是不是把Scene_Menu都换成Scene_NewMenu了啦`````
作者: 越前リョーマ    时间: 2007-8-1 20:49
好像是,
都换成调用的那个了。

越来越麻烦了……
作者: 再生的kaze    时间: 2007-8-1 20:53
提示: 作者被禁止或删除 内容自动屏蔽
作者: 越前リョーマ    时间: 2007-8-1 21:00
改了以后错误更多……

我还是自己辛苦一下把东西全改回来吧……
作者: 越前リョーマ    时间: 2007-8-1 21:15
我要疯了……
全改回来后全是错误……
作者: 越前リョーマ    时间: 2007-8-1 21:24
全部换掉后又出错……

妈呀……
作者: 越前リョーマ    时间: 2007-8-1 21:38
我把游戏发出来,

把它改成没错误的好了……
实在辛苦啊……

ftp://[email protected]/个� ... )/牧场物语2.rar
如果地址显示错误的话,
把31改成50看看。
作者: Amano    时间: 2007-8-1 21:57
提示: 作者被禁止或删除 内容自动屏蔽
作者: 越前リョーマ    时间: 2007-8-1 22:03
地球村下载……
作者: Amano    时间: 2007-8-1 22:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: 越前リョーマ    时间: 2007-8-2 01:05
MS不错的说,

整理一下就OK啦。{/dy}
作者: 越前リョーマ    时间: 2007-8-2 01:40
奖励分摊……

最后一个制作完美版本的得到1VIP~{/hx}
作者: 越前リョーマ    时间: 2009-6-12 08:00
又一个错误……

进如菜单里面的一些选项后,
退出来会有脚本错误……




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1