Project1
标题:
给想给武器加暴击效果却不能的童鞋
[打印本页]
作者:
a364774426
时间:
2012-1-30 22:05
标题:
给想给武器加暴击效果却不能的童鞋
我本身是一个脚本盲,就是在给状态定义暴击几率的脚本上添加了一个Weapon。本来我只是试试看,没想到居然成功了。
module RPG
#=============================================================================
# ■ Weapon
#=============================================================================
class Weapon
def read_note(section, mismatch = nil)
self.note.each_line do |line|
eval("#{line}; return #{section}") if line =~ /^\s*#{section}\s*=/i
end
return mismatch
end
end
end
module Enhance_Weapon
CRITICAL_MAX = 999
end
module RPG
class Weapon
def cri_plus
return read_note("cri_plus")
end
end
end
class Game_Actor
include Enhance_Weapon
alias :base_cri :cri
def cri
n = base_cri
weapons.each do |weapon|
n += weapon.cri_plus || 0
end
return [n , CRITICAL_MAX].min
end
end
module RPG
#=============================================================================
# ■ State
#=============================================================================
class State
def read_note(section, mismatch = nil)
self.note.each_line do |line|
## 不希望忽略大小写,则删掉下一行最后一个i
eval("#{line}; return #{section}") if line =~ /^\s*#{section}\s*=/i
end
return mismatch
end
end
end
# 设定模块,设定三项能力值的最大值
module Enhance_State
CRITICAL_MAX = 999
HIT_MAX = 999
EVA_MAX = 999
end
# RPG::State模块,定义读取三种附加能力
module RPG
class State
def cri_plus
return read_note("cri_plus")
end
def hit_plus
return read_note("hit_plus")
end
def eva_plus
return read_note("eva_plus")
end
end
end
# 致命一击、命中率和闪躲率的追加定义
class Game_Actor
include Enhance_State
alias :enhance_cri :cri
def cri
n = enhance_cri
states.each do |state|
n += state.cri_plus || 0
end
return [n , CRITICAL_MAX].min
end
alias :enhance_hit :hit
def hit
n = enhance_hit
states.each do |state|
n += state.hit_plus || 0
end
return [n , HIT_MAX].min
end
alias :enhance_eva :eva
def eva
n = enhance_eva
states.each do |state|
n += state.eva_plus || 0
end
return [n , EVA_MAX].min
end
end
复制代码
方法就是在备注栏里加入cri_plus =10就可以了
其中10代表增加10点暴击几率。100就必定暴击了。
啊啊啊啊,高手莫笑哈。
作者:
黒毛
时间:
2012-1-31 09:01
看上去好厉害{:nm_5:}
作者:
垨護Satr婞諨
时间:
2012-2-1 20:55
谢谢楼主分享
作者:
muyumuyulnny
时间:
2012-2-9 22:23
本帖最后由 muyumuyulnny 于 2012-2-9 22:44 编辑
用了这个脚本之后,游戏初始时给角色装备上附加必杀的武器,游戏开始后再将装备卸掉,然后查看状态貌似会出错。。。
‘‘
我也是新手,不过,我把
n = base_cri
weapons.each do |weapon|
n += weapon.cri_plus || 0
改成
n = base_cri
weapons.each do |weapon|
if weapon != nil
n += weapon.cri_plus || 0
else
end
之后貌似不报错了,等我再试试。
──muyumuyulnny于2012-2-9 22:47补充以上内容’’
作者:
狂人狂者
时间:
2012-2-12 14:33
很白痴的问一句...备注栏在哪儿
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1