Worldmap Scipt
Also wie der Titel schon sagt suche ich ein Worldmap Script.
Ich hab schon SuFu benutzt allerdings nichts gefunden.
Es ist eigentlich ganz einfach. Das Script ruft eine karte (Picture) auf.
AUf dieser karte kann amn dann sich durch die Punkte wählen und den Zielort festlegen.
Allerdings sollten Natürlich nicht alle Orte gleich betrettbar sein, was dann mit Switches abgeregelt werden sollte.
Script wird dann über Call Script aufgerufen.
Ich muss ehrlich sagen das ich versucht hab das Worldmap script aus Charon zu moden, ohne großen erfolg.
Drum bitte ich jemanden der mehr erfahrung mit RGSS hat, entweder mir ein neues zu scripten, oder das Script zu moden (Wobei ich mir nicht sicher bin, ob Sorata oder Thunderbolt was dagegen haben)
Freundliche Grüße,
Razziel²
Ich hab schon SuFu benutzt allerdings nichts gefunden.
Es ist eigentlich ganz einfach. Das Script ruft eine karte (Picture) auf.
AUf dieser karte kann amn dann sich durch die Punkte wählen und den Zielort festlegen.
Allerdings sollten Natürlich nicht alle Orte gleich betrettbar sein, was dann mit Switches abgeregelt werden sollte.
Script wird dann über Call Script aufgerufen.
Ich muss ehrlich sagen das ich versucht hab das Worldmap script aus Charon zu moden, ohne großen erfolg.
Drum bitte ich jemanden der mehr erfahrung mit RGSS hat, entweder mir ein neues zu scripten, oder das Script zu moden (Wobei ich mir nicht sicher bin, ob Sorata oder Thunderbolt was dagegen haben)
Freundliche Grüße,
Razziel² -
AWSOME!M wie Party Hard!
Party Hard und Party Mild vereint!!
Langsam wirds Zeit, HIER zu klicken
Und Diesen Hier auch... -
Mein Projekt -
Black★Shooter

Benutzerinformationen überspringen
Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.
Weltkartenskript.7z
Musste ich gar nicht neu schreiben, hab ich irgendwann mal für Kratos gemacht : D
Musste ich gar nicht neu schreiben, hab ich irgendwann mal für Kratos gemacht : D
Okey, danke.
Das ist genau das was ich brauche.
Du Erleuteter =3
Nur noch eine Sache:
Könntest du mich über die genau funktionsweise aufklären.
Damit ich ja nix falsch mache
Das ist genau das was ich brauche.
Du Erleuteter =3
Nur noch eine Sache:
Könntest du mich über die genau funktionsweise aufklären.
Damit ich ja nix falsch mache
-
AWSOME!M wie Party Hard!
Party Hard und Party Mild vereint!!
Langsam wirds Zeit, HIER zu klicken
Und Diesen Hier auch... -
Mein Projekt -
Black★Shooter

Benutzerinformationen überspringen
Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.
Gute Frage...
Anscheinend hab ich vergessen, das in die Comments zu schreiben^^
Ich weiß es auch nicht mehr :/
Zum Glück hab ich ne Demo gemacht
Hier nochmal das SKript (alle zusammengefügt :)
Anscheinend hab ich vergessen, das in die Comments zu schreiben^^
Ich weiß es auch nicht mehr :/
Zum Glück hab ich ne Demo gemacht
Hier nochmal das SKript (alle zusammengefügt :)
|
|
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 |
# Um einen neuen Ort hinzuzufügen, schreibe $orte.push(ort) # ort muss hierbei eine Instanz von Game_WorldmapOrt sein. # Um eine Instanz zu erstelle, schreibe # ort = Game_WorldmapOrt.new(name, x, y, beschreibung, ort) # Vorher müssen die Werte in Variablen festgelegt werden. # name = "Dies ist der Name" # x, y = 50, 200 (Pixelkoordinaten auf der Map) # beschreibung = "Ein Testort für die Demo :3" # ort = [Mapid, X-Tile, Y-Tile] # Um die Weltkarte aufzurufen schreibe $scene = Scene_Worldmap.new class Game_WorldmapOrt attr_reader :name attr_reader :xy attr_reader :beschreibung attr_reader :map_id attr_reader :x attr_reader :y def initialize(name,x,y,beschreibung,ort) @name = name @xy = [x,y] @beschreibung = beschreibung @map_id = ort[0] @x,@y = ort[1],ort[2] end end class Sprite_WorldmapOrt attr_accessor :sprite def initialize(x,y) @sprite = Sprite.new @sprite.bitmap = RPG::Cache.picture("Punkt") @sprite.x = x @sprite.y = y end end class Window_Description < Window_Base def initialize(beschreibung) super(300,330,300,150) self.opacity = 155 self.contents = Bitmap.new(300-32,150-32) refresh(beschreibung) end def refresh(beschreibung) self.contents.clear rect = Rect.new(0,0,300-32,150-32) self.contents.draw_text(rect,beschreibung) end end class Scene_Worldmap def main @map = Sprite.new @map.bitmap = RPG::Cache.picture("Weltkarte") @cursor = Sprite.new @cursor.bitmap = RPG::Cache.picture("Cursor") @cursor.z = 100 @orte = $orte o = @orte[0] @cursor.x = o.xy[0]-@cursor.x-@cursor.bitmap.width/2 @cursor.y = o.xy[1]-@cursor.y-@cursor.bitmap.height @window_description = Window_Description.new(o.beschreibung) s = [] for i in @orte s << i.name end @window_command = Window_Command.new(140,s) @window_command.y = 60 @window_command.opacity = 155 @sprites = [] for i in @orte x = i.xy[0] y = i.xy[1] a = Sprite_WorldmapOrt.new(x,y) @sprites << a end @cursor.x += @sprites[0].sprite.bitmap.width/2 @cursor.y += @sprites[0].sprite.bitmap.height/2 Graphics.transition loop do Graphics.update Input.update update if $scene != self break end end Graphics.freeze @map.dispose for i in @sprites i.sprite.dispose end @window_description.dispose @window_command.dispose @cursor.dispose end def update @window_command.update x = move_x y = move_y @cursor.x += x @cursor.y += y if @oldindex != @window_command.index @oldindex = @window_command.index o = @orte[@window_command.index] @window_description.refresh(o.beschreibung) end if Input.trigger?(Input::C) $game_system.se_play($data_system.decision_se) ort = @orte[@window_command.index] $game_map.setup(ort.map_id) $game_player.moveto(ort.x,ort.y) $scene = Scene_Map.new end end def move_x ort = @orte[@window_command.index] x = ort.xy[0] cursorx = @cursor.x+@cursor.bitmap.width/2-@sprites[0].sprite.bitmap.width/2 x -= cursorx if x == 0 return 0 end if x < 0 x *= -1 x = Math.sqrt(x) x *= -1 else x = Math.sqrt(x) end return x.round end def move_y ort = @orte[@window_command.index] y = ort.xy[1] cursory = @cursor.y+@cursor.bitmap.height-@sprites[0].sprite.bitmap.height/2 y -= cursory if y == 0 return 0 end if y < 0 y *= -1 y = Math.sqrt(y) y *= -1 else y = Math.sqrt(y) end return y.round end end class Scene_Title alias old_neobahamut_worldmap_command_new_game command_new_game def command_new_game $orte = Array.new(0) old_neobahamut_worldmap_command_new_game end end class Scene_Load < Scene_File alias old_neobahamut_worldmap_read_save_data read_save_data def read_save_data(file) old_neobahamut_worldmap_read_save_data(file) $orte = Marshal.load(file) end end class Scene_Save < Scene_File alias old_neobahamut_worldmap_write_save_data write_save_data def write_save_data(file) old_neobahamut_worldmap_write_save_data(file) Marshal.dump($orte,file) end end |
zum Lesen den Text mit der Maus markieren
Okey Danke. Klappt alles, ist sogar alles Kompatibel mit den anderen Scripts.
Kleine Sache Noch. kann man die Punkte auch entfernen?
Kleine Sache Noch. kann man die Punkte auch entfernen?
-
AWSOME!M wie Party Hard!
Party Hard und Party Mild vereint!!
Langsam wirds Zeit, HIER zu klicken
Und Diesen Hier auch... -
Mein Projekt -
Black★Shooter

Benutzerinformationen überspringen
Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.
Müsste eigentlich gehen, aber habs nicht getestet.
DU kannst $orte.delete_at(n) machen um den n+1ten Ort, den du erstellt hast zu löschen, aber dann musst du dirhalt die Reihenfolge merken^^
DU kannst $orte.delete_at(n) machen um den n+1ten Ort, den du erstellt hast zu löschen, aber dann musst du dirhalt die Reihenfolge merken^^
Ähnliche Themen
-
Events & Technik »-
Hilfe für technische Fragen-Thread
(12. September 2004, 03:23)
-
RGSS 1 Probleme & Talk »-
Weltkarte im hintergrund (minimap)
(5. September 2008, 19:12)
-
Ältere Suchanfragen »-
Worldmap-Tileset
(26. Juli 2007, 12:34)
-
Maker-Talk »-
Woran arbeiten die Japaner...?
(3. Mai 2006, 07:48)


