O sistema é bem simples e ainda está incompleto (não o completarei para disponibilizar). Você está no mapas, aperta enter e cria uma fogueira que durará tanto tempo.
O sistema é bem simples e fácil de configurar, basta ter uma noção básica de ruby. Coloquei a opção de deixar ou não a fogueira global.
Bom proveito
Código:
Imagens necessárias:
https://i.imgur.com/yb7b9Yd.png
Ponha a imagem na pasta Pictures.
Screens
O sistema é bem simples e fácil de configurar, basta ter uma noção básica de ruby. Coloquei a opção de deixar ou não a fogueira global.
Bom proveito
Código:
- Código:
class Game_Temp
attr_accessor (:xf, :yf)
end
module Fogueiras
@fogueiras = []
@global = true
def self.new_bonfire(x,y)
$game_temp.xf = x
$game_temp.yf = y
f = Bonfire.new
@fogueiras.push(f)
end
def self.create(x,y)
if @global
Network::Main.socket.send("<23>Fogueiras.new_bonfire(#{x}, #{y})</23>\n")new_bonfire(x,y)
else
new_bonfire(x,y)
end
end
def self.update
@fogueiras.each{ |f| f.update }
end
end
class Bonfire < Sprite
def initialize
super
self.bitmap = Bitmap.new(32, 39)
self.z = 0
self.x = $game_temp.xf * 32
self.y = $game_temp.yf * 32
$game_player.y -= 1
@firewood = 100
@frame = 0
@gf = true
@bmp = RPG::Cache.picture('Bonfire')
refresh
end
def refresh
self.bitmap.clear
rect = Rect.new(32 * @frame, 0, 32, 39)
self.bitmap.blt(0, 0, @bmp, rect)
end
def update
if Graphics.frame_count % 5 == 0 and @gf
@frame < 2 ? @frame += 1 : @frame = 0
@firewood -=1
refresh
end
if @firewood == 0 and @gf
@gf = false
@frame = 3
refresh
end
end
end
class Scene_Map
alias b_update update
def update
Fogueiras.update
if Input.trigger?(Input::C)
Fogueiras.create($game_player.x, $game_player.y)
end
b_update
end
end
Imagens necessárias:
https://i.imgur.com/yb7b9Yd.png
Ponha a imagem na pasta Pictures.
Screens
- Spoiler: