Ogłoszenie 

Uwaga! To forum jest w trybie offline.
Wszelką pomoc uzyskasz pod adresem
forum.ultimateam.pl


Administracja Forum


Poprzedni temat «» Następny temat
Zamknięty przez: Nhadala
Nie 16 Wrz, 2012 11:17
Problem z użyciem skryptu
Autor Wiadomość
pw1602 



Preferowany:
RPG Maker VX

Pomógł: 11 razy
Dołączył: 09 Paź 2011
Posty: 119
Wysłany: Sob 08 Wrz, 2012 21:07
Problem z użyciem skryptu
Siemka. Mam problem ze skryptem, a głównie to z jego "wywołaniem". Kiedy tylko dodam go do swojej kolekcji skryptów to podczas testowania gry wyskakuje mi, że jest problem z linijką 60.

Tutaj skrypt (Window Lighting):
Spoiler:

Kod:
module GameBaker
  AutoLightTiles = Hash.new
  AutoLightTiles[280] = [8,4,16,56]
  AutoLightTiles[281] = [9,4,14,48]
  AutoLightTiles[283] = [12,5,10,36]
  AutoLightTiles[296] = [7,10,18,64]
  AutoLightTiles[297] = [9,10,14,64]
  AutoLightTiles[299] = [7,12,18,64]
  AutoLightTiles[300] = [7,12,18,64]
  AutoLightTiles[301] = [7,3,18,56]
  AutoLightTiles[302] = [7,3,18,48]
  AutoLightTiles[303] = [7,3,18,36]

  AutoLightColors = Hash.new([255,255,255])
  AutoLightColors[299] = [128,196,255]

  AutoLightStart = Hash.new(255)
  AutoLightStart[281] = 220
  AutoLightStart[283] = 134
  AutoLightStart[296] = 196
  AutoLightStart[297] = 220
  AutoLightStart[302] = 220
  AutoLightStart[303] = 134

  AutoLightOpac = “96″
  AutoLightZ = 100000
end

class Spriteset_Map
  alias gamebaker_autolight_init initialize
  def initialize
    create_gblights
    gamebaker_autolight_init
  end

  alias gamebaker_autolight_disp dispose
  def dispose
    if @gb_autolights
      @gb_autolights.dispose if !@gb_autolights.disposed?
      @gb_autolights = nil
    end
    gamebaker_autolight_disp
  end

  alias gamebaker_autolight_upd update
  def update
    update_gblights
    gamebaker_autolight_upd
  end

  def update_gblights
    return if !@gb_autolights
    @gb_autolights.opacity = eval(GameBaker::AutoLightOpac).to_i
    @gb_autolights.ox = $game_map.display_x / 8
    @gb_autolights.oy = $game_map.display_y / 8
  end

  def create_gblights
    data = $game_map.data
    for x in 0…$game_map.width
      for y in 0…$game_map.height
        next if data[x,y,2] == 0
        if GameBaker::AutoLightTiles.include?(data[x,y,2])
          create_gblight(data[x,y,2],x,y)
        end
      end
    end
  end

  def create_gblight(num,x,y)
    sg = GameBaker::AutoLightTiles[num]
    light = Bitmap.new(sg[2],sg[3])
    clr = GameBaker::AutoLightColors[num]
    start = GameBaker::AutoLightStart[num]
    num = (start).to_f
    numup = num / (sg[3] + 6).to_f
    for i in 0…sg[3]
      rect = Rect.new(0,i,sg[2],i+1)
      color = Color.new(clr[0],clr[1],clr[2],num.to_i)
      light.fill_rect(rect,color)
      num = (num -= numup)
      num = (num -= numup) if i < 6
    end
    if !@gb_autolights
      @gb_autolights = Sprite.new
      @gb_autolights.bitmap = Bitmap.new($game_map.width * 32,$game_map.height * 32)
      @gb_autolights.z = GameBaker::AutoLightZ
      @gb_autolights.opacity = eval(GameBaker::AutoLightOpac).to_i
    end
    @gb_autolights.bitmap.blt((x * 32) + sg[0],(y * 32) + sg[1],light,
      Rect.new(0,0,sg[2],sg[3]))
  end
end



Proszę o pomoc.
________________________



 
 
SaE 





Ranga RM:
2 gry

Pomogła: 8 razy
Dołączyła: 14 Paź 2007
Posty: 189
Wysłany: Sob 15 Wrz, 2012 19:49
Linijka 60 i 61 powinna wyglądać tak:
Kod:
for x in 0...$game_map.width
      for y in 0...game_map.height
________________________
Nie ma śniegu, a na ulicach pełno bałwanów ^^


 
 
 
pw1602 



Preferowany:
RPG Maker VX

Pomógł: 11 razy
Dołączył: 09 Paź 2011
Posty: 119
Wysłany: Sob 15 Wrz, 2012 19:58
Poprawiłem i teraz wyskoczył mi problem z linijką 25 ;/

@Edit
Dobra wpisałem tam liczbę taką samą, jak pod spodem, a kiedy wchodzę do gry to wyskakuje problem z linijką 61 ;/

@Edit2
Dobra brakowało tylko przed game_map tego $. Tylko teraz wszystko działa, lecz kiedy wchodzę do gry to nie ma tych efektów ;/
________________________



 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Sob 15 Wrz, 2012 21:38
Nie działa Tobie, bo skrypt tworzy efekt światła tylko w oknach z Tile C.
________________________


 
 
 
pw1602 



Preferowany:
RPG Maker VX

Pomógł: 11 razy
Dołączył: 09 Paź 2011
Posty: 119
Wysłany: Sob 15 Wrz, 2012 23:19
Używam innych Tile niż podstawowe, ale okna mam w Tile C. Nie wiem właśnie dlaczego to nie działa. W Tile C na samym końcu mam okna. Czy to coś zmienia?
________________________



 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Sob 15 Wrz, 2012 23:29
Tak. Trzeba inaczej skonfigurować skrypt. Wrzuć tutaj swój TileC.
________________________


 
 
 
pw1602 



Preferowany:
RPG Maker VX

Pomógł: 11 razy
Dołączył: 09 Paź 2011
Posty: 119
Wysłany: Sob 15 Wrz, 2012 23:38
Spoiler:



Proszę bardzo.
________________________



 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Nie 16 Wrz, 2012 09:24
Podmień skrypt na poniższy:
Spoiler:

Kod:
module GameBaker
  AutoLightTiles = Hash.new 
  AutoLightTiles[490] = [3,13,26,48]
  AutoLightTiles[491] = [7,9,18,52]
  AutoLightTiles[492] = [10,5,12,56]
  AutoLightTiles[493] = [8,8,16,53]
  AutoLightTiles[494] = [4,9,25,52]
  AutoLightTiles[495] = [3,24,27,37] 
  AutoLightTiles[505] = [7,22,17,39] 
  AutoLightTiles[506] = [5,13,27,48]
  AutoLightTiles[507] = [0,13,27,48] 
  AutoLightTiles[508] = [6,9,26,52]
  AutoLightTiles[509] = [0,9,26,52] 
  AutoLightTiles[510] = [24,8,8,53]
  AutoLightTiles[511] = [0,8,8,53]

  AutoLightColors = Hash.new([255,255,255])

  AutoLightStart = Hash.new(255)
  AutoLightStart[492] = 220
 
  AutoLightOpac = "96"
  AutoLightZ = 100000
end

class Spriteset_Map
  alias gamebaker_autolight_init initialize
  def initialize
    create_gblights
    gamebaker_autolight_init
  end

  alias gamebaker_autolight_disp dispose
  def dispose
    if @gb_autolights
      @gb_autolights.dispose if !@gb_autolights.disposed?
      @gb_autolights = nil
    end
    gamebaker_autolight_disp
  end

  alias gamebaker_autolight_upd update
  def update
    update_gblights
    gamebaker_autolight_upd
  end

  def update_gblights
    return if !@gb_autolights
    @gb_autolights.opacity = eval(GameBaker::AutoLightOpac).to_i
    @gb_autolights.ox = $game_map.display_x / 8
    @gb_autolights.oy = $game_map.display_y / 8
  end

  def create_gblights
    data = $game_map.data
    for x in 0...$game_map.width
      for y in 0...$game_map.height
        next if data[x,y,2] == 0
        if GameBaker::AutoLightTiles.include?(data[x,y,2])
          create_gblight(data[x,y,2],x,y)
        end
      end
    end
  end

  def create_gblight(num,x,y)
    sg = GameBaker::AutoLightTiles[num]
    light = Bitmap.new(sg[2],sg[3])
    clr = GameBaker::AutoLightColors[num]
    start = GameBaker::AutoLightStart[num]
    num = (start).to_f
    numup = num / (sg[3] + 6).to_f
    for i in 0...sg[3]
      rect = Rect.new(0,i,sg[2],i+1)
      color = Color.new(clr[0],clr[1],clr[2],num.to_i)
      light.fill_rect(rect,color)
      num = (num -= numup)
      num = (num -= numup) if i < 6
    end
    if !@gb_autolights
      @gb_autolights = Sprite.new
      @gb_autolights.bitmap = Bitmap.new($game_map.width * 32,$game_map.height * 32)
      @gb_autolights.z = GameBaker::AutoLightZ
      @gb_autolights.opacity = eval(GameBaker::AutoLightOpac).to_i
    end
    @gb_autolights.bitmap.blt((x * 32) + sg[0],(y * 32) + sg[1],light,
      Rect.new(0,0,sg[2],sg[3]))
  end
end

________________________


 
 
 
pw1602 



Preferowany:
RPG Maker VX

Pomógł: 11 razy
Dołączył: 09 Paź 2011
Posty: 119
Wysłany: Nie 16 Wrz, 2012 10:00
Wielkie dzięki Ayene. Wszystko działa, jak należy.
________________________



 
 
Wyświetl posty z ostatnich:   
Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group | Template Klam by Ayene