PaKiTos - Sob 05 Maj, 2012 15:25 Temat postu: Kurs skryptowania #1Witam Skoro tutaj jesteś, zapewne chcesz się nauczyć skryptować. Skryptowanie nie jest takie trudne, gdy się je opanuje. No ale dobra, przejdźmy do poradnika.
Ta część poradnika nauczy cię:
Usuwać komendy walki
Kontrolować widoczność komend walki za pomocą przełącznika
Zaczynamy!
Uruchamiamy Rpg Makera VX Ace, otwieramy nasz projekt testowy i naciskamy F11. Widzimy listę różnych windowów, scenesów i innych nieznanych rzeczy. Chcemy zablokować niektóre komendy walki. W tym celu musimy poszukać Window_ActorCommand.
PODPOWIEDŹ!
Spoiler:
Szukaj w pobliżu windowów związanych z walką.
Naszym oczom ukazuje się kod:
Spoiler:
Kod:
class Window_ActorCommand < Window_Command
def initialize
super(0, 0)
self.openness = 0
deactivate
@actor = nil
end
def window_width
return 128
end
def visible_line_number
return 4
end
def make_command_list
return unless @actor
add_attack_command
add_skill_commands
add_guard_command
add_item_command
end
def add_attack_command
add_command(Vocab::attack, :attack, @actor.attack_usable?)
end
def add_skill_commands
@actor.added_skill_types.sort.each do |stype_id|
name = $data_system.skill_types[stype_id]
add_command(name, :skill, true, stype_id)
end
end
def add_guard_command
add_command(Vocab::guard, :guard, @actor.guard_usable?)
end
def add_item_command
add_command(Vocab::item, :item)
end
def setup(actor)
@actor = actor
clear_command_list
make_command_list
refresh
select(0)
activate
open
end
end
Odpowiada on za komendy postaci w walce, np. atak, obrona, przedmioty... Jeśli na przykład nie chcemy mieć w swojej grze komendy obrony, kasujemy linijkę tworzącą ją. Najpierw musimy znaleźć taki kawałek kodu:
Czas usunąć komendę obrony. W tym celu usuwamy taki oto kawałek kodu:
Kod:
add_guard_command
Jeśli wszystko zrobiliśmy dobrze i uruchomimy grę, zauważymy brak komendy obrony podczas walki. Ale usunięcie komendy to połowa sukcesu, teraz nauczmy się kontrolować jej widoczność przełącznikiem.
Interesuje nas teraz komenda ataku. Chcemy kontrolować jej widoczność przełącznikiem nr. 1. W tym celu użyjmy warunku (if).
Przełącznik może być włączony(true) albo wyłączony(false). Użyjmy tej wiedzy dla kontrolowania komendy. Nad kawałkiem kodu:
Kod:
add_attack_command
dodajmy warunek:
Kod:
if $game_switches[1] == true
Nie zadziała, bo zapomnieliśmy zakoczyć warunek słówkiem end.
A więc pod linijką dodającą komendę ataku dodajemy jeszcze jedną. Wpisujemy do niej tylko słówko end.
Jeśli wszystko poszło pomyślnie, komenda ataku zostanie ukryta dopóki nie włączymy przełącznika nr. 1.
Nasz kod powinien wyglądać tak:
Spoiler:
Kod:
class Window_ActorCommand < Window_Command
def initialize
super(0, 0)
self.openness = 0
deactivate
@actor = nil
end
def window_width
return 128
end
def visible_line_number
return 4
end
def make_command_list
return unless @actor
if $game_switches[1] == true
add_attack_command
end
add_skill_commands
add_item_command
end
def add_attack_command
add_command(Vocab::attack, :attack, @actor.attack_usable?)
end
def add_skill_commands
@actor.added_skill_types.sort.each do |stype_id|
name = $data_system.skill_types[stype_id]
add_command(name, :skill, true, stype_id)
end
end
def add_guard_command
add_command(Vocab::guard, :guard, @actor.guard_usable?)
end
def add_item_command
add_command(Vocab::item, :item)
end
def setup(actor)
@actor = actor
clear_command_list
make_command_list
refresh
select(0)
activate
open
end
end
ĆWICZENIE!
Spoiler:
Zmień skrypt w taki sposób, żeby przełącznik nr. 2 kontrolował widocznością komendy Przedmioty.
Nie dawać na inne strony bez pozwolenia!sled - Nie 06 Maj, 2012 10:04 Fajny poradnik-przyda się początkującym Tym bardziej że są to dosłownie podstawy w rubyAvenCrazy - Sro 30 Maj, 2012 00:09
Cytat:
Skryptowanie nie jest takie trudne, gdy się je opanuje.
Cpt. Obvious on duty :D
Całkiem fajny poradnik, na pewno się przyda, kiedy w końcu zabiorę się za jakiś projekt.CrasheR - Wto 17 Lip, 2012 10:55 Może w końcu napisze jakiś skrypt sam ^^makerowiec64 - Nie 18 Lis, 2012 20:21 Bardzo fajne!Jako że jestem zielony jak ogórek w skryptowaniu to się przyda.
Proszę...rób kolejne części.Dałbym ci pomógł,ale niestety nie mogę...filiotef - Nie 21 Kwi, 2013 21:33 Świetny poradnik
Zrobisz kolejne części