VX 스크립트

에제:http://chthonic.150m.com/scratch/Queex_scripts.zip
여기서 부터...
###################
# LevelMe system #
####################################################################
# Version 1.2 #
# Author: Queex #
# Licence: Creative commons non-commercial attribution #
####################################################################
# Usage: #
# LevelActor(<actor_id>, <levels to add>, <show message?>) #
# LevelParty(<levels to add>, <show message?>) #
# NextLevelActor(<actor_id>, <show message?>) #
# NextLevelParty(<show message?>) #
# #
# Side effect: actors will have their experience stored as #
# a float value rather than an integer. If you don't want it to #
# be displayed as an integer, it's best to change any display #
# methods to add '.to_i.to_s' to the experience value. #
# #
# Version History: #
# 1.1 Fixed Release #
# 1.2 Updated to follow Ruby naming conventions. #
####################################################################

##############
# Game_Actor #
##############
class Game_Actor < Game_Battler
def level_to_level_exp(start_level)
if start_level==99
return 0 # this avoids breaking the array when at max level
else
return @exp_list[start_level+1]-@exp_list[start_level]
end
end
end

######################
# level_actor method #
#################################################################
# Levels the specified actor a certain number of levels. #
# Need not be a whole number of levels. It also guarantees that #
# awards are commutative- that is, awarding 1/2 a level then #
# awarding 1 gives the same result as awarding 1 then awarding #
# 1/2 a level. #
# The amount of experience actually awarded is returned. #
#################################################################
def level_actor(actor_id,lvls=1.0,show=true)
#set up variables
this_actor=$game_actors[actor_id]
exp_increase=0
levels_gained=0

#if the award is enough to reach the next level, this adds exp
#to reach that level and subtracts the proportion from the
# remaining award.
exp_to_next_level=this_actor.next_rest_exp_s.to_f
first_level_gap=this_actor.level_to_level_exp(this_actor.level)
if first_level_gap*lvls >= exp_to_next_level
exp_increase=exp_to_next_level
levels_gained=1
lvls -= exp_to_next_level/first_level_gap
end

#This adds whole levels until less than 1 level will be awarded
while lvls>=1.0
exp_increase+=this_actor.level_to_level_exp(this_actor.level+levels_gained)
levels_gained+=1
lvls-=1.0
end

#This adds any remaining fractional levels
if(lvls>0)
exp_increase+=this_actor.level_to_level_exp(this_actor.level+levels_gained)*lvls
end

#The award is made in one go.
$game_actors[actor_id].gain_exp(exp_increase,show)
return exp_increase
end

######################
# level_party method #
#############################################################
# Levels all actors currently in the party by the specified #
# number of levels. #
#############################################################
def level_party(lvls=1.0,show=true)
for actor in $game_party.members
LevelActor(actor.id,lvls,show)
end
end

###########################
# next_level_actor method #
#######################################################
# Gives the specified actor just enough exp to level. #
# The amount of experience awarded is returned. #
#######################################################
def next_level_actor(actor_id,show=true)
this_actor=$game_actors[actor_id]
exp_increase=this_actor.next_rest_exp_s.to_f
$game_actors[actor_id].gain_exp(exp_increase,show)
return exp_increase
end

###########################
# next_level_party method #
###############################################
# Gives the party just enough exp to level. #
###############################################
def next_level_party(show=true)
for actor in $game_party.members
NextLevelActor(actor.id,show)
end
end
Comment '3'
  • ?
    사람인간 2008.10.28 03:16
    ....적어도 무슨 내용의 스크립트인지 정도는 써 놓으시죠..
  • ?
    크라상 2009.01.14 19:26
    ㄴ저두 그렇게 생각.
    레벨에 관한거라 이런생각은 꼭 들것같은데....
    "레벨제한을 뚫는건가!!?"
    기대하며 왔는데 뭔지 모르겠어요..;;;
  • ?
    구제가능 2011.07.24 12:02

    뭐지 이게...........


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 3 습작 2012.12.24 5408
177 아이템 아이템 믹서 21 file 미양 2010.07.02 3983
176 그래픽 KGC_BitmapExtension : 비트맵 클래스 확장 8 file soleone 2010.07.18 3177
175 메뉴 스타일 크로노 트리거 메뉴 31 file 콩밥 2010.07.19 4536
174 기타 개인판타지메뉴+업그래이드 배틀 23 file 콩밥 2010.08.02 4211
173 이동 및 탈것 2D 횡스크롤 스크립트 56 file 사람이라면? 2010.08.15 7575
172 기타 이벤트 상세효과 9 file 사람이라면? 2010.08.15 2801
171 기타 블록 미니게임 11 file 사람이라면? 2010.08.15 2269
170 기타 몬스터 리얼한 효과 27 file 사람이라면? 2010.08.16 5074
169 기타 RTS? 미니게임 스크립트 7 file 사람이라면? 2010.08.16 2788
168 전투 ActBattle 전투 스크립트 13 file 사람이라면? 2010.08.16 5962
167 이동 및 탈것 부드럽게 이동, 8 방향이동 스크립트 25 file 사람이라면? 2010.08.16 3798
166 기타 설명하기 힘든 스크립트 (스크린샷 확인) 10 file 사람이라면? 2010.08.16 3818
165 기타 다른 방식의 테트리스 미니게임 7 file 사람이라면? 2010.08.17 2362
164 전투 사이드뷰 애드온 7 비극ㆍ 2010.08.21 6758
163 기타 블랙잭, 룰렛, 포커 스크립트 종합 9 file 도심 2010.08.22 2643
162 전투 VX SRPG 한글번역 (최종수정) 26 file 에틴 2010.08.25 7418
161 장비 아이템 장비시 스킬습득, 'SW_EquipFinisher' by Siot Warrior 19 file 시옷전사 2010.08.31 3029
160 저장 Neo Save System V by Helladen(Original by Woratana) 8 Alkaid 2010.09.02 2439
159 장비 Multi-Slot Equipment VX 1.6 by DerVVulfman 1 file Alkaid 2010.09.02 1637
158 메뉴 자작 메뉴 스크립트 for VX(L's Simple Custom Menu VX ver.) 5 Alkaid 2010.09.02 4705
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