Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
Drops fixos no mapa
2 participantes
Aldeia RPG :: VXA-OS Engine :: Central de ajuda :: Tutoriais
Página 1 de 1
Drops fixos no mapa
1) Na subpasta Map, que fica dentro da pasta Scripts do SERVIDOR, abra o arquivo game_map.rb
2) Substitua todo o def initialize por:
6) Substitua todo o Drop = Struct.new( por:
Créditos:
Valentine
2) Substitua todo o def initialize por:
- Código:
def initialize(id, map)
@id = id
@data = map.data
@width = map.width
@height = map.height
@tileset_id = map.tileset_id
@pvp = Note.read_boolean('PvP', map.note)
@total_players = 0
@events = {}
@drops = []
@fixed_drops_removed = []
enemies_revive_regions
add_fixed_drops
end
- Código:
def add_fixed_drops
return unless FIXED_DROPS_MAPS.has_key?(@id)
FIXED_DROPS_MAPS[@id].each { |drop| add_fixed_drop(drop[:item_id], drop[:kind], drop[:amount], drop[:x], drop[:y]) }
end
def add_fixed_drop(item_id, kind, amount, x, y)
@drops << Drop.new(item_id, kind, amount, '', -1, x, y, 0, 0)
end
def remove_drop(drop_id)
add_fixed_drop_removed(@drops[drop_id]) if @drops[drop_id].despawn_time == 0
@drops.delete_at(drop_id)t
$network.send_remove_drop(@id, drop_id)
end
def add_fixed_drop_removed(drop)
drop.respawn_time = Time.now + DROP_DESPAWN_TIME
@fixed_drops_removed << drop
end
- Código:
def update_drops
# downto evita erros ao remover elementos enquanto a matriz está sendo iterada
(@drops.size - 1).downto(0) { |drop_id| remove_drop(drop_id) if @drops[drop_id].despawn_time != 0 && Time.now > @drops[drop_id].despawn_time }
update_drop_respawn
end
def update_drop_respawn
# downto evita erros ao remover elementos enquanto a matriz está sendo iterada
(@fixed_drops_removed.size - 1).downto(0) do |drop_id|
drop = @fixed_drops_removed[drop_id]
if Time.now > drop.respawn_time
add_fixed_drop(drop.item_id, drop.kind, drop.amount, drop.x, drop.y)
$network.send_add_drop(@id, drop.item_id, drop.kind, drop.amount, drop.x, drop.y)
@fixed_drops_removed.delete_at(drop_id)
end
end
end
6) Substitua todo o Drop = Struct.new( por:
- Código:
Drop = Struct.new(
:item_id,
:kind,
:amount,
:name,
:party_id,
:x,
:y,
:despawn_time,
:respawn_time,
:pick_up_time
)
- Código:
# Drops fixos dos mapas
FIXED_DROPS_MAPS = {}
# Mapa: Floresta (ID 1)
FIXED_DROPS_MAPS[1] = [{
# ID do item
:item_id => 1,
# (1 = item, 2 = arma, 3 = protetor)
:kind => 1,
# Quantidade
:amount => 1,
# Coordenada x
:x => 23,
# Coordenada y
:y => 11
},
{
# ID do item
:item_id => 1,
# (1 = item, 2 = arma, 3 = protetor)
:kind => 2,
# Quantidade
:amount => 3,
# Coordenada x
:x => 24,
# Coordenada y
:y => 11
}]
Créditos:
Valentine
racki12 e Kiyoko gostam desta mensagem
Re: Drops fixos no mapa
Esse script que eu estáva procurando obrigado
_________________
[roll="Ataque nível 1"]
Se escrevam no meu Canal no Youtube: Eberton Munhoz
Se escrevam no meu Canal no Youtube: Eberton Munhoz
Tópicos semelhantes
» Determinando NPCS fixos em pontos do mapa.
» Drops "fugindo" NPM4.0.7
» [Pedido] Mais drops no NPC
» sistema de Drops Como Configurar
» [E.O 2.0] - Drops de NPC: MultiDrop + QOL pra quem edita (v1.0)
» Drops "fugindo" NPM4.0.7
» [Pedido] Mais drops no NPC
» sistema de Drops Como Configurar
» [E.O 2.0] - Drops de NPC: MultiDrop + QOL pra quem edita (v1.0)
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
|
|