SHARE
TWEET

SetMapTile

polectron May 19th, 2020 1,212 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #Fusiona los arrays de dos mapas
  2. def mergeMapArrays(a, b, x, y)
  3.   tp = b.map
  4.   x_limit = b.width
  5.   y_limit = b.height
  6.  
  7.   for j in y..y_limit+y
  8.     for k in x..x_limit+x
  9.       for l in 0..2
  10.         begin
  11.           if tp.data[k-x,j-y,l] != 0  && tp.data[k-x,j-y,l] != nil
  12.             a.data[k,j,l] = tp.data[k-x,j-y,l]
  13.           end
  14.         rescue => exception
  15.           #p exception
  16.         end
  17.       end
  18.     end
  19.   end
  20.  
  21.   #return a
  22.  
  23. end
  24.  
  25. #Coloca permanentemente una plantilla en un mapa con origen en las coordenadas x,y
  26. def placeOnMap(template, x, y, mapid)
  27.   map_info = load_data(sprintf("Data/Map%03d.rxdata",mapid))
  28.   mergeMapArrays(map_info, template, x, y)
  29.   save_data(map_info, sprintf("Data/Map%03d.rxdata", mapid))
  30. end
  31.  
  32. #Cambiar temporalmente el tile situado en las coordenadas x,y,z en el mapa actual
  33. def setMapTile(id, x,y,z)
  34.   $game_map.map.data[x,y,z] = id
  35.   $game_map.refresh
  36. end
  37.  
  38. #Ejemplo de como colocar una plantilla en un mapa
  39. def placeTest()
  40.   t = MapTemplate.new(4, 8, 4)
  41.   placeOnMap(t, 3, 4, 2)
  42. end
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top