Ogłoszenie 

Uwaga! To forum jest w trybie offline.
Wszelką pomoc uzyskasz pod adresem
forum.ultimateam.pl


Administracja Forum


Poprzedni temat «» Następny temat
Przesunięty przez: Ayene
Czw 05 Lis, 2009 20:17
Znaczniki tekstu + Automatyczne kolorowanie tekstu
Autor Wiadomość
Ayene 




Ranga RM:
4 gry

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
   
    # standardowe
    @text.gsub!(/\\C\[([0-9]+)\]/i) { "\x01[#{$1}]" }
    @text.gsub!(/\\G/)              { "\x02" }
    @text.gsub!(/\\\./)             { "\x03" }
    @text.gsub!(/\\\|/)             { "\x04" }
    @text.gsub!(/\\!/)              { "\x05" }
    @text.gsub!(/\\>/)              { "\x06" }
    @text.gsub!(/\\</)              { "\x07" }
    @text.gsub!(/\\\^/)             { "\x08" }   
    @text.gsub!(/\\\\/)             { "\\" }
    @text.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
   
    # \I - włącza i wyłącza kursywę
    @text.gsub!(/\\I/i)              { "\x09" }
   
    # \B - włącza i wyłącza pogrubienie
    @text.gsub!(/\\B/i)              { "\x10" }   
 
    # 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.

Piszcie w razie problemów.

znaczniki_tekstu.txt
Pobierz SKRYPT
Pobierz Plik ściągnięto 504 raz(y) 6,11 KB

________________________


 
 
 
Azsak von Triger 




Preferowany:
RPG Maker VX

Ranga RM:
1 gra

Dołączył: 29 Paź 2009
Posty: 48
Skąd: Gdynia
Wysłany: Czw 05 Lis, 2009 20:24
Może i dobre ,ale u mnie na angielskim nie działa :-(
 
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Czw 05 Lis, 2009 20:28
No ja też mam angielski i u mnie wszystko chodzi. Najprawdopodobniej masz skrypt, który coś blokuje ;-) Próbowałeś w czystym projekcie?
________________________


 
 
 
Azsak von Triger 




Preferowany:
RPG Maker VX

Ranga RM:
1 gra

Dołączył: 29 Paź 2009
Posty: 48
Skąd: Gdynia
Wysłany: Czw 05 Lis, 2009 20:36
Prawie czystym :-D .(sprawdzam na czystym) Działa:!:Czyli teraz angielska wersja jest jak polska :-)
 
 
 
ishizaki1 




Preferowany:
RPG Maker VX

Pomógł: 1 raz
Dołączył: 24 Wrz 2010
Posty: 46
Wysłany: Nie 10 Paź, 2010 14:40
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 -_-.
 
 
radek02 



Preferowany:
RPG Maker VX

Pomógł: 13 razy
Dołączył: 17 Lut 2010
Posty: 257
Skąd: klikasz ?
Wysłany: Nie 10 Paź, 2010 15:07
ishizaki1 napisał/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]

Dołącz do grupy makerowiczów na nk ! http://nk.pl/#grupy/29610
 
 
 
ishizaki1 




Preferowany:
RPG Maker VX

Pomógł: 1 raz
Dołączył: 24 Wrz 2010
Posty: 46
Wysłany: Nie 10 Paź, 2010 15:16
No właśnie chyba się da
Ayene napisał/a:
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).
________________________



 
 
kylu31 



Preferowany:
RPG Maker VX

Dołączył: 20 Lis 2010
Posty: 16
Wysłany: Czw 25 Lis, 2010 19:39
Dzięki ! jesteś wielka !
 
 
MrDawnok 




Preferowany:
RPG Maker VX

Pomógł: 1 raz
Dołączył: 22 Maj 2010
Posty: 217
Wysłany: Nie 19 Cze, 2011 09:54
Spoko skrypcik :) żeby go całkowicie zrozumieć trzeba go chwile pooglądać, ale i tak jest super :mrgreen: Użyję! 6/6
________________________



http://www.forumgalonum.pun.pl/viewtopic.php?id=5

"Bliski przyjaciel, czy to nie właściwe określenie dla kogoś, kto już przestał być bliski?"
 
 
 
Finwe 




Preferowany:
RPG Maker VXAce

Pomógł: 34 razy
Dołączył: 30 Lip 2011
Posty: 322
Skąd: Rzeszów
Wysłany: Wto 20 Wrz, 2011 19:26
Ayene, skąd ty to wszystko bierzesz? Jak na 10 forach byłem to tak aktywnej adminki nie widziałem.
 
 
 
MMS-S3 




Preferowany:
RPG Maker 2003

Dołączył: 12 Paź 2011
Posty: 7
Wysłany: Wto 27 Gru, 2011 13:30
Ona to pisze... Chyba ;-)
 
 
 
jacorex1 




Preferowany:
RPG Maker VX

Dołączył: 24 Mar 2012
Posty: 7
Skąd: Kazimierz Biskupi
Wysłany: Pią 01 Cze, 2012 16:10
Bardzo Fajny skrypt :D Przydał mi się dzięki ^^
________________________


 
 
aragorn7015 




Preferowany:
RPG Maker VXAce

Pomógł: 15 razy
Dołączył: 20 Kwi 2012
Posty: 186
Skąd: się biorą dzieci?
Wysłany: Czw 07 Cze, 2012 20:53
Czy jest podobny na XP?
________________________
Jeśli pomogłem, daj
Spoiler:

POMÓGŁ



Uwielbiam się bawić na zdarzeniach w VX-ie... Więc jeśli masz jakieś pytanie jak coś zrobić na zdarzeniach to napisz. Jeśli będę wiedział to odpowiem
 
 
 
gats 




Preferowany:
RPG Maker VX

Dołączył: 18 Sty 2012
Posty: 73
Skąd: Sanok
Wysłany: Sob 09 Cze, 2012 09:01
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ć ?.
________________________

I love mangas and anime :D
 
 
 
Ayene 




Ranga RM:
4 gry

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.
________________________


 
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
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
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group | Template Klam by Ayene