Avara - Sro 19 Pa¼, 2011 21:26 Temat postu: MgÅ‚a VX by AvaraPaayJer - Pi± 21 Pa¼, 2011 16:19 Nie no perfect :) Na coÅ› takiego czekaÅ‚em!PaayJer - Nie 23 Pa¼, 2011 14:31 Witam, mam jedno pytanko:
Gdy klikam Esc i ponownie Esc to mgÅ‚a siÄ™ restartuje... :(Vrona - Nie 23 Pa¼, 2011 17:08 Krążą plotki,ze istnieje na tym forum opcja edytuj post.
Skrypt bardzo fajny,zawsze biedziłem się nad mgłą.Kapitalka.
PS WydajÄ™ mi siÄ™,że wszyscy na Ultimie umiejÄ… skryptować,tylko ja nie Salan - Nie 23 Pa¼, 2011 17:55 Dosyć Fajny skrypt :D[b][/b]Finwe - Nie 23 Pa¼, 2011 18:19 Przyda siÄ™, naprawdÄ™ dobry skrypcik. Dotychczas minusem w walce VX z XP byÅ‚ brak mgÅ‚y. Teraz oba majÄ… mgłę.Avara - Nie 23 Pa¼, 2011 19:48
PaayJer napisa³/a:
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
alias avara_mgla_wr_sa_da write_save_data
def write_save_data(file)
avara_mgla_wr_sa_da(file)
Marshal.dump($obrazek_x, file)
Marshal.dump($obrazek_y, file)
Marshal.dump($a, file)
Marshal.dump($m, file)
end
alias avara_mgla_re_sa_da read_save_data
def read_save_data(file)
avara_mgla_re_sa_da(file)
$w_lewo = Marshal.load(file)
$w_gore = Marshal.load(file)
$a = Marshal.load(file)
$m = Marshal.load(file)
end
end
Uwagi
Wady wymienionej w pierwszym poÅ›cie, nie udaÅ‚o siÄ™ usunąć. JeÅ›li ktoÅ› Å›ciÄ…gnÄ…Å‚ sobie demo, proszÄ™ o indywidualnÄ… podmianÄ™ skryptu.PaayJer - Nie 23 Pa¼, 2011 19:57 Eee... No raczej, że to przeszkadza... Ale dziÄ™ki za czas :)Narfann - Pon 24 Pa¼, 2011 18:34 A nie daÅ‚oby siÄ™ jeszcze zwolnić tej mgÅ‚y i chmurek ??
Z góry dziÄ™ki...Avara - Wto 25 Pa¼, 2011 02:45
Narfann napisa³/a:
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.Narfann - Wto 25 Pa¼, 2011 16:57 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) ???Avara - Wto 25 Pa¼, 2011 17:23 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 Tjef - Pon 31 Pa¼, 2011 11:38 też mam błąd, że na nowej mapce zostaje przez tÄ™ jednÄ… sekundÄ™, ale pominąć tylko to - skrypt Å›wietny :) Powoli z Vx-a robi siÄ™ taki mini Xp-ek :PPMrDawnok - Nie 04 Gru, 2011 19:32 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
Proszę nie używać słów niecenzuralnych!
NhadalaVirandar - Nie 18 Gru, 2011 12:40 Dawno nie byłem tu na forum, i widzę, że jest teraz bardzo dużo postępów. Oby tak dalej!
A skrypt ~ świetny!