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

Project1

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

[已经过期] 请问如何设计几种比较奇葩的技能,详见正文?

[复制链接]

Lv2.观梦者

梦石
0
星屑
702
在线时间
326 小时
注册时间
2013-5-31
帖子
74
跳转到指定楼层
1
发表于 2014-2-9 02:52:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
今日玩了N多日式RPG,非常喜欢,但是对于RUBY语言完全不懂,所以请教下如何制作一个像最终幻想4圣骑士塞西尔那个掩护技能。

还有就是我自己设计的战吼技能 我的打算是被其影响的敌人(友军)只能攻击施法者,不能攻击其他人。维持到一定回合

十字圣盾 这个技能的释放者会承受来自所有敌人(友军)的伤害(也就是掩护的升级版,掩护只能制定一个人,维持一定回合。以上技能 敌人和我方都可以通用此技能。

顺带一提,为了弥补不足,如果谁有RUBY语言的教程,请分享给我一份 吧……苦逼的脚本盲……谢谢大家。

Lv2.观梦者

梦石
0
星屑
702
在线时间
326 小时
注册时间
2013-5-31
帖子
74
2
 楼主| 发表于 2014-2-9 02:55:16 | 只看该作者
我的思路中 想到伤害反射应该有此原理,但苦逼看不懂脚本 真心跪。还望大神,给予我举一反三的教程……、
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1697
在线时间
3038 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

3
发表于 2014-2-9 02:58:57 | 只看该作者
这些技能似乎都是使用对象吧……
看起来需要先获取施法的对象,然后伤害处理的时候加入判定,如果有人有这个状态的话那么强行锁定这个人,否则就是指定的目标
大致算法是这样的……脚本我不会……
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
622
在线时间
129 小时
注册时间
2011-3-18
帖子
175
4
发表于 2014-2-9 12:47:56 | 只看该作者
你用下挑衅那个效果看看?
评你毛个负分啊!
新人们辛辛苦苦挂的分就被你们些牛叉评没了!
好不容易挂的杂兵都被你们些牛叉评没了!
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3278
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
5
发表于 2014-2-9 20:09:01 | 只看该作者
十字圣盾:其实就是保护队友这个状态,只是保护队友生效的条件是队友的HP在1/4以下。
只攻击自己的那个,其实就是挑衅,收到攻击几率1000%
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
372
在线时间
300 小时
注册时间
2013-2-3
帖子
94
6
发表于 2014-2-9 21:04:56 | 只看该作者
真嘲讽系统。你试试这个


#==============================================================================
# ■ 系统设定
#------------------------------------------------------------------------------
module P叔
# 请在下面设定敌人被嘲讽后附加的状态的ID,默认ID是26
  BEICHAOFENG = 39
# 请在下面设定角色释放嘲讽后自己附加的状态的ID,默认ID是27
  CHAOFENG = 40
end  
#==============================================================================


#==============================================================================
# ■ Game_Action
#------------------------------------------------------------------------------
#  处理战斗中的行动的类。本类在 Game_Battler 类的内部使用。
#==============================================================================

class Game_Action
  #--------------------------------------------------------------------------
  # ● 目标为敌人  # 再定义
  #--------------------------------------------------------------------------
  def targets_for_opponents
    if item.for_random?
      Array.new(item.number_of_targets) { opponents_unit.random_target }
    elsif item.for_one?
      num = 1 + (attack? ? subject.atk_times_add.to_i : 0)
      if @target_index < 0
        # 当攻击者处于被嘲讽状态并且攻击者是敌人时
        if @subject.state?(P叔::BEICHAOFENG) and @subject.is_a?(Game_Enemy)
        # 攻击目标为处于嘲讽状态的角色
          $game_party.alive_members.each do |actor|
            return [actor] * num if actor.state?(P叔::CHAOFENG) end
        end  
        return [opponents_unit.random_target] * num  
      else
        [opponents_unit.smooth_target(@target_index)] * num
      end
    else
      opponents_unit.alive_members
    end
  end
end  

#==============================================================================
# ■ Game_ActionResult
#------------------------------------------------------------------------------
#  战斗行动结果的管理类。本类在 Game_Battler 类的内部使用。
#==============================================================================

class Game_ActionResult
  #--------------------------------------------------------------------------
  # ● 获取 HP 伤害的文字  # 再定义
  #--------------------------------------------------------------------------
  def hp_damage_text
    if @hp_drain > 0
      fmt = @battler.actor? ? Vocab::ActorDrain : Vocab::EnemyDrain
      sprintf(fmt, @battler.name, Vocab::hp, @hp_drain)
    elsif @hp_damage > 0
      fmt = @battler.actor? ? Vocab::ActorDamage : Vocab::EnemyDamage
      sprintf(fmt, @battler.name, @hp_damage)
    elsif @hp_damage < 0
      fmt = @battler.actor? ? Vocab::ActorRecovery : Vocab::EnemyRecovery
      sprintf(fmt, @battler.name, Vocab::hp, -hp_damage)
    else
      fmt = @battler.actor? ? Vocab::ActorNoDamage : Vocab::EnemyNoDamage
      # 修改以下脚本,以消除附加被嘲讽状态时HP伤害为0而显示“毫发无伤”的文字。
      sprintf(fmt, @battler.name) unless @battler.state?(P叔::BEICHAOFENG)
    end
  end
end  

#==============================================================================
# ■ Game_Battler
#------------------------------------------------------------------------------
#  处理战斗者的类。Game_Actor 和 Game_Enemy 类的父类。
#==============================================================================

class Game_Battler < Game_BattlerBase
  #--------------------------------------------------------------------------
  # ● 判定状态是否可以附加  # 再定义
  #--------------------------------------------------------------------------
  def state_addable?(state_id)
    # 取消了对!state_removed?(state_id)的判断。
    # 如果执行该判断将导致状态附加失败。
    alive? && $data_states[state_id] && !state_resist?(state_id) &&
      !state_restrict?(state_id)
  end
end  
关于背叛什么的,谁会在乎呢?
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
702
在线时间
326 小时
注册时间
2013-5-31
帖子
74
7
 楼主| 发表于 2014-2-16 16:00:44 | 只看该作者
敌人也通用嘲讽……这个无法解决么?不过谢谢大家了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-21 05:42

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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