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

Project1

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

[已经解决] 事件画面外移动,显示制作名单,打开网页,弹出对框等问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
11 小时
注册时间
2014-9-7
帖子
8
跳转到指定楼层
1
发表于 2014-9-7 08:06:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 VIPArcher 于 2014-9-7 10:59 编辑

→_→这里大大的新人一枚,不知道有没有人能解决我的问题
→_→要是没法全部回答的话只回答出一个也是极感激的...

1.VA自带的使事件自主移动功能,和事件不在同一个屏幕中,事件就站原地不动了....有没有办法解决...或者有没有这方面的脚本...

2.VA在标题画面新创建了一个选项制作名单,怎么让其在打开的时候弹出文字框并显示文字...(脚本方面)

3.VA用哪句脚本可以打开网页...(默认浏览器)

4.VA用哪句脚本可以弹出windows对话框...

下次请不要一贴多问,另外帖子下面有个编辑按钮可以修改帖子的内容。——VIPArcher留

点评

同学,论坛发帖子是有规则的哦。像你这样标题没意义一帖多问。都是不行的呢。正常都会被扣分的呢,下次请不要这样子哦,请务必记得。   发表于 2014-9-7 10:55

Lv3.寻梦者

闇吼者の災悪眷族
不気味存在締造者

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
帖子
6491
2
发表于 2014-9-7 10:02:15 | 只看该作者
为什么会出现VX的问题……

第一个的话用事件画面外自律移动脚本就可以做到,稍等我待会找给你

第二个问题不是很明白,是说你打算添加新的选项(或改变)但是不知道怎么实现吗?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
11 小时
注册时间
2014-9-7
帖子
8
3
 楼主| 发表于 2014-9-7 10:11:39 | 只看该作者
三途亚梦 发表于 2014-9-7 10:02
为什么会出现VX的问题……

第一个的话用事件画面外自律移动脚本就可以做到,稍等我待会找给你

1.后面两个VX是写错了,打算写的是VA...刚刚才注意到...于是3,4条能回答嘛?
2.第二个问题...呃...简单来说...我想在游戏开始的标题画面添加一个“制作名单”选项并使它打开时显示文字和文字框,该怎么办...

点评

第二个问题推荐你使用事件标题来制作,事件标题你可以在论坛搜索一下,或者参考论坛VA图书馆里的开源游戏Glimmer。  发表于 2014-9-7 11:05
回复 支持 反对

使用道具 举报

Lv3.寻梦者

闇吼者の災悪眷族
不気味存在締造者

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
帖子
6491
4
发表于 2014-9-7 10:29:51 | 只看该作者
请叫我旋律大大 发表于 2014-9-7 10:11
1.后面两个VX是写错了,打算写的是VA...刚刚才注意到...于是3,4条能回答嘛?
2.第二个问题...呃...简单 ...

关于第一个问题的脚本

下面这个是必要的前置脚本,插在main以上
  1. #==============================================================================
  2. # ■ 注釈取得スクリプト (VX Ace用)
  3. #------------------------------------------------------------------------------
  4. # 製作者     : CanariAlternate
  5. # サイト名   : カルトの鳥篭
  6. # サイトURL  : http://canarialt.blog.fc2.com
  7. #------------------------------------------------------------------------------
  8. # ■ 概要 : 注釈を取得する処理を定義する。
  9. #
  10. # ■ 必須 : なし
  11. #
  12. # ■ 位置 : 「Game_Event」より下
  13. #------------------------------------------------------------------------------
  14. # ■ 注釈での設定方法
  15. #   以下の例のように実行内容の1行目から注釈以外のコマンドまでの注釈のどこかに
  16. #   キーワードを記述すると有効(結果を反転してる場合には無効)になります。
  17. #
  18. #             例 : 実行内容
  19. #                   ◆注釈:キーワードA キーワードC
  20. #                   :    :キーワードG キーワードF
  21. #                   :    :キーワードE
  22. #                   ◆注釈:キーワードD
  23. #                   :    :キーワードH キーワードB
  24. #                   ◆変数の操作などの注釈以外のイベントコマンド
  25. #                   ◆注釈:ここ以下に書いても無視される。
  26. #                   ◆
  27. #
  28. # ※キーワードとなる文字列の設定は正規表現です。詳しいことはヘルプを「正規表現」で検索すると出てきます。
  29. #   簡単に言うと / で囲まれた文字列があるかないかで判定します。
  30. #   \ とか ! みたいな記号を使いたい時はヘルプを参照して下さい。
  31. #   設定例、/\[キーワード\]/  #=>  [キーワード]
  32. #
  33. # ※キーワードを記述すると有効と無効が切り替わります。初期状態は無効です。
  34. #   例 : 初期状態を反転, 記述したイベントの全ての頁を反転, 記述した頁のみを反転
  35. #   まず  「初期状態を反転」                  で有効に
  36. #   次に  「記述したイベントの全ての頁を反転」で無効に
  37. #   最後に「記述した頁のみを反転」            で有効に
  38. #------------------------------------------------------------------------------
  39. # 更新履歴 : 2012/10/05 Ver1.00 コードを共通処理スクリプトに統一
  40. #            2012/10/06 Ver1.01 コードを共通処理スクリプトから分離
  41. #            2012/10/08 Ver1.02 コードの整理
  42. #            2013/02/19 Ver1.03 共通処理スクリプトの廃止による変更を施した。
  43. #==============================================================================

  44. $imported ||= {}
  45. $imported[:CanariAlternate_EventNote] = true

  46. #==============================================================================
  47. # ■ Calt
  48. #------------------------------------------------------------------------------
  49. #  CanariAlternateが製作したスクリプトの管理用モジュール
  50. #==============================================================================
  51. module Calt
  52.   #--------------------------------------------------------------------------
  53.   # ● イベントコマンドから注釈を取得 [新規]
  54.   #--------------------------------------------------------------------------
  55.   def self.Read_EventNote(list)
  56.     return String.new unless list && list[i = 0].code == 108
  57.     note = list[i].parameters[0]
  58.     note += "\n#{list[i].parameters[0]}" while [108, 408].include?(list[i += 1].code)
  59.     return note
  60.   end
  61. end

  62. #==============================================================================
  63. # ■ Game_Event
  64. #------------------------------------------------------------------------------
  65. #  イベントを扱うクラスです。条件判定によるイベントページ切り替えや、並列処理
  66. # イベント実行などの機能を持っており、Game_Map クラスの内部で使用されます。
  67. #==============================================================================
  68. class Game_Event < Game_Character
  69.   #--------------------------------------------------------------------------
  70.   # ● イベントページの設定をセットアップ [追加]
  71.   #--------------------------------------------------------------------------
  72.   alias setup_page_settings_EventNote setup_page_settings
  73.   def setup_page_settings
  74.     setup_page_settings_EventNote
  75.     setup_note_settings
  76.   end
  77.   #--------------------------------------------------------------------------
  78.   # ● イベントページ更新時に注釈から設定を取得 [新規]
  79.   #--------------------------------------------------------------------------
  80.   def setup_note_settings
  81.     # 注釈の取得処理はここに追加
  82.   end
  83.   #--------------------------------------------------------------------------
  84.   # ● 1頁目の注釈にキーワードが含まれているか判定 [新規]
  85.   #--------------------------------------------------------------------------
  86.   def whole_note_include?(keyword)
  87.     return @event.pages[0].event_note =~ keyword ? true : false
  88.   end
  89.   #--------------------------------------------------------------------------
  90.   # ● この頁の注釈にキーワードが含まれているか判定 [新規]
  91.   #--------------------------------------------------------------------------
  92.   def event_note_include?(keyword)
  93.     return @page.event_note =~ keyword ? true : false
  94.   end
  95. end

  96. #==============================================================================
  97. # ■ RPG::Event::Page
  98. #------------------------------------------------------------------------------
  99. #  イベントページのデータクラス。
  100. #==============================================================================
  101. class RPG::Event::Page
  102.   #--------------------------------------------------------------------------
  103.   # ● 取得する注釈内容を変更 [新規]
  104.   #--------------------------------------------------------------------------
  105.   attr_writer   :event_note
  106.   #--------------------------------------------------------------------------
  107.   # ● この頁の注釈を取得 [新規]
  108.   #--------------------------------------------------------------------------
  109.   def event_note
  110.     return @event_note ||= Calt::Read_EventNote(@list)
  111.   end
  112. end
复制代码
然后这个是允许事件在画面外自律移动的脚本
来自日站   カルトの鳥篭  为本站的授权的外站链接
必须把下面这个脚本加入在上面那个脚本之下

RUBY 代码复制
  1. #==============================================================================
  2. # ■ 画面外での自律移動 (VX Ace用)
  3. #------------------------------------------------------------------------------
  4. # 製作者     : CanariAlternate
  5. # サイト名   : カルトの鳥篭
  6. # サイトURL  : [url]http://canarialt.blog.fc2.com[/url]
  7. #------------------------------------------------------------------------------
  8. # ■ 概要 : 画面外での自律移動を許可する。
  9. #
  10. # ■ 必須 : 「注釈取得スクリプト」
  11. #
  12. # ■ 位置 : 「注釈取得スクリプト」より下   
  13. #------------------------------------------------------------------------------
  14. # 更新履歴 : 2012/10/01 Ver1.00 当スクリプトを作成した。
  15. #            2012/10/08 Ver1.01 注釈で個別に設定可能に変更
  16. #            2013/02/19 Ver1.02 共通処理スクリプトの廃止による変更を施した。
  17. #==============================================================================
  18.  
  19. $imported ||= {}
  20. $imported[:CanariAlternate_MoveOutScreen] = true
  21.  
  22. #==============================================================================
  23. # ■ Calt
  24. #------------------------------------------------------------------------------
  25. #  CanariAlternateが製作したスクリプト用のモジュールです。
  26. #==============================================================================
  27. module Calt
  28.   #-----------------------------------------------------------------------------
  29.   # 1. 注釈で画面外での移動を設定するキーワード
  30.   MOVE_OUT_SCREEN_EVENT_NOTE = /\[画面外での自律移動\]/ # 記述した頁に適用
  31.   #  在事件页注释  [画面外での自律移動] 则当事件在该页的时候允许自律移动
  32.   MOVE_OUT_SCREEN_WHOLE_NOTE = /\<画面外での自律移動\>/ # 全ての頁に適用(1頁目に記述)
  33.   #  在事件第一页注释  <画面外での自律移動> 则该事件全部页面都允许自律移动
  34.   MOVE_OUT_SCREEN_REVERSE    = false                    # 全てのイベントの初期状態を反転
  35.   #  把这个false设定为true,则将所有事件的初始状态设定为允许在画面外自律移动
  36.   #-----------------------------------------------------------------------------
  37. end
  38.  
  39. #==============================================================================
  40. # ■ Game_Event
  41. #------------------------------------------------------------------------------
  42. #  イベントを扱うクラスです。条件判定によるイベントページ切り替えや、並列処理
  43. # イベント実行などの機能を持っており、Game_Map クラスの内部で使用されます。
  44. #==============================================================================
  45. class Game_Event < Game_Character
  46.   #--------------------------------------------------------------------------
  47.   # ● 自律移動の更新 [◆再定義]
  48.   #--------------------------------------------------------------------------
  49.   def update_self_movement
  50.     if (near_the_screen? || @move_out_screen) && @stop_count > stop_count_threshold
  51.       case @move_type
  52.       when 1;  move_type_random
  53.       when 2;  move_type_toward_player
  54.       when 3;  move_type_custom
  55.       end
  56.     end
  57.   end
  58.   #--------------------------------------------------------------------------
  59.   # ● 画面外での自律移動の設定を取得 [新規]
  60.   #--------------------------------------------------------------------------
  61.   def get_move_out_screen_note
  62.     event_result = event_note_include?(Calt::MOVE_OUT_SCREEN_EVENT_NOTE)
  63.     whole_result = whole_note_include?(Calt::MOVE_OUT_SCREEN_WHOLE_NOTE)
  64.     return event_result ^ whole_result ^ Calt::MOVE_OUT_SCREEN_REVERSE
  65.   end
  66.   #--------------------------------------------------------------------------
  67.   # ● イベントページ更新時に注釈から設定を取得 [追加]
  68.   #--------------------------------------------------------------------------
  69.   alias setup_note_settings_MoveOutScreen setup_note_settings
  70.   def setup_note_settings
  71.     setup_note_settings_MoveOutScreen
  72.     @move_out_screen = get_move_out_screen_note
  73.   end
  74. end

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
11 小时
注册时间
2014-9-7
帖子
8
5
 楼主| 发表于 2014-9-7 10:42:43 | 只看该作者
三途亚梦 发表于 2014-9-7 10:29
关于第一个问题的脚本

下面这个是必要的前置脚本,插在main以上然后这个是允许事件在画面外自律移动的脚 ...

虽然没有提示错误...但是...么有用啊...T T
无论是放Main上面 还是插件脚本里,无论正着放,还是反着放都试了...

点评

我实测是肯定可以的,你有好好看脚本的注释吗? 必要的部分我已经帮你翻译了  发表于 2014-9-7 10:47
回复 支持 反对

使用道具 举报

Lv3.寻梦者

闇吼者の災悪眷族
不気味存在締造者

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
帖子
6491
6
发表于 2014-9-7 10:45:55 | 只看该作者
本帖最后由 三途亚梦 于 2014-9-7 10:57 编辑
请叫我旋律大大 发表于 2014-9-7 10:11
1.后面两个VX是写错了,打算写的是VA...刚刚才注意到...于是3,4条能回答嘛?
2.第二个问题...呃...简单 ...


其它几个问题解决起来都不难,不过我也得做一些尝试才能知道对不对……我玩RM时间也不算长呢。
你可以先通过论坛的搜索看看有没有类似解答

关于弹出窗口的方法就是最基本的脚本语句
在事件中用脚本输入以下内容就可以了。

msgbox "Hello World!"

至于如何打开网页
我摔个链接
↑这个,2楼回复实测可用

点评

highlight=打开%2B网页  发表于 2014-9-7 12:44

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
11 小时
注册时间
2014-9-7
帖子
8
7
 楼主| 发表于 2014-9-7 10:56:08 | 只看该作者
本帖最后由 请叫我旋律大大 于 2014-9-7 11:07 编辑
请叫我旋律大大 发表于 2014-9-7 10:42
虽然没有提示错误...但是...么有用啊...T T
无论是放Main上面 还是插件脚本里,无论正着放,还是反着放都 ...


1.谢谢~!

2.开始一看一片的火星文...完全看不懂...(原来里面还有中文啊...)
以为只要把脚本放进去就可以了呢...

3.另外你知不知道哪里有可用的视野限制脚本...搜了好几个一个都没有用呀...使用时显示错误...(我有好好看注释的!)

点评

另外,日站的脚本一般都是可操作性比较强的,所以很多都会用上注释或者备注,所以一定要虚心阅读注释。  发表于 2014-9-7 11:01
第三个问题我也编辑到楼上的回复去了。至于视野限制你再开一贴说明白视野限制要限制到什么程度吧  发表于 2014-9-7 11:00
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
11 小时
注册时间
2014-9-7
帖子
8
8
 楼主| 发表于 2014-9-7 11:19:15 | 只看该作者
请叫我旋律大大 发表于 2014-9-7 10:56
1.谢谢~!

2.开始一看一片的火星文...完全看不懂...(原来里面还有中文啊...)

1.我不是懒得看,我看不懂日文...所以看到一片日文当时我就没往下看了...所以不知道里面还有中文...是这个意思...

2.试了一下直接输入进去居然真的可以...记得cmd等外部语言在这个里面执行必须加Exec或者System的...所以说之前在前面加了这两项...直接弹出错误了才来问一下...

3.事件打开网页有用...很开心...

4.视野限制已经找到了...

5.问题2已找到答案

6.再次感谢哦。
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

百合控

梦石
0
星屑
6643
在线时间
1275 小时
注册时间
2013-8-21
帖子
3657

开拓者

9
发表于 2014-9-7 11:24:40 | 只看该作者
1.已解决

2.在游戏根目录下放一个文本文件,叫做 Credits.txt,里面写上要展示的内容,然后把这个脚本插到Main以上
RUBY 代码复制
  1. #==============================================================================
  2. # ** Window_TitleCommand
  3. #==============================================================================
  4. class Window_TitleCommand
  5.   #--------------------------------------------------------------------------
  6.   # * Create Command List
  7.   #--------------------------------------------------------------------------
  8.   alias :make_command_list_20140907_M :make_command_list
  9.   def make_command_list
  10.     make_command_list_20140907_M
  11.     add_command("制作名单", :credits) # 在这里调整选项名字
  12.   end
  13. end
  14. #==============================================================================
  15. # ** Scene_Title
  16. #==============================================================================
  17. class Scene_Title
  18.   #--------------------------------------------------------------------------
  19.   # * Create Command Window
  20.   #--------------------------------------------------------------------------
  21.   alias :create_command_window_20140907_M :create_command_window
  22.   def create_command_window
  23.     create_command_window_20140907_M
  24.     @command_window.set_handler(:credits, method(:command_credits))
  25.   end
  26.   #--------------------------------------------------------------------------
  27.   # * [Credit] Command
  28.   #--------------------------------------------------------------------------
  29.   def command_credits
  30.     Win32API.new("shell32","ShellExecute","pppppi","i").call(0,"open",
  31.     "Credits.txt",0,0,1) # 在这里调整文件名
  32.     @command_window.activate
  33.   end
  34. end


3.Win32API.new("shell32","ShellExecute","pppppi","i").call(0,"open","http://你的网址",0,0,1)

4.msgbox("内容")

点评

system("notepad Credits.txt")  发表于 2014-9-7 12:46
啊 晚了一步  发表于 2014-9-7 11:25

评分

参与人数 1星屑 +1 梦石 +1 收起 理由
VIPArcher + 1 + 1 撞车咯。

查看全部评分

萌新瑟瑟发抖
看到我请叫我去干活
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
11 小时
注册时间
2014-9-7
帖子
8
10
 楼主| 发表于 2014-9-7 11:49:53 | 只看该作者
余烬之中 发表于 2014-9-7 11:24
1.已解决

2.在游戏根目录下放一个文本文件,叫做 Credits.txt,里面写上要展示的内容,然后把这个脚本插到 ...

这个脚本好像是自己写的...大神...

1.对于帮助我的人我都很感谢的啦,早一步晚一步什么不用在意~!

2.你的第二条比起我找到的那个方法比起来好非常多...(我找到的方法要在系统自带的脚本里改...改了三条...强迫症患者表示非常不舒服...)

3.我说的文字框不是指打开一个文本...是指绘制游戏里的边框...X轴   Y轴  绘制边框....文本也是在游戏里显示的文本...
像标题画面中读取存档选项里面那样的感觉,但是没有存档的选项...只有显示文字...
如果能帮我改成这样...

点评

就是打开一个窗口显示……那样?稍等  发表于 2014-9-7 12:17
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-14 23:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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