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 5398
537 HUD KH HUD (HP MP 게이지바 스크립트) 41 아방스 2010.12.17 6422
536 전투 GTBS 1.5.1.4 - GubiD's Tactical Battle System 10 아방스 2010.12.11 4451
535 메뉴 기본메인 메뉴 아이콘 추가 10 아방스 2010.12.11 4573
534 HUD HUD 스크립트 모음 10 아방스 2010.12.11 3658
533 전투 전투후 HP/MP 퍼센테이지(지정) 회복 5 하얀슬픔 2010.12.06 2490
532 이동 및 탈것 3D 던젼 스크립트 38 아방스 2010.12.06 5772
531 장비 장비 레벨 개념 추가 스크립트 14 아방스 2010.12.06 3275
530 스킬 체스트 팝업 3.0 9 file 파이어 2010.12.05 3037
529 미니맵 MiniMap 1.0 미니맵 스크립트. 39 아방스 2010.12.02 4740
528 전투 사이드 뷰 시스템 [시트르산님 제공] 56 아방스 2010.11.29 7499
527 변수/스위치 HG_SelfVariables 셀프 변수 8 file 허걱 2010.11.19 2341
526 기타 HG_SHOOT_ANIMATION 4 file 허걱 2010.11.17 2596
525 기타 RMVX Patcher 1.2.0 by Yeyinde 5 file Alkaid 2010.11.12 2118
524 아이템 아이템 무게, 아이템별 소지수 적용 16 file 허걱 2010.11.11 2981
523 스킬 Simple Sort Skill Inventory 1.1 by cozziekuns 5 file Alkaid 2010.11.10 2350
522 스킬 Simple Sort Inventory 1.3a by cozziekuns 5 file Alkaid 2010.11.10 1636
521 전투 RPG tankentai에서의 치명적 문제점을 보완한 스크립트 2 file 톰소여동생 2010.11.03 3117
520 전투 포켓몬 스크립트 한글화 완료 26 file 서울냥이 2010.10.11 6030
519 기타 Modified Advanced Weather Script VX 1.1 3 file Alkaid 2010.10.08 1967
518 기타 책 읽기 스크립트 44 file 히류 2010.10.05 4506
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 32 Next
/ 32