Pomogła: 232 razy Dołączyła: 18 Wrz 2007 Posty: 2424
Wysłany: Czw 05 Lis, 2009 20:16
Znaczniki tekstu + Automatyczne kolorowanie tekstu
~ Znaczniki tekstu + Automatyczne kolorowanie tekstu ~
Krótki opis
Skrypt dodaje nowe znaczniki wiadomości (czyli skróty dzięki którym wyświetli się nazwa przedmiotu lub potwora umieszczonych w bazie danych) oraz umożliwia automatyczne kolorowanie tekstu (przydatne, gdy nie chcemy za każdym razem używać \c[kolor]).
Przykład:
Znany mam nadzieję wszystkim znacznik \N[id] wyświetlający imię bohatera o wskazanym ID. Dzięki zastosowaniu prostego triku można z góry ustalić, że każdorazowe wprowadzanie tekstu, np. \N[4] sprawi, że wyświetlone imię bohatera nr 4 będzie w wybranym kolorze - wszystko można skonfigurować w skrypcie.
Inne wspomniane już zastosowanie skryptu - dodaje nowe znaczniki, które wyświetlają między innymi: nazwę mapy, broni, pancerza lub klasy bohatera oraz w niewielkim stopniu formatują tekst (kursywa i pogrubienie).
Autor skryptu
Ayene [yurika@o2.pl]
Kompatybilność
Tylko VX. Nie powinien kłócić się z żadnym skryptem, chyba że któryś ingerowałby w sposób wyświetlania okna wiadomości.
Skrypt
Spoiler:
Kod:
#==============================================================
# [VX] Nowe znaczniki tekstu + Automatyczne kolorowanie tekstu
#--------------------------------------------------------------
# by Ayene [yurika@o2.pl]
# Zapraszam na www.ultimateam.pl
#--------------------------------------------------------------
# ** ZASTOSOWANIE
#--------------------------------------------------------------
# Wykaz wszystkich znaczników:
# \C[numer] - zmienia kolor tekstu (numer - 0~31)
# \G - wyświetla nowe okno z ilością złota
# \. - czeka 1/4 sekundy
# \| - czeka 1 sekundę
# \! - czeka do momentu wciśnięcia przycisku
# \> - włącza szybsze wyświetlanie znaków
# \< - wyłącza szybsze wyświetlanie znaków
# \^ - samoczynnie zamyka okno
# \V[id] - wyświetla wartość zmiennej o podanym ID
# \N - imię bohatera o podanym ID
# \UM[ID] - nazwa umiejętności o podanym ID
# \PRZ[ID] - nazwa przedmiotu o podanym ID
# \W[ID] - nazwa broni o podanym ID
# \ZB[ID] - nazwa zbroji o podanym ID
# \POT[ID] - nazwa potwora o podanym ID
# \GP[ID] - nazwa grupy potworów o podanym ID
# \CENA[ID] - cena przedmiotu o podanym ID
# \KL[ID] - klasa bohatera o podanym ID
# \MAPA - nazwa mapy na której aktualnie znajduje się postać
# \I - włącza i wyłącza kursywę
# \B - włącza i wyłącza pogrubienie
#==============================================================
# Konfiguracja kolorów znajduje się poniżej
#==============================================================
class Window_Message < Window_Selectable
def convert_special_characters
# By zmienić kolor wyświetlanych nazw, wystarczy podmienić 29 na inną liczbę
# Liczba określa numer koloru - 0~31
# Wykaz wszystkich kolorów można zobaczyć tutaj:
# http://www.ultimateam.pl/viewtopic.php?t=1981
# \N - imię bohatera o podanym ID
@text.gsub!(/\\N\[([0-9]+)\]/i) { "\x01[29]" + $game_actors[$1.to_i].name + "\x01[0]" }
# \MAPA - nazwa mapy na której aktualnie znajduje się postać
@text.gsub!(/\\MAPA/i) { "\x01[29]#{$game_map.map_name}\x01[0]" }
# \UM[ID] - nazwa umiejętności o podanym ID
@text.gsub!(/\\UM\[([0-9]+)\]/i) { "\x01[29]" + $data_skills[$1.to_i].name + "\x01[0]" }
# \PRZ[ID] - nazwa przedmiotu o podanym ID
@text.gsub!(/\\PRZ\[([0-9]+)\]/i){ "\x01[29]" + $data_items[$1.to_i].name + "\x01[0]" }
# \W[ID] - nazwa broni o podanym ID
@text.gsub!(/\\W\[([0-9]+)\]/i) { "\x01[29]" + $data_weapons[$1.to_i].name + "\x01[0]" }
# \ZB[ID] - nazwa zbroi o podanym ID
@text.gsub!(/\\ZB\[([0-9]+)\]/i) { "\x01[29]" + $data_armors[$1.to_i].name + "\x01[0]" }
# \POT[ID] - nazwa potwora o podanym ID
@text.gsub!(/\\POT\[([0-9]+)\]/i){ "\x01[29]" + $data_enemies[$1.to_i].name + "\x01[0]" }
# \GP[ID] - nazwa grupy potworów o podanym ID
@text.gsub!(/\\GP\[([0-9]+)\]/i) { "\x01[29]" + $data_troops[$1.to_i].name + "\x01[0]" }
# \CENA[ID] - cena przedmiotu o podanym ID
@text.gsub!(/\\CENA\[([0-9]+)\]/i) { "\x01[29]" + $data_items[$1.to_i].price.to_s + "\x01[0]" }
# \KL[ID] - klasa bohatera o podanym ID
@text.gsub!(/\\KL\[([0-9]+)\]/i) { "\x01[29]" + $data_classes[$game_actors[$1.to_i].class_id].name + "\x01[0]" }
# A to niewielki dodatek, dla tych którzy często muszą powielać ten sam tekst
# np. stworzyłam sobie znacznik \Ayene, który wpisany w oknie wiadomości
# wyświetli nick 'Ayene' w kolorze czerwonym.
# [Aa] sprawia, że zadeklarowana została różna wielkość pierwszej literki,
# czyli innymi słowy nie ma różnicy między \Ayene a \ayene
@text.gsub!(/\\[Aa]yene/) { "\x01[2]Ayene\x01[0]" }
end
def update_message
loop do
c = @text.slice!(/./m)
case c
when nil
finish_message
break
when "\x00"
new_line
if @line_count >= MAX_LINE
unless @text.empty?
self.pause = true
break
end
end
when "\x01"
@text.sub!(/\[([0-9]+)\]/, "")
contents.font.color = text_color($1.to_i)
next
when "\x02"
@gold_window.refresh
@gold_window.open
when "\x03"
@wait_count = 15
break
when "\x04"
@wait_count = 60
break
when "\x05"
self.pause = true
break
when "\x06"
@line_show_fast = true
when "\x07"
@line_show_fast = false
when "\x08"
@pause_skip = true
when "\x09"
contents.font.italic = contents.font.italic == true ? false : true
next
when "\x10"
contents.font.bold = contents.font.bold == true ? false : true
next
else
contents.draw_text(@contents_x, @contents_y, 40, WLH, c)
c_width = contents.text_size(c).width
@contents_x += c_width
end
break unless @show_fast or @line_show_fast
end
end
end
class Game_Map
def map_name
mpname = load_data("Data/MapInfos.rvdata")
mpname[@map_id].name
end
end
Demo
niepotrzebne
Screenshot
niepotrzebne
Instrukcja
1. Wklej skrypt nad "Main" w Edytorze Skryptu.
2. Reszta instrukcji znajduje się w treści skryptu.
A jak zmienić kolor broni w bazie danych ? Czytam instrukcje i nie umiem zrozumieć.
Ja robię tak : Robię nową broń i dopisuje na początku \c[1] a i tak nie działa -_-.
A jak zmienić kolor broni w bazie danych ? Czytam instrukcje i nie umiem zrozumieć.
Ja robię tak : Robię nową broń i dopisuje na początku \c[1] a i tak nie działa -_-.
sie nie da chyba ;) . trzeba pisac [unikat] / [heroik] ;|
________________________ 2009-10-12 - dzień , od którego jestem uczestnikiem na polskiej scenie RPG Makera [/b]
Inne wspomniane już zastosowanie skryptu - dodaje nowe znaczniki, które wyświetlają między innymi: nazwę mapy, broni, pancerza lub klasy bohatera oraz w niewielkim stopniu formatują tekst (kursywa i pogrubienie).
Właściwie to jak wpisać imie bo ja mam problem wpisuje \N <---- imie bochatera i włanczam testówke i kiedy jest rozmowa to imienia bochatera nie widać, co zrobić ?.
Pomogła: 232 razy Dołączyła: 18 Wrz 2007 Posty: 2424
Wysłany: Sob 09 Cze, 2012 19:31
Przeczytaj uważnie jeszcze raz pierwszy post w tym temacie, a znajdziesz odpowiedź na pytanie, czemu \N nie działa. Do tego, prosiłabym o przykładanie nieco większej uwagi do reguł pisowni, bo tekstu typu "włanczam imie bochatera" naruszają regulamin forum.
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