Kompatybilność
Skrypt kompatybilny z każdym innym skryptem. Tylko RPG Maker VX.
Opis
Skrypt umożliwia przypisanie mgieł i chmur do konkretnych map. Możemy ustawić przezroczystość mgły na danej mapie, a także szybkość i kierunek jej poruszania się.
Instrukcja została umieszczona w skrypcie, a przykłady mgły i chmur znajdują się w wersji demonstracyjnej.
Wady
W momencie, gdy przechodzimy do nowej lokalizacji przez ułamek sekundy nie ma mgły z danej mapy i/lub widzimy mgłę z poprzedniej mapy (również przez ułamek sekundy).
Aktualizacje Wersja 1.1:
Podczas wyjścia z menu lub innej sceny mgła się nie "restartuje".
Wersja 1.2:
Można ustawić mniejszą prędkość mgły w danym kierunku.
Kilka poprawek w kodzie.
Poprawiona i uzupełniona instrukcja.
Screen
Spoiler:
Skrypt
Spoiler:
Kod:
=begin
********************************************************************
* Mgła VX by Avara *
* Autor: Avara *
* Wersja 1.2 *
**********************************************************************
Skrypt ten pozwala na dopasowanie mgły/chmór do konkretnej mapy.
Należy go umieścić nad Main w edytorze skryptu.
Pliki mgły umieszczamy w folderze "System" naszej gry. Pliki muszą mieć nazwę
"Mgła" + numer mgły + ".png", np. "Mgła1.png", "Mgła24.png" itd.
=end
class Mgla_Konfiguracja # <-- nie usuwać!
def initialize # <-- nie usuwać!
=begin
KONFIGURACJA
Najpierw wpisujemy numer mapy, do której chcemy dodać mgłę.
m =
Następnie wpisujemy numer mgły (taki jak w nazwie pliku), np. 1.
$av_mgla_numer_mgly[m] =
Powyższe dwie zmienne są niezbędne do pojawienia się mgły na konkretnej mapie.
Poniższe można pominąć. W takim wypadku zostaną ustawione wartości domyślne.
Przezroczystość (od 0 - niewidoczna - do 255 - całkowicie zakrywająca) mgły.
Domyślnie 255.
$av_mgla_przezroczystosc[m] =
Ruch mgły w lewo ustaloną ilość kratek na prawie pół sekundy. Gdy chcemy, by mgła
poruszała się w prawo, przed liczbą należy umieścić myślnik i spację. Można
wpisywać tylko liczby całkowite.
Domyślnie 0 (brak ruchu).
$av_mgla_w_lewo[m] =
Tak samo jak wyżej, lecz w górę.
$av_mgla_w_gore[m] =
Jeśli ustawimy dwie ostatnie zmienne różne od zera, mgła będzie się poruszać
po skosie.
Nie można ustawić, by mgła poruszała się o mniejszą odległość, ale da się ustawić,
by robiła to rzadziej, a przez to będzie poruszała się wolniej. Do tego
potrzebujemy kolejnych zmiennych dla ruchu w pionie i poziomie. Lewo/prawo:
$av_mgla_zwolnienie_l[m] =
Tu wpisujemy cyfrę, przez którą chcemy podzielić prędkość ruchu mgły. Radzę nie
ustawiać tej wartości powyżej 3. W przeciwnym razie mgła/chmury będą nam się
"zacinać".
Domyślnie 1 (nie zmienia podanej prędkości).
I dla ruchu w górę/dół:
$av_mgla_zwolnienie_g[m] =
Gdy chcemy ustawić mgłę do kolejnej mapy wystarczy pod wszystkimi ustawieniami
poprzedniej mapy umieścić nowe ustawienia zaczynając od "m = " (numer mapy).
=end
m = 1
$av_mgla_numer_mgly[m] = 1
$av_mgla_przezroczystosc[m] = 200
$av_mgla_w_lewo[m] = - 1
$av_mgla_w_gore[m] = 1
$av_mgla_zwolnienie_l[m] = 3
m = 2
$av_mgla_numer_mgly[m] = 2
$av_mgla_przezroczystosc[m] = 100
$av_mgla_w_gore[m] = - 2
=begin
KONIEC KONFIGURACJI
Życzę miłego korzystania ze skryptu.
Cokolwiek dalej zmienicie, robicie to na własną odpowiedzialność!
Nie zapomnij wspomnieć o autorze skryptu w swoim projekcie!
=end
end
end
class Scene_Map < Scene_Base
alias avara_mgla_start start
def start
avara_mgla_start
@l = 0
@g = 0
@mg_konf = Mgla_Konfiguracja.new
@mapa = $game_map.map_id
$av_mgla_m = @mapa
if $av_mgla_numer_mgly[@mapa] != nil
@obrazek = Plane.new
@obrazek.bitmap = Cache.system("Mgła" + $av_mgla_numer_mgly[@mapa].to_s + ".png")
@obrazek.z = 1
if $av_mgla_przezroczystosc[@mapa] != nil
@obrazek.opacity = $av_mgla_przezroczystosc[@mapa]
end
if $av_mgla_m == @mapa
@obrazek.ox = $av_mgla_obrazek_x
@obrazek.oy = $av_mgla_obrazek_y
else
$av_mgla_obrazek_x = 0
$av_mgla_obrazek_y = 0
end
$av_mgla_a = 1
end
end
alias avara_mgla_terminate terminate
def terminate
avara_mgla_terminate
if $av_mgla_numer_mgly[@mapa] != nil
@obrazek.dispose
end
end
alias avara_mgla_update update
def update
avara_mgla_update
@mapa = $game_map.map_id
if $av_mgla_m != @mapa
if $av_mgla_numer_mgly[$av_mgla_m] != nil
@obrazek.visible = false
end
$av_mgla_a = 0
$av_mgla_m = @mapa
@l = 0
@g = 0
end
if $av_mgla_numer_mgly[@mapa] != nil
@l += 1
@g += 1
if $av_mgla_zwolnienie_l[@mapa] == nil
$av_mgla_zwolnienie_l[@mapa] = 1
end
if $av_mgla_zwolnienie_g[@mapa] == nil
$av_mgla_zwolnienie_g[@mapa] = 1
end
if $av_mgla_a == 0
@obrazek = Plane.new
@obrazek.bitmap = Cache.system("Mgła" + $av_mgla_numer_mgly[@mapa].to_s + ".png")
@obrazek.z = 1
$av_mgla_a = 1
if $av_mgla_przezroczystosc[@mapa] != nil
@obrazek.opacity = $av_mgla_przezroczystosc[@mapa]
else
@obrazek.opacity = 255
end
end
if $av_mgla_w_lewo[@mapa] != nil and @l == $av_mgla_zwolnienie_l[@mapa]
@obrazek.ox += $av_mgla_w_lewo[@mapa]
@l = 0
end
if $av_mgla_w_gore[@mapa] != nil and @g == $av_mgla_zwolnienie_g[@mapa]
@obrazek.oy += $av_mgla_w_gore[@mapa]
@g = 0
end
$av_mgla_obrazek_x = @obrazek.ox
$av_mgla_obrazek_y = @obrazek.oy
else
if $av_mgla_a == 1
@obrazek.visible = false
$a = 0
end
end
end
end
Witam, mam jedno pytanko:
Gdy klikam Esc i ponownie Esc to mgła się restartuje... :(
Nie sądziłam, że będzie to komuś przeszkadzać. Poniżej umieszczam nową wersję skryptu.
Mgła VX by Avara
Wersja
1.1
Zmiany
Podczas wyjścia z menu lub innej sceny mgła się nie "restartuje".
Skrypt
Spoiler:
Kod:
=begin
********************************************************************
* Mgła VX by Avara *
* Autor: Avara *
* Wersja 1.1 *
**********************************************************************
Skrypt ten pozwala na dopasowanie mgły/chmór do konkretnej mapy.
Należy go umieścić nad Main w edytorze skryptu.
Pliki mgły umieszczamy w folderze "System" naszej gry. Pliki muszą mieć nazwę
"Mgła" + numer mgły + ".png", np. "Mgła1.png", "Mgła24.png" itd.
=end
class Mgla_Konfiguracja # <-- nie usuwać!
def initialize # <-- nie usuwać!
=begin
KONFIGURACJA
Najpierw wpisujemy numer mapy, do której chcemy dodać mgłę.
m =
Następnie wpisujemy numer mgły (taki jak w nazwie pliku), np. 1.
$numer_mgly[m] =
Powyższe dwie zmienne są niezbędne do pojawienia się mgły na konkretnej mapie.
Poniższe można pominąć. W takim wypadku zostaną ustawione wartości domyślne.
Przezroczystość (od 0 - niewidoczna - do 255 - całkowicie zakrywająca) mgły.
Domyślnie 255.
$przezroczystosc[m] =
Ruch mgły w lewo ustaloną ilość kratkę na sekundę. Gdy chcemy, by mgła poruszała
się w prawo, przed liczbą należy umieścić myślnik i spację.
Domyślnie 0 (brak ruchu).
$w_lewo[m] =
Tak samo jak wyżej, lecz w górę.
$w_gore[m] =
Jeśli ustawimy dwie ostatnie zmienne powyżej zera, mgła będzie się poruszać
po skosie.
Gdy chcemy ustawić mgłę do kolejnej mapy wystarczy pod wszystkimi ustawieniami
poprzedniej mapy umieścić nowe ustawienia zaczynając od "m = " (numer mapy).
=end
m = 1
$numer_mgly[m] = 1
$przezroczystosc[m] = 200
$w_lewo[m] = - 1
$w_gore[m] = 1
m = 2
$numer_mgly[m] = 2
$przezroczystosc[m] = 100
$w_gore[m] = - 2
=begin
KONIEC KONFIGURACJI
Życzę miłego korzystania ze skryptu.
Cokolwiek dalej zmienicie, robicie to na własną odpowiedzialność!
Nie zapomnij wspomnieć o autorze skryptu w swoim projekcie!
=end
end
end
class Scene_Map < Scene_Base
alias avara_mgla_start start
def start
avara_mgla_start
@mg_konf = Mgla_Konfiguracja.new
@mapa = $game_map.map_id
$m = @mapa
if $numer_mgly[@mapa] != nil
@obrazek = Plane.new
@obrazek.bitmap = Cache.system("Mgła" + $numer_mgly[@mapa].to_s + ".png")
@obrazek.z = 1
if $przezroczystosc[@mapa] != nil
@obrazek.opacity = $przezroczystosc[@mapa]
end
if $m == @mapa
@obrazek.ox = $obrazek_x
@obrazek.oy = $obrazek_y
else
$obrazek_x = 0
$obrazek_y = 0
end
$a = 1
end
end
alias avara_mgla_terminate terminate
def terminate
avara_mgla_terminate
if $numer_mgly[@mapa] != nil
@obrazek.dispose
end
end
alias avara_mgla_update update
def update
avara_mgla_update
@mapa = $game_map.map_id
if $m != @mapa
if $numer_mgly[$m] != nil
@obrazek.visible = false
end
$a = 0
$m = @mapa
end
if $numer_mgly[@mapa] != nil
if $a == 0
@obrazek = Plane.new
@obrazek.bitmap = Cache.system("Mgła" + $numer_mgly[@mapa].to_s + ".png")
@obrazek.z = 1
$a = 1
if $przezroczystosc[@mapa] != nil
@obrazek.opacity = $przezroczystosc[@mapa]
else
@obrazek.opacity = 255
end
end
if $w_lewo[@mapa] != nil
@obrazek.ox += $w_lewo[@mapa]
end
if $w_gore[@mapa] != nil
@obrazek.oy += $w_gore[@mapa]
end
$obrazek_x = @obrazek.ox
$obrazek_y = @obrazek.oy
else
if $a == 1
@obrazek.visible = false
$a = 0
end
end
end
end
A nie dałoby się jeszcze zwolnić tej mgły i chmurek ??
Z góry dzięki...
Nie można ustawić, by mgła poruszała się o mniejszą odległość, ale da się ustawić, by robiła to rzadziej, a przez to będzie poruszała się wolniej. Wszystko potrzebne umieszczam poniżej:
Mgła VX by Avara
Wersja
1.2
Zmiany
Można ustawić mniejszą prędkość mgły w danym kierunku.
Kilka poprawek w kodzie.
Poprawiona i uzupełniona instrukcja.
Skrypt
Spoiler:
Kod:
=begin
********************************************************************
* Mgła VX by Avara *
* Autor: Avara *
* Wersja 1.2 *
**********************************************************************
Skrypt ten pozwala na dopasowanie mgły/chmór do konkretnej mapy.
Należy go umieścić nad Main w edytorze skryptu.
Pliki mgły umieszczamy w folderze "System" naszej gry. Pliki muszą mieć nazwę
"Mgła" + numer mgły + ".png", np. "Mgła1.png", "Mgła24.png" itd.
=end
class Mgla_Konfiguracja # <-- nie usuwać!
def initialize # <-- nie usuwać!
=begin
KONFIGURACJA
Najpierw wpisujemy numer mapy, do której chcemy dodać mgłę.
m =
Następnie wpisujemy numer mgły (taki jak w nazwie pliku), np. 1.
$av_mgla_numer_mgly[m] =
Powyższe dwie zmienne są niezbędne do pojawienia się mgły na konkretnej mapie.
Poniższe można pominąć. W takim wypadku zostaną ustawione wartości domyślne.
Przezroczystość (od 0 - niewidoczna - do 255 - całkowicie zakrywająca) mgły.
Domyślnie 255.
$av_mgla_przezroczystosc[m] =
Ruch mgły w lewo ustaloną ilość kratek na prawie pół sekundy. Gdy chcemy, by mgła
poruszała się w prawo, przed liczbą należy umieścić myślnik i spację. Można
wpisywać tylko liczby całkowite.
Domyślnie 0 (brak ruchu).
$av_mgla_w_lewo[m] =
Tak samo jak wyżej, lecz w górę.
$av_mgla_w_gore[m] =
Jeśli ustawimy dwie ostatnie zmienne różne od zera, mgła będzie się poruszać
po skosie.
Nie można ustawić, by mgła poruszała się o mniejszą odległość, ale da się ustawić,
by robiła to rzadziej, a przez to będzie poruszała się wolniej. Do tego
potrzebujemy kolejnych zmiennych dla ruchu w pionie i poziomie. Lewo/prawo:
$av_mgla_zwolnienie_l[m] =
Tu wpisujemy cyfrę, przez którą chcemy podzielić prędkość ruchu mgły. Radzę nie
ustawiać tej wartości powyżej 3. W przeciwnym razie mgła/chmury będą nam się
"zacinać".
Domyślnie 1 (nie zmienia podanej prędkości).
I dla ruchu w górę/dół:
$av_mgla_zwolnienie_g[m] =
Gdy chcemy ustawić mgłę do kolejnej mapy wystarczy pod wszystkimi ustawieniami
poprzedniej mapy umieścić nowe ustawienia zaczynając od "m = " (numer mapy).
=end
m = 1
$av_mgla_numer_mgly[m] = 1
$av_mgla_przezroczystosc[m] = 200
$av_mgla_w_lewo[m] = - 1
$av_mgla_w_gore[m] = 1
$av_mgla_zwolnienie_l[m] = 3
m = 2
$av_mgla_numer_mgly[m] = 2
$av_mgla_przezroczystosc[m] = 100
$av_mgla_w_gore[m] = - 2
=begin
KONIEC KONFIGURACJI
Życzę miłego korzystania ze skryptu.
Cokolwiek dalej zmienicie, robicie to na własną odpowiedzialność!
Nie zapomnij wspomnieć o autorze skryptu w swoim projekcie!
=end
end
end
class Scene_Map < Scene_Base
alias avara_mgla_start start
def start
avara_mgla_start
@l = 0
@g = 0
@mg_konf = Mgla_Konfiguracja.new
@mapa = $game_map.map_id
$av_mgla_m = @mapa
if $av_mgla_numer_mgly[@mapa] != nil
@obrazek = Plane.new
@obrazek.bitmap = Cache.system("Mgła" + $av_mgla_numer_mgly[@mapa].to_s + ".png")
@obrazek.z = 1
if $av_mgla_przezroczystosc[@mapa] != nil
@obrazek.opacity = $av_mgla_przezroczystosc[@mapa]
end
if $av_mgla_m == @mapa
@obrazek.ox = $av_mgla_obrazek_x
@obrazek.oy = $av_mgla_obrazek_y
else
$av_mgla_obrazek_x = 0
$av_mgla_obrazek_y = 0
end
$av_mgla_a = 1
end
end
alias avara_mgla_terminate terminate
def terminate
avara_mgla_terminate
if $av_mgla_numer_mgly[@mapa] != nil
@obrazek.dispose
end
end
alias avara_mgla_update update
def update
avara_mgla_update
@mapa = $game_map.map_id
if $av_mgla_m != @mapa
if $av_mgla_numer_mgly[$av_mgla_m] != nil
@obrazek.visible = false
end
$av_mgla_a = 0
$av_mgla_m = @mapa
@l = 0
@g = 0
end
if $av_mgla_numer_mgly[@mapa] != nil
@l += 1
@g += 1
if $av_mgla_zwolnienie_l[@mapa] == nil
$av_mgla_zwolnienie_l[@mapa] = 1
end
if $av_mgla_zwolnienie_g[@mapa] == nil
$av_mgla_zwolnienie_g[@mapa] = 1
end
if $av_mgla_a == 0
@obrazek = Plane.new
@obrazek.bitmap = Cache.system("Mgła" + $av_mgla_numer_mgly[@mapa].to_s + ".png")
@obrazek.z = 1
$av_mgla_a = 1
if $av_mgla_przezroczystosc[@mapa] != nil
@obrazek.opacity = $av_mgla_przezroczystosc[@mapa]
else
@obrazek.opacity = 255
end
end
if $av_mgla_w_lewo[@mapa] != nil and @l == $av_mgla_zwolnienie_l[@mapa]
@obrazek.ox += $av_mgla_w_lewo[@mapa]
@l = 0
end
if $av_mgla_w_gore[@mapa] != nil and @g == $av_mgla_zwolnienie_g[@mapa]
@obrazek.oy += $av_mgla_w_gore[@mapa]
@g = 0
end
$av_mgla_obrazek_x = @obrazek.ox
$av_mgla_obrazek_y = @obrazek.oy
else
if $av_mgla_a == 1
@obrazek.visible = false
$a = 0
end
end
end
end
Prośba do moderatora
Proszę o dodanie/podmianę w pierwszym poście części: Wersja (przed autorem proszę), Skrypt i Demo (tylko linki). Przepraszam za kłopot.
Sory, że cię tak męczę, ale widzę, że pisanie skryptów dobrze ci idzie ( a mgła jest z kolei bardzo fajnym dodatkiem) więc chce aby wszystko było doskonałe...
Jest jeden mały błąd ( może to wina mojego komputera), przy przejściach między mapami na około 1 sekundę zostaje dawna mgła bądź chmury...
A z kolei prośba jaką mam do ciebie to czy nie możliwa byłaby większa władza nad np. chmurami, czy nie udało by się wykombinować ( nawet jeśli w cyklu) zmiany ruchu chmur... np. przez pierwsze 3 sekundy wolno do góry potem 5 sekund szybko po skosie i potem znów wolno do góry ( to oczywiście tylko przykład) ???
Jestem początkującym skrypterem. Na to pierwsze jeszcze nie znalazłam rozwiązania i dlatego napisałam o tym w "Wadach". To drugie dosyć łatwo zrobić, ale nie wiem po co komplikować ten skrypt i dodawać kolejne zmienne. W naturze chmury nie krążą w kółko po niebie, ani nie zmieniają co kilka sekund swojej prędkości i kierunku, więc byłoby to co najmniej dziwne
Nie próbowałem ale może...skrypt dosyć fajny też zawsze biedziłem nad mgłą tylko na pierwszym screenie te chmury są w takich regularnych odstępach i jest ich w %#?* co wygląda trochę nieefektownie(proszę nie komentować nie mam duszy artysty!) Vrona witaj w klubie
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