Ogłoszenie 

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


Administracja Forum


Poprzedni temat «» Następny temat
Skrypt na peta
Autor Wiadomość
Angius 

Nie wkurzać



Preferowany:
RPG Maker VX

Pomógł: 104 razy
Dołączył: 30 Paź 2010
Posty: 1276
Skąd: wROCK
Wysłany: Sob 16 Kwi, 2011 15:48
Skrypt na peta
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)

Info:
Autor: OriginalWij
Tłumaczenie: Angius
Wersja: 1.3
Znaleziony na: rpgmakervx.info

Screen:
Spoiler:



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
#==============================================================================

#==============================================================================
# Config
#==============================================================================

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

#==============================================================================
# Game_Character
#==============================================================================

class Game_Character
  #--------------------------------------------------------------------------
  # Public instance variables (New)
  #--------------------------------------------------------------------------
  attr_accessor :priority_type
end

#==============================================================================
# Game_Player
#==============================================================================

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

#==============================================================================
# Game_Party
#==============================================================================

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

#==============================================================================
# Game_Pet (New)
#==============================================================================

class Game_Pet < Game_Character
  #--------------------------------------------------------------------------
  # Public instance variables
  #--------------------------------------------------------------------------
  attr_reader   :actor
  attr_accessor :move_speed
  #--------------------------------------------------------------------------
  # Initialize
  #--------------------------------------------------------------------------
  def initialize(actor)
    super()
    @through = true
    @actor = actor
  end
  #--------------------------------------------------------------------------
  # Set actor
  #--------------------------------------------------------------------------
  def actor=(actor)
    @actor = actor
    setup
  end
  #--------------------------------------------------------------------------
  # Setup
  #--------------------------------------------------------------------------
  def setup
    if @actor != nil     
      @character_name = $game_actors[@actor].character_name
      @character_index = $game_actors[@actor].character_index
    else
      @character_name = ""
      @character_index = 0
    end
    @priority_type = $game_player.priority_type
  end
  #--------------------------------------------------------------------------
  # Get screen Z
  #--------------------------------------------------------------------------
  def screen_z
    if $game_player.x == @x and $game_player.y == @y
      return $game_player.screen_z - 1
    end
    super
  end
  #--------------------------------------------------------------------------
  # Chek event trigger (here)
  #--------------------------------------------------------------------------
  def check_event_trigger_here(triggers)
    return false
  end
  #--------------------------------------------------------------------------
  # Check event trigger (there)
  #--------------------------------------------------------------------------
  def check_event_trigger_there(triggers)
    return false
  end
  #--------------------------------------------------------------------------
  # Check event trigger (touch)
  #--------------------------------------------------------------------------
  def check_event_trigger_touch(x, y)
    return false
  end
  #--------------------------------------------------------------------------
  # Jump
  #--------------------------------------------------------------------------
  def jump(x, y)
    super(x, y)
  end
end

#==============================================================================
# Spriteset_Map
#==============================================================================

class Spriteset_Map
  #--------------------------------------------------------------------------
  # Create characters (Mod)
  #--------------------------------------------------------------------------
  alias ow_pet_spriteset_map_create_characters create_characters unless $@
  def create_characters
    ow_pet_spriteset_map_create_characters
    @character_sprites << Sprite_Character.new(@viewport1, $game_party.pet)
  end
end

#==============================================================================
# Scene_Battle
#==============================================================================

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."


 
 
Azux 



Preferowany:
RPG Maker VX

Pomógł: 8 razy
Dołączył: 28 Lut 2011
Posty: 87
Wysłany: Sob 16 Kwi, 2011 17:02
Nawet ciekawy ten skrypt :P Moze go wykorzystam ^^
________________________
Spoiler:


Pracuje nad "Rakrato"
Mapki: 0,3%
Skrypty: !?!?-%
Przedmioty: 0,1%
Quest: 0,3%
 
 
onimush3 




Preferowany:
RPG Maker VX

Pomógł: 14 razy
Dołączył: 26 Paź 2010
Posty: 164
Wysłany: Sob 16 Kwi, 2011 19:00
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
 
 
Angius 

Nie wkurzać



Preferowany:
RPG Maker VX

Pomógł: 104 razy
Dołączył: 30 Paź 2010
Posty: 1276
Skąd: wROCK
Wysłany: Sob 16 Kwi, 2011 19: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...
________________________
"Na trolla pewne są tylko dwie pewne metody, jedna samopowtarzalna i druga, wymagająca przeładowania ręcznego."


 
 
onimush3 




Preferowany:
RPG Maker VX

Pomógł: 14 razy
Dołączył: 26 Paź 2010
Posty: 164
Wysłany: Sob 16 Kwi, 2011 19: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! 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
 
 
Kumpel 




Preferowany:
RPG Maker XP

Pomógł: 12 razy
Dołączył: 12 Lip 2010
Posty: 78
Skąd: Ziemia
Wysłany: Nie 17 Kwi, 2011 08:30
A da się na XP takie czoś zrobić ? :-P
________________________
Już wkrótce Legend of Korra
 
 
 
Poster27 




Preferowany:
RPG Maker VX

Pomógł: 22 razy
Dołączył: 27 Kwi 2010
Posty: 136
Skąd: że znowu
Wysłany: Nie 17 Kwi, 2011 09: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 wkurzać



Preferowany:
RPG Maker VX

Pomógł: 104 razy
Dołączył: 30 Paź 2010
Posty: 1276
Skąd: wROCK
Wysłany: Nie 17 Kwi, 2011 11:31
Jest w tytule wytłumaczenie :P
Cytat:
Skrypt na peta - najemnika/psa/atomową świnię
________________________
"Na trolla pewne są tylko dwie pewne metody, jedna samopowtarzalna i druga, wymagająca przeładowania ręcznego."


 
 
technik400 



Dołączył: 13 Maj 2011
Posty: 4
Wysłany: Wto 17 Maj, 2011 17:29
Angius, EJ ZIOOM NAPISZ MI NA WIADOMOSC JAK SIE WŁANCZAS TEGO PETKA
 
 
Angius 

Nie wkurzać



Preferowany:
RPG Maker VX

Pomógł: 104 razy
Dołączył: 30 Paź 2010
Posty: 1276
Skąd: wROCK
Wysłany: Wto 17 Maj, 2011 17: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:
Kod:
 # Przełącznik włączający zwierzaka
  PET_ENABLE_SWITCH = 13

Włączasz go w zdarzeniu i tyle. Czy myślenie aż tak boli? :evil:
________________________
"Na trolla pewne są tylko dwie pewne metody, jedna samopowtarzalna i druga, wymagająca przeładowania ręcznego."


 
 
pokpo 




Preferowany:
RPG Maker VX

Pomógł: 1 raz
Dołączył: 29 Wrz 2010
Posty: 30
Wysłany: Sro 25 Maj, 2011 18:52
Fajny skrypcik
 
 
polek 



Preferowany:
RPG Maker VX

Dołączył: 29 Kwi 2011
Posty: 8
Wysłany: Sob 04 Cze, 2011 09:19
a walczy?
________________________
He ty tam nooo ty tam no ty...


stan ,,Wolność Świata"

ok. 0.00.002%
 
 
Angius 

Nie wkurzać



Preferowany:
RPG Maker VX

Pomógł: 104 razy
Dołączył: 30 Paź 2010
Posty: 1276
Skąd: wROCK
Wysłany: Sob 04 Cze, 2011 12: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?
________________________
"Na trolla pewne są tylko dwie pewne metody, jedna samopowtarzalna i druga, wymagająca przeładowania ręcznego."


 
 
Kastnem 



Preferowany:
RPG Maker VX

Dołączył: 22 Sie 2011
Posty: 1
Wysłany: Czw 25 Sie, 2011 16:16
A da się zrobić, by zwierzak chodził po lewej stronie bohatera?
 
 
Angius 

Nie wkurzać



Preferowany:
RPG Maker VX

Pomógł: 104 razy
Dołączył: 30 Paź 2010
Posty: 1276
Skąd: wROCK
Wysłany: Czw 25 Sie, 2011 16:30
Da się.
Trzeba tylko znać Ruby i przerobic skrypt.
________________________
"Na trolla pewne są tylko dwie pewne metody, jedna samopowtarzalna i druga, wymagająca przeładowania ręcznego."


 
 
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