UltimaForum

Wsparcie [XP] - Jak zrobić...

aragorn7015 - Nie 03 Cze, 2012 18:38
Temat postu: Jak zrobić...
Żeby, jak powiedzmy Basil z podstawowych ludzi ma klasę lancer, to nowe zdarzenie, i co mam zrobić żeby powstał taki jakby warunek, że jak Basil ma klasę np. Warrior to coś tam dostaję... Czyli nie wiem jak ustawić ten taki jakby warunek lub coś. Mam nadzieję że jasno się wyraziłem...
Ayene - Nie 03 Cze, 2012 20:12

A jak gracz wybiera klasę? Nie możesz po tym wyborze przyporządkować jakiejś zmiennej. Np. Gracz wybierze Basila, to zmienną nr 3 ustawiasz na 1, jeśli inną postać to na 2. No i później ustawiasz warunek, że jeśli zmienna jest równa 1 to rób to i to...
aragorn7015 - Nie 03 Cze, 2012 20:15

Ale wybieranie klas jest zrobione za pomocą skryptu Class Changing By Hamster... Masz jakiś pomysł Ayene?
Ayene - Nie 03 Cze, 2012 20:47

Nie znam tego skryptu. Podaj link, zawsze można dodać tam zmienną.
aragorn7015 - Nie 03 Cze, 2012 20:59

Proszę o to link Zmiana klasy bohatera
A mój zmieniony skrypt wygląda tak:
Spoiler:

#==============================
# Class Changing By HamsterMan
#------------------------------
# 30/09/06
#==============================
class Window_ClassChangingHelp < Window_Base

def initialize
super(150, 48, 340, 64)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "Arial"
self.contents.font.size = 16
refresh
end

def refresh
self.contents.draw_text(0, -20, 340, 64, "Wciśnij C, by zmienić płeć")
end
end
#========================================
class Window_CurrentClass < Window_Base

def initialize
super(300, 112, 190, 320)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "Arial"
self.contents.font.size = 20
refresh
end

def refresh
self.contents.clear
draw_actor_graphic($game_party.actors[0], 40, 50)
draw_actor_battler($game_party.actors[0], 140, 270)

self.contents.font.bold = true
self.contents.font.italic = true
draw_actor_class($game_party.actors[0], 60, 0)
self.contents.draw_text(60, 15, 100, 50, "Poziom")
self.contents.draw_text(110, 15, 50, 50, $game_party.actors[0].level.to_s)
end

def draw_actor_battler(actor, x, y)
bitmap = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
cw = bitmap.width
ch = bitmap.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x - cw, y - ch, bitmap, src_rect)
end
end
#========================================
class Window_ClassHelp < Window_Base

def initialize
super(150, 48, 340, 64)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "Arial"
self.contents.font.size = 16
refresh
end

def refresh
self.contents.draw_text(0, -20, 340, 64, "Nacisnij C, by zmienić klasę postaci'")
end
end
#========================================
class Scene_ClassChanging

def main

m1 = "Meżczyzna"
m2 = "Kobieta"

@command_window = Window_Command.new(150, [m1, m2])
@command_window.x = 150
@command_window.y = 112

@classchanginghelp_window = Window_ClassChangingHelp.new

Graphics.transition

loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end

Graphics.freeze

@command_window.dispose
@classchanginghelp_window.dispose

end
#----------------------------------------
def update

@command_window.update
@classchanginghelp_window.update

if Input.trigger?(Input::B)
$game_system.se_play($data_system.buzzer_se)
end

if Input.trigger?(Input::C)

case @command_window.index
when 0
$game_system.se_play($data_system.decision_se)
$scene = Scene_ClassChangeMale.new
when 1
$game_system.se_play($data_system.decision_se)
$scene = Scene_ClassChangeFemale.new
end
return
end
end
end
#========================================
class Scene_ClassChangeMale

def main

s1 = "Wojownik"
s2 = "Lansjer"
s3 = "Czarodziej"
s4 = "Wojownik"
s5 = "Duchowny"
s6 = "Kanonier"
s7 = "Myśliwy"
s8 = "Złodziej"
s9 = "Potwierdź"

@command_window = Window_Command.new(150, [s1, s2, s3, s4, s5, s6, s7, s8, s9])
@command_window.x = 150
@command_window.y = 112

@currentclass_window = Window_CurrentClass.new
@classhelp_window = Window_ClassHelp.new

Graphics.transition

loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end

Graphics.freeze

@command_window.dispose
@currentclass_window.dispose
@classhelp_window.dispose

end
#----------------------------------------
def update

@command_window.update
@currentclass_window.update
@classhelp_window.update

if Input.trigger?(Input::B)
$game_system.se_play($data_system.buzzer_se)
$scene = Scene_ClassChanging.new
end

if Input.trigger?(Input::C)
case @command_window.index
when 0
$game_party.actors[0].set_graphic("001-Fighter01", 0, "001-Fighter01", 0)
$game_party.actors[0].class_id = 1
$game_system.se_play($data_system.decision_se)
$game_player.refresh
@currentclass_window.refresh
when 1
$game_party.actors[0].set_graphic("010-Lancer02", 0, "010-Lancer02", 0)
$game_party.actors[0].class_id = 2
$game_system.se_play($data_system.decision_se)
$game_player.refresh
@currentclass_window.refresh
when 2
$game_party.actors[0].set_graphic("036-Mage04", 0, "036-Mage04", 0)
$game_party.actors[0].class_id = 11
$game_system.se_play($data_system.decision_se)
$game_player.refresh
@currentclass_window.refresh
when 3
$game_party.actors[0].set_graphic("013-Warrior01", 0, "013-Warrior01", 0)
$game_party.actors[0].class_id = 3
$game_system.se_play($data_system.decision_se)
$game_player.refresh
@currentclass_window.refresh
when 4
$game_party.actors[0].set_graphic("027-Cleric03", 0, "027-Cleric03", 0)
$game_party.actors[0].class_id = 13
$game_system.se_play($data_system.decision_se)
$game_player.refresh
@currentclass_window.refresh
when 5
$game_party.actors[0].set_graphic("023-Gunner01", 0, "023-Gunner01", 0)
$game_party.actors[0].class_id = 6
$game_system.se_play($data_system.decision_se)
$game_player.refresh
@currentclass_window.refresh
when 6
$game_party.actors[0].set_graphic("020-Hunter01", 0, "020-Hunter01", 0)
$game_party.actors[0].class_id = 5
$game_system.se_play($data_system.decision_se)
$game_player.refresh
@currentclass_window.refresh
when 7
$game_party.actors[0].set_graphic("016-Thief01", 0, "016-Thief01", 0)
$game_party.actors[0].class_id = 4
$game_system.se_play($data_system.decision_se)
$game_player.refresh
@currentclass_window.refresh
when 8
$game_system.se_play($data_system.decision_se)
$scene = Scene_Map.new
end
return
end
end
end
#========================================
class Scene_ClassChangeFemale

def main

s1 = "Wojowniczka"
s2 = "Lansjerka"
s3 = "Czarodziejka"
s4 = "Wojowniczka"
s5 = "Duchowna"
s6 = "Kanonierka"
s7 = "Myśliwa"
s8 = "Złodziejka"
s9 = "Potwierdź"

@command_window = Window_Command.new(150, [s1, s2, s3, s4, s5, s6, s7, s8, s9])
@command_window.x = 150
@command_window.y = 112

@currentclass_window = Window_CurrentClass.new
@classhelp_window = Window_ClassHelp.new

Graphics.transition

loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end

Graphics.freeze

@command_window.dispose
@currentclass_window.dispose
@classhelp_window.dispose

end
#----------------------------------------
def update

@command_window.update
@currentclass_window.update
@classhelp_window.update

if Input.trigger?(Input::B)
$game_system.se_play($data_system.buzzer_se)
$scene = Scene_ClassChanging.new
end

if Input.trigger?(Input::C)
case @command_window.index
when 0
$game_party.actors[0].set_graphic("001-Fighter01", 0, "001-Fighter01", 0)
$game_party.actors[0].class_id = 15
$game_system.se_play($data_system.decision_se)
$game_player.refresh
@currentclass_window.refresh
when 1
$game_party.actors[0].set_graphic("012-Lancer04", 0, "012-Lancer04", 0)
$game_party.actors[0].class_id = 2
$game_system.se_play($data_system.decision_se)
$game_player.refresh
@currentclass_window.refresh
when 2
$game_party.actors[0].set_graphic("039-Mage07", 0, "039-Mage07", 0)
$game_party.actors[0].class_id = 8
$game_system.se_play($data_system.decision_se)
$game_player.refresh
@currentclass_window.refresh
when 3
$game_party.actors[0].set_graphic("015-Warrior03", 0, "015-Warrior03", 0)
$game_party.actors[0].class_id = 3
$game_system.se_play($data_system.decision_se)
$game_player.refresh
@currentclass_window.refresh
when 4
$game_party.actors[0].set_graphic("029-Cleric05", 0, "029-Cleric05", 0)
$game_party.actors[0].class_id = 7
$game_system.se_play($data_system.decision_se)
$game_player.refresh
@currentclass_window.refresh
when 5
$game_party.actors[0].set_graphic("024-Gunner02", 0, "024-Gunner02", 0)
$game_party.actors[0].class_id = 6
$game_system.se_play($data_system.decision_se)
$game_player.refresh
@currentclass_window.refresh
when 6
$game_party.actors[0].set_graphic("022-Hunter03", 0, "022-Hunter03", 0)
$game_party.actors[0].class_id = 5
$game_system.se_play($data_system.decision_se)
$game_player.refresh
@currentclass_window.refresh
when 7
$game_party.actors[0].set_graphic("019-Thief04", 0, "019-Thief04", 0)
$game_party.actors[0].class_id = 4
$game_system.se_play($data_system.decision_se)
$game_player.refresh
@currentclass_window.refresh
when 8
$game_system.se_play($data_system.decision_se)
$scene = Scene_Map.new
end
return
end
end
end



EDIT (21:74 :-D )

Zaradzisz temu problemowi ??? :mrgreen:

Ayene - Czw 07 Cze, 2012 10:27

Możesz zawsze skorzystać z ostatniej strony (4) Conditional Branch, z "Script", w którym wpisz:
Kod:
$game_party.actors[0].class_id == ID

Gdzie ID, to id klasy w bazie danych.

aragorn7015 - Czw 07 Cze, 2012 13:27

Dzięki, działa, ale jeszcze jedno a mianowicie, gdy wybieram klasę, zarówno jak i u kobiet i u mężczyzn, robi się coś takiego: http://www.freeimagehosting.net/ss2zm .Wybieram duchownego, a duchowny robi się wojownikiem, biorę złodzieja, a następnie chce sprawdzić duchownego i zamiast duchownego jest złodziej... Charset i battlers się zmieniają, a klasa nie...
Feniks - Czw 26 Lip, 2012 14:01

Bo w skrypcie tam gdzie zmieniasz grafiki jest linijkę, czy dwie niżej:
Kod:
$game_party.actors[0].class_id = 11
(kopiowałem z maga) także po prostu daj id maga z bazy danych klas. To samo z duchowym.


Powered by phpBB modified by Przemo © 2003 phpBB Group