ГлавнаяФорумRPG MakerСкрипты/ПлагиныRPG Maker VX ACEВопросы по скриптам ACEкак запустить Kai Monkey's Character Creation?
Войти на сайт
×
ТЕМА: как запустить Kai Monkey's Character Creation?
как запустить Kai Monkey's Character Creation? 10 года 6 мес. назад #69084
|
на просторах интернета нашел интересный скрипт, но к сожалению сайт на английском, в чем я не оч силен + не очень понятное описание запуска, помогите разобрать скрипт по полочкам что-к чему и с чем его едят.
Скрипт: ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ][ Нажмите, чтобы скрыть ] Races = Array.new
RaceAppearanceNames = Array.new
RaceFaceImage = Array.new
RaceFaceIndex = Array.new
RaceChara = Array.new
RaceIndex = Array.new
#############CONFIG######################
#Here list all the names of all races in the game
# Example:
# Races = ["Human","Elf","Half Dwarf"]
# Creates three races, called Human, Elf and Half Dwarf
Races = ["Human", "Fairie", "Cave Fairie", "Half Dwarf"]
#Which race the player chooses will be stored in a variable, which is defined
#below. This can be used later create effects that only affect, say, Dwarves,
#such as giving them the ability to use heavy armour, regardless of class.
#This can be acheived by having an event check that array, then run actions accordingly
RaceVariable = 1
#The default is to store the Race in variable 25. By default this will mean that
#if the player is human that varible will be 1, 2 if an elf, and 3 if a Half Dwarf.
#
#Then for each race create a module for showing the Appearance(s)
#Example:
#RaceAppearanceNames << ["Female","Male"]
#RaceFaceImage << ["Actor1.png","Actor1.png"]
#RaceFaceIndex << [1,2]
#RaceChara << ["Actor1.png","Actor1.png"]
#RaceIndex << [1,2]
#
#The first row shows that the first race we typed in at the start has two
#different Appearances. One called Female, one called Male.
#The second row shows the File name for that appearances face. So both Male and
#Female humans use Actor1.png
#The third row shows which face in the file to use, as each image has 8 faces,
#so female humans use the first face in the Actor1.png Image, and Males use the
#second image.
#
#The fourth and fifth line work like the Faces, appart from for defining the
#Character image that is seen walking around the screen. In the example above
#both Male and Female humans have characters to match their faces.
#
#For each race you defined at the start, copy paste these five lines, and customize
#as you wish.
#Race 1:
RaceAppearanceNames << ["Human A","Human B","Human C","Human D"]
RaceFaceImage << ["Actor1.png","Actor2.png","Actor3.png","Actor4.png"]
RaceFaceIndex << [1,2,3,4]
RaceChara << ["Races2.png","Races2.png","Races2.png","Races2.png"]
RaceIndex << [1,2,3,4]
#Race 2:
RaceAppearanceNames << ["Fairie A", "Fairie B", "Fairie C", "Fairie D"]
RaceFaceImage << ["Actor3.png","Actor3.png"]
RaceFaceIndex << [6,5]
RaceChara << ["Races2.png","Races2.png","Races2.png","Races2.png"]
RaceIndex << [5,6,7,8]
#Race 3:
RaceAppearanceNames << ["Cave Fairie A", "Cave Fairie B", "Cave Fairie C", "Cave Fairie D"]
RaceFaceImage << ["Actor3.png"]
RaceFaceIndex << [7]
RaceChara << ["Goblins1.png","Goblins1.png","Goblins1.png","Goblins1.png"]
RaceIndex << [1,2,3,4]
#Race 4:
RaceAppearanceNames << ["Half Dwarf A, Half Dwarf B, Half Dwarf C, Half Dwarf D"]
RaceFaceImage << ["Actor3.png"]
RaceFaceIndex << [7]
RaceChara << ["Goblins1.png","Goblins1.png","Goblins1.png","Goblins1.png"]
RaceIndex << [5,6,7,8]
############END CONFIG############################
#==============================================================================
# ** Scene_Status
#------------------------------------------------------------------------------
# This class performs the status screen processing.
#==============================================================================
class Scene_CharacterCreation < Scene_MenuBase
#--------------------------------------------------------------------------
# * Start Processing
#--------------------------------------------------------------------------
def start
super
create_status_window
@stage = 1
@finished = false
@class_window = Window_Create.new(@actor)
@race_window = Window_Race.new(@actor)
@look_window = Window_Appearance.new(@actor,1)
@status_window.width = Graphics.width
@class_window.index = (@actor.class.id - 1)
@class_window.width = Graphics.width / 3
@class_window.active = false
@class_window.visible = false
@look_window.active = false
@look_window.visible = false
@race_window.width = Graphics.width / 3
@look_window.width = Graphics.width / 3
@class_window.set_handler(:class,method(:changeActorClass))
@class_window.set_handler(:cancel, method(:back))
@look_window.set_handler(:cancel, method(:back))
@look_window.set_handler(:look, method(:finish))
@race_window.set_handler(:race,method(:changeActorRace))
end
alias oldupdate update
def update()
oldupdate()
if @finished == true
return_scene
end
raceID = @race_window.index
appID = @look_window.index
appIndex = RaceIndex
@actor.set_graphic(RaceChara[raceID][appID],RaceIndex[raceID][appID]-1 ,RaceFaceImage[raceID][appID],RaceFaceIndex[raceID][appID]-1)
#@actor.set_graphic("Animal.png" ,3,RaceFaceImage[raceID][appID],RaceFaceIndex[raceID][appID]-1)
$game_player.refresh
classID = @class_window.index
@actor.change_class(classID+1)
@actor.hp = @actor.mhp
@actor.mp = @actor.mmp
@status_window.refresh
end
def finish()
@finished = true
end
def back()
@class_window.active = false
@race_window.active = false
@look_window.active = false
if @stage == 2
@look_window.index = 0
@race_window.active = true
@stage = 1
elsif @stage == 3
@stage = 2
@class_window.active = true
end
end
def changeActorClass()
classID = @class_window.index
@actor.change_class(classID+1)
@actor.hp = @actor.mhp
@actor.mp = @actor.mmp
@stage = 3
@look_window.active = true
@look_window.visible = true
@status_window.refresh
end
def changeActorRace()
raceID = @race_window.index
@actor.set_graphic(RaceFaceImage[raceID][0],RaceFaceIndex[raceID][0],RaceFaceImage[raceID][0],RaceFaceIndex[raceID][0]-1)
@status_window.refresh
@stage = 2
@class_window.activate
@class_window.visible = true
@look_window.id=raceID
@look_window.index = 0
$game_variables[RaceVariable] = raceID +1
end
def create_status_window
y = 0
@status_window = Window_SkillStatus.new(0,0)
@status_window.viewport = @viewport
@status_window.actor = @actor
end
end
#==============================================================================
# ** Window_Status
#------------------------------------------------------------------------------
# This window displays full status specs on the status screen.
#==============================================================================
class Window_Create < Window_Command
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize(actor)
super(Graphics.width / 3, fitting_height(4))
self.height = Graphics.height - fitting_height(4)
# create_help_window
@actor = actor
end
#--------------------------------------------------------------------------
# * Set Actor
#--------------------------------------------------------------------------
def actor=(actor)
return if @actor == actor
@actor = actor
refresh
end
#--------------------------------------------------------------------------
# * Create Command List
#--------------------------------------------------------------------------
def make_command_list
count = 1
for i in $data_classes
count += 1
end
count -= 1
for i in (1...count)
flag = true
add_command($data_classes[i].name, :class)
#add_command(@actor.face_name :class)
end
end
#------------------------------------------------------------------------
#--------------------------------------------------------------------------
# * Get Color of Horizontal Line
#--------------------------------------------------------------------------
def line_color
color = normal_color
color.alpha = 48
color
end
#--------------------------------------------------------------------------
# * Draw Basic Information
#--------------------------------------------------------------------------
def draw_basic_info(x, y)
draw_actor_level(@actor, x, y + line_height * 0)
draw_actor_icons(@actor, x, y + line_height * 1)
draw_actor_hp(@actor, x, y + line_height * 2)
draw_actor_mp(@actor, x, y + line_height * 3)
end
#--------------------------------------------------------------------------
# * Draw Parameters
#--------------------------------------------------------------------------
def draw_parameters(x, y)
6.times {|i| draw_actor_param(@actor, x, y + line_height * i, i + 2) }
end
#--------------------------------------------------------------------------
# * Draw Experience Information
#--------------------------------------------------------------------------
def draw_exp_info(x, y)
s1 = @actor.max_level? ? "-------" : @actor.exp
s2 = @actor.max_level? ? "-------" : @actor.next_level_exp - @actor.exp
s_next = sprintf(Vocab::ExpNext, Vocab::level)
change_color(system_color)
draw_text(x, y + line_height * 0, 180, line_height, Vocab::ExpTotal)
draw_text(x, y + line_height * 2, 180, line_height, s_next)
change_color(normal_color)
draw_text(x, y + line_height * 1, 180, line_height, s1, 2)
draw_text(x, y + line_height * 3, 180, line_height, s2, 2)
end
#--------------------------------------------------------------------------
# * Draw Equipment
#--------------------------------------------------------------------------
def draw_equipments(x, y)
@actor.equips.each_with_index do |item, i|
draw_item_name(item, x, y + line_height * i)
end
end
#--------------------------------------------------------------------------
# * Draw Description
#--------------------------------------------------------------------------
def draw_description(x, y)
draw_text_ex(x, y, @actor.description)
end
end
############################################################
#
#
# RACE MEANU
#####
class Window_Race < Window_Command
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize(actor)
super(0, fitting_height(4))
self.height = Graphics.height - fitting_height(4)
# create_help_window
@actor = actor
end
#--------------------------------------------------------------------------
# * Set Actor
#--------------------------------------------------------------------------
def actor=(actor)
return if @actor == actor
@actor = actor
refresh
end
#--------------------------------------------------------------------------
# * Create Command List
#--------------------------------------------------------------------------
def make_command_list
count = 0
for i in Races
add_command(i, :race)
end
end
end
class Window_Appearance < Window_Command
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize(actor,id)
super(Graphics.width / 1.5, fitting_height(4))
self.height = Graphics.height - fitting_height(4)
# create_help_window
@actor = actor
@id = id
#item_height = 36
end
#--------------------------------------------------------------------------
# * Set Actor
#--------------------------------------------------------------------------
def actor=(actor)
return if @actor == actor
@actor = actor
refresh
# self.item_height = 36
end
def id=(id)
@id = id
refresh
# self.item_height = 36
count = 0
i_id = @id.to_i
lookArray = RaceAppearanceNames#[@id]
for i in (0...(lookArray[i_id].length))
#add_command(" "+lookArray[i_id][i], :look)
#draw_item(i,RaceChara[i_id][i],RaceIndex[i_id][i])
draw_character(RaceChara[i_id][i], RaceIndex[i_id][i]-1,16,36*(i+1)-2)
end
end
#--------------------------------------------------------------------------
# * Create Command List
#--------------------------------------------------------------------------
alias oldCommand make_command_list
def make_command_list
oldCommand
count = 0
i_id = @id.to_i
lookArray = RaceAppearanceNames#[@id]
for i in (0...(lookArray[i_id].length))
add_command(" "+lookArray[i_id][i], :look)
#draw_item(i,RaceChara[i_id][i],RaceIndex[i_id][i])
#draw_character(RaceChara[i_id][i], RaceIndex[i_id][i],16,36*(i+1)-2)
end
#draw_character(RaceChara[i_id][i], RaceIndex[i_id][i], 0, 0)
end
def draw_item(index,chara="Actor1.png",chaIndex = 1)
change_color(normal_color, command_enabled?(index))
draw_text(item_rect_for_text(index), command_name(index), alignment)
#draw_character(chara,chaIndex,16,36*(index+1)-2)
end
def item_rect(index)
rect = Rect.new
rect.width = item_width
rect.height = 36#item_height
rect.x = index % col_max * (item_width + spacing)
rect.y = index / col_max * 36#item_height
rect
end
def update_cursor
if @cursor_all
cursor_rect.set(0, 0, contents.width, row_max * 36)
self.top_row = 0
elsif @index < 0
cursor_rect.empty
else
ensure_cursor_visible
cursor_rect.set(item_rect(@index))
end
end
def contents_height
[super - super % 36, row_max * 36].max
end
def update_padding_bottom
surplus = (height - standard_padding * 2) % 36
self.padding_bottom = padding + surplus
end
def top_row
oy / 36
end
def page_row_max
(height - padding - padding_bottom) / 36
end
def top_row=(row)
row = 0 if row < 0
row = row_max - 1 if row > row_max - 1
self.oy = row * 36
end
end нашел его тут |
Последнее редактирование: 10 года 6 мес. назад от AnnTenna. Причина: пожалуйста, называй темы адекватно
Администратор запретил публиковать записи гостям.
|
Модераторы: NeKotZima
Время создания страницы: 0.240 секунд