UltimaForum

Skrypty [VX] - Skrypt na peta

Angius - Sob 16 Kwi, 2011 16:48
Temat postu: 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


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! xD
Kumpel - Nie 17 Kwi, 2011 09:30

A da się na XP takie czoś zrobić ? :-P
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 PETKA
Angius - 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:
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:

pokpo - Sro 25 Maj, 2011 19:52

Fajny skrypcik
polek - 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. //Angius

reshi - 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 pomoc

Angius - 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. :-P
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świruje
Leoś - Pią 15 Lut, 2013 21:24

Włączyłeś przełącznik / switch nr 13?
bartollo00 - Sob 16 Lut, 2013 12:01

dziękuje
:papa:


Powered by phpBB modified by Przemo © 2003 phpBB Group