[Modul1] Versuchskaninchen gesucht!

Tingil

Lord of the Links
Registriert
14.07.2000
Beiträge
7.884
So, nun ist es so weit: ich möchte 'mal ein paar Skripte von mir auf ihre Multiplayertauglichkeit testen. Theoretisch sollten sie auch im MP funktionieren, aber mit Theorie und Praxis ist das beim Programmieren so eine Sache :D. Nicht umsonst schluckt die Fehlerbehebung bei der Entwicklung eines Programmes die meiste Zeit. :rolleyes:

Daher suche ich nun 5 Freiwillige, die bereit wären mit mir zusammen im MP 'mal ein paar Skripte zu testen. Die Tests werden vorausichtlich nicht lange dauern. Nach ein paar Minuten sollte alles vorbei sein.

Voraussetzungen, die die "Kandidaten" mitbringen müssen:

- NwN Version 1.24
- 1 Charakter mit 0 EP (daran sollte es wohl nicht scheitern ;))
- ICQ
- das Ganze natürlich auf einem Rechner mit Internetzugang :rolleyes:
- DAU-Qualitäten :D ;)


Zum Abschluß noch eine Frage, da ich NwN noch nie im MP gespielt habe: Gehe ich richtig in der Annahme, daß jeder Spieler das Modul haben muß, oder reicht es, wenn der Server es hat?


PS: Ich behalte mir die Möglichkeit vor, diese Freiwilligen auch für spätere Versuche zu requirieren. ;)
 

Turjan

Senior Member
Registriert
21.09.2000
Beiträge
7.037
Im Prinzip bin ich zu jeglichen Schandtaten bereit :D;). Die nötigen Vorbereitungen sollten sich machen lassen :).

Und ja, ich gehe davon aus, dass ich das Modul haben muss.

Gruß
Turjan
 

Meh'Lindi

Launische Hexe
Registriert
22.07.2000
Beiträge
365
1. Version 1.24 müsste hinzubekommen sein

2. Oh oh, das ist ein Problem :D Neuanfangen IHHH..... naja ok

3. Ich mag ICQ nicht mehr, geht auch MS Messenger ?

4. Okeee

5. Also da ich NWN lange nicht mehr gespielt habe bringe ich zumindest die DAU Fähigkeiten wieder mit :D

Bei deinen Skripten würd ich dir auch helfen wollen.
Also wenn ich Zeit habe mach ich mit.
 

Doc Sternau

Chefzwerg
Registriert
14.11.2000
Beiträge
14.287
Jaaaa...

1. Öhhh, wenns die schon gibt... ;)

2. Nur wenn ich nen Zwergen-Kämpfer haben kann

3. Japp, vorhanden

4. dito

5. Du findest keinen bess...ähh...naja, keinen schlimmeren!

Muss nur zeitlich passen. :)
 

Tingil

Lord of the Links
Registriert
14.07.2000
Beiträge
7.884
@Meh'Lindi: Öhm... wenn der mit ICQ kompatibel ist...

@Doc: Naja, die Zeit sollte nicht das Problem sein. Ich gehe nicht davon aus, daß die Tests mehr als 20 Minuten dauern, es seihe denn, es treten unvorhersehbare Schwierigkeiten auf. Es kann sogar sein, daß nach 1 Minute alles vorbei ist, nämlich dann, wenn die Skripte mit einem "TOO MANY INSTRUCTIONS" abbrechen. :rolleyes:

Das Modul wird übrigens nicht das Modul sein, an dem ich im Moment hauptsächlich arbeite. Ich mag es nicht, halbfertige Arbeit zu veröffentlichen. Es wird vielmehr ein kleines Modul sein, in dem ich Schauplätze von Mittelerde nachgebaut habe, um sie dann bei Bedarf daraus zu exportieren und sie in die Module, in denen ich sie brauche, zu importieren. Also gibt es da auch keine Story-Spoiler (obwohl man die Story des Moduls, an dem ich hauptsächlich arbeite, auch nicht großartig spoilen könnte :rolleyes: ).

Wenn sich hier 5 Freiwillige eingefunden haben, werde ich hier ein kleines Briefing machen und Euch darin einweisen, was getestet werden muß und worauf zu achten ist. Das wird also schon ein bischen in Arbeit ausarten.

Es kann gut sein, daß es noch zu einer weiteren Test-Sitzung kommt, da ich noch ein paar weitere Skripts schreiben möchte, die, z.B., einen getöteten Charakter in ein "Jenseits" transportieren, wo er dann so lange bleibt, bis er wiederbelebt wird. Da ein solches Skript einige Komplikationen mit sich bringt, rechne ich nicht damit, daß ich es noch vor dem ersten Test lauffähig bekomme.

PS: Natürlich werde ich, wenn mein "richtiges" Modul fertig ist, in diesem Thread einen Link zum Download setzen. :)
 
Zuletzt bearbeitet:

Tari'thaley Vandree

Meister des Chaos
Registriert
01.10.1999
Beiträge
4.577
Hmm ich wäre eigentlich der ideale Testkandidat, da mein Game so verbuggt ist wie wohl bei keinem anderen hier.
Wenn es mit MEINEM Spiel funzen würde, dann hättest wirklich ein Meisterwerk vollbracht. :rolleyes: :D


Nur leider, leider will der Patch 1.24 bei mir nicht. :(
 

Marcus

Kleriker des Tempus
Registriert
01.02.2000
Beiträge
2.199
Bin gerne Dabei Tingil, muss nur noch irgentwie Patch 1.24 installiert kriegen.;)

edit: 1.24 ist drauf.
 
Zuletzt bearbeitet:

Doc Sternau

Chefzwerg
Registriert
14.11.2000
Beiträge
14.287
So, gepatcht hab ich inzwischen auch - ging ganz problemlos. :)
 

Silpion

Traumtänzer
Registriert
10.04.2001
Beiträge
2.104
Ich könnte auch mittesten, wenn du noch jemanden benötigst.
 

Gala

Labyrinth-Leichnam
Registriert
20.11.2000
Beiträge
14.907
Bei einem Internetserver braucht man das Modul natürlich nicht.

Was für ne perverse Idee.

Obwohl, bei manchen Egoshootern braucht man es glaube ich tatsächlich... aber da besteht das Modul ja auch aus indivuell erstellter Grafik. In NWN hingegen werden nur vordefinierte Sachen... Moment !

Braucht man vielleicht das entsprechende Hakpack ???
 

Tingil

Lord of the Links
Registriert
14.07.2000
Beiträge
7.884
@Tari: Das wär' ja 'mal 'ne echte Herausforderung. :D

@Silpion: Klar, dann wären's jetzt genau 5 (vorausgesetzt, Meh kann mitmachen, wegen ICQ).

- Turjan
- Meh'Lindi?
- Doc
- Marcus
- Silpion

Falls das mit Mehs Instant Messenger nicht klappt, fehlt mir sogar noch einer.

@Gala. Gut. Hätte mich auch gewundert, denn dann könnten sich die Spieler ja vorher das Modul im Editor anschauen :rolleyes:. Den Hakpack brauchen sie höchstwahrscheinlich, denn irgendwo her müssen sie ja die eingebundenen Daten bekommen und ich glaube nicht, daß NwN die, quasi als temporäre Datei, beim Start des Moduls verschickt und dann wieder löscht, wenn das Modul verlassen wird, da Hakpacks doch recht groß werden können. Naja, kann mir aber vorerst egal sein, da ich keinen HakPack benutze.
Naja, es gibt schon ein paar Spielchen, bei denen vorher jeder die gleiche Version des Levels braucht. War z.B. bei WarCraft II (und StarCraft?) so.
 

Turjan

Senior Member
Registriert
21.09.2000
Beiträge
7.037
Okay, das war jetzt bei mir auch mehr von UO aus gedacht :D. Wenn's nicht so ist, um so besser :).

Sollen wir bestimmte Klassen oder Chars nehmen, oder ist das vollkommen egal?
 

Doc Sternau

Chefzwerg
Registriert
14.11.2000
Beiträge
14.287
Ich bestehe darauf, dass das egal ist, immerhin wollen wir ja den Test nicht von vornherein durch frisierte Ausgangspositionen kaputt machen. :D:D

Außerdem will ich meinen Zwergenkämpfer... ;):D:D
 

Tingil

Lord of the Links
Registriert
14.07.2000
Beiträge
7.884
@Turjan: Nein, das ist völlig egal. Ganz wichtig ist jedoch, daß der Charakter genau 0 EP hat, weil das die Startbedingung für ein bestimmtes Skriptteil ist. :)

@Doc: War ja klar! :D


So, dann kann ich jetzt ja auch gleich 'mal zusammenschreiben, wie die Skripte arbeiten und welche davon besonders zu testen sind.


1.) Das OnClientEnter Skript

Dieses Skript wird jedes Mal ausgeführt, wenn ein Spieler das Modul "betritt". Zuerst überprüft es, ob dieser Spieler schon einmal das Modul betreten hat, oder ob dies das erste Mal ist. Wenn das das erste Mal ist und der Charakter 0 EP hat, werden ihm alle Ausrüstungsgegenstände abgenommen, er erhält die Standardkleidung seiner Klasse und das Startvermögen wird entsprechend seiner Klasse ausgewürfelt und ihm zugeteilt.
Dies ist jedoch keines der kritischen Skripte, da es im SP genau das gleiche tut, wie im MP. Daher rechne ich an dieser Stelle nicht mit Fehlern.


2.) Das OnHeartbeat Skript

Dieses Skript wird alle 6 Sekunden ausgeführt. Ich halte es für das kritischste Skript überhaupt, da es für recht viele Operationen zuständig ist und sich die Laufzeit, und damit die Anzahl der Befehle, die es ausführt, mit zunehmender Spielerzahl erhöht. Wenn es zu Fehlern kommt, dann ist die Wahrscheinlichkeit recht hoch, daß sie von diesem Skript ausgelöst wurden.
U.a. überprüft dieses Skript, wie lange der Charakter schon nicht mehr (erfolgreich) geruht hat. Ist dies 16 oder mehr Stunden her, so erhält der SC einen Abzug von jeweils 1 Punkt auf ST und GE. Ist es sogar 24 Stunden oder länger her, erhöhen sich diese Abzüge auf jeweils 2 Punkte. Wenn ein SC 32 Stunden oder länger nicht mehr geruht hat, hat er pro Runde (6 Sekunden) eine Chance von 10% für 3 Sekunden einzuschlafen (Sekundenschlaf).


3.) Das OnModuleLoad Skript

Peanuts! Würde mich wirklich sehr wundern, wenn es Probleme macht.


4.) Das OnPlayerDeath Skript

Ausgeführt wird dieses Skript jedes Mal, wenn ein SC "für tot erklärt" wurde. Inwieweit dieses Skript Einfluß auf die Tests hat, wird von meinen Fortschritten in der nächsten Zeit abhängen. U.U. muß es auf korrekte Funktion getestet werden. Ob dies der Fall ist, werde ich dann unmittelbar vor dem Testbeginn bekanntgeben.
Es verfrachtet einen toten Spieler in das "Jenseits" nach seiner Rasse. Ihm werden alle seine Ausrüstungsgegenstände abgenommen und am Ort seines Todes deponiert, so daß sie von anderen Spielern aufgenommen werden können. Außerdem wird eine "Leiche" kreiert, um den Charakter wiedererwecken zu können. Bis hierhin funktioniert das schon alles im SP, jedoch arbeite ich im Moment noch am Wiedererwecken.


5.) Das OnPlayerDying Skript

Wenn ein SC unter 1 TP fällt, ist er nicht automatisch tot. Dieses Skript regelt, was dann mit ihm geschehen soll. Es folgt relativ genau den einschlägigen D&D Regeln, mit der einzigen Ausnahme, daß ein Charakter mit 0 TP bewußtlos, anstatt nur kampfunfähig ist. Hat der SC weniger als -9 TP oder liegt sein KO-Wert unter 1, so wird er für tot erklärt und löst das "OnPlayerDeath" Skript aus. Hat er genau 0 TP, ist er zwar bewußtlos, aber stabil (Sterbe-Status 3 (s.u.)). Hat er weniger als 0 TP, beginnt er zu verbluten (Sterbe-Status 1 (s.u.)).
Das ist alle, was von diesem Skript gemacht wird. Alles, was nun folgt, ist Aufgabe des "OnHeartbeat" Skriptes.

Das "OnHeartbeat" Skript überpfüft nun, in welchem Zustand sich der Charakter genau befindet und handhabt ihn dem entsprechend, wobei ein SC, der unter -9 TP fällt bzw. einen KO-Wert von weniger als 1 hat, für tot erklärt wird.

Es gibt vier Zustände des "Sterbens":

0: Der Charakter stirbt nicht. Er hat mehr als 0 TP und ist somit aus diesem Skript "entlassen".

1: Der Charakter hat weniger als 0 TP. Er hat jede Runde eine 10% Chance, in Status 2 zu wechseln (siehe dort). Gelingt ihm das nicht, verliert er 1 TP.

2: Der Charakter hat weniger als 0 TP, ist jedoch sabiler als in Status 1, jedoch immer noch nicht vollkommen stabil. Pro Stunde hat er eine 10% Chance, daß er zu Status 3 wechselt (siehe dort). Gelingt ihm dies nicht, verliert er 1TP.

3: Der Charakter hat genau 0 TP und ist stabil. Jeden Tag hat er eine Chance von 10%, daß die natürliche Heilung (Stufe * 1 TP / Tag) einsetzt und er dadurch Status 0 erreicht. Geschieht dies nicht, verliert er 1 TP.

Wird ein SC, der sich in Status 2 oder 3 befindet erneut verletzt, so fällt er auf Status 1 (es seihe denn, die "Verletzung" wurde ihm durch das Skript selbst zugefügt).

Wird ein SC, der im Sterben liegt, geheilt wird, gibt es 3 Möglichkeiten.
1.) Der SC hat nach der Heilung immer noch weniger als 0 TP. War er vorher nicht stabil (Status 1), so ist er dies nun (Status 2).
2.) Er hat genau 0 TP. Dadurch wechselt er in Status 3, egal in welchem Status er vorher war.
3.) Er hat mehr als 0 TP, wodurch er in Status 0 wechselt, egal in welchem Status er vorher war.


6. Das OnPlayerRest Skript

Dieses Skript wird immer dann ausgelöst, wenn ein SC die Rast beginnt, erfolgreich beendet oder abbricht.
Wenn irgendein Spieler den Rast-Knopf drückt, beginnen alle SC zu rasten. Gefolgsleute und Vertraute beginnen ebenfalls zu rasten. Ist es irgendeinem SC nicht möglich zu rasten (etwa weil er sich im Kampf oder einer Gegend befindet, wo Rasten nicht erlaubt ist, oder weil er unter irgendeinem Effekt steht, der Rasten nicht erlaubt), wird die Rast für alle abgebrochen.
Ist eine Rast erfolgreich, so wird die Uhr vom OnHeartbeat Skript um 8 Stunden vorgestellt. Sollte ein Charakter in einer Rüstung mit einem Rüstungsmalus von mehr als -4 geschlafen haben, ist er nun erschöpft (-2 auf ST und GE; D&D Regel). Daher ziehen Gefolgsleute solche Rüstungen automatisch vor dem Rasten aus und danach wieder an.
Laut D&D Regeln heilt ein Charakter pro Tag Rast so viele TP, wie er Stufen hat. Da 8 Stunden genau 1/3 von 24 Stunden sind, heilt jeder Charakter bei der Rast nur 1/3 seiner Stufe in TP (mathematisch korrekt gerundet, jedoch mindestens 1 TP).

Dieses Skript muß noch unbedingt im MP getestet werden, vor allem die Sache mit dem Abbruch für alle, wenn einer der SC nicht rasten kann bzw. der Spieler selbst die Rast abbricht.


7.) Die Area-Transition Skripts

Es gibt davon zwei an der Zahl. Eines wird ausgelöst, wenn ein Objekt einen Gebietsübergangsauslöser betritt bzw. darauf klickt und ein anderes, wenn jemand den Auslöser verläßt. Diese Skripte sollen für Gebietsübergänge a la "Ihr müßt Eure Gruppe versammeln, bevor Ihr weiterziehen könnt" dienen.

Auch diese Skripte müssen eingehend getestet werden. Wie genau das abläuft, werde ich Euch dann während des Testlaufes sagen.


Ich muß noch 'mal schauen, ob ich das OnDeath-Skript nun noch in den Test mit einbeziehe, oder es besser später teste. Wenn ich es innerhalb der nächsten zwei Tage lauffähig bekomme, werde ich es mit testen, ansonsten ohne. Außerdem muß ich noch einen Händler einbauen, bei dem man sich ausrüsten kann, denn schließlich müssen wir uns für einige Skripte ein wenig von Monstern verprügeln lassen (die ich dann auch noch gleich platzieren werde), oder das selbst erledigen. :D


So das war's erstmal. - Noch Fragen? :D


PS: Wenn ich mir die Liste so anschaue, dann rechnet doch lieber mit bis zu einer Stunde, anstatt nur 20 Minuten!
 
Zuletzt bearbeitet:

Marcus

Kleriker des Tempus
Registriert
01.02.2000
Beiträge
2.199
Hey klingt richtig intressant. :up: Werd mal eben nen 0EP char erstellen.;)
 
Zuletzt bearbeitet:

Meh'Lindi

Launische Hexe
Registriert
22.07.2000
Beiträge
365
Jo, gibt es auch was zu erleben in der Verdamnis ?? *G* Alles voller Balor ? :D Wenn ich stark genug bin kann ich dann Herrscher über die Verdamnis werden ?....

ok ok sag einfach wanns losgeht ;)

Hab ICQ jetzt drauf und Spiel auf 1.24 gepatcht.
 

Tingil

Lord of the Links
Registriert
14.07.2000
Beiträge
7.884
@Marcus: Danke! :)

@Meh: Ich hab' noch vor, sowas in der Art einzubauen, also daß man da im Jenseits nicht nur blöd 'rumhängen muß, sondern auch 'was machen kann. Da dies allerdings nur ein Testlauf für die Skripte ist, also vollkommen ohne Story und ohne NSC, fehlt das natürlich.
Im Übrigen ist es ja auch nicht so, daß man durch eine Wiedererweckung dazu gezwungen wird, das Jenseits zu verlassen. In der Zauberbeschreibung heißt es, daß nur willige Geister wiedererweckt werden können. Wenn jemand das Jenseits nicht verlassen will, funktioniert der Zauber auch nicht. Ich habe vor, das auch so einzubauen und zwar, indem ich ein Portal neben dem Charakter erscheinen lasse, der wiedererweckt werden soll. Dieses Portal wird dann einen Dialog mit demjenigen beginnen und wenn derjenige nicht zurückkehren will, schließt sich das Portal wieder. Ansonsten wird der Charakter sofort wieder ins Leben zurückgeholt. Ich werde auch versuchen, das Zeitlimit für den Zauber "Tote erwecken" (5. Grad) einzubauen, denn bei diesem Zauber darf der Tote höchstes 1 Tag pro Zauberstufe des Anwenders tot sein. (Bei "Auferstehung" (7. Grad) liegt das Limit hingegen bei 10 Jahren pro Zauberstufe, was ich also wohl einfach vernachlässigen kann.) Außerdem wird, wie in bei D&D, als Materialkomponente für die Wiedererweckung ein Diamant im Wert von mindestens 500 GM benötigt, der durch das Prozedere zerstört wird.
Ich werde aber noch ein paar Stunden mit dem Skripteditor verbringen müssen, bis es so weit ist. ;)
 

Celeblas

Silberdrachen
Registriert
14.01.2002
Beiträge
3.707
@Tingil
Was würde eigenlich passieren, wenn man im jenseits nochmal "sterben" würde ;)
Ich meine, wenn da unten Gegner rumlaufen sollten oder 2 Spieler einander die Köpfe einschlagen dann würde das Programm ja denken man würde nochmal sterben. :D
 

Tingil

Lord of the Links
Registriert
14.07.2000
Beiträge
7.884
Deshalb setze ich bei allen, die tot sind, die Plot Flag. ;)
 
Oben