Karten script ala Ocarina of Time
Hallo
Ich suche schon seit längeren nach einen MiniMap Script i Style von Ocarina of Time
einfach und nur schematisch niicht wie diese aus Pixelmovement.
Und wenn ich schon einmal frage würde ich gerne wissen ob jemand ein gutes Mapscript kennt vo agezeigt wird wo man ist ambesten wieder so wie bei Ocarina auf Time im Pausemenü.
Ich hoffe ihr könnt mir helfen.
Danke
Ich suche schon seit längeren nach einen MiniMap Script i Style von Ocarina of Time

einfach und nur schematisch niicht wie diese aus Pixelmovement.
Und wenn ich schon einmal frage würde ich gerne wissen ob jemand ein gutes Mapscript kennt vo agezeigt wird wo man ist ambesten wieder so wie bei Ocarina auf Time im Pausemenü.
Ich hoffe ihr könnt mir helfen.
Danke
Ich hoffe das passt vorerst so... Fals du noch iwas haben willst oder so, frag einfach :D
(Zeile 44 - 56)
Der Syntax für die Color farben sieht so aus:
Fals du bei den Farben sperat zu dem Opacity für die Sprites noch ne transperenz dazu machen möchtest kannst du auch noch optional den Alphalvl angeben:
Alle zahlen gehen von 0-255.
Update!!!
Jetzt kannst du bei Events noch hintenhin schreiben #1 für Color 1, oder #2 für color 2, das geht von 1-9, mit #0 hast du ein unsichtbares Event (nicht auf der Karte sichtbar) wenn du hingegen gar nix dahinter schreibst hast du ne standartfarbe, im moment noch schwarz, kannst du aber alles im Script ändern. Wenn du die Events ausstellen willst, also so dass man gar nix mehr sieht, kannst du schreiben [ruby}Minimap.events = false; true[/ruby]
Und du kannst mit
die Farbe eines Events verändern, ein Bsp.:
verändert das Event Nr. 1 zu der Farbe 5
<== macht standat Farbe
<== macht das Event unsichtbar
EDIT:
Ist vielleicht unverständlich, aba mit hinter ein Event schreiben meine ich, den Namen eines Events, die letzten 2 Buchstasben müssen # + irgendeine Zahl sein also z.B.:
Hildegard#2
UPDATE!!!
Version 2.0, nochmal komplett überarbeitet :D, is aba noch net ganz fertig... Hab nur noch versucht auf ein paar Anzeigebugs die Kenai genannt hat einzugehen.
Und das wars :D Bugs bitte melden und ich würde mich auch über positive sowohl auch konsturiktive Kritik freuen :D
PS um diesen scheiß hänge Fehler wenn ihr die Minimap ausblendet zu beseitigen, könnt ihr entweder jedesmal ein true hinten hin setzten oder ihr fügt dieses Script hier noch ein:
Wenn ihr das Script einfügt, kann es auch behilflich sein fals ihr irgendwelche anderen Scripte einfügt. Also ich Rate euch dazu das einzubaue :D
|
|
Ruby Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 |
############################## # Linkminimapscript by Hindi## ############################## class Game_Map attr_accessor(:map) end class Scene_Map alias_method(:old_old_old_main, :main) def main $minimap = Minimap.new old_old_old_main $minimap.dispose end alias_method(:old_old_old_update, :update) def update $minimap.update old_old_old_update end end class Game_Event attr_reader(:name) end # Das Script kannst du ganz einfach mit $minimap.visible = true oder false # ein- oder ausblenden, was du dann in ein Callscript einfügst # Zoom kannst du mit $minimap.zoom = 0.3 für das Spielfield in 30%tiger größe # also orginalgröße * 0.3 # Unterm Spiel können die Farben für Benutzerdefinierteeinstellungen auch # verändert werden mit $minimap.ac usw. class Minimap # Hier kannst du die Farben der Events verändern: def c_normal return Color.new(0, 0, 0) end def c_blue return Color.new(0, 0, 255) end def c_yellow return Color.new(255, 255, 85) end def c_green return Color.new(85, 119, 0) end def c_red return Color.new(255, 85, 52) end def c_custom1 return Color.new(0, 0, 0) # Hier kannst du Farben verändern end def c_custom2 return Color.new(0, 0, 0) # Hier kannst du Farben verändern end def c_custom3 return Color.new(0, 0, 0) # Hier kannst du Farben verändern end def c_custom4 return Color.new(0, 0, 0) # Hier kannst du Farben verändern end def c_custom5 return Color.new(0, 0, 0) # Hier kannst du Farben verändern end @@visible = false; def self.visible=(var); @@visible = var; end def self.visible=(var) @@visible = var end @@x = 10; def self.x=(var); @@x = var; end @@y = 10; def self.y=(var); @@y = var; end @@zoom = 0.3; def self.zoom=(var); @@zoom = var; end @@player = true; def self.player=(var); @@player = var; end @@events = true; def self.events=(var); @@events = var; end @@refresh_map = false ; def self.refresh_map=(var); @@refresh_map = var; end @@ac = Color.new(100, 100, 100) # Farbe für ein Feld das nicht passierbar ist def self.ac=(var) @@ac = var end @@uc = Color.new(200, 200, 200) # Farbe fpr eub Fekd das passierbar ist def self.uc=(var) @@uc = var end @@pc = Color.new(300, 300, 300) # Farbe für den Player def self.pc=(var) @@pc = var end @@ec = Color.new(50, 50, 50) # Farbe für ein Event (noch nicht eingebaut def self.ec=(var) @@ec = var end @@opa = 150 # Transperenz def self.opa=(var) @@opa = var end def change_event_color(event_id, to) return if $game_map.map.events[event_id].nil? e = $game_map.map.events[event_id] if to == "" unless e.name[-2] == 35 e.name[-2] = "" e.name[-1] = "" end else if e.name[-2] != 35 e.name += '#' e.name += to.to_s else e.name[-1] = to.to_s[-1] end end show_events end def initialize @map_id = -1 show_minimap show_player if @@player @minimap.x = @@x @minimap.y = @@y update end def update if @@refresh_map @@refresh_map = false refresh_minimap end unless @@visible if @minimap.visible || @player.visible @minimap.visible = false @player.visible = false unless @events.nil? || @events.empty? @events.each do |i| next if i.nil? i.visible = false end end end return end @minimap.x = @@x @minimap.y = @@y @minimap.opacity = @@opa @player.opacity = @@opa @minimap.visible = true @player.visible = true unless @events.nil? || @events.empty? @events.each do |i| next if i.nil? i.visible = true i.zoom_x = @@zoom i.zoom_y = @@zoom end end refresh_player if @@player if $game_map.map_id != @map_id @map_id = $game_map.map_id if $game_map.map_id != @map_id @map_id = $game_map.map_id @events.each {|i| next if i.nil?; i.bitmap.dispose} end show_events if @@events refresh_minimap end refresh_events if @@events @minimap.zoom_x = @@zoom @minimap.zoom_y = @@zoom @player.zoom_x = @@zoom @player.zoom_y = @@zoom end def show_minimap refresh_minimap end def show_player @player.bitmap.dispose unless @player.nil? @player = Sprite.new @player.z = 1002 @player.bitmap = set_point(@@pc) refresh_player end def show_events @events.each {|i| next if i.nil?; i.bitmap.dispose} unless @events.nil? @events = [] $game_map.map.events.each_value do |i| if i.name[-2] != 35 set_event_point(i, c_normal) next end case i.name[-1] when 48 then next when 49 then set_event_point(i, c_blue) when 50 then set_event_point(i, c_red) when 51 then set_event_point(i, c_yellow) when 52 then set_event_point(i, c_green) when 53 then set_event_point(i, c_custom1) when 54 then set_event_point(i, c_custom2) when 55 then set_event_point(i, c_custom3) when 56 then set_event_point(i, c_custom4) when 57 then set_event_point(i, c_custom5) end end end def refresh_events @events.each do |i| index = @events.index(i) next if $game_map.events[index].nil? i.x = @minimap.x + $game_map.events[index].x * 32 * @@zoom i.y = @minimap.y + $game_map.events[index].y * 32 * @@zoom end end def refresh_player x = $game_player.x y = $game_player.y @player.x = @minimap.x + x * 32 * @@zoom @player.y = @minimap.y + y * 32 * @@zoom end def refresh_minimap @minimap.bitmap.dispose unless @minimap.nil? @minimap = Sprite.new @minimap.z = 1000 width = $game_map.width height = $game_map.height @minimap.bitmap = Bitmap.new(width*32, height*32) rect = Rect.new(0, 0, 32, 32) map_data = $game_map.data width.times do |x| height.times do |y| if $game_map.passable?(x, y, 0) c = 0 3.times do |d| if map_data[x, y, d] == 0 c += 1 end end next if c == 3 @minimap.bitmap.blt(x*32, y*32, set_point(@@ac), rect) else @minimap.bitmap.blt(x*32, y*32, set_point(@@uc), rect) end end end end def set_point(c) b = Bitmap.new(32, 32) b.fill_rect(0, 0, 32, 32, c) return b end def set_event_point(event, c) @events[event.id] = Sprite.new @events[event.id].bitmap = set_point(c) @events[event.id].x = @minimap.x + event.x * 32 * @@zoom @events[event.id].y = @minimap.y + event.y * 32 * @@zoom @events[event.id].z = 1002 @events[event.id].zoom_x = @@zoom @events[event.id].zoom_y = @@zoom end def dispose @minimap.bitmap.dispose @player.bitmap.dispose unless @events.nil? @events.each do |i| next if i.nil? i.bitmap.dispose end end end end |
(Zeile 44 - 56)
Der Syntax für die Color farben sieht so aus:
|
|
Ruby Quellcode |
1 |
Color.new(red, green, blue) |
Fals du bei den Farben sperat zu dem Opacity für die Sprites noch ne transperenz dazu machen möchtest kannst du auch noch optional den Alphalvl angeben:
|
|
Ruby Quellcode |
1 |
Color.new(red, green, blue, alpha) |
Alle zahlen gehen von 0-255.
Update!!!
Jetzt kannst du bei Events noch hintenhin schreiben #1 für Color 1, oder #2 für color 2, das geht von 1-9, mit #0 hast du ein unsichtbares Event (nicht auf der Karte sichtbar) wenn du hingegen gar nix dahinter schreibst hast du ne standartfarbe, im moment noch schwarz, kannst du aber alles im Script ändern. Wenn du die Events ausstellen willst, also so dass man gar nix mehr sieht, kannst du schreiben [ruby}Minimap.events = false; true[/ruby]
Und du kannst mit
|
|
Ruby Quellcode |
1 |
$minimap.change_event_color(event_id, to) |
|
|
Ruby Quellcode |
1 |
$minimap.change_event_color(1, 5) |
|
|
Ruby Quellcode |
1 |
$minimap.change_event_color(1, "") |
<== macht standat Farbe
|
|
Ruby Quellcode |
1 |
$minimap.change_event_color(1, 5) |
<== macht das Event unsichtbar
zum Lesen den Text mit der Maus markieren
EDIT:
Ist vielleicht unverständlich, aba mit hinter ein Event schreiben meine ich, den Namen eines Events, die letzten 2 Buchstasben müssen # + irgendeine Zahl sein also z.B.:
Hildegard#2
UPDATE!!!
Version 2.0, nochmal komplett überarbeitet :D, is aba noch net ganz fertig... Hab nur noch versucht auf ein paar Anzeigebugs die Kenai genannt hat einzugehen.
|
|
Ruby Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 |
################################################################################ # Minimap like Zelda v.2.0 Beta by Hindi :D # ################################################################################ class Game_Temp class Minimap_data attr_accessor(:x, :y, :zoom, :opa, :player, :events, :refresh_map, :visible) attr_accessor(:uc, :ac, :pc, :ec) def initialize @x = 10 @y = 10 @zoom = 0.3 @opa = 150 @player = true @events = true @refresh_map = false @visible = false @ac = Color.new(200, 200, 200) @uc = Color.new(100, 100, 100) @pc = Color.new(300, 300, 300) @ec = Color.new(50, 50, 50) end end alias_method(:old_old_old_initialize, :initialize) attr_accessor(:minimap) def initialize old_old_old_initialize @minimap = Minimap_data.new end end class Spriteset_Map alias_method(:old_old_old_initialize, :initialize) alias_method(:old_old_old_update, :update) alias_method(:old_old_old_dispose, :dispose) def initialize old_old_old_initialize refresh_minimap show_player show_events update end def refresh_minimap ac = $game_temp.minimap.ac uc = $game_temp.minimap.uc @minimap.bitmap.dispose unless @minimap.nil? @minimap = Sprite.new(@viewport3) @minimap.z = 1 @minimap.x = $game_temp.minimap.x @minimap.y = $game_temp.minimap.y width = $game_map.width height = $game_map.height @minimap.bitmap = Bitmap.new(width*32, height*32) passable = Bitmap.new(32, 32) passable.fill_rect(0, 0, 32, 32, ac) passenable = Bitmap.new(32, 32) passenable.fill_rect(0, 0, 32, 32, uc) rect = Rect.new(0, 0, 32, 32) map_data = $game_map.data width.times do |x| height.times do |y| if $game_map.passable?(x, y, 0) c = 0 3.times do |d| if map_data[x, y, d] == 0 c += 1 end end next if c == 3 @minimap.bitmap.blt(x*32, y*32, passable, rect) else @minimap.bitmap.blt(x*32, y*32, passenable, rect) end end end @minimap.visible = $game_temp.minimap.visible end def show_player pc = $game_temp.minimap.pc @player.bitmap.dispose unless @player.nil? @player = Sprite.new(@viewport3) @player.z = 1 @player.bitmap = Bitmap.new(32, 32) @player.bitmap.fill_rect(0, 0, 32, 32, pc) @player.visible = $game_temp.minimap.visible refresh_player end def show_events ec = $game_temp.minimap.ec @events.each {|i| i.bitmap.dispose} unless @events.nil? @events = [] $game_map.events.keys do |i| @events[i] = Sprite.new(@viewport3) @events[i].z = 1 @events[i].bitmap = Bitmap.new(32, 32) @events[i].bitmap.fill_rect(0, 0, 32, 32, ec) @events[i].visible = $game_temp.minimap.events end end def refresh_player z = $game_temp.minimap.zoom x = $game_player.x y = $game_player.y @player.x = @minimap.x + x * 32 * z @player.y = @minimap.y + y * 32 * z @player.zoom_x = z @player.zoom_y = z end def refresh_events z = $game_temp.minimap.zoom @events.each do |i| index = @events.index(i) i.x = @minimap.x + $game_map.events[index].x * 32 * z i.y = @minimap.y + $game_map.events[index].y * 32 * z i.zoom_x = z i.zoom_y = z end end def update old_old_old_update return @c = 1 if @c.nil? if $game_temp.minimap.player @player.visible = true refresh_player else @player.visible = false end if $game_temp.minimap.events @events.each {|i| i.visible = true} refresh_events else @events.each {|i| i.visible = false} end if $game_temp.minimap.refresh_map $game_temp.minimap.refresh_map = false refrseh_minimap end @minimap.visible = $game_temp.minimap.visible if $game_temp.minimap.player @player.visible = $game_temp.minimap.visible end if $game_temp.minimap.events @events.each {|i| i.visible = $game_temp.minimap.visible} end @minimap.x = $game_temp.minimap.x @minimap.y = $game_temp.minimap.y @minimap.opacity = $game_temp.minimap.opa if $game_temp.minimap.player @player.opacity = $game_temp.minimap.opa end if $game_temp.minimap.events @events.each {|i| i.opacity = $game_temp.minimap.opa} end if $game_map.map_id != @map_id @map_id = $game_map.map_id refresh_minimap end z = $game_temp.minimap.zoom @minimap.zoom_x = z @minimap.zoom_y = z end def dispose @minimap.bitmap.dispose @player.bitmap.dispose unless @events.nil? @events.each do |i| i.bitmap.dispose end end old_old_old_dispose end end |
zum Lesen den Text mit der Maus markieren
Hier könnt ihr die Minimap nun mit
ein- bzw. ausblenden lassen.
Mit
könnt ihr die Minimap verschieben.
Mit
könnt ihr die Transperentz verändern.
Mit
könnt ihr Player bzw. Events ein- bzw. ausblenden lassen.
Mit
könnt ihr die Map neuaufbauen lassen, fals ihr mal Veränderungen an der Map vornehmt.
|
|
Ruby Quellcode |
1 |
$game_temp.minimap.visible = true/false |
ein- bzw. ausblenden lassen.
Mit
|
|
Ruby Quellcode |
1 2 |
$game_temp.minimap.x = 50 $game_temp.minimap.y = 50 |
könnt ihr die Minimap verschieben.
Mit
|
|
Ruby Quellcode |
1 |
$game_temp.minimap.opa = 0-255 |
könnt ihr die Transperentz verändern.
Mit
|
|
Ruby Quellcode |
1 2 |
$game_temp.minimap.player = true/false $game_temp.minimap.events = true/false |
könnt ihr Player bzw. Events ein- bzw. ausblenden lassen.
Mit
|
|
Ruby Quellcode |
1 |
$game_temp.minimap.refresh_map = true/false |
könnt ihr die Map neuaufbauen lassen, fals ihr mal Veränderungen an der Map vornehmt.
zum Lesen den Text mit der Maus markieren
Und das wars :D Bugs bitte melden und ich würde mich auch über positive sowohl auch konsturiktive Kritik freuen :D
PS um diesen scheiß hänge Fehler wenn ihr die Minimap ausblendet zu beseitigen, könnt ihr entweder jedesmal ein true hinten hin setzten oder ihr fügt dieses Script hier noch ein:
|
|
Ruby Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
class Interpreter def command_355 script = @list[@index].parameters[0] + "\n" loop do if @list[@index+1].code == 655 script += @list[@index+1].parameters[0] + "\n" else break end @index += 1 end result = eval(script) return true end end |
zum Lesen den Text mit der Maus markieren
Wenn ihr das Script einfügt, kann es auch behilflich sein fals ihr irgendwelche anderen Scripte einfügt. Also ich Rate euch dazu das einzubaue :D
Mehr als a Allgäuer ka a Mensch it wera.
Wie soll ich wissen was ich denke, bevor ich nicht höre was ich sage?
NES-Emulator - a simple NES-Emulator
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
zum Lesen den Text mit der Maus markieren
Dieser Beitrag wurde bereits 14 mal editiert, zuletzt von »Reborn« (20. April 2010, 22:19)
Ich danke dir sehr^^Damit ist das Projekt einen riesen schritt weiter.
Nur ich habe noch zwei fragen
1.Hast du das jetzt extra gescriptet??Wenn ja dann danke ich dir nochmal das du dir die mühe gemacht hast.
2.Erklärt der screen
Und wenn das Item menü aufgerufen wird dan ist die map immernoch da aber das bekomm ich bestimmt iwie hin ist nur die position.
MfG
coolbib
PS Credits gibts auf jedenfall^^
Nur ich habe noch zwei fragen
1.Hast du das jetzt extra gescriptet??Wenn ja dann danke ich dir nochmal das du dir die mühe gemacht hast.
2.Erklärt der screen

Und wenn das Item menü aufgerufen wird dan ist die map immernoch da aber das bekomm ich bestimmt iwie hin ist nur die position.
MfG
coolbib
PS Credits gibts auf jedenfall^^
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »coolbib« (16. März 2010, 20:50)
|
|
Ruby Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 |
############################## # Linkminimapscript by Hindi## ############################## class Scene_Map alias_method(:old_old_old_main, :main) def main $minimap = Minimap.new(10, 10, 0.3) old_old_old_main $minimap.dispose end alias_method(:old_old_old_update, :update) def update $minimap.update old_old_old_update end end class Game_Event attr_reader(:name) end # Das Script kannst du ganz einfach mit $minimap.visible = true oder false # ein- oder ausblenden, was du dann in ein Callscript einfügst # Zoom kannst du mit $minimap.zoom = 0.3 für das Spielfield in 30%tiger größe # also orginalgröße * 0.3 # Unterm Spiel können die Farben für Benutzerdefinierteeinstellungen auch # verändert werden mit $minimap.ac usw. class Minimap AC = Color.new(100, 100, 100) # Farbe für ein Feld das nicht passierbar ist UC = Color.new(200, 200, 200) # Farbe fpr eub Fekd das passierbar ist PC = Color.new(300, 300, 300) # Farbe für den Player EC = Color.new(50, 50, 50) # Farbe für ein Event (noch nicht eingebaut OPA = 150 # Transperenz attr_accessor(:visible) attr_accessor(:player, :events) attr_accessor(:ac, :uc, :pc, :ec) attr_accessor(:x, :y, :zoom, :opa) def initialize(x, y, zoom, events=true, player=true) @visible = false @zoom = zoom @opa = OPA @map_id = -1 @ac = AC @uc = UC @pc = PC @ec = EC @x = x @y = y show_minimap show_player @minimap.x = x @minimap.y = y update end def update if @visible @minimap.x = @x @minimap.y = @y @minimap.opacity = @opa @player.opacity = @opa @minimap.visible = true @player.visible = true unless @events.nil? @events.each do |i| i.zoom_x = @zoom i.zoom_y = @zoom end end refresh_player if $game_map.map_id != @map_id @map_id = $game_map.map_id refresh_minimap end @minimap.zoom_x = @zoom @minimap.zoom_y = @zoom @player.zoom_x = @zoom @player.zoom_y = @zoom else @minimap.visible = false @player.visible = false end end def show_minimap refresh_minimap end def show_player @player.bitmap.dispose unless @player.nil? @player = Sprite.new @player.z = 1002 @player.bitmap = Bitmap.new(32, 32) @player.bitmap.fill_rect(0, 0, 32, 32, @pc) refresh_player end def show_events @events.each {|i| i.bitmap.dispose} unless @events.nil? @events = [] $game_map.events.keys do |i| @events[i] = Sprite.new @events[i].z = 1001 @events[i].bitmap = Bitmap.new(32, 32) @events[i].bitmap.fill_rect(0, 0, 32, 32, @ec) end end def refresh_events @events.each do |i| index = @events.index(i) i.x = $game_map.events[index].x * 32 * @zoom i.y = $game_map.events[index].y * 32 * @zoom end end def refresh_player x = $game_player.x y = $game_player.y @player.x = x * 32 * @zoom @player.y = y * 32 * @zoom end def refresh_minimap @minimap.bitmap.dispose unless @minimap.nil? @minimap = Sprite.new @minimap.z = 1000 width = $game_map.width height = $game_map.height @minimap.bitmap = Bitmap.new(width*32, height*32) passable = Bitmap.new(32, 32) passable.fill_rect(0, 0, 32, 32, @ac) passenable = Bitmap.new(32, 32) passenable.fill_rect(0, 0, 32, 32, @uc) rect = Rect.new(0, 0, 32, 32) map_data = $game_map.data width.times do |x| height.times do |y| if $game_map.passable?(x, y, 0) c = 0 3.times do |d| if map_data[x, y, d] == 0 c += 1 end end next if c == 3 @minimap.bitmap.blt(x*32, y*32, passable, rect) else @minimap.bitmap.blt(x*32, y*32, passenable, rect) end end end end def dispose @minimap.bitmap.dispose @player.dispose unless @events.nil? @events.each do |i| i.bitmap.dispose end end end end |
zum Lesen den Text mit der Maus markieren
Jetzt kannst du mit $minimap.x und mit $minimap.y die postion verändern.
Mehr als a Allgäuer ka a Mensch it wera.
Wie soll ich wissen was ich denke, bevor ich nicht höre was ich sage?
NES-Emulator - a simple NES-Emulator
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
zum Lesen den Text mit der Maus markieren
Dake Hindi nur leider funktioniert jetzt nichtmehr das die karte überhaupt angezeigt wird sie ist einfach weg nur der spielersymbol ist da...
hoffe du kannst das nochmal überarbeiten.Und was sind die standart koordinaten oben rechts damit ich weiß was ich eingeben muss
danke
Edit das script ist klasse es wird erst angezeigt wen auch die position festgelegt ist^^ also nicht beachten
Edit2 Aber die player position in der map muss sich doch auch mitbewegen wie mache ich das??
hoffe du kannst das nochmal überarbeiten.Und was sind die standart koordinaten oben rechts damit ich weiß was ich eingeben muss
danke
Edit das script ist klasse es wird erst angezeigt wen auch die position festgelegt ist^^ also nicht beachten
Edit2 Aber die player position in der map muss sich doch auch mitbewegen wie mache ich das??
das ist ein scheiß Bug und daran bin außnahmsweise ich nicht schuld :D, wahr Entrabrain :D
Also das hat mir hier auch schon mal jemand ekrären müssen, das liegt iwie daran, dass am Schluss überprüft wird ob die letzte eingabe die im Callscript steht == true ist, fals nicht, wirds nicht als false returnt was dann zur folge hat, dass man nema laufen kann.
Lange rede gar kein Sinn, du musst am schluss noch true eintippen:
Und noch ein kleines update, bei dem muss man nicht nach jedem neuem Aufruf einer Scene die Minimap neu erscheinen lassen:
Und fals du jetzt ein paar Änderungen bei der Map vornimmst und diese dann auf der Minimap anzeigen lassen willst, kannst du eintippen:
Um die Minimap zu refreshen.
@coolbib
Das machts automatisch.
EDIT:
Hätte ich fast vergessen, da ich jetzt ne Klassenvariable verwende musst man um die Minimap anzuschalten jetzt tippen:
EDIT:
Hab das Script nochmal Editiert, jetzt kannst du alles mit Minimap.bla aurufen, hat den vorteil, du musst nicht andauernd die Minimap neu justieren, denn jetzt kannst du sie nur bei bedarf neu justieren.
Also das hat mir hier auch schon mal jemand ekrären müssen, das liegt iwie daran, dass am Schluss überprüft wird ob die letzte eingabe die im Callscript steht == true ist, fals nicht, wirds nicht als false returnt was dann zur folge hat, dass man nema laufen kann.
Lange rede gar kein Sinn, du musst am schluss noch true eintippen:
|
|
Ruby Quellcode |
1 |
$minimap.visible = false; true |
Und noch ein kleines update, bei dem muss man nicht nach jedem neuem Aufruf einer Scene die Minimap neu erscheinen lassen:
|
|
Ruby Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 |
############################## # Linkminimapscript by Hindi## ############################## class Scene_Map alias_method(:old_old_old_main, :main) def main $minimap = Minimap.new old_old_old_main $minimap.dispose end alias_method(:old_old_old_update, :update) def update $minimap.update old_old_old_update end end class Game_Event attr_reader(:name) end # Das Script kannst du ganz einfach mit $minimap.visible = true oder false # ein- oder ausblenden, was du dann in ein Callscript einfügst # Zoom kannst du mit $minimap.zoom = 0.3 für das Spielfield in 30%tiger größe # also orginalgröße * 0.3 # Unterm Spiel können die Farben für Benutzerdefinierteeinstellungen auch # verändert werden mit $minimap.ac usw. class Minimap @@visible = false; def self.visible=(var); @@visible = var; end def self.visible=(var) @@visible = var end @@x = 10; def self.x=(var); @@x = var; end @@y = 10; def self.y=(var); @@y = var; end @@zoom = 0.3; def self.zoom=(var); @@zoom = var; end @@player = true; def self.player=(var); @@player = var; end @@events = false; def self.events=(var); @@events = var; end @@refresh_map = false ; def self.refresh_map=(var); @@refresh_map = var; end @@ac = Color.new(100, 100, 100) # Farbe für ein Feld das nicht passierbar ist def self.ac=(var) @@ac = var end @@uc = Color.new(200, 200, 200) # Farbe fpr eub Fekd das passierbar ist def self.uc=(var) @@uc = var end @@pc = Color.new(300, 300, 300) # Farbe für den Player def self.pc=(var) @@pc = var end @@ec = Color.new(50, 50, 50) # Farbe für ein Event (noch nicht eingebaut def self.ec=(var) @@ec = var end @@opa = 150 # Transperenz def self.opa=(var) @@opa = var end def initialize @map_id = -1 show_minimap show_player @minimap.x = @@x @minimap.y = @@y update end def update if @@refresh_map @@refresh_map = false refresh_minimap end unless @@visible if @minimap.visible || @player.visible @minimap.visible = false @player.visible = false end return end @minimap.x = @@x @minimap.y = @@y @minimap.opacity = @@opa @player.opacity = @@opa @minimap.visible = true @player.visible = true unless @events.nil? @events.each do |i| i.zoom_x = @@zoom i.zoom_y = @@zoom end end refresh_player if $game_map.map_id != @map_id @map_id = $game_map.map_id refresh_minimap end @minimap.zoom_x = @@zoom @minimap.zoom_y = @@zoom @player.zoom_x = @@zoom @player.zoom_y = @@zoom end def show_minimap refresh_minimap end def show_player @player.bitmap.dispose unless @player.nil? @player = Sprite.new @player.z = 1002 @player.bitmap = Bitmap.new(32, 32) @player.bitmap.fill_rect(0, 0, 32, 32, @@pc) refresh_player end def show_events @events.each {|i| i.bitmap.dispose} unless @events.nil? @events = [] $game_map.events.keys do |i| @events[i] = Sprite.new @events[i].z = 1001 @events[i].bitmap = Bitmap.new(32, 32) @events[i].bitmap.fill_rect(0, 0, 32, 32, @@ec) end end def refresh_events @events.each do |i| index = @events.index(i) i.x = $game_map.events[index].x * 32 * @@zoom i.y = $game_map.events[index].y * 32 * @@zoom end end def refresh_player x = $game_player.x y = $game_player.y @player.x = x * 32 * @@zoom @player.y = y * 32 * @@zoom end def refresh_minimap @minimap.bitmap.dispose unless @minimap.nil? @minimap = Sprite.new @minimap.z = 1000 width = $game_map.width height = $game_map.height @minimap.bitmap = Bitmap.new(width*32, height*32) passable = Bitmap.new(32, 32) passable.fill_rect(0, 0, 32, 32, @@ac) passenable = Bitmap.new(32, 32) passenable.fill_rect(0, 0, 32, 32, @@uc) rect = Rect.new(0, 0, 32, 32) map_data = $game_map.data width.times do |x| height.times do |y| if $game_map.passable?(x, y, 0) c = 0 3.times do |d| if map_data[x, y, d] == 0 c += 1 end end next if c == 3 @minimap.bitmap.blt(x*32, y*32, passable, rect) else @minimap.bitmap.blt(x*32, y*32, passenable, rect) end end end end def dispose @minimap.bitmap.dispose @player.dispose unless @events.nil? @events.each do |i| i.bitmap.dispose end end end end |
zum Lesen den Text mit der Maus markieren
Und fals du jetzt ein paar Änderungen bei der Map vornimmst und diese dann auf der Minimap anzeigen lassen willst, kannst du eintippen:
|
|
Ruby Quellcode |
1 |
$minimap.refresh_map = true |
Um die Minimap zu refreshen.
@coolbib
Das machts automatisch.
EDIT:
Hätte ich fast vergessen, da ich jetzt ne Klassenvariable verwende musst man um die Minimap anzuschalten jetzt tippen:
|
|
Ruby Quellcode |
1 |
Minimap.visible = true/false |
EDIT:
Hab das Script nochmal Editiert, jetzt kannst du alles mit Minimap.bla aurufen, hat den vorteil, du musst nicht andauernd die Minimap neu justieren, denn jetzt kannst du sie nur bei bedarf neu justieren.
Mehr als a Allgäuer ka a Mensch it wera.
Wie soll ich wissen was ich denke, bevor ich nicht höre was ich sage?
NES-Emulator - a simple NES-Emulator
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
zum Lesen den Text mit der Maus markieren
Echt klasse aber hindi du verstehst nicht was ich sagen möchte.
Die player figur also der punkt der grauen in der Minimap bleibt immer oben auch wenn ich die position der minimap geändert habe auch im neuen script also ich weiß net ob du das schaffst sont wäre das script net so brauchbar oder diese funktion
Mf+G
Edit und in den neuen version also die editierte funkst das mit der $minimap.x nichtmehr und y auch net
Edit2:also das ausm 1.Edit macht man auch mit klassenvariablen diesmal dann nur die playerposition auf der minimap bleibnt immernoch oben ?!?!?!
Die player figur also der punkt der grauen in der Minimap bleibt immer oben auch wenn ich die position der minimap geändert habe auch im neuen script also ich weiß net ob du das schaffst sont wäre das script net so brauchbar oder diese funktion

Mf+G
Edit und in den neuen version also die editierte funkst das mit der $minimap.x nichtmehr und y auch net
Edit2:also das ausm 1.Edit macht man auch mit klassenvariablen diesmal dann nur die playerposition auf der minimap bleibnt immernoch oben ?!?!?!
Umd jetzt so viele Scripte zu vermeiden, editiere ich es ganz oben in meiner 1. Post.
Mehr als a Allgäuer ka a Mensch it wera.
Wie soll ich wissen was ich denke, bevor ich nicht höre was ich sage?
NES-Emulator - a simple NES-Emulator
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
zum Lesen den Text mit der Maus markieren
Ich hab oben noch ein update gemacht!! :D Jetzt kannst du auch noch Events mit verschiedenen Farben anzeigen lassen, nützlich für Quests oder so^^
Mehr als a Allgäuer ka a Mensch it wera.
Wie soll ich wissen was ich denke, bevor ich nicht höre was ich sage?
NES-Emulator - a simple NES-Emulator
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
zum Lesen den Text mit der Maus markieren
Fals du noch dummerweise wegen dem Zeitverzug mein altes kopiert hast:
Habs gerade jetzt oben Editiert und ja ich hab auch daran gedacht :D Hab ich oben beschrieben.
Habs gerade jetzt oben Editiert und ja ich hab auch daran gedacht :D Hab ich oben beschrieben.
Mehr als a Allgäuer ka a Mensch it wera.
Wie soll ich wissen was ich denke, bevor ich nicht höre was ich sage?
NES-Emulator - a simple NES-Emulator
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
zum Lesen den Text mit der Maus markieren
Habs oben gefixd.
Mehr als a Allgäuer ka a Mensch it wera.
Wie soll ich wissen was ich denke, bevor ich nicht höre was ich sage?
NES-Emulator - a simple NES-Emulator
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
zum Lesen den Text mit der Maus markieren
oben gefixt.
Mehr als a Allgäuer ka a Mensch it wera.
Wie soll ich wissen was ich denke, bevor ich nicht höre was ich sage?
NES-Emulator - a simple NES-Emulator
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
zum Lesen den Text mit der Maus markieren
Hey Hindi^^,
hast dir ja richtig Mühe gegeben... Nice
.
Ich hätte noch einen Verbesserungsvorschlag für dich: Um den Komfort zum Scripten und des Spielentwickler zu steigern, würde ich dir raten bei Version 2^^ die Minimap über "Spriteset_Map" in einem Viewport (evt. 3 oder 4) anzeigen zu lassen. So stimmen die Ebenen und es müsste zu keinem Fehler in den Menüs kommen. Zumindest ist das bei meinem Game so
.
~ Gruß Kenai
hast dir ja richtig Mühe gegeben... Nice
.Ich hätte noch einen Verbesserungsvorschlag für dich: Um den Komfort zum Scripten und des Spielentwickler zu steigern, würde ich dir raten bei Version 2^^ die Minimap über "Spriteset_Map" in einem Viewport (evt. 3 oder 4) anzeigen zu lassen. So stimmen die Ebenen und es müsste zu keinem Fehler in den Menüs kommen. Zumindest ist das bei meinem Game so
.~ Gruß Kenai
-
NeuigkeitenSämtliche Projekte sind erst mal pausiert. Weitere Informationen findet ihr hier. (Stand: 21.12.2012). -
Cursal Engine (Jump and Run Engine)Mit Hilfe der Cursal Engine (RCE) ist es möglich auf ziemlich einfache Weise „Jump and Run“-Projekte im RPG Maker XP zu entwerfen. Das Anlegen basiert auf Installations- und Updatepaketen sowie reinen Archiven für fortgeschrittene Benutzer. Die Version 2 (CE2) befindet sich bereits in Entwicklung. Interessiert? Dann lade dir die neuste Version herunter ;3! -
AvatarDiese kleinen, netten und knuffigen Vögelchen nennen sich Hamachou und dürften einigen aus Skies of Arcadia bekannt sein. Ich habe diese Bilder weder selbst gezeichnet noch modelliert. Dennoch finde ich sie so knuffig, dass man sie einfach lieb haben muss und ich hoffe euch geht's genau so^^". Diese Grafiken sind wirklich rar und ich bin stolz sie im Web gefunden zu haben.
Hay cooles Syript 
Hab da mal ne Frage :
Bei mir sieht es so zerrückt aus.
Sprich sich stehe auf einem Feld wo ich eigenlich nicht hin kann - alles ist um ein Feld nach ->
Und mit welchen Zahlen kann ich die Map hin und her bewegen ???
Danke schon ma

Hab da mal ne Frage :
Bei mir sieht es so zerrückt aus.
Sprich sich stehe auf einem Feld wo ich eigenlich nicht hin kann - alles ist um ein Feld nach ->
Und mit welchen Zahlen kann ich die Map hin und her bewegen ???
Danke schon ma
Ich arbeite grad an dem Spiel "Glory Kings The Game" zusammen mit der Community und den Admins des BrowserGames "Glory Kings" zusammen.
Weitere Infos folgen.
Weitere Infos folgen.
Im Call Script eingeben:
Keine Ahnung wieso sich das verschiebt...^^
Aber wenn es permanet der Fall sein sollte, kannst du ja mal in def refresh_player bei der x koordinate hinten hin - 32 scheriben, dann hast du den Player ein Feld weiter links.
|
|
Ruby Quellcode |
1 2 |
$minimap.x = 25 $minimap.y = 156 |
Keine Ahnung wieso sich das verschiebt...^^
Aber wenn es permanet der Fall sein sollte, kannst du ja mal in def refresh_player bei der x koordinate hinten hin - 32 scheriben, dann hast du den Player ein Feld weiter links.
Mehr als a Allgäuer ka a Mensch it wera.
Wie soll ich wissen was ich denke, bevor ich nicht höre was ich sage?
NES-Emulator - a simple NES-Emulator
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
ERDL - a embedded Ruby Interpreter with the abilltiy to render images with DirectX ERDL shall be 100% compatible to RPGXP-Ruby Scripts
zum Lesen den Text mit der Maus markieren
Ähnliche Themen
-
Skript-Anfragen »-
Karten-Script
(22. Februar 2010, 20:23)
-
Maker-Talk »-
Ocarina-Script für den RMXP?
(27. Dezember 2009, 16:54)
-
Skript-Anfragen »-
Composer-Script alá Zelda
(26. Dezember 2009, 20:27)
-
Archiv Spielvorstellungen »-
[Abenteuer] The Last Treasure - Vorstellung und Infos
(4. August 2008, 12:49)
-
Skript-Anfragen »-
suche ein menü das wie das "The legend of Zelda Ocarina of time"menü ist
(20. August 2007, 17:05)
