Krótki opis:
Skrypt pozwala na wyświetlenie krótkiej informacji w oknie, które po kilku chwilach znika. Można wpisać dowolny tekst. Postać może się jednocześnie poruszać.
Autor:
Avara
Aktualizacje: Wersja 2.0:
- możliwość pisania wiadomości mające kilka linijek
- wywołanie wiadomości za pomocą skrótu (treść wiadomości jest umieszczona w skrypcie)
Skrypt:
Spoiler:
Kod:
=begin
[------------------------------------------------------------------------------]
| Znikające kienko z informacją |
| Autor: Avara |
| Wersja: 2.0 |
| Data ostatniej aktualizacji: 23 lipca 2012 roku |
[------------------------------------------------------------------------------]
Skrypt pozwala na wyświetlenie informacji w oknie, które po kilku chwilach
znika. Można wpisać dowolny tekst. Wyświetlana jest dowolna ilość linijek
tekstu. Postać może się jednocześnie poruszać.
Wywołujemy okno poleceniem Scrypt:
Av_Informacja.new(skrót do wiadomości)
skrót do wiadomości - np. "info" (patrz linijka 50.)
Przykładowe polecenie:
Av_Informacja.new("info")
Wywczas w oknie wyświetli się nam taka wiadomość:
"Twój tekst - linijka 1.
Twój tekst - linijka 3."
bez cudzysłowia oczywiście ^^ To w jaki sposób przedstawić tekst w kilku linij-
kach jest wytłumaczone tu w skrypcie w linijce 52.
Jeśli chcesz dać kilka informacji jedną po drugiej, to zalecam pomiędzy nimi
dać polecenie "Wait" ^^ Radzę również nie rozpisywać się zbytnio, gdyż gracz
musi zdążyć przeczytać wiadomość ^^
=end
module Avara # <--- NIE TYKAĆ!
module Informacja # <--- NIE TYKAĆ!
#[-----------------------------------------------------------------------------]
# KONFIGURACJA
#[-----------------------------------------------------------------------------]
AV_INF_SZEROKOSC_OKNA = 250 # Zalecany max to 544 ^^
AV_INF_Y_POCZATKOWE_OKNA = 100 # Początkowe położenie Y
AV_INF_Z_OKNA = 1001 # Pierwszeństwo wyświetlania
AV_INF_POCZATKOWA_PRZEZROCZYSTOSC_OKNA = 155 # 0 - przezroczyste;
# 255 - brak przezroczystości
AV_INF_BEZRUCH_ILE = 80 # Ilość klatek bezruchu okienka (60 klatek na sekundę)
AV_INF_KOLOR_LITER = Color.new(225, 225, 225, 255) # (R, G, B, przezroczystość)
AV_INF_WINDOWSKIN = "Window.png" # Podstawowy windowskin to "Window.png"
AV_INF_CZY_DZWIEK = false # Czy podczas wyświetlenia wiadomości ma być odegra-
# ny dźwięk SE? true/false
AV_INF_SE = "Decision1" # Nazwa dźwięku SE jeśli powyższe jest "true"
AV_INF_SE_GLOSNOSC = 80 # Głośność
AV_INF_SE_TON = 100 # Wysokość tonu
end # <--- NIE TYKAĆ!
end # <--- NIE TYKAĆ!
class Av_Informacja # <--- NIE TYKAĆ!
def initialize(ktory) # <--- NIE TYKAĆ!
skrot = []; tresc = [] # <--- NIE TYKAĆ!
skrot[1] = "info" # Skrót dzięki któremu szybko wywołamy odpowiednią wiado-
# mość. Dowolny tekst zawarty w cudzysłowie.
# Poniżej należy wpisać treść wiadomości. Znak "|" (bez cudzysłowia) dzieli
# tekst na linijki. Okno odpowiednio się wydłuży w zależności od ilości li-
# nijek. Tekst musi być zawarty w cudzysłowie.
tresc[1] = "Twój tekst - linijka 1.||Twój tekst - linijka 3."
skrot[2] = "coś"
tresc[2] = "Przykładowy tekst."
# Można takich wiadomości wstawić dowolną ilość. Poniżej przykład długiej
# wiadomości, która nie mieści się (w skrypcie) w jednej linijce i gdy chcemy
# wyświetlić wartość zmiennej.
skrot[3] = "zmienna"
tresc[3] = "Zmienna 10 jest równa: " + $game_variables[10].to_s + "|Twój " +
"tekst. Twój tekst."
#[-----------------------------------------------------------------------------]
# KONIEC KONFIGURACJI
# Dalej niczego nie ruszać, chyba że na własną odpowiedzialność!
#[-----------------------------------------------------------------------------]
info = {}
for i in 1..skrot.size
info[skrot[i]] = tresc[i]
end
$av_inf_tekst = info[ktory].split(/\|/)
$av_inf_informacja = true
$av_inf_nowy = true
end
end
class Scene_Map < Scene_Base
include Avara::Informacja
alias avara_informacja_start start
def start
avara_informacja_start
@av_inf_informacja = Avara_Informacja_Okno.new
@av_inf_informacja.visible = false
end
alias avara_informacja_terminate terminate
def terminate
avara_informacja_terminate
@av_inf_informacja.dispose
@av_inf_informacja = false
$av_inf_klatek = 0
$av_inf_nowy = false
end
alias avara_informacja_update update
def update
avara_informacja_update
if $av_inf_informacja == true
@av_inf_informacja.visible = true
@av_inf_informacja.refresh
if $av_inf_nowy == true
@av_inf_informacja.contents_opacity = 255
@av_inf_informacja.opacity = 255
@av_inf_informacja.y = AV_INF_Y_POCZATKOWE_OKNA
$av_inf_klatek = 0
$av_inf_nowy = false
if AV_INF_CZY_DZWIEK
Audio.se_play("Audio/SE/" + AV_INF_SE, AV_INF_SE_GLOSNOSC, AV_INF_SE_TON)
end
end
if @av_inf_informacja.contents_opacity == 0
@av_inf_informacja.contents_opacity = 255
@av_inf_informacja.opacity = 255
@av_inf_informacja.y = AV_INF_Y_POCZATKOWE_OKNA
@av_inf_informacja.visible = false
$av_inf_informacja = false
$av_inf_klatek = 0
end
end
end
end
W zdarzeniu wybierzcie polecenie Script (ostatnia karta poleceń) i wpiszcie:
Kod:
Av_Informacja.new("pogoda")
Skrót zależy od Was i ma być dla Waszej wygody, a znak "|" dzieli Waszą wiadomość na 2 linijki.
~ Znikające okienko z informacją ~
~ o uzyskaniu/utracie przedmiotu/broni/zbroi ~
Krótki opis:
Skrypt pozwala na wyświetlenie krótkiej informacji w oknie, które po kilku chwilach znika. Informacja jest o zyskiwanych/traconych przedmiotach/broniach/zbrojach. Postać może się jednocześnie poruszać.
Autor:
Avara
Aktualizacje: Wersja 2.0:
- możliwość powiadamiania o zdobyciu kilku przedmiotów jednocześnie (jeden pod drugim)
Skrypt:
Spoiler:
Kod:
=begin
[------------------------------------------------------------------------------]
| Znikające okienko z informacją o uzyskaniu/utracie przedmiotu/broni/zbroi |
| Autor: Avara |
| Wersja: 2.0 |
| Data ostatniej aktualizacji: 23 lipca 2012 roku |
[------------------------------------------------------------------------------]
Skrypt pozwala na wyświetlenie informacji w oknie o zyskiwanych przedmio-
tach. Okno po kilku chwilach znika. Postać może się jednocześnie poruszać.
Może być wyświetlonych kilka przedmiotów jednocześnie.
Wywołujemy je poleceniem Scrypt:
Av_Przedmiot.new([czy dodajesz 1, czy dodajesz 2, itd.],
[rodzaj 1, rodzaj 2, itd.], [id przedmiotu 1, id przedmiotu 2, itd.],
[ile sztuk 1, ile sztuk 2, itd.])
Nawiasy kwadratowe to tablice, w których umieszczamy dane kolejnych przed-
miotów. Kolejne tablice są odpowiedzialne za doane o:
czy dodajesz - true, jeśli dodajesz; false, gdy odejmujesz
rodzaj - wpisujemy "broń" lub "zbroja" lub "przedmiot"
id przedmiotu - id zmienianego przedmiotu
ile sztuk - gdy większe niż 1 wyświetli np. "10x" przed nazwą przedmiotu
Przykładowe polecenie:
Av_Przedmiot.new([true], ["przedmiot"], [1], [10])
wyświetli informację "Uzyskano 10x Potion."
Jeśli chcemy wyświetlić informację o kilku przedmiotach jednocześnie (jedna
pod drugą), to polecenie powinno wyglądać w ten sposób:
Av_Przedmiot.new([true, false, true], ["broń", "przedmiot", "zbroja"],
[3, 1, 2], [1, 9, 2])
Takie polecenie wyświetli nam następującą wiadomość:
"Uzyskano Long Spear
Utracono 9x Potion
Uzyskano 2x Scale Shield"
Numer id przedmiotu oraz liczbę sztuk można wpisać w formie zmiennej, np.:
Av_Przedmiot.new([false], ["zbroja"], [$game_variables[1]],
[$game_variables[2]])
Wówczas wyświetli informację, iż utracono zbroję o id równej zmiennej 1
w liczbie sztuk o wartości zmiennej 2.
Jeśli chcesz dać kilka informacji jedną po drugiej, to zalecam pomiędzy nimi
dać polecenie "Wait" ^^
=end
module Avara # <--- NIE TYKAĆ!
module Info_Przedmiot # <--- NIE TYKAĆ!
#[-----------------------------------------------------------------------------]
# KONFIGURACJA
#[-----------------------------------------------------------------------------]
AV_IP_SZEROKOSC_OKNA = 250 # Zalecany max to 544 ^^
AV_IP_Y_POCZATKOWE_OKNA = 100 # Początkowe położenie Y
AV_IP_Z_OKNA = 1001 # Pierwszeństwo wyświetlania
AV_IP_POCZATKOWA_PRZEZROCZYSTOSC_OKNA = 155 # 0 - przezroczyste;
# 255 - brak przezroczystości
AV_IP_BEZRUCH_ILE = 80 # Ilość klatek bezruchu okienka (60 klatek na sekundę)
AV_IP_KOLOR_LITER = Color.new(225, 225, 225, 255) # (R, G, B, przezroczystość)
AV_IP_WINDOWSKIN = "Window.png" # Podstawowy windowskin to "Window.png"
AV_IP_DODAJ_TEKST = "Uzyskano" # Tekst na początku wiadomości, gdy dodajemy
# przedmiot.
AV_IP_ODEJMIJ_TEKST = "Utracono" # Tekst na początku wiadomości, gdy usuwamy
# przedmiot.
AV_IP_CZY_DZWIEK = false # Czy podczas wyświetlenia wiadomości ma być odegra-
# ny dźwięk SE? true/false
AV_IP_SE = "Decision2" # Nazwa dźwięku SE jeśli powyższe jest "true"
AV_IP_SE_GLOSNOSC = 80 # Głośność
AV_IP_SE_TON = 100 # Wysokość tonu
CZY_IKONY = true # Czy mają byś wyświetlane ikony przedmiotów true/false
#[-----------------------------------------------------------------------------]
# KONIEC KONFIGURACJI
# Dalej niczego nie ruszać, chyba że na własną odpowiedzialność!
#[-----------------------------------------------------------------------------]
end
end
class Av_Przedmiot
include Avara::Info_Przedmiot
def initialize(dodaj, rodzaj, id, ile)
$av_ip_tekst = []
for x in 0...id.size
if ile[x] > 1
liczba = " " + ile[x].to_s + "x "
else
liczba = " "
end
if rodzaj[x] == "broń"
rzecz = $data_weapons[id[x]].name.to_s
$av_ip_ikony[x] = $data_weapons[id[x]]
elsif rodzaj[x] == "zbroja"
rzecz = $data_armors[id[x]].name.to_s
$av_ip_ikony[x] = $data_armors[id[x]]
elsif rodzaj[x] == "przedmiot"
rzecz = $data_items[id[x]].name.to_s
$av_ip_ikony[x] = $data_items[id[x]]
end
if dodaj[x] == true
$av_ip_tekst[x] = AV_IP_DODAJ_TEKST + liczba + rzecz + "."
else
$av_ip_tekst[x] = AV_IP_ODEJMIJ_TEKST + liczba + rzecz + "."
end
end
$av_ip_przedmiot = true
$av_ip_nowy = true
end
end
class Scene_Map < Scene_Base
include Avara::Info_Przedmiot
alias avara_info_przedmiot_start start
def start
avara_info_przedmiot_start
@av_ip_przedmiot = Avara_Przedmiot_Okno.new
@av_ip_przedmiot.visible = false
end
alias avara_info_przedmiot_terminate terminate
def terminate
avara_info_przedmiot_terminate
@av_ip_przedmiot.dispose
$av_ip_klatek = 0
$av_ip_nowy = false
$av_ip_przedmiot = false
end
alias avara_info_przedmiot_update update
def update
avara_info_przedmiot_update
if $av_ip_przedmiot == true
@av_ip_przedmiot.visible = true
@av_ip_przedmiot.refresh
if $av_ip_nowy == true
@av_ip_przedmiot.contents_opacity = 255
@av_ip_przedmiot.opacity = 255
@av_ip_przedmiot.y = AV_IP_Y_POCZATKOWE_OKNA
$av_ip_klatek = 0
$av_ip_nowy = false
if AV_IP_CZY_DZWIEK
Audio.se_play("Audio/SE/" + AV_IP_SE, AV_IP_SE_GLOSNOSC, AV_IP_SE_TON)
end
end
if @av_ip_przedmiot.contents_opacity == 0
@av_ip_przedmiot.contents_opacity = 255
@av_ip_przedmiot.opacity = 255
@av_ip_przedmiot.y = AV_IP_Y_POCZATKOWE_OKNA
$av_ip_klatek = 0
@av_ip_przedmiot.visible = false
$av_ip_przedmiot = false
end
end
end
end
def refresh
self.contents.clear
ulozenie = 1
x = 0
wys_lin = 18
if CZY_IKONY
ulozenie = 0
x = 30
wys_lin = 26
end
self.height = $av_ip_tekst.size * wys_lin + 32
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.color = AV_IP_KOLOR_LITER
wysokosc = 416 - AV_IP_Y_POCZATKOWE_OKNA - 32
for i in 0...$av_ip_tekst.size
if CZY_IKONY
draw_icon($av_ip_ikony[i].icon_index, 2, 1 + i * 26)
end
self.contents.draw_text(x, 0 + i * wys_lin, AV_IP_SZEROKOSC_OKNA - 32 - x,
wys_lin, $av_ip_tekst[i], ulozenie)
break if (i * wys_lin) > wysokosc
end
if $av_ip_przedmiot == true
if self.contents_opacity > 0
$av_ip_klatek += 1
end
if $av_ip_klatek > AV_IP_BEZRUCH_ILE and self.contents_opacity > 0
self.contents_opacity -= 3
self.opacity -= 3
self.y -= 1
end
end
end
end
class Game_System
alias avara_info_przedmiot_init initialize
def initialize
avara_info_przedmiot_init
$av_ip_przedmiot = false
$av_ip_nowy = false
$av_ip_tekst = [""]
$av_ip_klatek = 0
$av_ip_ikony = [$data_items[1]]
end
end
Screeny:
Spoiler:
Instrukcja:
Instrukcja w skrypcie. Jeśli jej nie rozumiecie, tu zamieszczam dodatkową (przeczytajcie najpierw tą w skrypcie):
Spoiler:
Wpiszcie w poleceniu Script:
Kod:
Av_Przedmiot.new()
I w nawiasie musicie umieścić 4 tablice - 4 nawiasy kwadratowe oddzielone przecinkami:
Kod:
Av_Przedmiot.new([], [], [], [])
Musicie teraz wpisać w pierwszy nawias "true" lub "false", czy dany przedmiot zyskaliście czy utraciliście ("true" gdy zyskany, "false" gdy stracony).
W drugi nawias kwadratowy wpiszcie rodzaj - czy to była "broń", "zbroja", czy "przedmiot". Trzeba wpisać, któreś z tych słów, nie zapominając o cudzysłowiu
W trzeci wpiszcie numer id danej rzeczy.
W czwarty zaś ile sztuk tej rzeczy straciliście/zyskaliście.
Jeśli chcecie opisać tak więcej przedmiotów (np. straciliście jakiś przedmiot, ale zyskaliście jednocześnie broń), to w tych nawiasach kwadratowych wstawcie wszędzie przecinki, zróbcie spację i wpiszcie dane dla kolejnego przedmiotu.
Dodatkowe informacje:
Demo niepotrzebne.
W razie potrzeby mogę je odpowiednio zmodyfikować. Wystarczy napisać post z prośbą
Właśnie sobie uświadomiłam, że instrukcja do pierwszego skryptu jest trochę myląca, dlatego ją poprawiłam. Można sobie podmienić.
Spoiler:
Kod:
=begin
[------------------------------------------------------------------------------]
| Znikające kienko z informacją |
| Autor: Avara |
| Wersja: 1.0 |
| Data: 22 lipca 2012 roku |
[------------------------------------------------------------------------------]
Skrypt pozwala na wyświetlenie krótkiej informacji w oknie, które po kilku
chwilach znika. Można wpisać dowolny tekst. Wyświetlana jest tylko jedna li-
nijka tekstu. Postać może się jednocześnie poruszać.
Wywołujemy okno poleceniem Scrypt:
Av_Informacja.new("Twój tekst")
Jeśli tekst nie mieści się w jednej linijce w oknie polecenia, należy wpi-
sać go w ten sposób:
Av_Informacja.new("Twój tekst. Twój tekst" +
". Twój tekst. Twój tekst. Twój tekst. ")
W nowej linijce musimy pamiętać o ew. spacji. W oknie na mapie tekst zosta-
nie wyświetlony w jednej linijce.
Jeśli chcesz dać kilka informacji jedną po drugiej, to zalecam pomiędzy nimi
dać polecenie "Wait" ^^
=end
I kolor czcionki to oczywiście "R, G, B", ale to już szczegół
Wprowadzone zmiany:
- małe poprawki, by oba te skrypty nie "narzucały" sobie nawzajem własnych ustawień
- możliwość odegrania SE podczas wyświetlenia wiadomości
Różnice:
- możliwość pisania wiadomości mające kilka linijek
- wywołanie wiadomości za pomocą skrótu (treść wiadomości jest umieszczona w skrypcie)
Skrypt:
Spoiler:
Kod:
=begin
[------------------------------------------------------------------------------]
| Znikające kienko z informacją |
| Autor: Avara |
| Wersja: 2.0 |
| Data ostatniej aktualizacji: 23 lipca 2012 roku |
[------------------------------------------------------------------------------]
Skrypt pozwala na wyświetlenie informacji w oknie, które po kilku chwilach
znika. Można wpisać dowolny tekst. Wyświetlana jest dowolna ilość linijek
tekstu. Postać może się jednocześnie poruszać.
Wywołujemy okno poleceniem Scrypt:
Av_Informacja.new(skrót do wiadomości)
skrót do wiadomości - np. "info" (patrz linijka 50.)
Przykładowe polecenie:
Av_Informacja.new("info")
Wywczas w oknie wyświetli się nam taka wiadomość:
"Twój tekst - linijka 1.
Twój tekst - linijka 3."
bez cudzysłowia oczywiście ^^ To w jaki sposób przedstawić tekst w kilku linij-
kach jest wytłumaczone tu w skrypcie w linijce 52.
Jeśli chcesz dać kilka informacji jedną po drugiej, to zalecam pomiędzy nimi
dać polecenie "Wait" ^^ Radzę również nie rozpisywać się zbytnio, gdyż gracz
musi zdążyć przeczytać wiadomość ^^
=end
module Avara # <--- NIE TYKAĆ!
module Informacja # <--- NIE TYKAĆ!
#[-----------------------------------------------------------------------------]
# KONFIGURACJA
#[-----------------------------------------------------------------------------]
AV_INF_SZEROKOSC_OKNA = 250 # Zalecany max to 544 ^^
AV_INF_Y_POCZATKOWE_OKNA = 100 # Początkowe położenie Y
AV_INF_Z_OKNA = 1001 # Pierwszeństwo wyświetlania
AV_INF_POCZATKOWA_PRZEZROCZYSTOSC_OKNA = 155 # 0 - przezroczyste;
# 255 - brak przezroczystości
AV_INF_BEZRUCH_ILE = 80 # Ilość klatek bezruchu okienka (60 klatek na sekundę)
AV_INF_KOLOR_LITER = Color.new(225, 225, 225, 255) # (R, G, B, przezroczystość)
AV_INF_WINDOWSKIN = "Window.png" # Podstawowy windowskin to "Window.png"
AV_INF_CZY_DZWIEK = false # Czy podczas wyświetlenia wiadomości ma być odegra-
# ny dźwięk SE? true/false
AV_INF_SE = "Decision1" # Nazwa dźwięku SE jeśli powyższe jest "true"
AV_INF_SE_GLOSNOSC = 80 # Głośność
AV_INF_SE_TON = 100 # Wysokość tonu
end # <--- NIE TYKAĆ!
end # <--- NIE TYKAĆ!
class Av_Informacja # <--- NIE TYKAĆ!
def initialize(ktory) # <--- NIE TYKAĆ!
skrot = []; tresc = [] # <--- NIE TYKAĆ!
skrot[1] = "info" # Skrót dzięki któremu szybko wywołamy odpowiednią wiado-
# mość. Dowolny tekst zawarty w cudzysłowie.
# Poniżej należy wpisać treść wiadomości. Znak "|" (bez cudzysłowia) dzieli
# tekst na linijki. Okno odpowiednio się wydłuży w zależności od ilości li-
# nijek. Tekst musi być zawarty w cudzysłowie.
tresc[1] = "Twój tekst - linijka 1.||Twój tekst - linijka 3."
skrot[2] = "coś"
tresc[2] = "Przykładowy tekst."
# Można takich wiadomości wstawić dowolną ilość. Poniżej przykład długiej
# wiadomości, która nie mieści się (w skrypcie) w jednej linijce i gdy chcemy
# wyświetlić wartość zmiennej.
skrot[3] = "zmienna"
tresc[3] = "Zmienna 10 jest równa: " + $game_variables[10].to_s + "|Twój " +
"tekst. Twój tekst."
#[-----------------------------------------------------------------------------]
# KONIEC KONFIGURACJI
# Dalej niczego nie ruszać, chyba że na własną odpowiedzialność!
#[-----------------------------------------------------------------------------]
info = {}
for i in 1..skrot.size
info[skrot[i]] = tresc[i]
end
$av_inf_tekst = info[ktory].split(/\|/)
$av_inf_informacja = true
$av_inf_nowy = true
end
end
class Scene_Map < Scene_Base
include Avara::Informacja
alias avara_informacja_start start
def start
avara_informacja_start
@av_inf_informacja = Avara_Informacja_Okno.new
@av_inf_informacja.visible = false
end
alias avara_informacja_terminate terminate
def terminate
avara_informacja_terminate
@av_inf_informacja.dispose
@av_inf_informacja = false
$av_inf_klatek = 0
$av_inf_nowy = false
end
alias avara_informacja_update update
def update
avara_informacja_update
if $av_inf_informacja == true
@av_inf_informacja.visible = true
@av_inf_informacja.refresh
if $av_inf_nowy == true
@av_inf_informacja.contents_opacity = 255
@av_inf_informacja.opacity = 255
@av_inf_informacja.y = AV_INF_Y_POCZATKOWE_OKNA
$av_inf_klatek = 0
$av_inf_nowy = false
if AV_INF_CZY_DZWIEK
Audio.se_play("Audio/SE/" + AV_INF_SE, AV_INF_SE_GLOSNOSC, AV_INF_SE_TON)
end
end
if @av_inf_informacja.contents_opacity == 0
@av_inf_informacja.contents_opacity = 255
@av_inf_informacja.opacity = 255
@av_inf_informacja.y = AV_INF_Y_POCZATKOWE_OKNA
@av_inf_informacja.visible = false
$av_inf_informacja = false
$av_inf_klatek = 0
end
end
end
end
def refresh
self.contents.clear
self.height = $av_inf_tekst.size * 18 + 32
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.color = AV_INF_KOLOR_LITER
wysokosc = 416 - AV_INF_Y_POCZATKOWE_OKNA - 32
for i in 0...$av_inf_tekst.size
self.contents.draw_text(0, 0 + i * 18, AV_INF_SZEROKOSC_OKNA - 32, 18,
$av_inf_tekst[i], 1)
break if (i * 18) > wysokosc
end
if $av_inf_informacja == true
if self.contents_opacity > 0
$av_inf_klatek += 1
end
if $av_inf_klatek > AV_INF_BEZRUCH_ILE and self.contents_opacity > 0
self.contents_opacity -= 3
self.opacity -= 3
self.y -= 1
end
end
end
end
class Game_System
alias avara_informacja_init initialize
def initialize
avara_informacja_init
$av_inf_informacja = false
$av_inf_nowy = false
$av_inf_tekst = " "
$av_inf_klatek = 0
end
end
Screeny:
Spoiler:
~ Znikające kienko z informacją ~
~ o uzyskaniu/utracie przedmiotu/broni/zbroi ~
Wersja:
2.0
Różnice:
- możliwość powiadamiania o zdobyciu kilku przedmiotów jednocześnie (jeden pod drugim)
Skrypt:
Spoiler:
Kod:
=begin
[------------------------------------------------------------------------------]
| Znikające okienko z informacją o uzyskaniu/utracie przedmiotu/broni/zbroi |
| Autor: Avara |
| Wersja: 2.0 |
| Data ostatniej aktualizacji: 23 lipca 2012 roku |
[------------------------------------------------------------------------------]
Skrypt pozwala na wyświetlenie informacji w oknie o zyskiwanych przedmio-
tach. Okno po kilku chwilach znika. Postać może się jednocześnie poruszać.
Może być wyświetlonych kilka przedmiotów jednocześnie.
Wywołujemy je poleceniem Scrypt:
Av_Przedmiot.new([czy dodajesz 1, czy dodajesz 2, itd.],
[rodzaj 1, rodzaj 2, itd.], [id przedmiotu 1, id przedmiotu 2, itd.],
[ile sztuk 1, ile sztuk 2, itd.])
Nawiasy kwadratowe to tablice, w których umieszczamy dane kolejnych przed-
miotów. Kolejne tablice są odpowiedzialne za doane o:
czy dodajesz - true, jeśli dodajesz; false, gdy odejmujesz
rodzaj - wpisujemy "broń" lub "zbroja" lub "przedmiot"
id przedmiotu - id zmienianego przedmiotu
ile sztuk - gdy większe niż 1 wyświetli np. "10x" przed nazwą przedmiotu
Przykładowe polecenie:
Av_Przedmiot.new([true], ["przedmiot"], [1], [10])
wyświetli informację "Uzyskano 10x Potion."
Jeśli chcemy wyświetlić informację o kilku przedmiotach jednocześnie (jedna
pod drugą), to polecenie powinno wyglądać w ten sposób:
Av_Przedmiot.new([true, false, true], ["broń", "przedmiot", "zbroja"],
[3, 1, 2], [1, 9, 2])
Takie polecenie wyświetli nam następującą wiadomość:
"Uzyskano Long Spear
Utracono 9x Potion
Uzyskano 2x Scale Shield"
Numer id przedmiotu oraz liczbę sztuk można wpisać w formie zmiennej, np.:
Av_Przedmiot.new([false], ["zbroja"], [$game_variables[1]],
[$game_variables[2]])
Wówczas wyświetli informację, iż utracono zbroję o id równej zmiennej 1
w liczbie sztuk o wartości zmiennej 2.
Jeśli chcesz dać kilka informacji jedną po drugiej, to zalecam pomiędzy nimi
dać polecenie "Wait" ^^
=end
module Avara # <--- NIE TYKAĆ!
module Info_Przedmiot # <--- NIE TYKAĆ!
#[-----------------------------------------------------------------------------]
# KONFIGURACJA
#[-----------------------------------------------------------------------------]
AV_IP_SZEROKOSC_OKNA = 250 # Zalecany max to 544 ^^
AV_IP_Y_POCZATKOWE_OKNA = 100 # Początkowe położenie Y
AV_IP_Z_OKNA = 1001 # Pierwszeństwo wyświetlania
AV_IP_POCZATKOWA_PRZEZROCZYSTOSC_OKNA = 155 # 0 - przezroczyste;
# 255 - brak przezroczystości
AV_IP_BEZRUCH_ILE = 80 # Ilość klatek bezruchu okienka (60 klatek na sekundę)
AV_IP_KOLOR_LITER = Color.new(225, 225, 225, 255) # (R, G, B, przezroczystość)
AV_IP_WINDOWSKIN = "Window.png" # Podstawowy windowskin to "Window.png"
AV_IP_DODAJ_TEKST = "Uzyskano" # Tekst na początku wiadomości, gdy dodajemy
# przedmiot.
AV_IP_ODEJMIJ_TEKST = "Utracono" # Tekst na początku wiadomości, gdy usuwamy
# przedmiot.
AV_IP_CZY_DZWIEK = false # Czy podczas wyświetlenia wiadomości ma być odegra-
# ny dźwięk SE? true/false
AV_IP_SE = "Decision2" # Nazwa dźwięku SE jeśli powyższe jest "true"
AV_IP_SE_GLOSNOSC = 80 # Głośność
AV_IP_SE_TON = 100 # Wysokość tonu
CZY_IKONY = true # Czy mają byś wyświetlane ikony przedmiotów true/false
#[-----------------------------------------------------------------------------]
# KONIEC KONFIGURACJI
# Dalej niczego nie ruszać, chyba że na własną odpowiedzialność!
#[-----------------------------------------------------------------------------]
end
end
class Av_Przedmiot
include Avara::Info_Przedmiot
def initialize(dodaj, rodzaj, id, ile)
$av_ip_tekst = []
for x in 0...id.size
if ile[x] > 1
liczba = " " + ile[x].to_s + "x "
else
liczba = " "
end
if rodzaj[x] == "broń"
rzecz = $data_weapons[id[x]].name.to_s
$av_ip_ikony[x] = $data_weapons[id[x]]
elsif rodzaj[x] == "zbroja"
rzecz = $data_armors[id[x]].name.to_s
$av_ip_ikony[x] = $data_armors[id[x]]
elsif rodzaj[x] == "przedmiot"
rzecz = $data_items[id[x]].name.to_s
$av_ip_ikony[x] = $data_items[id[x]]
end
if dodaj[x] == true
$av_ip_tekst[x] = AV_IP_DODAJ_TEKST + liczba + rzecz + "."
else
$av_ip_tekst[x] = AV_IP_ODEJMIJ_TEKST + liczba + rzecz + "."
end
end
$av_ip_przedmiot = true
$av_ip_nowy = true
end
end
class Scene_Map < Scene_Base
include Avara::Info_Przedmiot
alias avara_info_przedmiot_start start
def start
avara_info_przedmiot_start
@av_ip_przedmiot = Avara_Przedmiot_Okno.new
@av_ip_przedmiot.visible = false
end
alias avara_info_przedmiot_terminate terminate
def terminate
avara_info_przedmiot_terminate
@av_ip_przedmiot.dispose
$av_ip_klatek = 0
$av_ip_nowy = false
$av_ip_przedmiot = false
end
alias avara_info_przedmiot_update update
def update
avara_info_przedmiot_update
if $av_ip_przedmiot == true
@av_ip_przedmiot.visible = true
@av_ip_przedmiot.refresh
if $av_ip_nowy == true
@av_ip_przedmiot.contents_opacity = 255
@av_ip_przedmiot.opacity = 255
@av_ip_przedmiot.y = AV_IP_Y_POCZATKOWE_OKNA
$av_ip_klatek = 0
$av_ip_nowy = false
if AV_IP_CZY_DZWIEK
Audio.se_play("Audio/SE/" + AV_IP_SE, AV_IP_SE_GLOSNOSC, AV_IP_SE_TON)
end
end
if @av_ip_przedmiot.contents_opacity == 0
@av_ip_przedmiot.contents_opacity = 255
@av_ip_przedmiot.opacity = 255
@av_ip_przedmiot.y = AV_IP_Y_POCZATKOWE_OKNA
$av_ip_klatek = 0
@av_ip_przedmiot.visible = false
$av_ip_przedmiot = false
end
end
end
end
Pokaż który skrypt i gdzie wrzuciłeś screenem i jak wygląda twoje polecenie w zdarzeniu (też screenem lub przepisz je tu dokładnie), bo się chyba inaczej nie dogadamy Skrypty działają bezbłędnie i jestem tego pewna, a ten błąd, o którym pisałeś, występuje, gdy nie ma wrzuconego skryptu nad main. Sprawdziłam to -.-
PS. Zostały dodane ikony w drugim skrypcie w pierwszym poście.
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