Project1
标题:
如何让每个职业的属性成长不同?
[打印本页]
作者:
857707751
时间:
2011-3-25 21:45
标题:
如何让每个职业的属性成长不同?
我想弄个转职系统,每个职业的力量,魔力这些成长不同,原来的职业里只有装备这些
请教下要怎么弄?? dsu_plus_rewardpost_czw
作者:
Wind2010
时间:
2011-3-25 22:12
转职后改变角色,并调整角色等级
作者:
后知后觉
时间:
2011-3-25 22:34
记得以前回答过这样的问题.不过实现方法非常简单.就懒得去搜索了.
#==============================================================================
# ■ 职业决定角色的属性曲线
# 实现方法极其简单
# 就是将下面的6个方法里默认的 @actor_id 改成了 @class_id + Excursion
# Excursion 是一个常量 我这设置的是50.
# 意思就是:当某个角色的职业ID为1时.则该角色的成长曲线其实是第51号角色的
# 当某个角色的职业ID为3时.则该角色的成长曲线其实是第53号角色的
# 所以在使用时要注意数据库角色的数量要大于等于数据库职业数量+Excursion
# 这个脚本可能和一些属性破限脚本冲突.这个脚本的原理我已经在一开始的时候说明
# 发生冲突时就自行修改吧.
# 在更改职业ID后建议执行一下【完全回复】事件指令.
# 因为改职业后 hp 有可能大于 maxhp 调用一次【完全回复】即可修正
#==============================================================================
#==============================================================================
# ■ Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
Excursion = 50 # 角色属性曲线的偏移值 针对职业ID的偏移值
#--------------------------------------------------------------------------
# ● 获取基本 MaxHP
#--------------------------------------------------------------------------
def base_maxhp
return $data_actors[@class_id + Excursion].parameters[0, @level]
end
#--------------------------------------------------------------------------
# ● 获取基本 MaxSP
#--------------------------------------------------------------------------
def base_maxsp
return $data_actors[@class_id + Excursion].parameters[1, @level]
end
#--------------------------------------------------------------------------
# ● 获取基本力量
#--------------------------------------------------------------------------
def base_str
n = $data_actors[@class_id + Excursion].parameters[2, @level]
weapon = $data_weapons[@weapon_id]
armor1 = $data_armors[@armor1_id]
armor2 = $data_armors[@armor2_id]
armor3 = $data_armors[@armor3_id]
armor4 = $data_armors[@armor4_id]
n += weapon != nil ? weapon.str_plus : 0
n += armor1 != nil ? armor1.str_plus : 0
n += armor2 != nil ? armor2.str_plus : 0
n += armor3 != nil ? armor3.str_plus : 0
n += armor4 != nil ? armor4.str_plus : 0
return [[n, 1].max, 999].min
end
#--------------------------------------------------------------------------
# ● 获取基本灵巧
#--------------------------------------------------------------------------
def base_dex
n = $data_actors[@class_id + Excursion].parameters[3, @level]
weapon = $data_weapons[@weapon_id]
armor1 = $data_armors[@armor1_id]
armor2 = $data_armors[@armor2_id]
armor3 = $data_armors[@armor3_id]
armor4 = $data_armors[@armor4_id]
n += weapon != nil ? weapon.dex_plus : 0
n += armor1 != nil ? armor1.dex_plus : 0
n += armor2 != nil ? armor2.dex_plus : 0
n += armor3 != nil ? armor3.dex_plus : 0
n += armor4 != nil ? armor4.dex_plus : 0
return [[n, 1].max, 999].min
end
#--------------------------------------------------------------------------
# ● 获取基本速度
#--------------------------------------------------------------------------
def base_agi
n = $data_actors[@class_id + Excursion].parameters[4, @level]
weapon = $data_weapons[@weapon_id]
armor1 = $data_armors[@armor1_id]
armor2 = $data_armors[@armor2_id]
armor3 = $data_armors[@armor3_id]
armor4 = $data_armors[@armor4_id]
n += weapon != nil ? weapon.agi_plus : 0
n += armor1 != nil ? armor1.agi_plus : 0
n += armor2 != nil ? armor2.agi_plus : 0
n += armor3 != nil ? armor3.agi_plus : 0
n += armor4 != nil ? armor4.agi_plus : 0
return [[n, 1].max, 999].min
end
#--------------------------------------------------------------------------
# ● 获取基本魔力
#--------------------------------------------------------------------------
def base_int
n = $data_actors[@class_id + Excursion].parameters[5, @level]
weapon = $data_weapons[@weapon_id]
armor1 = $data_armors[@armor1_id]
armor2 = $data_armors[@armor2_id]
armor3 = $data_armors[@armor3_id]
armor4 = $data_armors[@armor4_id]
n += weapon != nil ? weapon.int_plus : 0
n += armor1 != nil ? armor1.int_plus : 0
n += armor2 != nil ? armor2.int_plus : 0
n += armor3 != nil ? armor3.int_plus : 0
n += armor4 != nil ? armor4.int_plus : 0
return [[n, 1].max, 999].min
end
end
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1