Project1

标题: 敌人等级/质量系统 绿版 [打印本页]

作者: Eclair    时间: 2008-2-3 21:28
提示: 作者被禁止或删除 内容自动屏蔽
作者: 越前リョーマ    时间: 2008-2-3 21:31
质量………………!?
作者: Eclair    时间: 2008-2-3 21:35
提示: 作者被禁止或删除 内容自动屏蔽
作者: 越前リョーマ    时间: 2008-2-3 21:42
以下引用Eclair于2008-2-3 13:35:39的发言:

把沙发撤掉LS一PP坐地上^^
质量还能是什么哟?
敌人的品质优劣嘛..同等级的一个精英幽灵 = 3个废柴幽灵……差不多吧。
按照增长率算等级越高差距越明显。


[本贴由作者于 2008-2-3 13:35:52 最后编辑]

原来如此……

把一个“人”的好坏说成质量总觉得怪怪的。
作者: yanzheng868    时间: 2008-2-4 04:07
最推崇Eclair的东西了~~~~
作者: Eclair    时间: 2008-2-4 05:48
提示: 作者被禁止或删除 内容自动屏蔽
作者: doranikofu    时间: 2008-2-4 08:02
按队列ID来设定的么 感觉不是很方便啊
还是喜欢数据库{/cy}
貌似用不上 纯支持下{/hx}
其实最近想淡化等级系统 就是说主角从头到尾升级不提升能力值{/hx}
这样设定敌人数据也变得简单了{/hx}
作者: 心梦无痕    时间: 2008-2-4 08:13
{/wx}
以下引用doranikofu于2008-2-4 0:02:25的发言:

按队列ID来设定的么 感觉不是很方便啊
还是喜欢数据库
貌似用不上 纯支持下
其实最近想淡化等级系统 就是说主角从头到尾升级不提升能力值
这样设定敌人数据也变得简单了

异同道合{/cy}
作者: 风雪优游    时间: 2008-2-4 11:49
支持一个~可惜是XP。
作者: 英俊de狗    时间: 2008-2-4 22:41
提示: 作者被禁止或删除 内容自动屏蔽
作者: 趙雲    时间: 2008-2-4 23:23
以下引用doranikofu于2008-2-4 0:02:25的发言:

按队列ID来设定的么 感觉不是很方便啊
还是喜欢数据库
貌似用不上 纯支持下
其实最近想淡化等级系统 就是说主角从头到尾升级不提升能力值
这样设定敌人数据也变得简单了

这个问题可以考虑将敌人的等级信息改为从队伍名称读取~
呵呵,绿发渐渐脚本生成机器向咯。。{/wx}
作者: Eclair    时间: 2008-2-4 23:35
提示: 作者被禁止或删除 内容自动屏蔽
作者: 趙雲    时间: 2008-2-4 23:47
以下引用趙雲于2008-2-4 15:23:57的发言:
以下引用doranikofu于2008-2-4 0:02:25的发言:
这个问题可以考虑将敌人的等级信息改为从队伍名称读取~
呵呵,绿发渐渐脚本生成机器向咯。。
[本贴由作者于 2008-2-4 15:26:11 最后编辑]


等级和质量就是对同种敌人说得哇~
如果设定许多不同的敌人,这个脚本的功能就废掉了。
另外……给偶飞出太阳系外吧!


刚从太阳系外跑回来的某云:
1-99,2-98,3-5
以此为队伍名称,配合邪恶的split方法,是否就能达到目的呢?
可以省却每个队伍添加事件
另外
  def rank=(rank)
    @rank = rank
    recover_all
  end

把这个添加上去,回复的事件就也省掉了{/hx}

作者: Eclair    时间: 2008-2-4 23:51
提示: 作者被禁止或删除 内容自动屏蔽
作者: 趙雲    时间: 2008-2-5 00:13
  1. #==========================================================================
  2. #    ★敌人等级/质量    By 绿发的Eclair
  3. #   不同质量的敌人每个等级增加多少能力请下面设定哦。
  4. #   填表格就行了,千万不要把英文的半角逗号去掉,不然会出错的。
  5. #   同样,是否显示等级和质量,经验金钱是否增加的设定也在下面完成。
  6. #   冲突性……会有一部分但是不会很高。
  7. #   使用方法:战斗第0回合的时候给敌人输入等级和质量的定义
  8. #   方法 $game_troop.enemies[ID].level = 等级
  9. #        $game_troop.enemies[ID].rank  = 质量
  10. #   ID要从0算起,第一个敌人是0,第二个是1,依此类推。
  11. #   记得设定之后要把敌人完全恢复的。
  12. #==========================================================================
  13. module Touchcat
  14.   LEVEL_ON = true           #是否显示等级
  15.   RANK_ON  = true           #是否显示“质量”*^_^*
  16.   EXP_ON   = true           #是否随质量和等级增加经验
  17.   GOLD_ON  = true           #是否随质量和等级增加金钱
  18.   #表格   HP    SP   强壮  灵巧   速度  魔力   攻击  防御  魔防  闪避 EXP GOLD
  19.   P1 = [  20 ,  20 ,  3   ,  3   ,  3  ,  3  , 0.8  ,0.8 , 0.8 ,  0  , 3  , 4] #废柴怪
  20.   P2 = [  30 ,  30 ,  4   ,  4   ,  4  ,  4  ,  1  ,  1  ,  1  ,  0  , 4  , 6] #较弱怪
  21.   P3 = [  45 ,  45 , 4.5  , 4.5  , 4.5 , 4.5 , 1.1 , 1.1 ,  1  ,  0  , 5  , 8] #一般怪
  22.   P4 = [  66 ,  66 , 5.5  , 5.5  , 5.5 , 5.5 , 1.3 , 1.3 , 1.2 , 0.1 , 7  ,10] #较强怪
  23.   P5 = [  75 ,  75 , 6.5  , 6.5  , 6.5 , 6.5 , 1.4 , 1.4 , 1.3 , 0.1 , 8  ,12] #精英怪
  24.   P6 = [ 120 , 120 , 7.5  , 7.5  , 7.5 , 7.5 , 1.6 , 1.6 , 1.4 , 0.2 , 9  ,15] #首领怪
  25.   P7 = [1000 ,1000 ,  10  ,  10  ,  10 ,  10 , 2.5 , 2.5 , 2.2 , 0.3 ,15  ,20] #变态怪
  26.   PLUS = [P1,P2,P3,P4,P5,P6,P7]
  27.   RANKNAME = ["废柴","较弱","一般","较强","精英","首领","变态"]       #质量名
  28. end

  29. class Game_Troop
  30.   #--------------------------------------------------------------------------
  31.   # ● 设置
  32.   #     troop_id : 敌方队伍 ID
  33.   #--------------------------------------------------------------------------
  34.   def setup(troop_id)
  35.     clear
  36.     @troop_id = troop_id
  37.     @enemies = []
  38.    
  39.    
  40.     for member in troop.members
  41.       index = troop.members.index(member)
  42.       next if $data_enemies[member.enemy_id] == nil
  43.       enemy = Game_Enemy.new(@enemies.size, member.enemy_id)
  44.       enemy.hidden = member.hidden
  45.       enemy.immortal = member.immortal
  46.       enemy.screen_x = member.x
  47.       enemy.screen_y = member.y
  48.       lr = troop.name.split(/~/)[index].split(/,/)
  49.       enemy.level = lr[0].to_i
  50.       enemy.rank  = lr[1].to_i
  51.       @enemies.push(enemy)
  52.     end
  53.     make_unique_names
  54.   end

  55. end


  56. class Game_Enemy < Game_Battler
  57.   attr_accessor :level
  58.   attr_accessor :rank
  59.   #--------------------------------------------------------------------------
  60.   # ● 初始化对像
  61.   #     troop_id     : 循环 ID
  62.   #     member_index : 循环成员的索引
  63.   #--------------------------------------------------------------------------
  64.   alias initialize_touchcat :initialize
  65.   def initialize(troop_id, member_index)
  66.     @level    = 1
  67.     @rank     = 0
  68.     initialize_touchcat(troop_id, member_index)
  69.   end
  70.   
  71.   def rank=(rank)
  72.    @rank = rank
  73.    recover_all
  74.   end
  75.   

  76.   
  77.   
  78.   
  79.   #--------------------------------------------------------------------------
  80.   # ● 获取名称
  81.   #--------------------------------------------------------------------------
  82.   def name
  83.     a = $data_enemies[@enemy_id].name
  84.     a = a + " "+ "LV"+ self.level.to_s if Touchcat::LEVEL_ON == true
  85.     a = a + " "+ "<" + rankname+ ">" if Touchcat::RANK_ON == true
  86.     return a
  87.   end
  88.   def rankname
  89.     return Touchcat::RANKNAME[@rank]
  90.   end
  91.   #--------------------------------------------------------------------------
  92.   # ● 获取基本 MaxHP
  93.   #--------------------------------------------------------------------------
  94.   def base_maxhp
  95.     return $data_enemies[@enemy_id].maxhp+ (@level - 1) * Touchcat::PLUS[@rank][0]
  96.   end
  97.   #--------------------------------------------------------------------------
  98.   # ● 获取基本 MaxSP
  99.   #--------------------------------------------------------------------------
  100.   def base_maxsp
  101.     return $data_enemies[@enemy_id].maxsp+ (@level - 1) * Touchcat::PLUS[@rank][1]
  102.   end
  103.   #--------------------------------------------------------------------------
  104.   # ● 获取基本力量
  105.   #--------------------------------------------------------------------------
  106.   def base_str
  107.     return ($data_enemies[@enemy_id].str  + (@level - 1) * Touchcat::PLUS[@rank][2]).round
  108.   end
  109.   #--------------------------------------------------------------------------
  110.   # ● 获取基本灵巧
  111.   #--------------------------------------------------------------------------
  112.   def base_dex
  113.     return ($data_enemies[@enemy_id].dex  + (@level - 1) * Touchcat::PLUS[@rank][3]).round
  114.   end
  115.   #--------------------------------------------------------------------------
  116.   # ● 获取基本速度
  117.   #--------------------------------------------------------------------------
  118.   def base_agi
  119.     return ($data_enemies[@enemy_id].agi  + (@level - 1) * Touchcat::PLUS[@rank][4]).round
  120.   end
  121.   #--------------------------------------------------------------------------
  122.   # ● 获取基本魔力
  123.   #--------------------------------------------------------------------------
  124.   def base_int
  125.     return ($data_enemies[@enemy_id].int  + (@level - 1) * Touchcat::PLUS[@rank][5]).round
  126.   end
  127.   #--------------------------------------------------------------------------
  128.   # ● 获取基本攻击力
  129.   #--------------------------------------------------------------------------
  130.   def base_atk
  131.     return ($data_enemies[@enemy_id].atk  + (@level - 1) * Touchcat::PLUS[@rank][6]).round
  132.   end
  133.   #--------------------------------------------------------------------------
  134.   # ● 获取基本物理防御
  135.   #--------------------------------------------------------------------------
  136.   def base_pdef
  137.     return ($data_enemies[@enemy_id].pdef + (@level - 1) * Touchcat::PLUS[@rank][7]).round
  138.   end
  139.   #--------------------------------------------------------------------------
  140.   # ● 获取基本魔法防御
  141.   #--------------------------------------------------------------------------
  142.   def base_mdef
  143.     return ($data_enemies[@enemy_id].mdef + (@level - 1) * Touchcat::PLUS[@rank][8]).round
  144.   end
  145.   #--------------------------------------------------------------------------
  146.   # ● 获取基本回避修正
  147.   #--------------------------------------------------------------------------
  148.   def base_eva
  149.     return ($data_enemies[@enemy_id].eva  + (@level - 1) * Touchcat::PLUS[@rank][9]).round
  150.   end
  151.   #--------------------------------------------------------------------------
  152.   # ● 获取 EXP
  153.   #--------------------------------------------------------------------------
  154.   def exp
  155.     if Touchcat::EXP_ON == true
  156.     return ($data_enemies[@enemy_id].exp + (@level - 1) * Touchcat::PLUS[@rank][10]).round
  157.   else
  158.     return $data_enemies[@enemy_id].exp
  159.     end
  160.   end
  161.   #--------------------------------------------------------------------------
  162.   # ● 获取金钱
  163.   #--------------------------------------------------------------------------
  164.   def gold
  165.     if Touchcat::GOLD_ON == true
  166.     return ($data_enemies[@enemy_id].gold + (@level - 1) * Touchcat::PLUS[@rank][11]).round
  167.   else
  168.     return $data_enemies[@enemy_id].gold
  169.     end
  170.   end
  171. end
复制代码




VX化完毕。
队伍名为 99,0~98,0  即 1号level,rank~2号 level,rank  的格式
绿发姐姐不会pia人家吧{/hx}






作者: 做游戏的新手    时间: 2008-2-5 00:34
支持绿发..不过能不能做成VX版的?
作者: 趙雲    时间: 2008-2-5 01:04
。。。。我是透明的么?
楼上看你的楼上。
作者: Eclair    时间: 2008-2-7 05:29
提示: 作者被禁止或删除 内容自动屏蔽
作者: 狗在监狱    时间: 2008-2-8 22:48
提示: 作者被禁止或删除 内容自动屏蔽
作者: 后汉王刘蜀    时间: 2008-2-12 08:53
提示: 作者被禁止或删除 内容自动屏蔽
作者: 皇太子    时间: 2008-3-9 22:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: office    时间: 2008-5-12 00:06
提示:
脚本“敌人等级/质量”的65行发生了NoMethodError。
  undefined method`[]' for nil:NilClass
如何解决?{/dk}
作者: 小柯    时间: 2008-5-12 00:09
以下引用office于2008-5-11 16:06:32的发言:

提示:
脚本“敌人等级/质量”的65行发生了NoMethodError。
undefined method`[]' for nil:NilClass
如何解决?

是不是和什么脚本冲突拉?
作者: mt_2a    时间: 2009-11-8 01:34
THANKS
that a good thing for me




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