Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
Cliente sem DirectX
Aldeia RPG :: VXA-OS Engine :: Central de ajuda :: Tutoriais
Página 1 de 1
Cliente sem DirectX
1) Após baixar a versão com DirectX, baixe o executável Game.exe abaixo e substitua pelo que está na pasta Client
Download Game.exe
2) Abra o Editor de Scripts (F11)
3) Procure o script [VS] Mouse:
4) Substitua TODO o script [VS] Mouse por:
Créditos:
Valentine
Download Game.exe
2) Abra o Editor de Scripts (F11)
3) Procure o script [VS] Mouse:
4) Substitua TODO o script [VS] Mouse por:
- Código:
#==============================================================================
# ** Mouse
#------------------------------------------------------------------------------
# Autor: Cidiomar
#==============================================================================
module Mouse
typedef 'unsigned long HCURSOR'
dll = 'System/VXAOS.dll'
Mouse__setup = c_function(dll, 'void Mouse__setup(struct RArray*, struct RArray*, struct RArray*, void *)')
Mouse__update = c_function(dll, 'void Mouse__update()')
Mouse__getPos = c_function(dll, 'void Mouse__getPos(long *)')
Mouse__getOldPos = c_function(dll, 'void Mouse__getOldPos(long *)')
@triggered = Input.triggered
@pressed = Input.pressed
@released = Input.released
@repeated = Input.repeated
@last_lclick = Time.now
@last_rclick = Time.now
@dbl_lclick = false
@dbl_rclick = false
@pos = Array.new(2, 0)
Mouse__setup.call(@triggered, @pressed, @released, @repeated)
def self.click?(button)
return @triggered[1] if button == :L
return @triggered[2] if button == :R
end
def self.press?(button)
return @pressed[1] if button == :L
return @pressed[2] if button == :R
end
def self.release?(button)
return @released[1] if button == :L
return @released[2] if button == :R
end
def self.repeat?(button)
return @repeated[1] if button == :L
return @repeated[2] if button == :R
end
def self.dbl_clk?(button)
return @dbl_lclick if button == :L
return @dbl_rclick if button == :R
end
def self.tile_x
# Corrige o display_x, já que a tela pode se mover
#16 em vez de 32 pixel na horizontal se a largura da
#resolução for superior a 1000
x = $game_map.display_x > 0 && $game_map.display_x > $game_map.display_x.to_i ? self.x + 16 : self.x
(x / 32 + $game_map.display_x).to_i
end
def self.tile_y
(($game_map.display_y * 32 + self.y) / 32).to_i
end
def self.in_tile?(object)
object.x == tile_x && object.y == tile_y
end
def self.update
Mouse__update.call()
@pos = [0, 0].pack('l2')
@old_pos = [0, 0].pack('l2')
Mouse__getPos.call(@pos)
Mouse__getOldPos.call(@old_pos)
@pos = @pos.unpack('l2')
@old_pos = @old_pos.unpack('l2')
@dbl_lclick = double_left_click?
@dbl_rclick = double_right_click?
end
def self.double_left_click?
return false unless click?(:L)
result = false
t_diff = Time.now - @last_lclick
if t_diff < 0.5 && @last_pos == @pos
result = true
else
@last_lclick = Time.now
@last_pos = @pos
end
result
end
def self.double_right_click?
return false unless click?(:R)
result = false
t_diff = Time.now - @last_rclick
if t_diff < 0.5 && @last_pos == @pos
result = true
else
@last_rclick = Time.now
@last_pos = @pos
end
result
end
def self.x; @pos[0]; end
def self.y; @pos[1]; end
def self.pos; @pos.dup; end
def self.old_x; @old_pos[0]; end
def self.old_y; @old_pos[1]; end
def self.old_pos; @old_pos.dup; end
def self.moved?; @pos != @old_pos; end
end
#==============================================================================
# ** Graphics
#==============================================================================
module Graphics
def self.is_fullscreen?
false
end
def self.toggle_fullscreen
end
def self.vsync=(vsync)
end
def self.vsync
end
end
Créditos:
Valentine
-JohnLennon- e fakenha gostam desta mensagem
Tópicos semelhantes
» Engine com DirectX 8
» Mudando o DirectX
» Download DirectX
» Client without DirectX
» [RGD] Implementação DirectX de RGSS3
» Mudando o DirectX
» Download DirectX
» Client without DirectX
» [RGD] Implementação DirectX de RGSS3
Aldeia RPG :: VXA-OS Engine :: Central de ajuda :: Tutoriais
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|