Ogłoszenie 

Uwaga! To forum jest w trybie offline.
Wszelką pomoc uzyskasz pod adresem
forum.ultimateam.pl


Administracja Forum


Poprzedni temat «» Następny temat
Wybór postaci
Autor Wiadomość
Kable 




Preferowany:
RPG Maker VX

Pomógł: 5 razy
Dołączył: 17 Lis 2007
Posty: 116
Skąd: Słupsk
Wysłany: Wto 29 Gru, 2009 20:52
Wybór postaci
Witam mam Dla was Skrypt na wybór postaci podczas Gry :P

AUTOR I AUTOR TŁUMACZENIA:
Autor: cr4200
Tłumaczenie: Deegi


INFORMACJE:

Obecne funkcje:
- Wybór jednego z 3 postaci
- Wyświetla HP, MP, str, def, SPI, agi, i nazwe klasy
- Naciśnij klawisz Shift w celu wyświetlenia postaci (lvl 1) umiejętności
- Nazwę można edytować po wyborze Postaci
- Mężczyzna i Kobieta w zestawie klas
- udaskonalone okno kobieta / mężczyzna w poleceniach (ikony)
- Element Klasy i stan wydajności
- Wsparcie dla kilku klas (więcej niż 3)
- Być może więcej

SCREEN




SKRYPT

Spoiler:

Kod:

WLH = 24

#=========================================================
=begin
Made by: cr4200
Tłumaczenie i Poprawki: Deegi

Stworzyłem ten skrypt dla siebie, ale pote zdecydowałem się go opublikować.
Nie jestem dobrym twórcą skryptów i więc mogą być błędy w skrypcie i sprawach kompatybilności i całość może też nie wyglądać tak estetycznie jak by mogło.
Ten skrypt powinien być użyty na początku gry, by wybrać klasę głównego bohatera.
Jak narazie możesz mieć max 3 klasy/postacie do wyboru. Sory.
To jest dopiero mój drugi skrypt stworzony przezemnie więc miej to na uwadze.

Mogę później dodać więcej funkcji jeśli będe miał ochotę.
#====Funkcje:====#
- Wybierz spośród 3 klas/postaci
- wyświetla hp, mp, str, def, spi, agi
- Naciśnij Shift by zobaczyć początkowe skille postaci(lvl 1)
- Imię zmieniasz po wyborze postaci

#====Instrukcja===#
Użyj opcji Script i wpisz "$scene = Scene_Charactermaker.new"
Najlepszym sposobem użycia tego, jest start postacią która nie ma charsetu na pustej mapie.
Potem zaznacz Trigger -> Autorun by rozpocząć event.
=end

#+++===Konfiguracja===+++#
# To są numery identyfikacyjne postaci które mogą być użyte w procesie wyboru postaci.
# Np.: $mslot1 = 5 wybiera postać nr 5 na pierwszym miejscu.

#Mężczyźni
$mslot1 = 3
$mslot2 = 6
$mslot3 = 8

#Kobiety
$fslot1 = 2
$fslot2 = 4
$fslot3 = 7

#+++===Końcowa konfiguracja===+++#
#=========================================================
# Window_Skilllist
#------------------------------------------------------------------------------
# To okno wyświetla skille dostępne dla postaci.
#=========================================================

class Window_Skilllist < Window_Selectable
def initialize(x, y, width, height, actor)
super(x, y, width, height)
@actor = actor
@column_max = 2
self.index = 0
refresh
end
# Get Skill
def skill
return @data[self.index]
end
# Refresh
def refresh
@data = []
for skill in @actor.skills
@data.push(skill)
if skill.id == @actor.last_skill_id
self.index = @data.size - 1
end
end
@item_max = @data.size
create_contents
for i in 0...@item_max
draw_item(i)
end
end
# Draw Item
def draw_item(index)
rect = item_rect(index)
self.contents.clear_rect(rect)
skill = @data[index]
if skill != nil
rect.width -= 4
draw_item_name(skill, rect.x, rect.y, true)
self.contents.draw_text(rect, @actor.calc_mp_cost(skill), 2)
end
end
# Update Help Text
def update_help
@help_window.set_text(skill == nil ? "" : skill.description)
end
end

#=========================================================
# Window_GenderChoose
#------------------------------------------------------------------------------
# This window deals with general command choices.
#=========================================================
class Window_GenderChoose < Window_Selectable
# Public Instance Variables
attr_reader :commands
def initialize(width, commands, column_max = 3, row_max = 1, spacing = 250 / commands.size / 2 + 20)
@spacingspace = (commands.size / 3)
if row_max == 0
row_max = (commands.size + column_max - 1) / column_max
end
super(544 / 2 - (544 / 8) - 50, 10, 255, row_max * WLH + 32, 30)
@commands = commands
@item_max = commands.size
@column_max = column_max
refresh
self.index = 0
end
# Refresh
def refresh
self.contents.clear
for i in 0...@item_max
draw_item(i)
end
end
#--------------------------------------------------------------------------
# * Draw Item
# index : item number
# enabled : enabled flag. When false, draw semi-transparently.
#--------------------------------------------------------------------------
def draw_item(index, enabled = true)
self.contents.font.color = normal_color
self.contents.font.color.alpha = enabled ? 255 : 128
self.contents.draw_text(index * 250 / @item_max + 5, -5, 70, 32, @commands[index])
end
def update_cursor
if @index < 0 # No cursor
self.cursor_rect.empty
elsif @index < @item_max # Normal
self.cursor_rect.set(@index * 250 / @item_max, 0, 250 / @item_max - 25, 25)
elsif @index >= 100 # Self
self.cursor_rect.set((@index - 100) * 96, 0, 25, 25)
else # All
self.cursor_rect.set(0, 0, 25, 25)
end
end
def update
super
if cursor_movable?
last_index = @index
if Input.repeat?(Input::RIGHT)
cursor_down(Input.trigger?(Input::RIGHT))
end
if Input.repeat?(Input::LEFT)
cursor_up(Input.trigger?(Input::LEFT))
end
if @index != last_index
Sound.play_cursor
end
end
end
end

#=========================================================
# ** Window_CharacterStatus
#------------------------------------------------------------------------------
# This window displays party member status on the menu screen.
#=========================================================
class Window_CharacterStatus < Window_Selectable
#--------------------------------------------------------------------------
# * Object Initialization
# x : window X coordinate
# y : window Y coordinate
#--------------------------------------------------------------------------
def initialize(width, commands, column_max = 3, row_max = 1, spacing = 545 / $game_party.members.size)


super(0, 45, 545, WLH + 342)
refresh
self.active = true
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
@item_max = $game_party.members.size
for actor in $game_party.members
draw_actor_face(actor, actor.index * 545 / @item_max + 5, 10, 96)
x = actor.index * 545 / @item_max + 5
y = 106
draw_actor_class(actor, x, y)
draw_actor_graphic(actor, actor.index * 545 / @item_max + 130, 80)
draw_actor_hp(actor, x, y + 20)
draw_actor_mp(actor, x, y + 40)
draw_actor_parameter(actor, x, y + 60, 0)
draw_actor_parameter(actor, x, y + 80, 1)
draw_actor_parameter(actor, x, y + 100, 2)
draw_actor_parameter(actor, x, y + 120, 3)
end
end
#--------------------------------------------------------------------------
# * Update cursor
#--------------------------------------------------------------------------
def update_cursor
if @index < 0 # No cursor
self.cursor_rect.empty
elsif @index < @item_max # Normal
self.cursor_rect.set(@index * 545 / @item_max + 0, 0, 545 / @item_max - 30, 337)
elsif @index >= 100 # Self
self.cursor_rect.set((@index - 100) * 96, 0, 25, 25)
else # All
self.cursor_rect.set(0, 0, 25, 25)
end
end
def update
super
if cursor_movable?
last_index = @index
if Input.repeat?(Input::RIGHT)
cursor_down(Input.trigger?(Input::RIGHT))
end
if Input.repeat?(Input::LEFT)
cursor_up(Input.trigger?(Input::LEFT))
end
if @index != last_index
Sound.play_cursor
end
end
update_cursor
call_update_help
end
def update_help
@help_window.set_text("Pick a starting class (Press SHIFT to view skills)", 1)
end
def draw_actor_parameter(actor, x, y, type)
case type
when 0
parameter_name = Vocab::atk
parameter_value = actor.atk
when 1
parameter_name = Vocab::def
parameter_value = actor.def
when 2
parameter_name = Vocab::spi
parameter_value = actor.spi
when 3
parameter_name = Vocab::agi
parameter_value = actor.agi
end
self.contents.font.color = system_color
self.contents.draw_text(x, y, 120, WLH, parameter_name)
self.contents.font.color = normal_color
self.contents.draw_text(x + 100, y, 36, WLH, parameter_value, 2)
end
end




#----------------------------
#Gender Choose Scene
#----------------------------
class Scene_Charactermaker < Scene_Base
#--------------------------------------------------------------------------
# * Object Initialization
# menu_index : command cursor's initial position
#--------------------------------------------------------------------------
def initialize(menu_index = 0)
@menu_index = menu_index
end
#--------------------------------------------------------------------------
# * Start processing
#--------------------------------------------------------------------------
def start
super
create_menu_background
create_command_window
end
#--------------------------------------------------------------------------
# * Termination Processing
#--------------------------------------------------------------------------
def terminate
super
@command_window.dispose
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
@command_window.update
if @command_window.active
update_command_selection
end
end
#Create Command Window
def create_command_window
s1 = 'Male'
s2 = 'Female'
@command_window = Window_GenderChoose.new (160, [s1, s2])
@command_window.index = @menu_index
$menu_index = @menu_index
end
#Update Command Window
def update_command_selection
if Input.trigger?(Input::C)
if $game_party.members.size == 0 and @command_window.index < 4
Sound.play_buzzer
return
elsif $game_system.save_disabled and @command_window.index == 4
Sound.play_buzzer
return
end
Sound.play_decision
case @command_window.index
when 0 # Male
$genderfemale = false
$scene = Scene_ClassChoose.new
when 1 #Female
$genderfemale = true
$scene = Scene_ClassChoose.new
end
end
end
end
#---------------------------
#Choose and view class scene
#---------------------------
class Scene_ClassChoose < Scene_Base
#--------------------------------
#Initialize, Start, and Terminate
#--------------------------------
def initialize(menu_index = 0)
@menu_index = menu_index
if $genderfemale != true
$slot1 = $mslot1
$slot2 = $mslot2
$slot3 = $mslot3
$game_party.add_actor($mslot1)
$game_party.add_actor($mslot2)
$game_party.add_actor($mslot3)
elsif $genderfemale = true
$slot1 = $fslot1
$slot2 = $fslot2
$slot3 = $fslot3
$game_party.add_actor($fslot1)
$game_party.add_actor($fslot2)
$game_party.add_actor($fslot3)
end
$startchara = $game_party.members[0].id
$game_party.remove_actor($startchara)
end
def start
super
create_command_window
@help_window = Window_Help.new
@help_window.viewport = @viewport
@command_window.help_window = @help_window
@input_window = Window_NameInput.new
@input_window.active = false
@input_window.visible = false

end
def terminate
super
@command_window.dispose
@input_window.dispose
if @edit_window != nil
@edit_window.dispose
end
@help_window.dispose
end
def update
super
$menu_indexy = @menu_index
if @input_window.active
update_nameinput
elsif @command_window.active
@command_window.update
update_command_selection
elsif @skill_window.active
updateskills
@skill_window.update
end
@help_window.update
end
def updateskills
if Input.trigger?(Input::B)
Sound.play_cancel
@skill_window.active = false
@skill_window.visible = false
@command_window.active = true
end
end
def update_nameinput
if $edit_window_active != true
@edit_window = Window_NameEdit.new(@actor, 9)
$edit_window_active = true
end
update_menu_background
@edit_window.update
@input_window.update
if Input.repeat?(Input::B)
if @edit_window.index > 0
Sound.play_cancel
@edit_window.back
end
elsif Input.trigger?(Input::C)
if @input_window.is_decision
if @edit_window.name == ""
@edit_window.restore_default
if @edit_window.name == ""
Sound.play_buzzer
else
Sound.play_decision
end
else
Sound.play_decision
@actor.name = @edit_window.name
$edit_window_active = false
$scene = Scene_Map.new
end
elsif @input_window.character != ""
if @edit_window.index == @edit_window.max_char
Sound.play_buzzer
else
Sound.play_decision
@edit_window.add(@input_window.character)
end
end
end
end
#------------
#create_items
#------------
def create_command_window
s1 = 'Apprentice'
s2 = 'Foot Soldier'
s3 = 'Pickpocket'
@command_window = Window_CharacterStatus.new(160, [s2, s1 ,s3])
@command_window.index = @menu_index
@commandthing = @menu_index
end
def update_command_selection
if Input.trigger?(Input::B)
Sound.play_cancel
$game_party.add_actor($startchara)
$game_party.remove_actor($mslot1)
$game_party.add_actor($startchara)
$game_party.remove_actor($mslot2)
$game_party.add_actor($startchara)
$game_party.remove_actor($mslot3)
$game_party.add_actor($startchara)
$game_party.remove_actor($fslot1)
$game_party.add_actor($startchara)
$game_party.remove_actor($fslot2)
$game_party.add_actor($startchara)
$game_party.remove_actor($fslot3)
$game_party.add_actor($startchara)
if $genderfemale != true
$scene = Scene_Charactermaker.new(0)
elsif $genderfemale = true
$scene = Scene_Charactermaker.new(1)
end
end
if Input.trigger?(Input::C)
Sound.play_decision
case @command_window.index
when 0 # Slot 1
$game_party.remove_actor($slot3)
$game_party.remove_actor($slot2)
@actor = $game_actors[$slot1]
@input_window.active = true
@input_window.visible = true
@command_window.active = false
when 1 #Slot 2
$game_party.remove_actor($slot1)
$game_party.remove_actor($slot3)
@actor = $game_actors[$slot2]
@input_window.active = true
@input_window.visible = true
@command_window.active = false
when 2 #Slot 3
$game_party.remove_actor($slot1)
$game_party.remove_actor($slot2)
@actor = $game_actors[$slot3]
@input_window.active = true
@input_window.visible = true
@command_window.active = false
end
end
if Input.trigger?(Input::SHIFT)
Sound.play_decision
case @command_window.index
when 0
@actor = $game_actors[$mslot1]
@skill_window = Window_Skilllist.new((545 - 3 * (545 / 4)), @help_window.height, 545 - (545 / 4), 416 - @help_window.height, @actor)
@command_window.active = false
@skill_window.active = true
@skill_window.visible = true
when 1
@actor = $game_actors[$mslot2]
@skill_window = Window_Skilllist.new(545 / 8, @help_window.height, 545 - (545 / 4), 416 - @help_window.height, @actor)
@command_window.active = false
@skill_window.active = true
@skill_window.visible = true
when 2
@actor = $game_actors[$mslot3]
@skill_window = Window_Skilllist.new(0, @help_window.height, 545 - (545 / 4), 416 - @help_window.height, @actor)
@command_window.active = false
@skill_window.active = true
@skill_window.visible = true
end
end
end
end


Na prośbę Ayene.
 
 
bionicl 




Preferowany:
RPG Maker VX

Pomógł: 1 raz
Dołączył: 06 Gru 2009
Posty: 99
Skąd: z Huty Mińskiej
Wysłany: Wto 29 Gru, 2009 21:04
Mam problem: Gdy włączam skrypt wyskakuje:


Pomocy! ;-(
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Wto 29 Gru, 2009 21:51
Skrypt wywołaj za pomocą:
Kod:
$scene = Scene_Charactermaker.new
________________________


 
 
 
bionicl 




Preferowany:
RPG Maker VX

Pomógł: 1 raz
Dołączył: 06 Gru 2009
Posty: 99
Skąd: z Huty Mińskiej
Wysłany: Wto 29 Gru, 2009 22:48
Działa! dzięki!
Jeszcze jedno pytanie: jak zrobić, aby były tylko dziewczyny?
________________________
Gość, podoba ci się moja gra? ;)
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Wto 29 Gru, 2009 23:02
Po wywołaniu skryptu masz do wybory 'Male' i 'Female', gdzie 'Male' to mężczyźni, a 'Female' to kobiety.
________________________


 
 
 
bionicl 




Preferowany:
RPG Maker VX

Pomógł: 1 raz
Dołączył: 06 Gru 2009
Posty: 99
Skąd: z Huty Mińskiej
Wysłany: Sro 30 Gru, 2009 00:17
Coś się nie zrozumieliśmy:
chodzi mi, czy da się wyeliminować jedną grupę aby były (w moim przypadku) tylko dziewczyny?
________________________
Gość, podoba ci się moja gra? ;)
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Sro 30 Gru, 2009 00:42
Żeby nie było wyboru male/female tylko od razu przechodziło do okna z wyborem kobiet?
________________________


 
 
 
bionicl 




Preferowany:
RPG Maker VX

Pomógł: 1 raz
Dołączył: 06 Gru 2009
Posty: 99
Skąd: z Huty Mińskiej
Wysłany: Sro 30 Gru, 2009 11:10
Dokładnie...
________________________
Gość, podoba ci się moja gra? ;)
 
 
dawidos989 




Preferowany:
RPG Maker VX

Pomógł: 6 razy
Dołączył: 04 Lis 2009
Posty: 87
Skąd: z tond
Wysłany: Pią 08 Sty, 2010 19:19
jak to dodać bo ta skrypa jakaś dziwna gdzie tu jest początek
________________________
Pomogłem? Daj "
 
 
Unnamed 




Preferowany:
RPG Maker XP

Dołączył: 29 Lip 2009
Posty: 59
Skąd: from Hell
Wysłany: Pią 08 Sty, 2010 19:41
Po rozwinieciu spoilera (przycisk pokaz) skopiuj wszystko to co jest w ramce.
________________________
Time to Play :!:

 
 
dawidos989 




Preferowany:
RPG Maker VX

Pomógł: 6 razy
Dołączył: 04 Lis 2009
Posty: 87
Skąd: z tond
Wysłany: Pią 08 Sty, 2010 20:53
a gdzie dać kod
________________________
Pomogłem? Daj "
 
 
Unnamed 




Preferowany:
RPG Maker XP

Dołączył: 29 Lip 2009
Posty: 59
Skąd: from Hell
Wysłany: Pią 08 Sty, 2010 20:58
http://www.ultimateam.pl/...der=asc&start=0
Dodaj go tak samo jak inne skrypty.
________________________
Time to Play :!:

 
 
dawidos989 




Preferowany:
RPG Maker VX

Pomógł: 6 razy
Dołączył: 04 Lis 2009
Posty: 87
Skąd: z tond
Wysłany: Sob 09 Sty, 2010 15:28
a jak to uruchomić
________________________
Pomogłem? Daj "
 
 
Unnamed 




Preferowany:
RPG Maker XP

Dołączył: 29 Lip 2009
Posty: 59
Skąd: from Hell
Wysłany: Sob 09 Sty, 2010 15:47
Masz przeciez w tresci instrukcji:
Kod:
#====Instrukcja===#
Użyj opcji Script i wpisz "$scene = Scene_Charactermaker.new"
Najlepszym sposobem użycia tego, jest start postacią która nie ma charsetu na pustej mapie.
Potem zaznacz Trigger -> Autorun by rozpocząć event.
________________________
Time to Play :!:

 
 
dawidos989 




Preferowany:
RPG Maker VX

Pomógł: 6 razy
Dołączył: 04 Lis 2009
Posty: 87
Skąd: z tond
Wysłany: Sob 09 Sty, 2010 16:12
jak to uruchomić
________________________
Pomogłem? Daj "
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group | Template Klam by Ayene