Avara - Sro 19 Paź, 2011 20:26 Temat postu: Mgła VX by AvaraPaayJer - Pią 21 Paź, 2011 15:19 Nie no perfect :) Na coś takiego czekałem!PaayJer - Nie 23 Paź, 2011 13:31 Witam, mam jedno pytanko:
Gdy klikam Esc i ponownie Esc to mgła się restartuje... :(Vrona - Nie 23 Paź, 2011 16: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 16:55 Dosyć Fajny skrypt :D[b][/b]Finwe - Nie 23 Paź, 2011 17: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 18: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 18:57 Eee... No raczej, że to przeszkadza... Ale dzięki za czas :)Narfann - Pon 24 Paź, 2011 17:34 A nie dałoby się jeszcze zwolnić tej mgły i chmurek ??
Z góry dzięki...Avara - Wto 25 Paź, 2011 01: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 15: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 16: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!