Otwarty przez: Ayene Czw 22 Paź, 2009 21:37
Nazwa lokacji na mapie
Autor
Wiadomość
SaE
Ranga RM:
Pomogła: 8 razy Dołączyła: 14 Paź 2007 Posty: 189
Wysłany: Nie 11 Paź, 2009 17:28
Nazwa lokacji na mapie
Witajcie 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
#__________________________________________________________________________
module MOG
# Nazwa czcionki
MPFONT = "Georgia"
# Zanik ON/OFF(True - False).
MPNMFD = true
# Czas zaniku
MPNMTM = 10
# Pozycja okna z nazwÄ
mapy
# 0 = GĂłrne lewo.
# 1 = Dolne lewo.
# 2 = GĂłrne prawo.
# 3 = Dolne prawo.
MPNMPS = 2
# 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
________________________ Nie ma Ĺniegu, a na ulicach peĹno baĹwanĂłw ^^
Rolf
Preferowany:
Dołączył: 27 Wrz 2009 Posty: 12
Wysłany: 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 wstawione
Ayene
Ranga RM:
Pomogła: 232 razy Dołączyła: 18 Wrz 2007 Posty: 2424
Wysłany: 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
Preferowany:
Dołączył: 20 Gru 2009 Posty: 10
Wysłany: Wto 22 Gru, 2009 17:26
No no niezĹy skrypcik...DZiÄki
________________________ ...Mam sĹaboĹÄ do tych kroperk... xD
Deegi
Preferowany:
Dołączył: 15 Lis 2009 Posty: 29
Wysłany: 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.
Preferowany:
Pomógł: 9 razy Dołączył: 28 Mar 2010 Posty: 173 Skąd: Warszawa
Wysłany: 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.
Preferowany:
Pomógł: 9 razy Dołączył: 28 Mar 2010 Posty: 173 Skąd: Warszawa
Wysłany: Wto 30 Mar, 2010 13:48
Aaaa,dziÄki AYEN wĹaĹnie chciaĹem poprawiÄ w edytuj ;p, bo siÄ skapĹem.
kamiler65
Preferowany:
Dołączył: 19 Kwi 2010 Posty: 20 Skąd: Okolice izraela
Wysłany: Pon 31 Maj, 2010 19:01
a moĹźesz zrobiÄ tak by byĹo po lewej?
CreeperCrisis
Preferowany:
Pomógł: 32 razy Dołączył: 01 Maj 2010 Posty: 395
Wysłany: Pon 31 Maj, 2010 19:04
Masz tak:
Kod: # Pozycja okna z nazwÄ
mapy
# 0 = GĂłrne lewo.
# 1 = Dolne lewo.
# 2 = GĂłrne prawo.
# 3 = Dolne prawo.
MPNMPS = 2
ZmieĹ na co chcesz.
tracersgta
Preferowany:
Pomógł: 45 razy Dołączył: 10 Sty 2011 Posty: 612 Skąd: mam wiedzieÄ?
Wysłany: Sro 12 Sty, 2011 14:01
Jak ktoĹ nie chce z obrazkiem to moĹźna i bez niego.
________________________ I'm a tiger! I roar. I hunt, I climb, I eat, I wash, I sleep!
Gość, jeĹźeli pomogĹem daj "PomĂłgĹ"
Azux
Preferowany:
Pomógł: 8 razy Dołączył: 28 Lut 2011 Posty: 87
Wysłany: Pon 28 Lut, 2011 14:24
a jak zmienic polozenie napisow? poniewaz zrobilem wlasny obrazek lecz napisy "nie tarfily" w centrum
________________________
Pracuje nad "Rakrato"
Mapki: 0,3%
Skrypty: !?!?-%
Przedmioty: 0,1%
Quest: 0,3%
MikoĹaj
Pomógł: 7 razy Dołączył: 11 Lut 2011 Posty: 84
Wysłany: Wto 01 Mar, 2011 16:35
Skrypt jest OK,nawet fajny .
Kornels
Preferowany:
Dołączył: 04 Mar 2011 Posty: 2
Wysłany: Pią 04 Mar, 2011 11:58
Fajne mi dziaĹa :D
bartek2940
Preferowany:
Pomógł: 1 raz Dołączył: 10 Kwi 2010 Posty: 88
Wysłany: 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Ä
Ä
________________________ Obecny projekt - Chwilowo brak
wojtas025c
Preferowany:
Dołączył: 29 Lip 2010 Posty: 106 Skąd: Lubin
Wysłany: Pon 07 Mar, 2011 18:10
Ej moĹźesz zrobiÄ Ĺźe grafika Ĺaduje siÄ z folderu Data\img\ pls
________________________ "Jestem jaki jestem i nic tego nie zmieni"