RPG: Von Map zu Map
Übersicht

Mashed CrashedBetreff: RPG: Von Map zu Map |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Moinmoin,
Ich bin dabei ein RPG zumachen, und ich weiß auch was ich da vor mir hab. Nun gut, ich habe Maps(64*64 Felder (32 Pixel Tiles)). da ich erst nicht wusste wie ich das nun mache, wie ich von einer Map zu anderen kommen habe ich beschlossen das durch Portale zumachen. Dummer oder kluger Weise wollte ich die Maps so gestalten und mit Infos verpacken das ich am Ende nur per Editor den Rest machen kann. kommen wir zu meinem Problem, Meine Mapdateien sehen wie folgt aus Code: [AUSKLAPPEN] 64x64 (4096) Zeilen für die Tiles auf der Map Anzahl der Portale (max 4) X-position an der der Charackter erscheienn soll X-position an der der Charackter erscheienn soll Pfad der neuzuladenen Map Pfad des neuzuladenen NPC-Scriptes Um die Identität eines Tores zubekommen habe ich 4 "verschiedene" Tiles benutzt (unteerscheiden sich lediglich an der Zahl auf der map. Code: [AUSKLAPPEN] Dim newmap_x (4) Dim newmap_y (4) Dim newmappfad$ (4) Dim newnpc_sc$ (4) .newmap If newmap_go > 0 Then datei = ReadFile("maps npcs\"+newmappfad$(newmap_go)) ; Mapladen EndIf For X = 0 To 63 For Y = 0 To 63 map(X,Y) = ReadLine(datei) ;Mapdatei ind en Speicherschreiben Next Next portal_anzahl = ReadLine(datei) ; Anzahl der Portale lesen For I = 1 To portal_anzahl newmap_x(I) = ReadLine(datei) ; Nächsten 4 mögliche X position lesen newmap_y(I) = ReadLine(datei) ; Nächsten 4 mögliche Y position lesen newmappfad$(I) = ReadLine(datei) ; Nächste 4 mögliche Mappfade lesen newnpc_sc$(I) = ReadLine(datei) ; Nächsten 4 mögliche Scriptpfade lesen Next CloseFile(datei) ; Leveldatei schließen If newmap_go > 0 Then px = newmap_x(newmap_go) ; Neue X position setzten py = newmap_y(newmap_go) ; Neue Y position setzten player_x = px*32 ; Genaue X position setzten player_y = py*32 ; genaue Y position setzten move = 0 ; Bewegung auf 0 setzten temp_move = 1 ; Blick nach oben setzten newmap_go = 0 ; Newumap variable auf 0 setzten EndIf ;;; Hauptschleife ... ;;; Kollision mit dem Tor prüfen + Map zeichnen For X = 0 To 63 For Y = 0 To 63 DrawImage tiles,X*32-scroll_x,Y*32-scroll_y,map(X,Y) If map(X,Y) = 16 Then ;PORTAL 1 If X+1 = px And Y = py And temp_move = 3 Then newmap_go = 1 Goto newmap EndIf EndIf If map(X,Y) = 20 Then ;PORTAL 2 If X+1 = px And Y = py And temp_move = 3 Then newmap_go = 2 Goto newmap EndIf EndIf If map(X,Y) = 21 Then ;PORTAL 3 If X+1 = px And Y = py And temp_move = 3 Then newmap_go = 3 Goto newmap EndIf EndIf If map(X,Y) = 22 Then ;PORTAL 4 If X+1 = px And Y = py And temp_move = 3 Then newmap_go = 4 Goto newmap EndIf EndIf Next Next Erklärung: also mit newmap_go überliefert die Tor ID vond er Map um zuwissen welche Map als nächstes geladen werden muss. Die variable datei ist die Leveldatei.Ihr habt es wohl auch richtig gesehen das man nur von links in das Tor gehen kann ![]() Mein Frage: warum kann ich pro Map nur einen Startpunkt setzten. Ich hab 3 Maps. 2 Haben einen Startpunkt, die andere hat 2, doch auf der mit 2 Startpunkten komm ich immer auf einen Punkt, egal von welcher Map ich komme. Ich hoffe ihr wisst wo mein Fehler liegt oder kennt eine einfachere Möglichkeit sowas zumachen. Danke EDIT: Sorry für den net ganz so ordentlichen Code, achja , es soll kein MMORPG werden ![]() ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group