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
517 기타 이벤트 뿌리기 + 범위지정 8 file 허걱 2009.07.13 2698
516 이동속도의 한계를 없앤다 11 file RPGbooster 2008.10.08 2815
515 이동 및 탈것 이동 기능 파워업 (장애물 등을 피하는 이동방식) 8 file 파노 2014.04.27 1723
514 메뉴 윈도우창 크기 조절 스크립트 0.3 5 아방스 2008.01.30 3038
513 메뉴 윈도우 색변경 스크립트 7 file 비극ㆍ 2010.03.01 2598
512 웨이포인트 9 file RPGbooster 2008.10.08 3415
511 맵/타일 월드맵 스크립트 49 아방스 2008.09.07 6123
510 원경 원경(파노라마) 바꾸기 9 file 허걱 2010.05.28 3369
509 움직이는커서 11 file RPGbooster 2008.10.08 5090
508 기타 요리 시스템을 도입하는 스크립트입니다. 9 file 스페나로츠 2011.08.18 3145
507 온라인 온라인입니다 4 file 알피지GM 2010.03.07 6358
506 저장 오토세이브 VX 5 file 카르와푸딩의아틀리에 2009.10.05 4138
505 전투 오버 드라이브 프로블럼 2 Man... 2008.10.28 2268
504 오버 드라이브 8/24 버젼 20 file RPGbooster 2008.10.11 2904
503 퀘스트 오메가7 퀘스트 스크립트 한글화,사용법,데모게임 직접제작 32 file DH Games 2010.02.14 4578
502 영어 잘하는 사람만 보세요..저도 모르겠음(무슨 스크립트인지) 3 Man... 2008.10.27 1372
501 메시지 여러항목 선택지 ... Scene처리.. 23 file 허걱 2009.02.14 5277
500 기타 여러스크립트(목적은 포인트) 12 file 인생은 힘들다. 2011.08.26 3088
499 전투 에너미를 아이템으로 변화하는 스킬 8 Evangelista 2009.05.27 2850
498 엄청 좋음(DEMO)클릭 하이퍼링크 걸려있음(누가 변혁좀 해 줬으면...) 4 Man... 2008.10.27 1745
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