- 注册时间
- 2005-3-27
- 最后登录
- 2006-4-1
⑥精研
- 积分
- 1678
|
我RGSS很多地方不懂,特别是变量啊?我初步写了一部分,伤害计算那点,很多地方不懂,请大家指教啊!这是那个五行系统的招式部分的部分。
http://bbs.rpgchina.com/dispbbs.asp?boardID=21&ID=10499&page=1
def attacker_effedt(attacker)
$special_string=false #清除受攻击方招式防御效果,不知道该不该用全局变量啊?至今不明白实变量的意义。
$message_string=false #清除攻击方招式攻击效果
if attacker.dex/5>rand(100) #暂时不考虑装备
attacker.zhaoshi_atk=(equip_weapon_element_id+1)/2 #武器的属性的ID,不知道这个变量该怎么表示啊?也不会限制范围,怎么改?
end
if self.dex/5>rand(100)
self.zhaoshi_def=(equip_armor2_element_id+1)/2 #衣服的属性的ID怎么表示啊?
end
if attacker.zhaoshi_atk==self.zhaoshi_def #属性中和
attacker.zhaoshi_atk=false
self.zhaoshi_def=false
end
case attacker.zhaoshi_atk
when 1
$message_string="连击"
when 2
$message_string="会心一击"
when 3
$message_string="击退"
when 4
$message_string="致命一击"
when 5
$message_string="伤害加深"
end
attacker.zhaoshi_atk=false
case self.zhaoshi_def
when 1
$special_string="闪避"
when 2
$special_string="会心一闪"
when 3
$special_string="档格"
when 4
$special_string="反弹伤害"
when 5
$special_string="伤害减轻"
end
self.zhaoshi_def=false
until $special_string="闪避"
until $special_string="档格"
if $special_string="致命一击"
attacker.atk*=2
end
atk=[attacker.atk-self.pdef,0].max
if $message_string="会心一击"
self.damage=atk*(attacker.hit-self.eva/2+100)
elsif $special_string="会心一闪"
self.damage=atk*(attacker.hit/2-self.eva+100)
else
self.damage=atk*(attacker.hit/2-self.eva/2+rand(attacker.hit/2)-rand(self.eva/2)+100)
end
if $message_string="伤害加深"
attacker.dam_zengjia=100
end
if $special_string="伤害减轻"
self.dam_jianshao=50
end
self.damage*=100+attacker.dam_zengjia-self.dam_jianshao #暂时不考虑装备
self.damage/=10000
if $message_string="反弹伤害"
@active_battler.hp-=self.damage*2 #不知道变量怎么用,是不是用这个啊?
@active_battler.pdef-=$active_battler.pdef_max/20 #
@active_battler.sp-=$active_battler.sp_max/20 #
@active_battler.tp-=$active_battler.tp_max/20 #
end
if $message_string="击退"
self.tp=0 #变量?
end
self.hp-=self.damage
end #档格直接到这
self.pdef-=self.pdef_max/20 #这些变量用这个行吗?
self.sp-=self.sp_max/20
self.tp-=self.tp_max/5
remove_states_shock #这些不知道该不该放这里?
@state_changed = false
states_plus(attacker.plus_state_set)
states_minus(attacker.minus_state_set)
end #闪避直接到这
attacker.atk-=attatker.atk_max/20 #攻击减力
end
连击暂时没写,看柳大的DEMO中,似乎比较复杂啊。先帮帮我解决一下,变量的问题吧。
|
|