![]()

Autor: Ayene [ Ten adres pocztowy jest chroniony przed spamowaniem. Aby go zobaczyć, konieczne jest włączenie obsługi JavaScript. ]

Kompatybilność:
RPG Maker VX

Krótki opis:
Skrypt dodaje polską tablicę znaków podczas wprowadzania imienia bohatera.

Skrypt:
# ==============================================================================
# ~ Polskie znaki przy wprowadzaniu imienia ~
# Data publikacji: 27.07.2009
# Autor: TagTeam
# Poprawki: Ayene [
Ten adres pocztowy jest chroniony przed spamowaniem. Aby go zobaczyć, konieczne jest włączenie obsługi JavaScript.
]
# Zapraszamy na stronę Ultima Forum - http://www.ultimateam.pl
# ==============================================================================
# Instalacja: Umieść ten skrypt nad Main w Edytorze Skryptu.
# ==============================================================================
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Skrypt dodaje polską tablicę znaków podczas wprowadzania imienia bohatera.
# --------------------------- POCZĄTEK SKRYPTU ---------------------------------
class Window_NameInput < Window_Base
#--------------------------------------------------------------------------
# * Tablica znaków
#--------------------------------------------------------------------------
# ---------------------------- POCZĄTEK EDYCJI ---------------------------------
POLISH = [ 'A','Ą','B','C','Ć', 'a','ą','b','c','ć',
'D','E','Ę','F','G', 'd','e','ę','f','g',
'H','I','J','K','L', 'h','i','j','k','l',
'Ł','M','N','Ń','O', 'ł','m','n','ń','o',
'Ó','P','Q','R','S', 'ó','p','q','r','s',
'Ś','T','U','V','W', 'ś','t','u','v','w',
'X','Y','Z','Ź','Ż', 'x','y','z','ź','ż',
' ',' ',' ',' ',' ', ' ',' ',' ',' ',' ',
'0','1','2','3','4', ' ',' ',' ',' ',' ',
'5','6','7','8','9', ' ',' ',' ',' ','OK']
# ----------------------------- KONIEC EDYCJI ----------------------------------
TABLE = [POLISH]
# -----------NIE EDYTUJ PONIŻEJ, CHYBA ŻE WIESZ CO ROBISZ ^^--------------------
#--------------------------------------------------------------------------
# * Rozpoczęcie
#--------------------------------------------------------------------------
def initialize(mode = 0)
super(88, 138, 368, 268) # wymiary okna z tablicą znaków
@mode = mode
@index = 0
refresh
update_cursor
end
#--------------------------------------------------------------------------
# * Pobranie znaków z tablicy
#--------------------------------------------------------------------------
def character
if @index < 99
return TABLE[@mode][@index]
else
return ""
end
end
#--------------------------------------------------------------------------
# * Określenie położenia kursora: Potwierdzenie [OK]
#--------------------------------------------------------------------------
def is_decision
return (@index == 99)
end
#--------------------------------------------------------------------------
# * Odświeżanie
#--------------------------------------------------------------------------
def refresh
self.contents.clear
for i in 0..99
rect = item_rect(i)
rect.x += 2
rect.width -= 4
self.contents.draw_text(rect, TABLE[@mode][i], 1)
end
end
#--------------------------------------------------------------------------
# * Przesunięcie kursora w dół
#--------------------------------------------------------------------------
def cursor_down(wrap)
if @index < 90
@index += 10
elsif wrap
@index -= 90
end
end
#--------------------------------------------------------------------------
# * Przesunięcie kursora w górę
#--------------------------------------------------------------------------
def cursor_up(wrap)
if @index >= 10
@index -= 10
elsif wrap
@index += 90
end
end
#--------------------------------------------------------------------------
# * Przesunięcie kursora na [OK] - Przycisk A (domyślnie Shift)
#--------------------------------------------------------------------------
def cursor_to_decision
@index = 99
end
end
class Window_NameEdit < Window_Base
#--------------------------------------------------------------------------
# * Rozpoczęcie
# actor : bohater
# max_char : maksymalna liczba znaków
#--------------------------------------------------------------------------
def initialize(actor, max_char)
super(88, 10, 368, 128) # wymiary okna z imieniem bohatera
@actor = actor
@name = actor.name
@max_char = max_char
name_array = @name.split(//)[0...@max_char]
@name = ""
for i in 0...name_array.size
@name += name_array[i]
end
@default_name = @name
@index = name_array.size
self.active = false
refresh
update_cursor
end
end
# --------------------------- KONIEC SKRYPTU -----------------------------------
1. Wklej skrypt nad "Main" w Edytorze Skryptu.
2. Reszta instrukcji znajduje się w treści skryptu.