Project1
标题:
【求助】这个脚本有什么问题?
[打印本页]
作者:
chd114
时间:
2012-6-9 16:42
标题:
【求助】这个脚本有什么问题?
#==============================================================================
# ■ Enemy_property
#------------------------------------------------------------------------------
# 确定怪物的属性及伤害等。
#==============================================================================
class Enemy_property
#--------------------------------------------------------------------------
# ● 初始化状态
#--------------------------------------------------------------------------
def initialize(enemyid)
@enemyid=enemyid
@enemyid2=enemyid+1
cal_enemy#计算怪物各种能力
end
#--------------------------------------------------------------------------
# ● 计算怪物的各种能力等
#--------------------------------------------------------------------------
def cal_enemy
#属性表
table=[false,true,false,false,false,false,false]
@orbatk=$game_variables[44]#攻击魔杖
@orbdef=$game_variables[45]#防御魔杖
@orbhp=$game_variables[46]#生命魔杖
@orbatktimes=$game_variables[47]#连击魔杖
@orbmdef=$game_variables[42]#魔防魔杖
@first=0#没有先攻的情况下@first=0
if $game_switches[65]
else
@turnatk=$data_enemies[@enemyid].agi#从敌人的AGI中获得连击
@vampire=$game_actors[$game_variables[1]+1].hp*$data_enemies[@enemyid].eva/100#吸血量
@reatk=$game_actors[$game_variables[1]+1].hp*$data_enemies[@enemyid].maxsp/100#反弹伤害
end
@epdef=0#坚固下的防御
@blow=0#自爆伤害
@hate=0#仇恨伤害
@mhp=$game_actors[$game_variables[1]+1].hp#基础勇生命
if $game_switches[19]
@ma=$game_actors[$game_variables[1]+1].agi#基础勇攻
@md=$game_actors[$game_variables[1]+1].int#基础勇防
else
@ma=$game_actors[$game_variables[1]+1].str#基础勇攻
@md=$game_actors[$game_variables[1]+1].dex#基础勇防
end
@maa=$game_actors[$game_variables[1]+2].hp#基础勇攻
@mdd=$game_actors[$game_variables[1]+2].sp#基础勇防
@mgs=$game_actors[$game_variables[1]+2].level#基础勇攻速
@mxx=$game_actors[$game_variables[1]+2].str#基础勇吸血
@mft=$game_actors[$game_variables[1]+2].dex#基础勇反弹
@mmz=$game_actors[$game_variables[1]+2].str#基础勇命中
@msb=$game_actors[$game_variables[1]+2].dex#基础勇闪避
@kind=0#属性种数
for i in 1...$data_enemies[@enemyid].element_ranks.xsize
if table[$data_enemies[@enemyid].element_ranks[i]]
@kind+=1
end
end
if table[$data_enemies[@enemyid].element_ranks[30]]#坚固
if $data_enemies[@enemyid].pdef<@ma
@epdef=(@ma-$game_variables[54]).to_i
end#只有怪物基础防御小于勇士攻击后才使它的防御等于勇士攻击-1
end
if table[$data_enemies[@enemyid].element_ranks[30]]#先 攻
@first=$game_variables[55]
end
if table[$data_enemies[@enemyid].element_ranks[30]]#模 仿
$data_enemies[@enemyid].atk=(@ma*$game_variables[60]).to_i
$data_enemies[@enemyid].pdef=(@md*$game_variables[60]).to_i
end
if table[$data_enemies[@enemyid].element_ranks[30]]#仇 恨
@hate=($game_variables[111]).to_i
end
if $game_switches[19]
@ea=$data_enemies[@enemyid].dex#怪攻
@ed=$data_enemies[@enemyid].pdef#怪防
else
@ea=$data_enemies[@enemyid].str#怪攻
@ed=$data_enemies[@enemyid].atk#怪防
end
if $game_variables[71]!=0
@ehp=$data_enemies[@enemyid].maxhp*(100-$game_variables[71])/100#怪生命
else
@ehp=$data_enemies[@enemyid].maxhp#怪生命
@mxhp=$data_enemies[@enemyid].maxhp*$game_actors[$game_variables[1]+2].str/100#吸血量
@mfhp=$data_enemies[@enemyid].maxhp*$game_actors[$game_variables[1]+2].dex/100#反弹量
@ehp+=@vampire #怪生命+吸血得到的生命
# @ehp-=@mfhp
end
# @ma=($game_actors[$game_variables[1]+1].str*@orbatk).to_i#修正勇攻
# @md=($game_actors[$game_variables[1]+1].dex*@orbdef).to_i#修正勇防
# if $game_switches[Playerdate_magicdef]
# @mmd=($game_actors[$game_variables[1]+1].int*@orbmdef).to_i#修正勇魔防
# else
# @mmd=0#未开启魔防下魔防=0
#end
if table[$data_enemies[@enemyid].element_ranks[30]]#自 爆
@blow=1
end
if $game_switches[65]
else
if @ma-@ed>0 #勇士的攻击>怪物的防御
@eatimes=(@ehp/((@ma-@ed)*@mgs*(100-@mmz)/100+@maa).to_i).to_i#怪物的攻击次数
@eatimes-=1 if @eatimes==@ehp*1.0/((@ma-@ed)*@mgs*(100-@mmz)/100+@maa).to_i
#整数的情况下怪物的攻击次数要-1
@eatimes+=@first #先攻的怪物要加先攻次数
@eatimes=0 if @eatimes<0#不能攻击的怪物攻击次数=0
@reatk*=(@eatimes+1)#得到总的反弹伤害(勇攻次数*单次反弹伤害)
if @md>=@ea#如果勇士的防御大于怪物的攻击
@edamage=0-@mdd+@reatk+@vampire
#反弹、吸血、爆击、净化怪物的伤害等于反弹+吸血量+爆击量+净化量-勇士魔防
else
@edamage=((@ea-@md)*@turnatk*@eatimes*(100-@msb)/100-@mdd).to_i+@reatk+@vampire
end
# @edamage=0 if @edamage<=0#伤害小于0则等于0
@edamage+=@hate#仇恨的伤害无视主角防御和魔防
if @edamage<=@mhp-1 and @blow!=0
@edamage=@mhp-1
end#伤害小于勇士生命且具有自爆属性,则伤害为勇生命-1
@nowin=0#代表勇士攻击够高
if @edamage>=999999#避免由于坚固属性造成伤害超大
@edamage=999999 #因为勇士生命最大值为999999
@nowin=1
end
else#勇士的攻击<怪物的防御
@edamage=1000000#伤害等于次大
@nowin=1#代表勇士攻击太低
end
if table[$data_enemies[@enemyid].element_ranks[32]]#怪物拥有无敌属性
if $game_party.item_number(44)<1#未持有反无敌的物品
@edamage=9999999#伤害等于最大
@nowin=2#代表敌人是无敌的
end
end
end
end
#--------------------------------------------------------------------------
# ● 返回怪物的伤害类型
#--------------------------------------------------------------------------
def got_nowin
return @nowin
#0代表可以对怪物造成伤害,1代表无法伤害,2代表怪物无敌
end
#--------------------------------------------------------------------------
# ● 返回怪物的伤害
#--------------------------------------------------------------------------
def got_damage
return @edamage
end
#--------------------------------------------------------------------------
# ● 返回怪物的攻击
#--------------------------------------------------------------------------
def got_ea
return @ea
end
#--------------------------------------------------------------------------
# ● 返回怪物的防御
#--------------------------------------------------------------------------
def got_ed
return @ed
end
#--------------------------------------------------------------------------
# ● 返回怪物的属性
#--------------------------------------------------------------------------
def got_p(val)
table=[false,true,false,false,false,false,false]
return table[$data_enemies[@enemyid].element_ranks[val]]
end
#--------------------------------------------------------------------------
# ● 返回怪物的属性种数
#--------------------------------------------------------------------------
def got_kind
return @kind
end
end
复制代码
这个脚本的问题处在哪里?
工程.zip
(917.46 KB, 下载次数: 794)
2012-6-9 16:42 上传
点击文件名下载附件
这个是工程 dsu_plus_rewardpost_czw
作者:
忧雪の伤
时间:
2012-6-10 10:42
本帖最后由 忧雪の伤 于 2012-6-10 10:42 编辑
UI> 连异常报告截图都没有让我没有下载的意愿。
作者:
chd114
时间:
2012-6-10 11:16
忧雪の伤 发表于 2012-6-10 10:42
UI> 连异常报告截图都没有让我没有下载的意愿。
图片传上来变成代码了
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1