Angius - Sob 16 Kwi, 2011 16:48 Temat postu: Skrypt na petaOpis:
Skrypt pozwala nam mieć własnego zwierzaka :)
Zwierzak chodzi za nami jak przy skrypcie na gąsienicę. Również podnosi mu się poziom, używa umiejętności, ale nie wyświetla nam się nigdzie w menu - nie możemy zmienić mu ekwipunku ani przydzielić punktów umiejętności. Możemy go włączyć i wyłączyć tylko jednym przełącznikiem, bez konieczności wywoływania jakiegokolwiek skryptu. Nie potrzebuje żadnych dodatkowych materiałów ani też nie gryzie się z żadnym chyba skryptem (nie wiem tylko, czy wyświetla się w Takenai'u)
Dobre Rady Wujka Anga:
Jeśli chcecie zmienić zwierzaka na innego, to jest na to rada jak to zrobić na zdarzeniach - nie ma takiej opcji w skrypcie.
1. Zmień grafikę bohatera "zwierzak" na inną
2. Zmień imię bohatera "zwierzak" na inne
3. Zmień klasę bohatera "zwierzak" na inną
4. Ew. zmień poziom bohatera "zwierzak" na inny.
Skrypt:
Spoiler:
Kod:
#==============================================================================
# Pet
#==============================================================================
# Author : OriginalWij
# Version : 1.3
#==============================================================================
#==============================================================================
# v1.0
# - Pierwsze wypuszczenie
# v1.1
# - Dodana opcja zwierzaka w walce
# v1.2
# - Nie pokazuje zwierzaka w pojeździe
# v1.3
# - Dodana opcja GameOver jeśli przeżył tylko zwierzak
#==============================================================================
module OW_PET
# Przełącznik włączający zwierzaka
PET_ENABLE_SWITCH = 13
# ID zwierzaka (ustawiony w bohaterach w DB) [WAŻNE: musi być ustawiony na 'Auto-Battle']
PET_ID = 10
# Używać zwierzaka w walce?
PET_BATTLE = true
# Leczyć zwierzaka po każdej walce?
PET_HEAL = true
# Czy gdy przeżył tylko zwierzak pozwolić na GameOver?
PET_GAMEOVER = true
end
class Game_Character
#--------------------------------------------------------------------------
# Public instance variables (New)
#--------------------------------------------------------------------------
attr_accessor :priority_type
end
class Game_Player
#--------------------------------------------------------------------------
# Public instance variables (New)
#--------------------------------------------------------------------------
attr_reader :move_speed
#--------------------------------------------------------------------------
# Update (Mod)
#--------------------------------------------------------------------------
alias ow_pet_game_player_update update unless $@
def update
$game_party.update_pet
ow_pet_game_player_update
end
#--------------------------------------------------------------------------
# Move to (Mod)
#--------------------------------------------------------------------------
alias ow_pet_game_player_moveto moveto unless $@
def moveto(x, y)
$game_party.moveto_pet(x, y)
ow_pet_game_player_moveto(x, y)
end
#--------------------------------------------------------------------------
# Move down (Mod)
#--------------------------------------------------------------------------
alias ow_pet_game_player_move_down move_down unless $@
def move_down(turn = true)
if passable?(@x, @y + 1)
$game_party.move_pet(2, turn)
end
ow_pet_game_player_move_down(turn)
end
#--------------------------------------------------------------------------
# Move left (Mod)
#--------------------------------------------------------------------------
alias ow_pet_game_player_move_left move_left unless $@
def move_left(turn = true)
if passable?(@x - 1, @y)
$game_party.move_pet(4, turn)
end
ow_pet_game_player_move_left(turn)
end
#--------------------------------------------------------------------------
# Move right (Mod)
#--------------------------------------------------------------------------
alias ow_pet_game_player_move_right move_right unless $@
def move_right(turn = true)
if passable?(@x + 1, @y)
$game_party.move_pet(6, turn)
end
ow_pet_game_player_move_right(turn)
end
#--------------------------------------------------------------------------
# Move up (Mod)
#--------------------------------------------------------------------------
alias ow_pet_game_player_move_up move_up unless $@
def move_up(turn = true)
if passable?(@x, @y - 1)
$game_party.move_pet(8, turn)
end
ow_pet_game_player_move_up(turn)
end
#--------------------------------------------------------------------------
# Move down left (Mod)
#--------------------------------------------------------------------------
alias ow_pet_game_playermove_lower_left move_lower_left unless $@
def move_lower_left
if passable?(@x - 1, @y + 1)
$game_party.move_pet(1)
end
ow_pet_game_playermove_lower_left
end
#--------------------------------------------------------------------------
# Move down right (Mod)
#--------------------------------------------------------------------------
alias ow_pet_game_playermove_lower_right move_lower_right unless $@
def move_lower_right
if passable?(@x + 1, @y + 1)
$game_party.move_pet(3)
end
ow_pet_game_playermove_lower_right
end
#--------------------------------------------------------------------------
# Move up left (Mod)
#--------------------------------------------------------------------------
alias ow_pet_game_player_move_upper_left move_upper_left unless $@
def move_upper_left
if passable?(@x - 1, @y - 1)
$game_party.move_pet(5)
end
ow_pet_game_player_move_upper_left
end
#--------------------------------------------------------------------------
# Move up right (Mod)
#--------------------------------------------------------------------------
alias ow_pet_game_player_move_upper_right move_upper_right unless $@
def move_upper_right
if passable?(@x + 1, @y - 1)
$game_party.move_pet(7)
end
ow_pet_game_player_move_upper_right
end
#--------------------------------------------------------------------------
# Jump (Mod)
#--------------------------------------------------------------------------
alias ow_pet_game_player_jump jump unless $@
def jump(ow_pet_x, ow_pet_y)
new_x = @x + ow_pet_x
new_y = @y + ow_pet_y
if (ow_pet_x == 0 and ow_pet_y == 0) or passable?(new_x, new_y)
$game_party.move_pet(9, [ow_pet_x, ow_pet_y])
end
ow_pet_game_player_jump(ow_pet_x, ow_pet_y)
end
end
class Game_Party
#--------------------------------------------------------------------------
# Include (New)
#--------------------------------------------------------------------------
include OW_PET
#--------------------------------------------------------------------------
# Public instance variables (New)
#--------------------------------------------------------------------------
attr_reader :pet
#--------------------------------------------------------------------------
# Initialize (Mod)
#--------------------------------------------------------------------------
alias ow_pet_game_party_initialize initialize unless $@
def initialize
ow_pet_game_party_initialize
@pet = Game_Pet.new(nil)
@move_pet = []
end
#--------------------------------------------------------------------------
# Update pet (New)
#--------------------------------------------------------------------------
def update_pet
@pet.actor = PET_ID
@pet.move_speed = $game_player.move_speed
if $game_player.dash?
@pet.move_speed += 1
end
@pet.update
@pet.transparent = !$game_switches[PET_ENABLE_SWITCH]
@pet.transparent = true if $game_player.in_vehicle?
end
#--------------------------------------------------------------------------
# Determine Everyone is Dead (Mod)
#--------------------------------------------------------------------------
alias ow_pet_game_party_all_dead? all_dead? unless $@
def all_dead?
if $game_switches[PET_ENABLE_SWITCH] and PET_GAMEOVER and
$game_temp.in_battle and existing_members == [$game_actors[PET_ID]]
return true
end
ow_pet_game_party_all_dead?
end
#--------------------------------------------------------------------------
# Move to (pet) (New)
#--------------------------------------------------------------------------
def moveto_pet(x, y)
@pet.moveto(x, y)
@move_pet.clear
end
#--------------------------------------------------------------------------
# Move pet (New)
#--------------------------------------------------------------------------
def move_pet(type, turn = false)
if @move_pet == nil
@move_pet = [type, turn]
do_type = 0
else
do_type = @move_pet[0]
do_turn = @move_pet[1]
@move_pet = [type, turn]
end
case do_type
when 1
@pet.move_lower_left
when 2
@pet.move_down(do_turn)
when 3
@pet.move_lower_right
when 4
@pet.move_left(do_turn)
when 5
@pet.move_upper_left
when 6
@pet.move_right(do_turn)
when 7
@pet.move_upper_right
when 8
@pet.move_up(do_turn)
when 9
@pet.jump(do_turn[0], do_turn[1])
end
end
end
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# Include (New)
#--------------------------------------------------------------------------
include OW_PET
#--------------------------------------------------------------------------
# Start (Mod)
#--------------------------------------------------------------------------
alias ow_pet_scene_battle_start start unless $@
def start
if $game_party.members.size < 4 and $game_switches[PET_ENABLE_SWITCH] and
PET_BATTLE
$game_party.add_actor(PET_ID)
end
ow_pet_scene_battle_start
end
#--------------------------------------------------------------------------
# End battle (Mod)
#--------------------------------------------------------------------------
alias ow_pet_scene_battle_battle_end battle_end unless $@
def battle_end(result)
$game_party.remove_actor(PET_ID)
ow_pet_scene_battle_battle_end(result)
$game_actors[PET_ID].recover_all if PET_HEAL
end
end
Azux - Sob 16 Kwi, 2011 18:02 Nawet ciekawy ten skrypt :P Moze go wykorzystam ^^onimush3 - Sob 16 Kwi, 2011 20:00 hmm... ciekawe ale równie dobrze można użyć skryptu o nazwie gąsienica i zrobić sobie postać zwierzaka.Angius - Sob 16 Kwi, 2011 20:02 Można użyć gąsienicy, można, ale wtedy reszta bohaterów dołącza do drużyny - mamy ich w menu, gdy my zginiemy, a oni nie to gra się nie kończy, etc. A tutaj prosty, łatwy i przyjemny skrypcik :)
Przydałaby się tylko opcja podmiany zwierzaków w samym skrypcie jakąś zmienną, ale można zastosowac i sposób z podmianą atrybutów...onimush3 - Sob 16 Kwi, 2011 20:12 użyłem skrypta by sprawdzić jak działa. Jestem zadowolony. teraz tylko pozostaje mi zmienić wygląd zwierzaka, bo chodzi za mną pikachu xD nie mogłem chwilowo nic znaleźć i biega se pokoemonek. Pika pika! xDKumpel - Nie 17 Kwi, 2011 09:30 A da się na XP takie czoś zrobić ? Poster27 - Nie 17 Kwi, 2011 10:06 Znam ten skrypt i na pewno mam go w swoich klamotach z demkiem. Rzeczywiście, jednak lubię mieć zwierzaki w grze ;P Temat tego wątku nie jest zbytnio zrozumiały (przynajmniej przeze mnie). Myślałem, ze to będzie jakiś skrypt na papierosy (pety xD), albo nawet butelki PET.Angius - Nie 17 Kwi, 2011 12:31 Jest w tytule wytłumaczenie :P
Cytat:
Skrypt na peta - najemnika/psa/atomową świnię
technik400 - Wto 17 Maj, 2011 18:29 Angius, EJ ZIOOM NAPISZ MI NA WIADOMOSC JAK SIE WŁANCZAS TEGO PETKAAngius - Wto 17 Maj, 2011 18:33 technik400, ej ziooooom, nie napiszę ci PW, bo by się mogła na mnie skarga posypać, jakbyś przytoczył to, co bym napisał.
A w kodzie masz fragment, stoi jak byk napisane:
Włączasz go w zdarzeniu i tyle. Czy myślenie aż tak boli? pokpo - Sro 25 Maj, 2011 19:52 Fajny skrypcikpolek - Sob 04 Cze, 2011 10:19 a walczy?Angius - Sob 04 Cze, 2011 13:29
Kod:
==============================================================================
# v1.0
# - Pierwsze wypuszczenie
# v1.1
# - Dodana opcja zwierzaka w walce
# v1.2
# - Nie pokazuje zwierzaka w pojeździe
# v1.3
# - Dodana opcja GameOver jeśli przeżył tylko zwierzak
#==============================================================================
Patrz: v1.1
Cytat:
Również podnosi mu się poziom, używa umiejętności
Skoro używa umiejętności, to chyba także i bojowych?Kastnem - Czw 25 Sie, 2011 17:16 A da się zrobić, by zwierzak chodził po lewej stronie bohatera?Angius - Czw 25 Sie, 2011 17:30 Da się.
Trzeba tylko znać Ruby i przerobic skrypt.kacpertibia772 - Wto 04 Paź, 2011 09:31 ;/
Tak, to powyżej, to CAŁY POST AUTORA. Tylko tyle ma do powiedzenia w temacie, co narusza 32 i 33 punkt regulaminu. Pisze to ku przestrodze innych, bo za notoryczne łamanie tych dwóch punktów również można dwa punkty dostać - dwa punkty ostrzeżeń. To tak w gratisie. //Angiusreshi - Pon 17 Paź, 2011 21:18 Witam mam taki problem że chciałbym mieć żeby za mną szedł pies i jeszcze jeden bohater to jest konieczne ponieważ mam taką misję że jeden koleś z psem przyłącza się do bitewki i musi iść kawałek i walczymy i potem odłączają się od grupy i potrzebuje właśnie takiego skryptu dało by radę go przerobić jakoś ?Angius - Pon 17 Paź, 2011 21:19 To gąsienicę polecam.reshi - Wto 18 Paź, 2011 13:08 Wielkie dzięki tego potrzebowałem .Iorwet - Wto 13 Mar, 2012 18:18 PO skopiowaniu skryptu i uruchomeniu gry wyskakuje mi bład:
line284:NoMethod Error occured.
NIe wiem zabardzo o co chodzi. Prosiłbym o pomocAngius - Wto 24 Kwi, 2012 14:59 Szukaj. Szukaj! SZUKAJ! SZU-KUŹWA-KAJ!
http://www.ultimateam.pl/viewtopic.php?t=1896
Dział TUTORIALE, stoi jak byk, na pierwszej stronie, na górze, w liście PRZYKLEJONYCH WĄTKÓW! Migającą strzałkę jeszcze dodac i GPS? "Myszką w prawo o 20 pikseli. Prosto o 344 piksele. Jesteś na krawędzi linku. Kliknij."aragorn7015 - Sro 25 Kwi, 2012 16:20 Przepraszam za to... I dziękuje. Poloney100 - Wto 14 Sie, 2012 17:50 Jak dodać tego zwierzaka Bo wiecie wgrałem ten skrypt nad main i nic.Avara - Wto 14 Sie, 2012 17:56 Poloney100, przeczytaj dokładnie konfigurację. Skrypt jest zależny od wybranego przez Ciebie przełącznika (który musi być ustawiony na "ON") i pet musi być jako bohater w Bazie Danych (nie może być w drużynie).Hemiguey - Nie 06 Sty, 2013 21:57 Ej sory, że nie na temat, ale jak się nazywa ten skrypt, który masz na screenie?
z tym hp, mp i doświadczeniem.
http://www.ultimateam.pl/viewtopic.php?t=2083
Bo to to chyba nie jest.bartollo00 - Pią 15 Lut, 2013 19:34 nie umiem zrobić tego peta a nie jestem pro w tym programie proszę o pomoc bo ześwirujeLeoś - Pią 15 Lut, 2013 21:24 Włączyłeś przełącznik / switch nr 13?bartollo00 - Sob 16 Lut, 2013 12:01 dziękuje