Opis:
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
________________________
"Na trolla pewne są tylko dwie pewne metody, jedna samopowtarzalna i druga, wymagająca przeładowania ręcznego."
hmm... ciekawe ale równie dobrze można użyć skryptu o nazwie gąsienica i zrobić sobie postać zwierzaka.
________________________ Pracuję nad 2 częścią gry Ostatnia Powieść
Fabuła : Niezła ( jeżeli lubicie Assassin's Creed )
Skrypty: Sporo przyznam się.
Walki: Dużo i to trudnych!
Misje: Wiele głównych i pobocznych
Muzyka: Ciekawa, wpadająca w ucho
Graficzki: Kilka własnych i kilka pożyczonych
Wzorowanie się: Assassin's Creed, Final Fantasy
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...
________________________
"Na trolla pewne są tylko dwie pewne metody, jedna samopowtarzalna i druga, wymagająca przeładowania ręcznego."
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! xD
________________________ Pracuję nad 2 częścią gry Ostatnia Powieść
Fabuła : Niezła ( jeżeli lubicie Assassin's Creed )
Skrypty: Sporo przyznam się.
Walki: Dużo i to trudnych!
Misje: Wiele głównych i pobocznych
Muzyka: Ciekawa, wpadająca w ucho
Graficzki: Kilka własnych i kilka pożyczonych
Wzorowanie się: Assassin's Creed, Final Fantasy
Pomógł: 22 razy Dołączył: 27 Kwi 2010 Posty: 136 Skąd: że znowu
Wysłany: 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.
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:
==============================================================================
# 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?
________________________
"Na trolla pewne są tylko dwie pewne metody, jedna samopowtarzalna i druga, wymagająca przeładowania ręcznego."
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