SaE - Nie 11 Paź, 2009 17:28 Temat postu: Nazwa lokacji na mapieWitajcie ponownie Mejkerowcy ^^ Oto kolejny skrypt zamieszczony przez mnie, oczywiście nie mojego autorstwa, tylko Moghunter'a.
Zastosowanie skryptu - wyświetla on nawę lokacji, na której znajduje się bohater.
By skrypt działał poprawnie wrzuć obrazek Mpname.png do folderu Graphics/System
A to kod:
Spoiler:
Kod:
#__________________________________________________________________________
# Wyświetlanie nazwy lokacji
#__________________________________________________________________________
# By Moghunter
# korekta SaE
#__________________________________________________________________________
# Przełącznik wyłączający nazwę lokacji.
# Włącz w zdarzeniach przełącznik, a nazwa mapy nie będzie się wyświetlać.
WM_SWITCH_VIS_DISABLE = 15
end
#_________________________________________________
###############
# Game_System #
###############
class Game_System
attr_accessor :fdtm
attr_accessor :mpnm_x
attr_accessor :mpnm_y
alias mog_vx06_initialize initialize
def initialize
mog_vx06_initialize
@fdtm = 255 + 40 * MOG::MPNMTM
if MOG::MPNMPS == 0
@mpnm_x = -300
@mpnm_y = 0
elsif MOG::MPNMPS == 1
@mpnm_x = -300
@mpnm_y = 320
elsif MOG::MPNMPS == 2
@mpnm_x = 640
@mpnm_y = 0
else
@mpnm_x = 640
@mpnm_y = 320
end
end
def mpnm_x
return @mpnm_x
end
def mpnm_y
return @mpnm_y
end
def fdtm
if @fdtm <= 0
@fdtm = 0
end
return @fdtm
end
end
############
# Game_Map #
############
class Game_Map
attr_reader :map_id
def mpname
$mpname = load_data("Data/MapInfos.rvdata")
$mpname[@map_id].name
end
end
###############
# Window Base #
###############
class Window_Base < Window
def nd_mapic
mapic = Cache.system("")
end
def draw_mpname(x,y)
mapic = Cache.system("Mpname") rescue nd_mapic
cw = mapic.width
ch = mapic.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y - ch + 65, mapic, src_rect)
self.contents.font.name = MOG::MPFONT
self.contents.font.size = 22
self.contents.font.bold = true
self.contents.font.shadow = true
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 76, y + 27, 110, 32, $game_map.mpname.to_s,1)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 75, y + 26, 110, 32, $game_map.mpname.to_s,1)
end
end
##########
# Mpname #
##########
class Mpname < Window_Base
def initialize(x , y)
super($game_system.mpnm_x, $game_system.mpnm_y, 250, WLH + 70)
self.opacity = 0
refresh
end
def refresh
self.contents.clear
draw_mpname(10,0)
end
end
#############
# Scene_Map #
#############
class Scene_Map
alias mog_vx06_start start
def start
@mpnm = Mpname.new($game_system.mpnm_x, $game_system.mpnm_y)
@mpnm.contents_opacity = $game_system.fdtm
if $game_switches[MOG::WM_SWITCH_VIS_DISABLE] == false
@mpnm.visible = true
else
@mpnm.visible = false
end
mog_vx06_start
end
alias mog_vx06_terminate terminate
def terminate
mog_vx06_terminate
@mpnm.dispose
end
alias mog_vx06_update update
def update
mog_vx06_update
location_name_update
end
def location_name_update
$game_system.mpnm_x = @mpnm.x
$game_system.mpnm_y = @mpnm.y
if $game_switches[MOG::WM_SWITCH_VIS_DISABLE] == true or $game_system.fdtm <= 0
@mpnm.visible = false
else
@mpnm.visible = true
end
if MOG::MPNMPS == 0 or MOG::MPNMPS == 1
if @mpnm.x < 0
@mpnm.x += 5
elsif @mpnm.x >= 0
@mpnm.x = 0
end
else
if @mpnm.x > 300
@mpnm.x -= 5
elsif @mpnm.x <= 300
@mpnm.x = 300
end
end
@mpnm.contents_opacity = $game_system.fdtm
if MOG::MPNMFD == true
$game_system.fdtm -= 3
end
end
alias mog_vx06_update_transfer_player update_transfer_player
def update_transfer_player
return unless $game_player.transfer?
@mpnm.contents_opacity = 0
mog_vx06_update_transfer_player
if MOG::MPNMPS == 0
$game_system.mpnm_x = -340
$game_system.mpnm_y = 0
elsif MOG::MPNMPS == 1
$game_system.mpnm_x = -340
$game_system.mpnm_y = 320
elsif MOG::MPNMPS == 2
$game_system.mpnm_x = 640
$game_system.mpnm_y = 0
else
$game_system.mpnm_x = 640
$game_system.mpnm_y = 320
end
@mpnm.y = $game_system.mpnm_y
@mpnm.x = $game_system.mpnm_x
$game_system.fdtm = 255 + 60 * MOG::MPNMTM
@mpnm.refresh
end
end
$mogscript = {} if $mogscript == nil
$mogscript["location_name_vx"] = true
Rolf - Nie 11 Paź, 2009 19:44 gdy włączam gre wyskakuje mi błąd. Pokazuje że z linijką 22 jest coś nie tak.
EDIT: Jak robie nowa gra to wsyzstko działa! ale jak np. wczytuje stary zapis to juz nie...ale pozatym wszystko gra.
Ciesze sie ze dalas caly kod o tak. szkoda ze inne skrypty ei sa tak wstawioneAyene - Nie 11 Paź, 2009 20:25 Jeżeli nadal chcesz rozwiązać problem, wklej tutaj kod z linijki 22 Przekonamy się, co dla kompilatora jest nie do przejścia Qukus - Wto 22 Gru, 2009 17:26 No no niezły skrypcik...DZiękiDeegi - Wto 22 Gru, 2009 22:12 Jeszcze dodam że możecie sobie zmienic obrazek pod tekstem, żeby bardziej pasował do waszej gry. Wazne by miał takie same wymiary. No niby oczywiste ale jak czasem czytam forum Pomocy VX to teraz dodaje takie info.R.I.P. - Pon 29 Mar, 2010 12:43 Hehe śmieszny screenshot ale dobry skrypt ale są dwa takie skrypty na forum muszę za wiadomić ;p.R.I.P. - Wto 30 Mar, 2010 13:48 Aaaa,dzięki AYEN właśnie chciałem poprawić w edytuj ;p, bo się skapłem.kamiler65 - Pon 31 Maj, 2010 19:01 a możesz zrobić tak by było po lewej?CreeperCrisis - Pon 31 Maj, 2010 19:04 Masz tak:
Zmień na co chcesz.tracersgta - Sro 12 Sty, 2011 14:01 Jak ktoś nie chce z obrazkiem to można i bez niego.Azux - Pon 28 Lut, 2011 14:24 a jak zmienic polozenie napisow? poniewaz zrobilem wlasny obrazek lecz napisy "nie tarfily" w centrumMikołaj - Wto 01 Mar, 2011 16:35 Skrypt jest OK,nawet fajny .Kornels - Pią 04 Mar, 2011 11:58 Fajne mi działa :Dbartek2940 - Nie 06 Mar, 2011 20:46 Skrypt jest Kozacki!
Sam jeszcze sobie wykonałem obrazek
I jest wogule super!
Jednak trzeba uważać na długość nazwy lokacji, bo może trochę uciąć wojtas025c - Pon 07 Mar, 2011 18:10 Ej możesz zrobić że grafika ładuje się z folderu Data\img\ plsAgumon - Pon 07 Mar, 2011 21:43 wojtas025c, ale po co. Ta lokacja co jest jest właśnie do tego by z tamtego miejsca ładowały się obrazki.MrBoomGood - Czw 14 Kwi, 2011 15:16 Boski skrypt! Tego szukałem! A nie dało by się tego dać na środek gry?jacorex1 - Pią 01 Cze, 2012 18:15 Mega Skrypt !!! Super ( obrazek da się przerobić) Dzięki ^^