Czcionki spoza systemu
Aktualny czas: 20-06-25, 18:34 Witaj! Przejdź do zakładki Logowanie lub Rejestracja


Wątek zamknięty 
[XP] Czcionki spoza systemu
Mateusz SSJ8 Offline
*


Liczba postów: 511
Dołączył: 10-05-13

Pomógł: 40



Post: #1
Czcionki spoza systemu

Potrzebuję skryptu RGSS ładującego czcionki do gry. Bo chcę walnąć do gry na potrzeby HUDa czcionkę "Emulogic", a nie chcę zmuszać graczy do instalowania jej. Próbowałem już AddFontResource i AddFontResourceEx, ale czcionka analogicznie była używana przez grę dopiero po jej ponownym uruchomieniu (piwerwsza funkcja) i nie była używana wcale (druga). Chcę, żeby działało jak w RPG Makerze VX i VX Ace. Jest coś takiego?

Nienawidzony i nienawidzący. Przez nienawiść tego drugiego obaj będą martwi.
26-10-14 16:52
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
ReetzO Offline
*


Liczba postów: 101
Dołączył: 03-05-14

Pomógł: 1



Post: #2
RE: Czcionki spoza systemu

Zawsze warto spróbować. Pierwszy wynik w google:
http://www.rmxp.tigerseye.uk.com/tutoria...ptf1.shtml
26-10-14 17:52
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Mateusz SSJ8 Offline
*


Liczba postów: 511
Dołączył: 10-05-13

Pomógł: 40



Post: #3
RE: Czcionki spoza systemu

Problem niby rozwiązany. Jutro sprawdzę, bo dzisiaj już wywołałem AddFontResource, a nie chce mi się dokańczać siedzenia przykolejnym uruchomieniu komputera. Do tego czasu spróbujmy rozwiać możliwości. Jeśli porada ReetzO (czy "Reetz0", zależy jak to pisać) działa standardowo w RPG Makerze XP bez dodatkowych skryptów, to jaki plik DLL trzeba przydzielić do aplikacji? Bo mam nazwane "rgss100j", gdyż program przy każdym zapisaniu ustawia mi tą właśnie.

Nienawidzony i nienawidzący. Przez nienawiść tego drugiego obaj będą martwi.
(Ten post był ostatnio modyfikowany: 26-10-14 18:29 przez Mateusz SSJ8.)
26-10-14 18:29
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Mateusz SSJ8 Offline
*


Liczba postów: 511
Dołączył: 10-05-13

Pomógł: 40



Post: #4
RE: Czcionki spoza systemu

Przepraszam za drugi post z rzędu, ale problem wciąż istnieje. ReetzO nie podał właściwej porady. Grałem dziś rano i próba szybkości wygląda tak
Spoiler: (Otwórz)
, a powinna wyglądać tak:
Spoiler: (Otwórz)
Ktoś wie, co zrobić, żeby czcionka była już za pierwszym razem?

PS. Dałem obrazki w spojlery, bo mi za pierwszym razem ramki na tym forum rozwaliło.

Nienawidzony i nienawidzący. Przez nienawiść tego drugiego obaj będą martwi.
(Ten post był ostatnio modyfikowany: 27-10-14 08:52 przez Mateusz SSJ8.)
27-10-14 08:51
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Kosmik123 Offline
*


Liczba postów: 36
Dołączył: 15-07-14

Pomógł: 2



Post: #5
RE: Czcionki spoza systemu

Taka luźna propozycja (nawet nie oglądałem skryptu), ale może po tym skrypcie dodaj jakąś komendę by załadowało grę na nowo. Wtedy miałbyś drugie uruchomienie za jednym razem.
27-10-14 10:32
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Mateusz SSJ8 Offline
*


Liczba postów: 511
Dołączył: 10-05-13

Pomógł: 40



Post: #6
RE: Czcionki spoza systemu

Nie rozumiecie? Ma używać tej czcionki już za pierwszym razem, kiedy gra się uruchomi, a nie dopiero za drugim.

Nienawidzony i nienawidzący. Przez nienawiść tego drugiego obaj będą martwi.
27-10-14 11:14
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
ReetzO Offline
*


Liczba postów: 101
Dołączył: 03-05-14

Pomógł: 1



Post: #7
RE: Czcionki spoza systemu

Przepraszam, takim specem aż nie jestem. Tak sobie czasem podaje jakieś proste porady mając nadzieję, że zadziałają. ;)
27-10-14 17:33
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Dragon Kamillo Offline
*


Liczba postów: 330
Dołączył: 28-04-13

Pomógł: 24



Post: #8
RE: Czcionki spoza systemu

Mateusz, a może nie kombinuj ze skryptami w RM, tylko jak już będziesz wydawał grę to znajdź taki instalator który zainstaluje grę i wrzuci odpowiednie czcionki do windowsowego folderu. Wtedy problem jakby zniknie.

Z tego co wiem jest to tak rozwiązane w tym projekcie: http://tsukuru.pl/index.php?link=gra&title=2k-roguald UWAGA: lepiej przed instalacją tego zrobić sobie kopie czcionek z RM2k - instalator je podmienia na swoje. Zawsze radzę do gier dawać czcionki o małym prawdopodobieństwie wystąpienia ich nazw gdzie indziej - po prostu je edytować. Chyba że nasza czcionka niczym nie różni się od innych czcionek o tej samej nazwie.
28-10-14 21:43
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Mateusz SSJ8 Offline
*


Liczba postów: 511
Dołączył: 10-05-13

Pomógł: 40



Post: #9
RE: Czcionki spoza systemu

Nie widzisz, Dragon Kamillo? Skoro ja miałem ten problem, to tylko kwestia czasu, kiedy ktoś inny będzie miał ten problem. Jeśli rozwiążemy go teraz, to raz na zawsze go rozwiążemy. Tytm bardziej, że to pierwszy taki przypadek.

A zatem ma ktoś czcionki od razu używane przezgrę robioną w RPG Makerze XP? Podmiana RGSS, instalacja czcionek i ponowne uruchomienie gry nie wchodzą w grę.

Nienawidzony i nienawidzący. Przez nienawiść tego drugiego obaj będą martwi.
29-10-14 20:07
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Ayene Offline
*


Liczba postów: 758
Dołączył: 09-04-13

Pomógł: 112



Post: #10
RE: Czcionki spoza systemu

Hmm... a sprawdź ten skrypt. Korzystam z niego w Wymiarze X i chyba nie ma tego błędu...
#==============================================================================
# ** Fonts
#------------------------------------------------------------------------------
#  Install or load the font.
#==============================================================================

module Fonts
  AutoInstall = {'Arial.ttf' => 'Arial'}
  Source = 'Fonts/'  
  AFR = Win32API.new('gdi32', 'AddFontResource', ['P'], 'L')
  WPS = Win32API.new('kernel32', 'WriteProfileString', ['P'] * 3, 'L')
  SM = Win32API.new('user32', 'SendNotifyMessage', ['L'] * 4, 'L')
  SHGetFolderPath = Win32API.new("shell32.dll","SHGetFolderPath","PIPIP","I")
  WM_FONTCHANGE = 0x001D
  HWND_BROADCAST = 0xffff
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------
  def self.reload_custom_fonts
    needs_reset = false
    for i in Fonts::AutoInstall.keys
      f = i.dup
      n = Fonts::AutoInstall[f]
      if not Font.exist?(n)
        if FileTest.exists?(Fonts::Source + f)
          needs_reset = true
          fontDir = " " * 256
          SHGetFolderPath.call(0,0x0014,0,0,fontDir)
          fontDir = fontDir.strip.gsub("\000","")
          fontDir.gsub!(/\\/, "/")
          if File.writable_real?(fontDir)
            dest = File.open("#{fontDir}/#{f}", "w+")
            src = File.open(Fonts::Source + f, "r")
            src.each { |line| dest.puts(line) }
            dest.close; src.close
            AFR.call("#{fontDir}/#{f}")
            SM.call(HWND_BROADCAST, WM_FONTCHANGE, 0, 0)
            WPS.call('Fonts', '#{f} (TrueType)', f)
          else
            Fonts::Source + f
            AFR.call(Fonts::Source + f)
            SM.call(HWND_BROADCAST, WM_FONTCHANGE, 0, 0)
            WPS.call('Fonts', n + ' (TrueType)', f)
          end
        else
          p 'Czcionki: font ' + f + ' nie znaleziono.'
        end
      end
    end
    if needs_reset
      Thread.new { system('Game') }
      exit
    end
  end
end
Fonts.reload_custom_fonts

[Obrazek: aye_furniture_pres.png]
08-11-14 14:41
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Wątek zamknięty 


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości

Kontakt | Ultima Forum | Wróć do góry | Wróć do forów | Wersja bez grafiki | RSS
Powered By MyBB. © 2013 MyBB Group. All Rights Reserved.
Skórka by Ayene.