Programme & Projekte > Archiv

Map-DL

(1/3) > >>

Dicker:
Hallo Leute!
Ich hatte eine Idee: Man kann Maps von allen möglichen Servern runterladen, die der User in einer Datei definiert (also wie bei Ubuntu mit APT in der /etc/apt/sources.list). Ich hab mal nachgedacht, eventuell ist das sogar möglich! :D
Wenn ich wieder an den PC darf, dann werde ich mal ein Script basteln.

Also, eine solche Datei sähe so aus:

--- Code: ---Hier oben steht eine Anleitung zum Reinbasteln neuer Einträge, Sicherheitshinweise etc.
//~Gesamtzahl
//Gesamtzahl der Einträge (muss User eintragen)
//~1server
http://www.server1.de
//~1ort
/maps.php
//~2server
http://www.server2.de
//~2ort
/list.php
//.....
--- Ende Code ---
Die Trennung zwischen „Ort“ und „Server“ ist wegen der Syntax des Befehls callcript so.

Dann gibt eine Einzelspieler-Map, auf der nur Maps runtergeladen werden. Dort hat man dann ein Schild (kommt gleich).
Diese Map liest beim Start mit einer Schleife diese Liste aus (daher die Gesamtzahl) und legt Buttons in einer msgbox an , je nachdem, welchen Button man wählt, wird die entsprechende Server-Adresse mit dem Pfad in einer globalen Variable gespeichert (Knackpunkt 1: Es gibt nur 10 Buttons pro Seite...).
Dann wählt man als Spieler das Schild. Dort kommt ein neues Fenster, das die Datei auf dem Server ausliest, die dann so aussieht


--- Code: ---map1.s2
map2.s2
map3.s2...
--- Ende Code ---


Die wird dann per callscript erst in den Buffer, und dann häppchenweise ausgelesen (Knackpunkt 2: Geht das überhaupt? Evtl. muss DC noch was ändern, wird so schwer ja nicht sein...) und es werden wieder Buttons erzeugt. Dort sieht der Spieler, wie die Dateien heißen (damit er nur *.s2 und nicht *.exe holt) und kann sie dann zum DL auswählen. Map kommt in eine zweite globale Variable.

Dann wählt er nochmal das Schild, die Map wird mit downloadfile geladen und das „Spiel“ beendet. (Knackpunkt 3: Man braucht noch irgendwie den Pfad zur Datei...)

Eventuell braucht man das Schild gar nicht, weiß nicht, ob „dialogue“ mit den globalen Variablen auch sauber umgeht...

Meint ihr das ist möglich?

Für einiger der Knackpunkte die ich gefunden habe, hätte ich schon Lösungsansätze:
Punkt 1: Man erstellt auf der Insel halt viele Schilder. Wenn man es wählt, dann bekommt man eine msgbox mit der Serveradresse und ner Frage, ob man diesen Server wählen will. Wenn man mit „Ja“ antwortet werden alle Schilder wieder gelöscht und es geht weiter.

Punkt 3: Eventuell kann man ja in seiner Server-Datei anstatt des Ortes einen Ordner angeben, der dann als Pfad fungiert. Dort ist dann eine index.php drin, die dann auf den meisten Servern ja  DirectoryIndex ist und somit bei callscript aufgerufen werden müsste...

Vielen Dank fürs Lesen und schreibt eure Meinung! Hoffentlich schaffe ich das Script und hoffentlich kommt sowas dann in die ExtMod :D

bizzl:
Ich finde das an sich ganz klasse, hab aber folgendes zu bemängeln:

* Du willst offline parsen. Lass doch den server das Script direkt erstellen.
beim on:load wird dieser dann mittels downloadfile als /maps/dlmap/code.s2 heruntergeladen. Das on:use event des schildes sorgt dafür das der hauptcode-block dann in den buffer geladen wird und dort ausgeführt.
* Für jeden neuen neuner-Satz karten brauchste ne neue donwloadermap. Da kannste auch gleich hardcoden. stattdessen würde ich nen dialogue machen, 8 Maps je seite und einen Button zum weiterblättern.
In diesem fall müsste man dan zwei dateien runterladen (eine für den dialog und eine für die komplexeren downloadscripts), das ist aber halb so wild, plaintext ist schnell durch die leitung. :wink:

Dicker:
Ja, der Vorteil von Offine-Parsen ist aber, dass so das Script auf der Serverseite viel leichter gestaltet werden kann.
Eine Textdatei reicht dann so und man muss nicht PHP können, um eine (oder mehr) Maps mit diesem System zu hosten.

Aber du hast recht, es erspart viele Probs, ich glaube, so mach ich das. Es werden sich schon Leute finden, und für alle andern wird sich schon eine PHP-Script-Schablone basteln lassen :)

Das mit dem Blättern ist gut, da bin ich gar nicht drauf gekommen ^^

bizzl:

--- Zitat von: "Dicker" ---Ja, der Vorteil von Offine-Parsen ist aber, dass so das Script auf der Serverseite viel leichter gestaltet werden kann.
Eine Textdatei reicht dann so und man muss nicht PHP können, um eine (oder mehr) Maps mit diesem System zu hosten.
--- Ende Zitat ---
Wenn man den Script von vornherein datenunabhängig macht geht das. Siehe die S2Ext-Website[/quote]
abgesehen davon haben beide versionen mehr oder weniger den gleichen php-aufwand. du kannst es machen wie du willst, kein server wird dir ne reine dateiliste geben.


--- Zitat von: "Dicker" ---Aber du hast recht, es erspart viele Probs, ich glaube, so mach ich das. Es werden sich schon Leute finden, und für alle andern wird sich schon eine PHP-Script-Schablone basteln lassen :)
--- Ende Zitat ---

ich würde dir die scripts machen, dürfte kp sein. Wenn es sein muss auch bloss als framework, damit es auch arbeit für dich gibt ;)

Dicker:
Danke für deine Tipps, ich glaube, jetzt ist das ganz gut machbar!
Wenn ich wieder an den PC kann (ich bin zwar ständig on, aber ich kann schnell ne Mathe-Seite aufmachen, Stranded offen zu haben, wäre doch ein wenig zu auffällig ;) ), dann steht einem Map-Downloadsystem wohl nichts Größeres im Wege :)

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln