UltimaForum

Skrypty [VX] - Polskie znaki przy wprowadzaniu imienia

Ayene - Pon 27 Lip, 2009 11:53
Temat postu: Polskie znaki przy wprowadzaniu imienia
~ Polskie znaki przy wprowadzaniu imienia ~

Krótki opis
Skrypt dodaje polską tablicę znaków podczas wprowadzania imienia bohatera. (patrz screenshot)

Autor skryptu
TagTeam

Poprawki
Ayene [yurika@o2.pl]

Kompatybilność
Tylko VX.

Skrypt
Spoiler:

Kod:
# ==============================================================================
#                ~ Polskie znaki przy wprowadzaniu imienia ~
#                       Data publikacji: 27.07.2009
#                          Autor: TagTeam
#                       Poprawki: Ayene [yurika@o2.pl]
#          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 -----------------------------------


Demo
niepotrzebne

Screenshot


Instrukcja
1. Wklej skrypt nad "Main" w Edytorze Skryptu.
2. Reszta instrukcji znajduje się w treści skryptu.

Piszcie w razie problemów.

dawidos989 - Sob 09 Sty, 2010 16:08

A jak to uruchomić
KillYou - Sob 09 Sty, 2010 21:14

Nic nie trzeba zrobić Dawidos.Wklej tylko skrypt nad Main. Ja po prostu
wgrałem ten skrypt i w zdarzeniu 'wprowadź imię Bohatera' mam normalnie
Polskie znaki.

spino333 - Czw 21 Sty, 2010 00:35

Dawidos musisz zrobić nowe zdarzenie, potem w polecenie zdarzenia w '3' i
Name Imput Processing. Tam ustawiasz jakiego goscia ma się zmienić imie, njalepiej tego ktorym grasz. A Jeśli chcesz odrazu przy starcie gry to musisz zrobić tego eventa na pierwszej mapce (tam gdzie zaczynasz grę) i warunek startu na paraller processing,
jeszcze raz w polecenie zdarzenia i tak Control Self Switch- A-ON i OK.
Robisz nową strona zaznaczasz Self Switch A- ON i natej stronie polecenie zdarzenia :
Erase Event i OK.
Od teraz gdy uruchamiasz grę to mozesz wpisac swoje imie 8-)

Naleśnik - Sro 06 Mar, 2013 16:31

O to może mi się przyda :)

Powered by phpBB modified by Przemo © 2003 phpBB Group