O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

M+ TransferEvents (XP)

Iniciado por M3T, 14/10/2013 às 20:44

14/10/2013 às 20:44 Última edição: 15/10/2013 às 16:34 por M3T
M+ TransferEvents
v1.1 XP



Versão VX
Versão Ace

Introdução e características
Este é um script meio simples, eu mesmo esperava que ele ficasse um pouco maior, mas após terminá-lo, percebi a sua simplicidade. Enfim, como o nome já pode dizer, esse script faz com que você tenha a liberdade de transferir um evento de um mapa para o outro, no caso, o mapa atual. O criei pensando nos eventers que querem criar ABS's e para não precisar ficar colocando uns eventos em todos os mapas. E a idéia veio dos demais sistemas de batalha para RPG Maker XP, onde só tem um mapa com aqueles eventos, e esses eventos eram chamados nos outros mapas.

Tenham bom uso.




Instruções de Uso

Todas as instruções são encontradas dentro do script, no tópico 2. Utilização.




Script
#-----------------------M+ TransferEvents-----------------------#
#----------------------------Por M3T----------------------------#
#Versão RPG Maker XP
=begin
    
  Versão 1.01
  
   - O que mudou?
    Existia um bug em que se você criou muitos eventos em um mapa e deletou 
    bastante, e depois usou o comando de transferir evento, provavelmente algum
    evento original foi deletado. Nesta versão, este bug foi corrigido.

  1. Descrição |
  Este script faz com que você possa criar um evento do outro mapa no mapa atual,
  na posição que quiser.
  Me inspirei nos diversos sistemas de batalha para RPG Maker XP que tem por aí,
  onde existe um mapa só para as ferramentas, e os outros mapas chamam eventos
  desse mapa.
  
  2. Utilização |
  No evento em que vai chamar o evento de outro mapa, no lugar onde desejar, coloque
  um comando de chamar script com o seguinte comando:
  transfer_event(id_do_mapa, id_do_evento, posicaox, posicaoy)
  
  Onde:
  id_do_mapa = o id do mapa no qual vai ser retirado o evento
  id_do_evento = o id do evento que está no outro mapa e você quer transferí-lo
  posicaox = coordenada X do mapa atual em que vai aparecer o evento do outro mapa
  posicaoy = coordenada Y do mapa atual em que vai aparecer o evento do outro mapa
  
  3. Exemplo |
  transfer_event(1, 5, 16, 7)
  
  Neste exemplo acima, o evento de id 5 do mapa de id 1 irá aparecer na coordenada
  X 16 e Y 7 do mapa atual.
  Pode não parecer, mas é bem simples.
  
  Enfim, tenha bom uso. Não devo nenhum crédito para ninguém, pois foi observando
  os scripts Game_Map, Scene_Map e Game_Event que fui montando o script.
=end

$transfer_events = 1.01

class Scene_Map
  attr_accessor :spriteset
end
class Interpreter
  def transfer_event(mapid, eventid, to_x=0, to_y=0)
    map = load_data(sprintf("Data/Map%03d.rxdata", mapid))
    map.events[eventid].x = to_x
    map.events[eventid].y = to_y
    neweventid = $game_map.events.keys.last.id+1
    map.events[eventid].id = neweventid
    $game_map.events[neweventid] = Game_Event.new($game_map.map_id, map.events[eventid])
    $scene.spriteset = Spriteset_Map.new
  end
end
#------------------------M+ Scripts 2011------------------------#


Enfim, caso encontrem erros ou bug's, me avisem aqui no tópico mesmo, e eu verei o que vou fazer.