Kopie einer Map auf einer 2. map.. ABER.. keine Events!
Servus..
ich weiß ned wie leicht es ist.. aber ich versuchs mal ^^...m
Grundsituation:
1.) Man ist auf der map, rennt rum.. und entweder schlägt man einen gegner oder man wird von ihm getroffen
2.) Ein wechsel auf eine Art kampfmap (bzw.. kopie der ersten map, mit Gegnertruppe drauf.. die gegner werden mittels eventklonen auf die 500x500 map gepackt)
3.) Kampf alá zelda (inkl Pixelmovement von fOetz!)
4.) kampfende.. mapwechsel zurück auf originalmap
Thema:
so.. ich hab im Spiel 1 map..
diese hat eine größe von 500x500.. und ist.. LEER
so.. wenn ich jetzt im Spiel nen kampf starte, solld er spieler auf die map teleportiertw erden..
Dabei soll sowohl das tileset, die priority, die passabels und die ganze tilemap auf die 500x500 mitkopiert werden..
Wichtig:
Sicherlich könnte ich für jede map im spiel wo gekämpft wird, ne kopie anlegen.. das ist aber ned das was ich will.
Was ich brauche:
Ein Script das mit beim aufrufen eine 1:1 Kopie der akutellen map, auf eine spezifische andere map (die 500x500) macht (alle events dabei aber ignoriert und nicht mitkopiert) , sodass ich da hinteleportiere, und da kämpfen lassen kann.
ich weiß ned wie leicht es ist.. aber ich versuchs mal ^^...m
Grundsituation:
1.) Man ist auf der map, rennt rum.. und entweder schlägt man einen gegner oder man wird von ihm getroffen
2.) Ein wechsel auf eine Art kampfmap (bzw.. kopie der ersten map, mit Gegnertruppe drauf.. die gegner werden mittels eventklonen auf die 500x500 map gepackt)
3.) Kampf alá zelda (inkl Pixelmovement von fOetz!)
4.) kampfende.. mapwechsel zurück auf originalmap
Thema:
so.. ich hab im Spiel 1 map..
diese hat eine größe von 500x500.. und ist.. LEER
so.. wenn ich jetzt im Spiel nen kampf starte, solld er spieler auf die map teleportiertw erden..
Dabei soll sowohl das tileset, die priority, die passabels und die ganze tilemap auf die 500x500 mitkopiert werden..
Wichtig:
Sicherlich könnte ich für jede map im spiel wo gekämpft wird, ne kopie anlegen.. das ist aber ned das was ich will.
Was ich brauche:
Ein Script das mit beim aufrufen eine 1:1 Kopie der akutellen map, auf eine spezifische andere map (die 500x500) macht (alle events dabei aber ignoriert und nicht mitkopiert) , sodass ich da hinteleportiere, und da kämpfen lassen kann.
There was a Cave,
below a Silent's Grave.
Tunnels, extending far, running wide,
going deep into the World on the other Side.
Poor little Child, that was to brave,
died painfully deep down, in the Devil's Cave.
below a Silent's Grave.
Tunnels, extending far, running wide,
going deep into the World on the other Side.
Poor little Child, that was to brave,
died painfully deep down, in the Devil's Cave.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Chaosgod Espér« (4. Juli 2010, 22:30)
ich hab kA ob das geht und bin zu faul es auch zu testen:
Versuchen die aktuelle Position in einer variable speichern und dann transfer player to Kampfmap position (variable)
und nach dem Kampf halt wieder das ganze rückwärts
Versuchen die aktuelle Position in einer variable speichern und dann transfer player to Kampfmap position (variable)
und nach dem Kampf halt wieder das ganze rückwärts
-
free Kekse

-
FRPG
Was bisher geschah:
Aufenthaltsort: Nebelläufe - Verfallener Bergpfad
Party: /
Level: 1
Rüstung:
- Aquazor (Speer)
- Ledergurt (Halterung für Speer)
- Gürtel aus Fell (Zum anbringen von Taschen)
- Bandagen (am Rumpf – darüber ein Netzhemd für bessere Stabilität dieser, und an den Unterarmen)
- Stoff Kleidung (Hemd und Hose)
- 1x alter Stoffumhang (um sich in Städten tarnen zu können)
Inventar: Umhängetasche(4) (hängt auf der rechten Seite am Fellgürtel):
- 1x Proviant (mageres Fleisch mit getrockneten Kräutern)
- 1x Ritualfratze
- 1x
Kette mit Kupferplatte (Eine Kette an der ein mehr oder weniger großes,
plattes rundes Stück Kupfer angebracht ist, welches wunderschön das
Mondlicht refkletieren kann. Wird vom Oberhaupt an seinen ersten Sohn
überreicht. Canin schenkte sie einst Kolochnir)
Die Transfers hab ich hinbekommen ( mal davon abgesehen das es hier um scripts geht, und nicht um eventcodes)
Mein Problem liegt beim kopieren der ursprungsmap, auf die 500x500 Map.
Mein Problem liegt beim kopieren der ursprungsmap, auf die 500x500 Map.
There was a Cave,
below a Silent's Grave.
Tunnels, extending far, running wide,
going deep into the World on the other Side.
Poor little Child, that was to brave,
died painfully deep down, in the Devil's Cave.
below a Silent's Grave.
Tunnels, extending far, running wide,
going deep into the World on the other Side.
Poor little Child, that was to brave,
died painfully deep down, in the Devil's Cave.
Benutzerinformationen überspringen
Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.
Ich kann den RMXP zZt nicht benutzen (jaja, hab diese Ausrede in letzter Zeit oft benutzt :o), darum kann ich dir nur ungefähr beschreiben was du tun musst:
In Game_Map in der Methode setup findest du map = (oder @map =) load_data(blabla), ziemlich am Anfang.
Das musst du einfach ersetzen:
Dann kannst du mit $copy_map_instead_load_new = true / false ändern, ob kopiert beim Laden einer Map die aktuelle kopiert werden soll.
(hoffe zumindest, dasse s klappt x)
In Game_Map in der Methode setup findest du map = (oder @map =) load_data(blabla), ziemlich am Anfang.
Das musst du einfach ersetzen:
|
|
Ruby Quellcode |
1 2 3 4 5 |
if $copy_map_instead_load_new map = @map.dup else # alte Zeile map = load_data(bla) end |
Dann kannst du mit $copy_map_instead_load_new = true / false ändern, ob kopiert beim Laden einer Map die aktuelle kopiert werden soll.
(hoffe zumindest, dasse s klappt x)
Kopier doch einfach die Mapdateien und bennen sie um...
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
Hindi...
Neo:
Klappt nicht wirklich...
Der übernimmt das tileset der originalmap nicht. und wnens ichs schaffe das set zu übernehmen.. stimmt die passierbarkeit/priorität nicht...
Zitat
Wichtig:
Sicherlich könnte ich für jede map im spiel wo gekämpft wird, ne kopie anlegen.. das ist aber ned das was ich will.
Neo:
Klappt nicht wirklich...
Der übernimmt das tileset der originalmap nicht. und wnens ichs schaffe das set zu übernehmen.. stimmt die passierbarkeit/priorität nicht...
There was a Cave,
below a Silent's Grave.
Tunnels, extending far, running wide,
going deep into the World on the other Side.
Poor little Child, that was to brave,
died painfully deep down, in the Devil's Cave.
below a Silent's Grave.
Tunnels, extending far, running wide,
going deep into the World on the other Side.
Poor little Child, that was to brave,
died painfully deep down, in the Devil's Cave.
Benutzerinformationen überspringen
Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.
So, jetzt konnt ich es auch testen:
|
|
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 |
class Game_Map def setup(map_id) if !$copy_map_instead_load_new @map_id = map_id end @map = load_data(sprintf("Data/Map%03d.rxdata", @map_id)) tileset = $data_tilesets[@map.tileset_id] @tileset_name = tileset.tileset_name @autotile_names = tileset.autotile_names @panorama_name = tileset.panorama_name @panorama_hue = tileset.panorama_hue @fog_name = tileset.fog_name @fog_hue = tileset.fog_hue @fog_opacity = tileset.fog_opacity @fog_blend_type = tileset.fog_blend_type @fog_zoom = tileset.fog_zoom @fog_sx = tileset.fog_sx @fog_sy = tileset.fog_sy @battleback_name = tileset.battleback_name @passages = tileset.passages @priorities = tileset.priorities @terrain_tags = tileset.terrain_tags @display_x = 0 @display_y = 0 @need_refresh = false @events = {} if !$copy_map_instead_load_new for i in @map.events.keys @events[i] = Game_Event.new(@map_id, @map.events[i]) end end @common_events = {} for i in 1...$data_common_events.size @common_events[i] = Game_CommonEvent.new(i) end @fog_ox = 0 @fog_oy = 0 @fog_tone = Tone.new(0, 0, 0, 0) @fog_tone_target = Tone.new(0, 0, 0, 0) @fog_tone_duration = 0 @fog_opacity_duration = 0 @fog_opacity_target = 0 @scroll_direction = 2 @scroll_rest = 0 @scroll_speed = 4 end end class Interpreter #-------------------------------------------------------------------------- # * End Event #-------------------------------------------------------------------------- def command_end # Clear list of event commands @list = nil # If main map event and event ID are valid if @main and @event_id > 0 # Unlock event event = $game_map.events[@event_id] event.unlock if !event.nil? end end end |
zum Lesen den Text mit der Maus markieren
Neo hat jetzt zwar schon ne Lösung, aber da ich jetzt eh auch schon was gecodet habe hier noch meine...
und so dürfte es funktionieren:
Du musst nur die Variable mit der Map ID die du erstellt hast ersetzten.
und so dürfte es funktionieren:
|
|
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 |
class Game_Map MAP_ID = 5 def setup(map_id) @map_id = map_id if @map_id == MAP_ID @map = load_data(sprintf("Data/Map%03d.rxdata", @LastMapID)) @map.events.clear else @map = load_data(sprintf("Data/Map%03d.rxdata", @map_id)) end tileset = $data_tilesets[@map.tileset_id] @tileset_name = tileset.tileset_name @autotile_names = tileset.autotile_names @panorama_name = tileset.panorama_name @panorama_hue = tileset.panorama_hue @fog_name = tileset.fog_name @fog_hue = tileset.fog_hue @fog_opacity = tileset.fog_opacity @fog_blend_type = tileset.fog_blend_type @fog_zoom = tileset.fog_zoom @fog_sx = tileset.fog_sx @fog_sy = tileset.fog_sy @battleback_name = tileset.battleback_name @passages = tileset.passages @priorities = tileset.priorities @terrain_tags = tileset.terrain_tags @display_x = 0 @display_y = 0 @need_refresh = false @events = {} for i in @map.events.keys @events[i] = Game_Event.new(@map_id, @map.events[i]) end @common_events = {} for i in 1...$data_common_events.size @common_events[i] = Game_CommonEvent.new(i) end @fog_ox = 0 @fog_oy = 0 @fog_tone = Tone.new(0, 0, 0, 0) @fog_tone_target = Tone.new(0, 0, 0, 0) @fog_tone_duration = 0 @fog_opacity_duration = 0 @fog_opacity_target = 0 @scroll_direction = 2 @scroll_rest = 0 @scroll_speed = 4 @LastMapID = @map_id end end |
zum Lesen den Text mit der Maus markieren
Du musst nur die Variable mit der Map ID die du erstellt hast ersetzten.
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 1 mal editiert, zuletzt von »Reborn« (4. Juli 2010, 22:44)
hmm..
k.. 2 probleme..
1. ich hab kein plan wie ich des aufrufen soll
2. scheinbar gibt das eingreifen in game_map fehler mit fOetz! pixelmovement... Y_Y
k.. 2 probleme..
1. ich hab kein plan wie ich des aufrufen soll
2. scheinbar gibt das eingreifen in game_map fehler mit fOetz! pixelmovement... Y_Y
There was a Cave,
below a Silent's Grave.
Tunnels, extending far, running wide,
going deep into the World on the other Side.
Poor little Child, that was to brave,
died painfully deep down, in the Devil's Cave.
below a Silent's Grave.
Tunnels, extending far, running wide,
going deep into the World on the other Side.
Poor little Child, that was to brave,
died painfully deep down, in the Devil's Cave.
Benutzerinformationen überspringen
Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.
Wie oben gesagt, mit der globalen Variable.
Wenn du willst, kann ichs auch noch so ändern, dass es mit der Mapid arbeitet.
Für das Pixelmovement poste mal die setup-Methode aus Game_Map.
Wenn du willst, kann ichs auch noch so ändern, dass es mit der Mapid arbeitet.
Für das Pixelmovement poste mal die setup-Methode aus Game_Map.
Hast du meins schon Probiert?
Du kannst dich auf die Map teleportieren wo du willst und diese map wird dann ganz normal aufgebaut, halt nur ohne Events.
Du kannst dich auf die Map teleportieren wo du willst und diese map wird dann ganz normal aufgebaut, halt nur ohne Events.
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
ja.. hab ich auch getesten.. ebenso kompatibilitätsproblem mitm pixelmovement....
hier ist ma die setup def:
(Leerzeilen sind durch nen fehler der elamshin HP gekommen. kann leider keine aktuelle version alden, wegen zu vieler edits für mein AKS)
hier ist ma die setup def:
|
|
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 |
#-----------------------------------------------------------------------------
# map setup
#-----------------------------------------------------------------------------
def setup(map_id)
# saves tables of the old map
self.save_tables
# resets other things
@jump_events = {}
@ice_events = {}
pixelmovement_game_map_setup(map_id)
# Caterpillar System
@game_party_actors_copy = $game_party.actors.clone
@game_party_actors = []
if $pixelmovement.cater_activate
for i in 1..$game_party.actors.length
@game_party_actors.push(Game_Party_Actor.new(i))
end
end
# for Loop Maps
name = (load_data('Data/MapInfos.rxdata'))[@map_id].name
if name.include?('[Loop-Map]') and
not $pixelmovement.loop_maps.include?(self.map_id)
$pixelmovement.loop_maps.push(self.map_id)
end
# see below
self.load_bitmaps
self.load_tables
# loads waypoints for pathfinding
self.load_waypoints
# deletes pathfinding of the player for the old map
$game_player.pathfinding = Game_Pathfinding.new($game_player)
end |
zum Lesen den Text mit der Maus markieren
(Leerzeilen sind durch nen fehler der elamshin HP gekommen. kann leider keine aktuelle version alden, wegen zu vieler edits für mein AKS)
There was a Cave,
below a Silent's Grave.
Tunnels, extending far, running wide,
going deep into the World on the other Side.
Poor little Child, that was to brave,
died painfully deep down, in the Devil's Cave.
below a Silent's Grave.
Tunnels, extending far, running wide,
going deep into the World on the other Side.
Poor little Child, that was to brave,
died painfully deep down, in the Devil's Cave.
Benutzerinformationen überspringen
Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.
|
|
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 |
class Game_Map def pixelmovement_game_map_setup(map_id) if !$copy_map_instead_load_new @map_id = map_id end @map = load_data(sprintf("Data/Map%03d.rxdata", @map_id)) tileset = $data_tilesets[@map.tileset_id] @tileset_name = tileset.tileset_name @autotile_names = tileset.autotile_names @panorama_name = tileset.panorama_name @panorama_hue = tileset.panorama_hue @fog_name = tileset.fog_name @fog_hue = tileset.fog_hue @fog_opacity = tileset.fog_opacity @fog_blend_type = tileset.fog_blend_type @fog_zoom = tileset.fog_zoom @fog_sx = tileset.fog_sx @fog_sy = tileset.fog_sy @battleback_name = tileset.battleback_name @passages = tileset.passages @priorities = tileset.priorities @terrain_tags = tileset.terrain_tags @display_x = 0 @display_y = 0 @need_refresh = false @events = {} if !$copy_map_instead_load_new for i in @map.events.keys @events[i] = Game_Event.new(@map_id, @map.events[i]) end end @common_events = {} for i in 1...$data_common_events.size @common_events[i] = Game_CommonEvent.new(i) end @fog_ox = 0 @fog_oy = 0 @fog_tone = Tone.new(0, 0, 0, 0) @fog_tone_target = Tone.new(0, 0, 0, 0) @fog_tone_duration = 0 @fog_opacity_duration = 0 @fog_opacity_target = 0 @scroll_direction = 2 @scroll_rest = 0 @scroll_speed = 4 end end class Interpreter #-------------------------------------------------------------------------- # * End Event #-------------------------------------------------------------------------- def command_end # Clear list of event commands @list = nil # If main map event and event ID are valid if @main and @event_id > 0 # Unlock event event = $game_map.events[@event_id] event.unlock if !event.nil? end end end |
zum Lesen den Text mit der Maus markieren
Try this. (unterm Pixelmovement)
Ähnliche Themen
-
Skript-Anfragen »-
PNG to Table
(14. Juni 2010, 19:23)
-
Maker-Talk »-
switche
(15. Juni 2010, 17:56)
-
Skript-Anfragen »-
Screenshootscript und eine Dll
(13. Juni 2010, 19:59)
-
Skript-Anfragen »-
Lebensbalken
(4. Juni 2010, 19:40)
-
Skript-Anfragen »-
Suchen Map Event Starter Script. :)
(29. Juni 2008, 16:41)

