Project1
标题:
类火纹支援系统
[打印本页]
作者:
九夜神尊
时间:
2009-1-8 20:36
标题:
类火纹支援系统
玩过火纹的都知道,里面有个叫支援的东东
当两个有支援效果的角色靠近是,相对属性可以提升
回合制的RPG虽然,不存在远近的问题,但是可以
让在队的角色相互支援,得到能力提升的效果,另外还支持
支援等级提升(提升方法自行设定)
另外,角色死亡后,支援也会失去效果。
#====================================================================
#■ 玩过火焰之纹章的都知道
#有个叫支援的设定,当两个人靠近的时候,属性上升
#当然,RPG没有什么靠近的东西,不过可以,实现当某些人在队的时候
#支援成立 ,另外这个角色死了也失去作用
#====================================================================
#●注意,用事件使某角色离队,或加入,或死亡,然后变量代入角色的
#属性时,会代入没有角色替换之前的能力
#解决方法是在调用之前,先在事件脚本写写上 :刷型支援
#范例里有
#---------------------------------------------------------------------
#提前设定好支援的相关数据 ,0代表没有
# 角色 ID1 ID2 ID3 ID4 HP MP 力 灵 速 魔 攻 物防 魔防 依附变量ID
$组合A = [1 , 2 , 0 , 0 , 50, 45, 15, 15 , 15, 15, 15 , 15 ,15 , 1]
$组合B = [7, 8 , 0 ,0 ,80, 56, 12, 12 , 12 , 12, 12 , 12, 12, 2]
#$组合C = [7, 8 , 0 ,0 ,80, 56, 12, 12 , 12 , 12, 12 , 12, 12, 2]
# 以上设定代表当几个ID角色同时在队时,能力提升的幅度
#特别注意最后那个依附变量ID,这个是用于支援等级提升用,所有的值
#都会 * 依附变量/100
#比如 依附变量 = 300,那么当1,2号角色同时在队
# 时1,2号角色的力量提升 = 15 * 300/100=45
$组合 = [$组合A,$组合B] #添加一个别忘了在这里添加一下
#由于本人就数不过关,还是填写下最大角色编号的
$最大角色编号 = 8
#----------------------------------------------------------------------------
#设定为 1,2,0,0 的意思并不是只有1,2在的时候支援,
#而是只要1,2号在队就能产生支援,如此也可以设定3个,4个同时在队
#支援效果是叠加的,如果一个人产生了3组,支援,那这些值全都会加到身上
class Game_Actor < Game_Battler
#-----------------------------------------------------------------------------
# ●获取支援的值
#-----------------------------------------------------------------------------
def boost(actor_id,attribute)
gain = 0
for i in 0..$组合.size - 1
m = true
n = false
for j in 0..3
if $组合[i][j] != 0
n = true if id == $组合[i][j]
m = false if $here[$组合[i][j]] == false
end
end
if n and m
gain +=($组合[i][attribute] * $game_variables[$组合[i][13]]/100)
end
end
return gain
end
#--------------------------------------------------------------------------
# ● 获取基本 MaxHP
#--------------------------------------------------------------------------
alias swtf_base_maxhp base_maxhp
def base_maxhp
n = swtf_base_maxhp
n += boost(id,4)
return n
end
#--------------------------------------------------------------------------
# ● 获取基本 MaxSP
#--------------------------------------------------------------------------
alias swtf_base_maxsp base_maxsp
def base_maxsp
n = swtf_base_maxsp
n += boost(id,5)
return n
end
#--------------------------------------------------------------------------
# ● 获取基本力量
#--------------------------------------------------------------------------
alias swtf_base_str base_str
def base_str
n = swtf_base_str
n += boost(id,6)
return n
end
#--------------------------------------------------------------------------
# ● 获取基本灵巧
#--------------------------------------------------------------------------
alias swtf_base_dex base_dex
def base_dex
n = swtf_base_dex
n +=boost(id,7)
return n
end
#--------------------------------------------------------------------------
# ● 获取基本速度
#--------------------------------------------------------------------------
alias swtf_base_agi base_agi
def base_agi
n = swtf_base_agi
n += boost(id,8)
return n
end
#--------------------------------------------------------------------------
# ● 获取基本魔力
#--------------------------------------------------------------------------
alias swtf_base_int base_int
def base_int
n = swtf_base_int
n += boost(id,9)
return n
end
#--------------------------------------------------------------------------
# ● 获取基本攻击力
#--------------------------------------------------------------------------
alias swtf_base_atk base_atk
def base_atk
n = swtf_base_atk
n += boost(id,10)
return n
end
#--------------------------------------------------------------------------
# ● 获取基本物理防御
#--------------------------------------------------------------------------
alias swtf_base_pdef base_pdef
def base_pdef
n = swtf_base_pdef
n += boost(id,11)
return n
end
#--------------------------------------------------------------------------
# ● 获取基本魔法防御
#--------------------------------------------------------------------------
alias swtf_base_mdef base_mdef
def base_mdef
n = swtf_base_mdef
n +=n += boost(id,12)
return n
end
end
$here = []
class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# ● 初始化目标
#--------------------------------------------------------------------------
alias swtf_initialize initialize
def initialize
for i in 1..$最大角色编号
actor = $game_actors[i]
$here[i] = $game_party.actors.include?(actor)
$here[i] = false if actor.state?(1)
end
swtf_initialize
end
end
#---------------------------------------------------------------------------
#设置特殊代码
def 刷新支援
for i in 1..$最大角色编号
actor = $game_actors[i]
$here[i] = $game_party.actors.include?(actor)
$here[i] = false if actor.state?(1)
end
end
复制代码
另外我还将发布一些支援升级的相关脚本,不过本身就支持
只是当前还没有开放,根据战斗提升支援的功能
该脚本冲突的可能性极低,因为基本上没有改什么东西。
不过要放到最后,至少在装备扩充之后!
不懂可以看范例
http://rpg.blue/upload_program/d ... ject1_111846974.rar
作者:
九夜神尊
时间:
2009-1-9 19:13
怎么没人看啊?自己顶下
作者:
ONEWateR
时间:
2009-1-11 04:41
不错耶。
我也研究火纹。
这个貌似可以哦 ^^
这个支持容积么。 ← pia飞 {/tp}
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1