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

Project1

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

[已经解决] 关于RMXP的XAS3.82系统插入”待机“脚本的问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
104 小时
注册时间
2016-8-8
帖子
54
跳转到指定楼层
1
发表于 2016-8-14 13:02:27 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
在下打算用XAS3.82系统做ARPG游戏,由于将要用到动作素材较多且帧数都在8帧以上,所以我需要在XAS3.82系统后面插入了”八方向走Ver1.1“脚本和”待机动作“脚本,但是插入待机脚本后运行提示C:\Users\XST\Desktop\错误提示.png。PS:在下在玩《金庸无双霸者篇》这ARPG游戏中发现的它的人物站立跑动效果不错,发现它用的是这个脚本所以复制了过来,测试过在新建默认的RM工程中运行正常。(当然这是废话。。。)
以下是待机脚本代码
  1. #==============================================================================
  2. # ■ 待机动作系统(多种)
  3. #------------------------------------------------------------------------------
  4. #  企图改为随机的动态小动作...也就是更多的小动作...但尚未实现(原因:缺少素材)
  5. #   By 星子,whbm(企图修改)
  6. #   20140125 vioyrbr 將戰鬥動作加入
  7. #==============================================================================

  8. class Game_Character
  9.   attr_accessor :time
  10.   attr_accessor :step_anime_in
  11.   attr_accessor :old_character
  12.   alias old_ini initialize
  13.   TIME_LIMIT = 16  #等待時間
  14.   
  15.   def initialize
  16.     old_ini
  17.     @old_character = ""
  18.     [url=home.php?mod=space&uid=134219]@Time[/url] = 0
  19.     @is_battle = false
  20.   end
  21.   
  22.   #------------------------------------------------------------------------------  
  23.   # 啟用battle animation
  24.   #------------------------------------------------------------------------------  
  25.   def battle_animation
  26.     @is_battle = true
  27.   end
  28.   
  29.   #------------------------------------------------------------------------------  
  30.   # Override update
  31.   #------------------------------------------------------------------------------  
  32.   def update   
  33.     if self.is_a?(Game_Player) or self.is_a?(Game_Friends)
  34.       char_update = false
  35.       
  36.       if @time == TIME_LIMIT
  37.         @character_name = @old_character + "-D1"
  38.         @time = TIME_LIMIT + 1
  39.         @walk_anime = false
  40.         @step_anime = true
  41.         char_update = true
  42.       end
  43.       if @is_battle
  44.         @character_name = @old_character + "-D2"
  45.         @is_battle = false
  46.         @walk_anime = false
  47.         @step_anime = true
  48.         char_update = true
  49.       end
  50.       if char_update
  51.         @anime_count = 0
  52.         
  53.         #抵抗缺去的動畫--以正常圖像替代
  54.         begin
  55.           if RPG::Cache.character(@character_name,0).nil?
  56.             Mess_Text.write "Battler file missing"      #dummy, never been seen
  57.           end
  58.         rescue
  59.           @character_name = @old_character
  60.         end
  61.       end
  62.       
  63.       if (moving? or @move_route_forcing)
  64.         @time = 0
  65.         @character_name = @old_character
  66.       end
  67.       @time += 1 if @time < TIME_LIMIT
  68.     end
  69.    
  70.     # 跳跃中、移动中、停止中的分支
  71.     if jumping?
  72.       update_jump
  73.     elsif moving?
  74.       update_move
  75.     else
  76.       update_stop
  77.     end
  78.         
  79.     # 动画计数超过最大值的情况下
  80.     # ※最大值等于基本值减去移动速度 * 1 的值
  81.     frame_count = 16 * 4/$c3_每一步的帧数
  82.     if @anime_count > frame_count - @move_speed
  83.       # 停止动画为 OFF 并且在停止中的情况下
  84.       if not @step_anime and @stop_count > 0
  85.         # 还原为原来的图形
  86.         @pattern = @original_pattern
  87.       # 停止动画为 ON 并且在移动中的情况下
  88.       else
  89.         # 更新图形
  90.         @pattern = (@pattern + 1) % $c3_每一步的帧数
  91.       end
  92.       # 清除动画计数
  93.       @anime_count = 0
  94.     end
  95.         
  96.     # 等待中的情况下
  97.     if @wait_count > 0
  98.       # 减少等待计数
  99.       @wait_count -= 1
  100.       return
  101.     end
  102.     # 强制移动路线的场合
  103.     if @move_route_forcing
  104.       # 自定义移动
  105.       move_type_custom
  106.       return
  107.     end
  108.     # 事件执行待机中并且为锁定状态的情况下
  109.     if @starting or lock?
  110.       # 不做规则移动
  111.       return
  112.     end
  113.     # 如果停止计数超过了一定的值(由移动频度算出)
  114.     if @stop_count > (40 - @move_frequency * 2) * (6 - @move_frequency)
  115.       # 移动类型分支
  116.       case @move_type
  117.       when 1  # 随机
  118.         move_type_random
  119.       when 2  # 接近
  120.         move_type_toward_player
  121.       when 3  # 自定义
  122.         move_type_custom
  123.       end
  124.     end
  125.   end
  126. end

  127. class Game_Event < Game_Character
  128.     attr_reader   :event
  129. end
  130. class Game_Player < Game_Character
  131.   #--------------------------------------------------------------------------
  132.   # ● 刷新
  133.   #--------------------------------------------------------------------------
  134.   def refresh
  135.     # 同伴人数为 0 的情况下
  136.     if $game_party.actors.size == 0
  137.       # 清除角色的文件名及对像
  138.       #......................................................................
  139.       @old_character = ""
  140.       #......................................................................
  141.       @character_name = ""
  142.       @character_hue = 0
  143.       # 分支结束
  144.       return
  145.     end
  146.     # 获取带头的角色
  147.     actor = $game_party.actors[0]
  148.     # 设置角色的文件名及对像
  149.     @character_name = actor.character_name
  150.     #........................................................................
  151.     @old_character = actor.character_name
  152.     #........................................................................
  153.     @character_hue = actor.character_hue
  154.     # 初始化不透明度和合成方式子
  155.     @opacity = 255
  156.     @blend_type = 0
  157.   end
  158. end  
复制代码
人性是物性的绽放,人道是天道的赓续。

Lv1.梦旅人

梦石
0
星屑
50
在线时间
104 小时
注册时间
2016-8-8
帖子
54
来自 4楼
 楼主| 发表于 2016-8-14 16:10:45 | 只看该作者
imsy 发表于 2016-8-14 13:41
XAS系统自带待机动作,只是不仔细观察不怎么明显,也自带多帧行走图,仔细看一下范例工程的行走图文件夹就 ...

非常感谢,之前我就说那个范例不知道什么意思一直在动。我看了一下,我把自己的8行8列的行走图截取上半的4行8列,然后跟哪个Sample_Frames[8].png调换就成功显示了,但是系统判断列的帧数是不是跟文件名字后缀有关,换了其他名字就没用。

点评

应该就是由文件名[]里面的数字决定的  发表于 2016-8-14 16:13
人性是物性的绽放,人道是天道的赓续。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
11989
在线时间
21772 小时
注册时间
2010-10-24
帖子
308
来自 6楼
发表于 2016-8-14 16:54:59 | 只看该作者
本帖最后由 imsy 于 2016-8-14 17:00 编辑
箫声东传 发表于 2016-8-14 16:44
但是现在还有问题就是原主角的站立效果不知道是怎么弄的,我把我的图(我的是跑步图,然后直接在数据库里 ...


角色名.png是走路行走图
角色名_ANI.png是待机动作行走图
角色名_dash.png是跑步行走图


我没用过后面版本的XAS,是指使用一个技能朝四个方向各射出一个火球?
在TOOL的事件里使用类似这样的设置移动路线指令就行了
脸朝上
shoot(1)
脸朝下
shoot(1)
脸朝左
shoot(1)
脸朝右
shoot(1)

点评

万分感谢!  发表于 2016-8-14 17:12

评分

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

查看全部评分

回复 支持 1 反对 0

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
104 小时
注册时间
2016-8-8
帖子
54
2
 楼主| 发表于 2016-8-14 13:10:55 | 只看该作者
XAS3.82下载地址转自6R论坛

错误提示.png (18.04 KB, 下载次数: 4)

这是错误的提示截图

这是错误的提示截图
人性是物性的绽放,人道是天道的赓续。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
11989
在线时间
21772 小时
注册时间
2010-10-24
帖子
308
3
发表于 2016-8-14 13:41:32 | 只看该作者
XAS系统自带待机动作,只是不仔细观察不怎么明显,也自带多帧行走图,仔细看一下范例工程的行走图文件夹就是了,文件名“Sample_Frames[8].PNG”的就是例子。
然后二楼这个截图,是不是还用了某位坛友(在XAS的基础上)开发的BFS?就是主体上新增了队友的那一个工程。XAS本身够复杂了,跟其他脚本兼容性差也是情理之中
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
104 小时
注册时间
2016-8-8
帖子
54
5
 楼主| 发表于 2016-8-14 16:44:11 | 只看该作者
imsy 发表于 2016-8-14 13:41
XAS系统自带待机动作,只是不仔细观察不怎么明显,也自带多帧行走图,仔细看一下范例工程的行走图文件夹就 ...

但是现在还有问题就是原主角的站立效果不知道是怎么弄的,我把我的图(我的是跑步图,然后直接在数据库里HERO那更换角色脸谱)替换进去是主角静止和跑步动作一样,脚一直在动,请问这样的图怎么改,是不是跟行走图里面的顺序有关。
哦对了,还有个问题,原教程里面有个技能的放出的Tools是四方向的火球,这个是怎么调的,我只知道VA的XAS系统里可以选方向,xp的脚本技能设置那好像没看见有可以选择四方向射击的。
人性是物性的绽放,人道是天道的赓续。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
104 小时
注册时间
2016-8-8
帖子
54
7
 楼主| 发表于 2016-8-14 19:14:51 | 只看该作者
imsy 发表于 2016-8-14 16:54
角色名.png是走路行走图
角色名_ANI.png是待机动作行走图
角色名_dash.png是跑步行走图

测试发现,角色名这一块是由走路行走图的名字决定,当我把Hero.png改成Hero[8].png的话,Hero_ANI.png就无法调用,必须统一改成Hero[8]_ANI.才有效,跑步图也一样,似乎只要走路行走图改了帧数,后面所有关联到的动作图都必须统一改帧数。目前我只能按照需要改后面技能和武器动作图的帧数(帧数不统一),而不能改走路行走图的帧数了。不知道我想的对不对,想请教下。
人性是物性的绽放,人道是天道的赓续。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-22 07:03

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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