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

Project1

 找回密码
 注册会员
搜索

有没有战斗时分前后站位的脚本?

查看数: 1925 | 评论数: 5 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2016-10-10 20:52

正文摘要:

理想的是不同站位有不同优劣势、并限制一些动作的系统,另外得兼容全动画战斗,不知道有没有类似的?大概有也不会十全十美吧,如果有愿意写的我可以付现金。 ...

回复

备用镧桐翎 发表于 2016-10-28 19:53:34
jiushiainilip19 发表于 2016-10-14 08:27
单手武器装备无法攻击的效果直接可以用一个if来直接判断就好了
      
if @active_battler.is_a?(Game_A ...

感谢,抱歉没有及时回复,断断续续的看了几遍你的脚本,想多少明白一些再回复,但是结果还是只能看懂一点,实际操作估计完全不行=A=。如果可能还是希望能直接有一个完整的脚本。
ps:而且我的设计也比较怪,其实我的想法是围绕boss战设计战斗的,所以敌人有无站位其实不太重要,主要是不同特点的boss让玩家被迫改变战术,所以其实被贯穿、横扫的主要是玩家队伍。
jiushiainilip19 发表于 2016-10-14 08:27:40
备用镧桐翎 发表于 2016-10-13 16:20
谢谢回答,没弹消息我没发现有响应了。。不知道你玩过跨过我的尸体没有?我希望的效果差不多就类似。一个 ...

单手武器装备无法攻击的效果直接可以用一个if来直接判断就好了
RUBY 代码复制
  1. if @active_battler.is_a?(Game_Actor) && @active_battler.weapon_id == xx
  2.          p "我不  准你这么做 "
  3.        else
  4.  
  5.         # 演奏确定 SE
  6.         $game_system.se_play($data_system.decision_se)
  7.         # 设置行动
  8.         @active_battler.current_action.kind = 0
  9.         @active_battler.current_action.basic = 0
  10.         # 开始选择敌人
  11.         start_enemy_select
  12. end


长武器会有几率伤害其前排这个效果 我游戏也用过 我自己的思路是 先 要把 敌人的站位定好然后取出敌人站位坐标

然后在例如敌人是五人   1      2     3
                                          4      5
角色 A佩戴S武器对敌人进行技能攻击. 假如 P出4 5敌人的坐标是  248 384
RUBY 代码复制
  1. if user.is_a?(Game_Actor) && user.weapon_id == 1 #需要几率就添加rand(100)<多少自己设置了
  2.    for enemy in $game_troop.enemies
  3.      if enemy.exist? && enemy!=self
  4.     case enemy.screen_x
  5.      when 248
  6.        enemy.hp-=self.damage and enemy.damage=-self.damage and  enemy.damage_pop = true
  7.     when 384
  8.        enemy.hp-=self.damage and enemy.damage=-self.damage and  enemy.damage_pop = true
  9.      end
  10.    end
  11. end
  12. end
  13. #这是我的一个方法,好的做法是对技能行动结果去搞,我也不怎么会。我也不需要 因为我要做许多特效! 贯穿也是 一个道理

点评

不知道找谁啊,其实这贴原本就是想找人的,没想起来有接单区了。过段时间我发去那边好了。还是谢谢了。  发表于 2016-11-10 00:43
你直接@人,然后谈价钱,肯定会有人帮你写的  发表于 2016-11-8 21:39
不好意思,我写不出来,- - !你可以找找版本或者去接单区发帖,或者直接@会的人帮你写呢  发表于 2016-11-8 21:38
朋友愿意写嘛,主贴说了可以出钱,如果需要美术素材以工换工也行。  发表于 2016-11-8 20:52
- - !收到 咋啦?  发表于 2016-11-8 13:38
bboodd 发表于 2016-10-13 17:20:01
等高手指导,我也想知道,楼主的设想怎么去实现。
jiushiainilip19 发表于 2016-10-11 18:33:33
本帖最后由 jiushiainilip19 于 2016-10-11 18:34 编辑

写我不会 但是做一些提示可以
战斗画面是有坐标的
RUBY 代码复制
  1. screen_y screen_x screen_z

这三种
在游戏中每一个角色都有一个固定的待机坐标,这些坐标在全动画战斗脚本中是这样写的
RUBY 代码复制
  1. class Game_Actor < Game_Battler
  2.   #--------------------------------------------------------------------------
  3.   # ● 取得战斗画面的 X 坐标
  4.   #--------------------------------------------------------------------------
  5.   def screen_x
  6.     # 返回计算后的队伍 X 坐标的排列顺序
  7.     if self.index != nil
  8.       #......................................................................
  9.       return self.index * 90 + 500
  10.       #......................................................................
  11.       else
  12.       return 0
  13.     end
  14.   end
  15.   #--------------------------------------------------------------------------
  16.   # ● 取得战斗画面的 Y 坐标
  17.   #--------------------------------------------------------------------------
  18.   def screen_y
  19.     #........................................................................
  20.     return 464 - self.index * 110 ;  
  21.     #........................................................................
  22.   end
  23.   #--------------------------------------------------------------------------
  24.   # ● 取得战斗画面的 Z 坐标
  25.   #--------------------------------------------------------------------------
  26.   def screen_z
  27.     # 返回计算后的队伍 Z 坐标的排列顺序
  28.     if self.index != nil
  29.       return 4 - self.index
  30.     else
  31.       return 0
  32.     end
  33.   end
  34. end


看不懂没关系,但是可以从另一个方式去看他,我们把视线转移到Game_Battler 3中!

然后在Game_Battler 3中P出来 例如:
RUBY 代码复制
  1. if hit_result == true
  2.       # 计算威力
  3.       power = skill.power + user.atk * skill.atk_f / 100
  4.       if power > 0
  5.         power -= self.pdef * skill.pdef_f / 200
  6.         power -= self.mdef * skill.mdef_f / 200
  7.         power = [power, 0].max
  8.       end
  9.       p user.screen_y  #P 出行动这角色的原点Y坐标  可以看下图!
  10.  
  11.       if user.is_a?(Game_Actor)  && user.screen_y==354
  12.         power*=100000
  13.       p "站位好就是牛"
  14.       end
  15.   #我方角色在Y==354的时候威力增益100000 请看实际图片如下

结果出来了,这个在行动中的角色Y值在464

好了,那我们就有办法治理他了   请看上面的代码

好了 ,我会的只有这些了,高深的没辙了,当然想写出什么效果你可以说出来
我试一试能够告诉你怎么达到(前提是我要会 - -!)

QQ截图20161011182814.png (205.03 KB, 下载次数: 19)

QQ截图20161011182814.png

QQ截图20161011183126.png (210.22 KB, 下载次数: 19)

QQ截图20161011183126.png

QQ截图20161011183134.png (104.39 KB, 下载次数: 16)

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

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

GMT+8, 2024-11-22 17:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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