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