Drops fixos no mapa Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

Aldeia RPG
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Drops fixos no mapa

2 participantes

Ir para baixo

Drops fixos no mapa Empty Drops fixos no mapa

Mensagem por Valentine Ter Set 13, 2022 1:07 pm

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:
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
3) Substitua todo o def remove_drop por:
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
4) Substitua todo o def update_drops por:
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
5) Na pasta Kernel, abra o arquivo structs.rb
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
)
7) Na pasta principal do servidor, abra o arquivo configs.ini e adicione o código abaixo (da variável FIXED_DROPS_MAPS junto com um exemplo de como configurar os drops fixos):
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
}]
Agora, você pode configurar os drops fixos no FIXED_DROPS_MAPS do confings.ini.

Créditos:
Valentine
Valentine
Valentine
Administrador
Administrador

Medalhas : Drops fixos no mapa ZgLkiRU
Mensagens : 5341
Créditos : 1164

https://www.aldeiarpg.com/

racki12 e Kiyoko gostam desta mensagem

Ir para o topo Ir para baixo

Drops fixos no mapa Empty Re: Drops fixos no mapa

Mensagem por jiraya Qua Out 19, 2022 12:31 am

Esse script que eu estáva procurando obrigado I love you

_________________
[roll="Ataque nível 1"]

Se escrevam no meu Canal no Youtube:  Eberton Munhoz
       
jiraya
jiraya
Membro Ativo
Membro Ativo

Mensagens : 293
Créditos : 26

http://nucleorpg.forumeiros.com/

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos