Ogłoszenie 

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


Administracja Forum


Poprzedni temat «» Następny temat
System Skoku VX
Autor Wiadomość
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Pią 23 Paź, 2009 08:38
System Skoku VX
~ System Skoku VX ~

Krótki opis
Skrypt umożliwia skok za pomocą przycisku CTRL.

Autor skryptu
Onidsouza

Tłumaczenie i poprawki
Ayene [yurika@o2.pl]

Kompatybilność
Tylko VX

Skrypt
Spoiler:

Kod:

#==================================================
# Tytuł oryginalny: Onidsouza Jump System
#--------------------------------------------------
# Autor: Onidsouza
# Tłumaczenie: Ayene
# www.ultimateam.pl
#==================================================

module OJS
 
  OnOffSwitch = 1 # Przełącznik włączający / wyłączający skok.                 
                 
  Input = Input::CTRL # Przycisk skoku
                                           
  Sound = true # Dźwięk skoku
 
  Long = 2 # Odległość skoku (liczba - jedna kratka w tilsecie)           
           
  UseVariable = false # Odległość skoku jest wyznaczana przez zmienną
 
  VariableID = 1  # ID powyższej zmiennej               
                 
  Cooldown = 30 # Odstęp między skokami, czyli po jakim czasie można ponownie
                # skoczyć (w klatkach animacji)               
 
end                 


class Game_Player
 
  alias ojsinitialize initialize
  attr_accessor :jump_cooldown
 
  def initialize
    ojsinitialize
    @jump_cooldown = OJS::Cooldown
  end
 
  def jump_direction
    direcao = []
    if OJS::UseVariable
      long = $game_variables[OJS::VariableID]
    else
      long = OJS::Long
    end 
    case @direction
    when 2 # Para Trás / Back
      direcao[0] = 0; direcao[1] = 1
    when 4 # Esquerda / Left
      direcao[0] = -1; direcao[1] = 0
    when 6 # Direita / Rigth
      direcao[0] = 1; direcao[1] = 0
    when 8 # Frente / Up
      direcao[0] = 0; direcao[1] = -1
    end
    direcao[0] = direcao[0] * long; direcao[1] = direcao[1] * long
    return direcao
  end
 
  def jump_higth_pass?

    dire = jump_direction
    to_verify = []
    case @direction
    when 2
      to_verify = [@x, @y]
    when 4
      to_verify = [@x - 1, @y - 1]
    when 6
      to_verify = [@x + 1, @y - 1]
    when 8
      to_verify = [@x, @y - 2]
    end
   
    id = $game_map.data[to_verify[0], to_verify[1], 2]
    return false if id == nil
    pass = $game_map.passages[id]
    if pass == 22
    return false
    end
   
    return true
  end
 
  def event_passable?(x, y)
    for event in $game_map.events_xy(x, y)
    return false if event == nil
    pass = event.page.priority_type
    return false if pass == 1
    end
    return true
  end
 
  def jump_foward
    if @jump_cooldown == 30
    @jump_cooldown = 0
    direcao = jump_direction
    jump(direcao[0], direcao[1])
    end
  end 
 
end

class Scene_Map
 
  alias ojsupdate update
 
  def update
    ojsupdate
    unless $game_message.visible
      update_jump_player
    end
    unless $game_player.jump_cooldown == 30
      $game_player.jump_cooldown += 1
    end 
  end
 
  def update_jump_player
    player = $game_player
    direct = player.jump_direction
    x = player.x + direct[0]
    y = player.y + direct[1]
    if $game_switches[OJS::OnOffSwitch] == true
      if player.map_passable?(x, y) && player.jump_higth_pass? && player.event_passable?(x, y)
        if Input.trigger?(OJS::Input)
          $game_player.jump_foward
          $game_party.steps += OJS::Long
        end
      elsif Input.trigger?(OJS::Input)
        if OJS::Sound == true
          Sound.play_buzzer
        end 
      end
    end
  end
 
end

class Game_Party
 
  attr_accessor :steps
 
end

class Game_Map
 
  attr_reader :map
 
end

class Game_Event < Game_Character
 
  attr_reader :event
  attr_reader :page
 
end


Demo


Screenshot
niepotrzebne

Instrukcja
1. Wklej skrypt nad "Main" w Edytorze Skryptu.
2. Reszta instrukcji znajduje się w treści skryptu.

Piszcie w razie problemów.
________________________


 
 
 
Sarc 



Preferowany:
RPG Maker VX

Dołączył: 09 Lis 2009
Posty: 13
Wysłany: Sro 11 Lis, 2009 00:26
Demo wygląda tak: projekt był robiony w starszej wersji rpg makera i może zostać nieodtworzony. :-/

Mam RPG Maker VX (na pewno)
Chyba że chodzi o to że mam polską twierdzówkę ? :shock:
________________________
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Sro 11 Lis, 2009 12:24
Sprawdź, jaką masz wersję programu... otwórz plik Game.rvproj w folderze z grą za pomocą notatnika. Będzie tam wyświetlone RPGVX 1.xx. Jakie masz xx?
________________________


 
 
 
Sarc 



Preferowany:
RPG Maker VX

Dołączył: 09 Lis 2009
Posty: 13
Wysłany: Sro 11 Lis, 2009 21:45
RPGVX 1.00

Na pewno dałem przełącznik na ON.
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Czw 12 Lis, 2009 00:57
W takim razie w demie otwórz plik Game.rvproj za pomocą notatnika i zmień wersję z 1.02 na 1.00 (chyba że to już problem polskiej wersji - po prostu dopasuj wersję dema do swojego mejkera) :-) Powinno wtedy Tobie demo odpalić, bez problemu będziesz mógł podejrzeć projekt ;-)

PS A co do CTRL - wspomnianą przez Ciebie funkcję ma tylko w teście gry. Normalnie w grze przez ściany przechodzić nie można.
________________________


 
 
 
Sarc 



Preferowany:
RPG Maker VX

Dołączył: 09 Lis 2009
Posty: 13
Wysłany: Pią 13 Lis, 2009 00:32
W demie działa, ale w projekcie już nie...

W każdym razie dziękuje za pomoc Ayene ;-)
________________________
 
 
milosz161 



Dołączył: 12 Lut 2010
Posty: 11
Wysłany: Sob 13 Lut, 2010 18:05
ej ayena jak dalem i moge skakac ale nie moge wtedy chodzic ;/

[ Dodano: Sob 13 Lut, 2010 18:06 ]
a dobra juz moge sorki

[ Dodano: Sob 13 Lut, 2010 18:47 ]
ej ayena ja mam skrypt skokow i wejde na gore do konca mapy to wyswietla sie blad w 75 linijce o co chodzi ??
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Sob 13 Lut, 2010 19:01
Błąd w kodzie. Przejdź do linijki 75:
Kod:
pass = $game_map.passages[id]

i przed nią dodaj:
Kod:
return false if id == nil

Teraz nie powinno być błędu.
________________________


 
 
 
milosz161 



Dołączył: 12 Lut 2010
Posty: 11
Wysłany: Nie 14 Lut, 2010 18:54
ej mam blad w skoku ayena mozesz naprawic pisze taki blad line 86 nomethod error
occerred undefind method priority_type for nillclass
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Nie 14 Lut, 2010 20:49
Przejdź do linijki 86:
Kod:
pass = event.page.priority_type

i przed nią dodaj:
Kod:
return false if event == nil
________________________


 
 
 
milosz161 



Dołączył: 12 Lut 2010
Posty: 11
Wysłany: Nie 14 Lut, 2010 21:25
dzieki bardzo ;p

[ Dodano: Nie 14 Lut, 2010 21:56 ]
ej sory ayena ale wkleilem i dalej nie działa ;/
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Pon 15 Lut, 2010 11:05
Podmień po prostu skrypt z pierwszego posta. Naniosłam w nim odpowiednie poprawki.
________________________


 
 
 
milosz161 



Dołączył: 12 Lut 2010
Posty: 11
Wysłany: Pon 15 Lut, 2010 14:55
ej nie no sory ze tak caly czas pisze ale caly czas jest blad taki sam w tej linijce
Kod:
pass = event.page.priority_type
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Pon 15 Lut, 2010 15:02
A sprawdzałeś w demie, czy działa?
________________________


 
 
 
milosz161 



Dołączył: 12 Lut 2010
Posty: 11
Wysłany: Pon 15 Lut, 2010 15:06
nie zaraz zobacze a moze byc ten blad przez to ze mam skrypt walka w czasie rzeczywistym ??

[ Dodano: Pon 15 Lut, 2010 15:12 ]
tam nie moge tego zobaczyc bo tam nie ma skryptu z walka w czasie rzeczywistym ;/

[ Dodano: Pon 15 Lut, 2010 15:23 ]
to co poradzisz Sobie z tym ?? ;-)

[ Dodano: Pon 15 Lut, 2010 15:50 ]
ayena i jeszcze chcialbym dodac ze on sie tylko nieraz wyswietla nie zawsze ale najczesciej po zabiciu kolesi z charatkters o nazwie Evil ;/
 
 
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