Heyey,
ich möchte euch ein Script vorstellen, welches wir zwar hier schon einmal haben, jedoch hat meine Version einen gröberen Bugfix durchgenommen (:
Das Script um welches sich handelt stammt Orginal von Onkel Hell ab und nennt sich Map Marker.
Beschreibung : Das Script zeigt in Areas mit speziellen namen die ihr einstellen könnt ein von euch eingestelltes emote, somit kann zb ein ausrufezeichen automatisch angezeigt werden wenn ein item in der nähe ist
Credits:
Tally für Idee und Betatest
Onkel Hell fürs schreiben des Scriptes
FlipelyFlip fürs hinzufügen der Möglichkeit, die Areas für immer zu entfernen, nachdem diese einmal gelöscht wurden.
Anleitung :
#==============================================================================
# F.A.Q.
#==============================================================================
# Benutzt das MARKER-Array um eure Area-Namen einzustellen und die Balloon ID
# für das Emote das ihr haben möchtet. Ihr könnt soviele Zeilen hinzufügen wie ihr
# wollt
#
# Auf der Karte braucht ihr dann nur ein Area zu erstellen mit einem der Namen
# die ihr zuvor eingestellt habt und das emote wird automatisch angezeigt
#
# Um die markierung vom letzten Area zu löschen das ihr betreten habt,
# erstellt ein call script mit diesem darin :
# $game_player.delete_mark
#==============================================================================
# Main config
#==============================================================================
MARKER = [ ["item 1",1], # [Areaname,Balloon ID]
["item 2",2], # Example 1
["item 3",3], # Example 2
["item 4",4], # Example 3
]
Script v1.2
#==============================================================================
# Map Marker
#
# Version : 1.2 - 01.04.08
# Created by : hellMinor
# Do NOT redistribute without my permission
# Description : A little script to show a Emote Icon if you enter an
# area with specific name
#
#==============================================================================
# F.A.Q.
#==============================================================================
# Use the MARKER-Array to define the Area names and the Balloon ID for the
# emote which should be shown in it. You can add as much lines as you want.
#
# On the map, just make an area with one of the names which you defined and
# the emote will be shown automatically
#
# To delete the mark of the last area you entered just make a call script
# with this in it : $game_player.delete_mark
#==============================================================================
# Main config
#==============================================================================
MARKER = [ ["item 1",1], # [Areaname,Balloon ID]
["item 2",2], # Example 1
["item 3",3], # Example 2
["item 4",4], # Example 3
]
SAVE_AREA = true # falls das Area nicht gelöscht werden soll, hier einfach ein false statt true hinsetzen
#==============================================================================
class Game_Player < Game_Character
#==============================================================================
def in_item_area?(area)
return false if area == nil
return false if $game_map.map_id != area.map_id
return false if @x < area.rect.x
return false if @y < area.rect.y
return false if @x >= area.rect.x + area.rect.width
return false if @y >= area.rect.y + area.rect.height
for i in 0..MARKER.size-1
if area.name == MARKER[i][0]
@last_area = area.id
@mark = MARKER[i][1]
return true
end
end
return false
end
#------------------------------------------------------------------------------
def auto_exclamation
for area in $data_areas.values
$game_player.balloon_id = @mark if in_item_area?(area)
end
end
#------------------------------------------------------------------------------
def delete_mark
for area in $data_areas.values
area.name = "mark deleted" if area.id == @last_area
end
end
#------------------------------------------------------------------------------
alias update_nonmoving_auto_exclamation update_nonmoving
def update_nonmoving(last_moving)
update_nonmoving_auto_exclamation(last_moving)
auto_exclamation if last_moving
end
end
class Scene_File < Scene_Base
#--------------------------------------------------------------------------
# * Write Save Data
# file : write file object (opened)
#--------------------------------------------------------------------------
alias flip_map_mark_write_save write_save_data
def write_save_data(file)
flip_map_mark_write_save(file)
Marshal.dump($data_areas, file) if SAVE_AREA == true
end
#--------------------------------------------------------------------------
# * Read Save Data
# file : file object for reading (opened)
#--------------------------------------------------------------------------
alias flip_map_mark_read_save read_save_data
def read_save_data(file)
flip_map_mark_read_save(file)
$data_areas = Marshal.load(file) if SAVE_AREA == true
end
end
Bei weiteren Bugs oder ähnlichem, könnt ihr gern hier ne Nachricht hinterlassen (:
lg Flipy