VX 스크립트


#------------------------------------------------------------------------------
# By Nam Kid
# Luck Systems VX 1.2
# Li�n H�? : zaw.thieugia_vl@yahoo.com
# hoa?c : zaw.thieugia@gmail.com
#------------------------------------------------------------------------------

#------------------------------------------------------------------------------
# Luck Info :
# 4-5-2008 ver 1.00
# +) Make Luck point ( % )
# +) Add Cri with Luck ( x2 damage ) and Perfect Cri ( x3 damage )
# +) Add % usefull item or skill heal ( restore HP and MP )
# +) Add damage of item or skill when use atk
# 5-5-2008 ver 1.01 ( small update )
# +) Add Money and exp more or less with luck point
# 22-6-2008 ver 1.2 ( some small update )
# +) Luck up for actor ( actor ID => luck up point )
# +) Add Lucky Dodges ( eva ) - not complete 100% - beta
# +) Add Perfect Hit ( hit )
# +) Fix Gold
# ... continue update ..
#
#------------------------------------------------------------------------------

#------------------------------------------------------------------------------
# script na`y chua dc add va`o menu
#------------------------------------------------------------------------------

#------------------------------------------------------------------------------
# thanks Moghunter vo�i script Luck systems XP1.2
#------------------------------------------------------------------------------

module KID
LUCK_MAX = {1 => 100} # gio�i ha?n Luck
LUCK_UP = {1 => 2, 2 => 2, 3 => 1, 4 => 2} # di�?m luck khi tang level
LUCKSTART = {1 => 100} # lu�c khi ba�t d�`u ( c��u tru�c : ID actor => luck )
end
class Game_Actor < Game_Battler
alias kid_setup setup
def setup(actor_id)
maxluck = KID::LUCK_MAX[actor_id]
if maxluck == nil
@max_luck = 100
else
@max_luck = maxluck
end

if KID::LUCKSTART[actor_id] == nil
@luck = 1
else
@luck = KID::LUCKSTART[actor_id]
end

if KID::LUCK_UP[actor_id] == nil
@luckup = 1
else
@luckup = KID::LUCK_UP[actor_id]
end
kid_setup(actor_id)
end

def max_luck
return @max_luck
end

def luck
if @max_luck != nil and @luck > @max_luck
@luck = @max_luck
else
if @luck > 100
@luck = 100
end
return @luck
end
end

def level_up
@level += 1
@luck += @luckup
for learning in self.class.learnings
learn_skill(learning.skill_id) if learning.level == @level
end
end

def level_down
@level -= 1
@luck -= @luckup
end
end


class Game_Battler

def calc_eva(user, obj = nil)
eva = self.eva
unless obj == nil # if it is a skill or an item
eva = 0 unless obj.physical_attack # 0% if not a physical attack
end
unless parriable? # If not parriable
eva = 0 # 0%
end
if user.is_a?(Game_Actor)
eva -= user.luck
eva == 0 if eva <= 0
end
unless user.is_a?(Game_Actor)
eva -= user.luck
eva == 0 if eva <= 0
end
return eva
end

def make_attack_damage_value(attacker)
damage = attacker.atk * 4 - self.def * 2
damage = 0 if damage < 0
damage *= elements_max_rate(attacker.element_set)
damage /= 100
if damage == 0
damage = rand(2)
elsif attacker.is_a?(Game_Actor) # xa�c nh�?n Luck chi? co� khi actor ra do`n
if rand(100) < attacker.luck # ng�~u nhi�n
damage *= 2 # dam x2
@critical = true # hi�?n cri trong ba?n battler log
end
elsif damage > 0
@critical = (rand(100) < attacker.cri)
@critical = false if prevent_critical
damage *= 3 if @critical
end
damage = apply_variance(damage, 20)
damage = apply_guard(damage)
@hp_damage = damage
end

def make_obj_damage_value(user, obj)
damage = obj.base_damage
if damage > 0
damage += user.atk * 4 * obj.atk_f / 100
damage += user.spi * 2 * obj.spi_f / 100
unless obj.ignore_defense
damage -= self.def * 2 * obj.atk_f / 100
damage -= self.spi * 1 * obj.spi_f / 100
end
damage = 0 if damage < 0
elsif user.is_a?(Game_Actor) # xa�c nh�?n Luck chi? co� khi actor su? du?ng
if rand(100) < user.luck # ng�~u nhi�n
damage += user.atk * 4 * obj.atk_f * user.luck / (100 + user.luck)
damage += user.spi * 2 * obj.spi_f * user.luck / (100 + user.luck)
unless obj.ignore_defense
damage -= self.def * 2 * obj.atk_f / (100 + 2*user.luck)
damage -= self.spi * 1 * obj.spi_f / (100 + 2*user.luck)
end
end
elsif damage < 0
damage -= user.atk * 4 * obj.atk_f / 100
damage -= user.spi * 2 * obj.spi_f / 100
end
damage *= elements_max_rate(obj.element_set)
damage /= 100
damage = apply_variance(damage, obj.variance)
damage = apply_guard(damage)
if obj.damage_to_mp
@mp_damage = damage
else
@hp_damage = damage
end
end

def calc_hp_recovery(user, item)
result = maxhp * item.hp_recovery_rate / 100 + item.hp_recovery
result *= 2 if user.pharmacology
result += user.luck * 2 if user.is_a?(Game_Actor)
return result
end

def calc_mp_recovery(user, item)
result = maxmp * item.mp_recovery_rate / 100 + item.mp_recovery
result *= 2 if user.pharmacology
result += user.luck * 3 if user.is_a?(Game_Actor)
return result
end

end

class Game_Enemy < Game_Battler

def exp
for actor in $game_party.members
if rand(100) < actor.luck
enemy.exp += (actor.luck + enemy.exp) / 3
end
return enemy.exp
end
end

def gold
for actor in $game_party.members
enemy.gold += (actor.luck + enemy.gold) / 3 + ( rand(100) - rand(100)) / actor.luck
return enemy.gold
end
end

end
Comment '4'
  • ?
    뇌반(카이엔) 2008.10.31 17:40
    럭 시스템이라고 되어있는것으로 보아, 행운수치를 만들어서 경험치를 더 받거나 하는 것 같네요.
  • ?
    Man... 2008.11.01 15:56
    저도 모름..ㅎㅎ
  • ?
    뇌반(카이엔) 2008.10.31 17:41
    아니, 자세히 읽어보니까 액터의 행운수치에 따라서 에너미가 드랍하는 골드의 양이 달라지도록 되어있네요.
  • ?
    파치리스 2011.09.11 21:33

    럭에따라 경험치.골드의 양 크리티컬 확률 변경할 수 있는 스크립트


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 3 습작 2012.12.24 5455
157 그래픽 그림자 없에는 스크립트(그런것 같음) 1 Man... 2008.10.27 1643
» KID's Luck Systems(무슨 뜻?) 4 Man... 2008.10.27 1379
155 엄청 좋음(DEMO)클릭 하이퍼링크 걸려있음(누가 변혁좀 해 줬으면...) 4 Man... 2008.10.27 1747
154 날씨 스크립트ㅎㅎ 9 Man... 2008.10.27 2360
153 무슨 스크립트인지 모름 7 Man... 2008.10.26 1453
152 장비 Equipment Set Bonus 6 Man... 2008.10.25 1850
151 장비 Expansion_Suite V2.1! 6 Man... 2008.10.25 1595
150 중복이지만...제가 올린 단체 액알 스크립트에서 오류가 너무 많이 나서...개인 액알로 다시 올려드리는 겁니다. 15 21stcentury 2008.10.12 3430
149 장비 스킬습득장비 [죄송] 19 file RPGbooster 2008.10.11 4051
148 아이템 아이템 분류 19 file RPGbooster 2008.10.11 3310
147 스킬분류 16 file RPGbooster 2008.10.11 2835
146 ATB v1.0 배틀 시스템 + RPG Tankentai SBS v2.8 16 supergt 2008.10.11 4682
145 상점 상점의 자세한 표시 32 file RPGbooster 2008.10.11 4010
144 맵/타일 Final Fantasy IV 모든 완성된맵 47 RPGbooster 2008.10.11 5091
143 아이템 적과 만나지않는 아이템 12 file RPGbooster 2008.10.11 2719
142 폰 시스템 29 RPGbooster 2008.10.11 3456
141 퀘스트 퀘스트 스크립트 39 file RPGbooster 2008.10.11 6141
140 아이템 편리한 디자인의 아이템메뉴 30 file RPGbooster 2008.10.11 5104
139 아이템 돈 아이템 장비를저장 11 file RPGbooster 2008.10.11 3455
138 커서 애니메이션 12 file RPGbooster 2008.10.11 3128
Board Pagination Prev 1 ... 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Next
/ 32