UltimaForum

Wsparcie [VX] - Skok

Floor - Sro 18 Maj, 2011 07:30
Temat postu: Skok
Witam! Jak zrobić w RPG Makerze, że jak się naciśnie jakiś klawisz bohater skacze ileś tam w przód? Na tym forum, znalazłem jakiś temat "system skoku", ale jak wchodzę w tema przeglądarka mi się zamyka ;/. Proszę o pomoc.
Ayene - Sro 18 Maj, 2011 09:33


Floor - Sro 18 Maj, 2011 10:44

Pisze mi, że to było robione na starej wersji makera i nie może zostać odtworzone ;/. I ten temat na FireFoxie też się zaczął zamykać ;//. Ale mam Opere ;P
Floor - Sro 18 Maj, 2011 10:50

Tak jeszcze powiem, że ten temat, który jest w skryptach zamyka mi wszystkie 3 przeglądarki ;/ IE/FF/Opera ;/
Ayene - Sro 18 Maj, 2011 14:06

Kłaniają się podstawy :arrow: http://www.ultimateam.pl/viewtopic.php?t=2583
A problem zamykania się przeglądarki musi być problemem systemowym.

jp145 - Czw 09 Cze, 2011 18:07

Hmm....
Jeśli nie uda Ci sie ściągnąć dema to tu maż sam skrypt:
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

Autor skryptu
Onidsouza

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

Kompatybilność
Tylko VX


Powered by phpBB modified by Przemo © 2003 phpBB Group