忘记了防御的英文缩写也是定义的缩写, 我这里有三个解决办法: 1,把防御的缩写改了,这个是最麻烦的。 2,以将角色的防御值代入变量,然后公式中的def用变量代替。 3,重新定义一个属性,其值等于防御。然后公式中的def用这个新的属性代替。 方法三具体实现如下:
|
如果攻击防御什么的定义没有变,我想这样应该就可以了
|
本帖最后由 亂堂和樹 于 2012-10-29 19:29 编辑 不...早上是用手機上網..不太能表達清楚0.0" a364774426前輩說的是對的... 但是這SRPG2的腳本~他有另外定義 class Game_Enemy < Game_Battler #敵、中立方角色數據能力取得 #-------------------------------------------------------------------------- # ● 命中率の取得 #-------------------------------------------------------------------------- def hit return apply_tile_effect(enemy.hit, TSRPG::HIT) end #-------------------------------------------------------------------------- # ● 回避率の取得 #-------------------------------------------------------------------------- def eva return apply_tile_effect(enemy.eva, TSRPG::EVA) end #-------------------------------------------------------------------------- # ● クリティカル率の取得 #-------------------------------------------------------------------------- def cri n = enemy.has_critical ? 10 : 0 return apply_tile_effect(n, TSRPG::CRI) end -------還有----- class Game_Actor < Game_Battler #我方角色數據能力取得 #-------------------------------------------------------------------------- # ● 基本敏捷性(移動力)の取得 #-------------------------------------------------------------------------- def base_agi n = actor.parameters[5, @level] for item in equips.compact do n += item.agi end if TSRPG::JOB_AGI[@class_id] != nil # 職業別移動力補正あり n += TSRPG::JOB_AGI[@class_id] end n -= 1 if over_weight? # 重量過多ならマイナス1#←已取消重量腳本 return n end #-------------------------------------------------------------------------- # ● 命中率の取得 #-------------------------------------------------------------------------- def hit if two_swords_style n1 = weapons[0] == nil ? 95 : weapons[0].hit n2 = weapons[1] == nil ? 95 : weapons[1].hit n = [n1, n2].min else n = weapons[0] == nil ? 95 : weapons[0].hit end n = apply_tile_effect(n, TSRPG::HIT) # 地形効果による補正を適用 return n end #-------------------------------------------------------------------------- # ● 回避率の取得 #-------------------------------------------------------------------------- def eva n = over_weight? ? 0 : 5 # 重量過多なら基本値を0に#←已取消重量腳本 for item in armors.compact do n += item.eva end n = apply_tile_effect(n, TSRPG::EVA) # 地形効果による補正を適用 return n end #-------------------------------------------------------------------------- # ● クリティカル率の取得 #-------------------------------------------------------------------------- def cri n = 4 n += 4 if actor.critical_bonus for weapon in weapons.compact n += 4 if weapon.critical_bonus end n = apply_tile_effect(n, TSRPG::CRI) 因為這些關係...導致命中.爆撃.迴避三種數值一開始都是0 只能靠裝備來改變這數值...但是升級時卻還是停留在0 例如: A角色穿裝備~迴避10~等級1 打怪物升等到99等~迴避還是10(裝備的)... 這意思... 還有a364774426前輩對不起..我表達能力太差了..(汗 可以的話~我想要... 命中=攻擊+防禦/2 迴避=精神+防禦/2 爆撃=攻擊+精神/2 這樣不僅每個角色計算出來的數據都不同~ 也能達到不用每個人物都要腳本設定.. 請問該怎麼做修正才會有這樣的數據呢?給個提示也行啊! 上次真的很感謝a364774426前輩給的建議~我才能做出雙畫面狀態的>"< 另外...Luciffer前輩~ 我是台灣朋友喔...不是泥轟人啦.. 但真名的確是有"和樹"兩字沒錯...(汗 不過最近有住過日本一年半左右~ 可能...暫時用語上會有點點..你知道的~像時差都要調整一樣啊(汗��� |
不 因為srpg2他的腳本把敏捷改成移動力了 而且還自定回避、命中、爆擊等都是數據0 是可以用裝備變成固定數字 升級卻不會改變原來的0 所以才想另外定義成數據庫那樣 設定起頭多少,最後也設定最終數值 中間讓他自己分配 |
LZ的意思是自己设定角色的命中闪避这些的属性,并且每个角色的计算方法不一样,是吗?若然,方法如下: 在Game_actor里找到 def hit,def eva,def cri这三个地方,以角色ID去判定计算方法,例如 if actor.id == 1 return XX elsif actor.id == 2 return YY else return n end 若不然,请具体说说你要实现什么东西。 |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2025-7-19 14:00
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.