Beiträge: 140
Themen: 19
Registriert seit: May 2011
Bewertung:
3
Hallo Leute,
ich bin ein großer Fan von Solo Abenteuern in der NLT und habe mich immer an den Engpass Stellen gestört. Dauernd die blöden Dummys mit sich rum zu schleppen nervt und macht mir einiges an Spielspass kaputt. Deswegen habe ich mich gefragt, ob man nicht die Dummy Helden einfach ausblenden könnte, und an den Engpass Stellen wieder einblenden könnte.
Nach ein bisschen Savegameanalyse habe ich das sogar tatsächlich für Schicksalsklinge hinbekommen und das Byte ausfindig gemacht, was wir brauchen!
Das Vorgehen sollte hier folgendes sein um korrupte Savefiles zu vermeiden:
1. Neues Spiel anfangen (kein altes Savegame!)
2. Solohelden auf Position 1 nehmen und Dummy auf 2.
3. Speichern und ab in den Hexeditor
Das benötigte Byte ist eigentlich recht schnell zu sehen, ich suche sicherheitshalber immer um mich zu orientieren die AT/PA Werte. Vom letzten PA Wert (Zweihänder) gerechnet ist es das 21. Byte. Ich habe das mal in einem Ausschnitt verdeutlicht:
Wenn der Wert nun auf 00 gesetzt wird, verschwindet der Dummyheld und man kann ganz normal sein Solo spielen. Sobald es an den Engpässen drauf ankommt, speichert man, geht an die Stelle und setzt das Byte auf 02 und kann den Engpass passieren. Danach wieder auf 00 setzen und man steht wieder alleine da.
Leider funktioniert dieses Verfahren nur bei Schicksalsklinge, nicht mehr bei Schweif, obwohl es ja gerade da so ungemein wichtig wäre.Wenn hier jemand ähnliche Ansätze schon verfolgt ist und weiter ist, würde ich mich über Infos freuen.
Cheers
j.
Beiträge: 496
Themen: 1
Registriert seit: Oct 2009
Bewertung:
13
Das sieht aber so aus, als würde der Held nur an die "nullte" Position der Heldenliste geschoben. Bekommt er dann keine AP, taucht nicht mehr in Kämpfen auf etc.?
Beiträge: 140
Themen: 19
Registriert seit: May 2011
Bewertung:
3
13.05.2014, 19:46
(Dieser Beitrag wurde zuletzt bearbeitet: 13.05.2014, 23:03 von guitarjohnny.)
(13.05.2014, 18:04)thEClaw schrieb: Das sieht aber so aus, als würde der Held nur an die "nullte" Position der Heldenliste geschoben. Bekommt er dann keine AP, taucht nicht mehr in Kämpfen auf etc.?
ich stimme dir zu, es handelt sich hier um eine verschiebung der positionen. ich konnte bislang aber daraus keine fehler oder crashs feststellen. folgendes funktioniert:
- talent/zauber anwenden (dummyheld taucht weder bei "wer will das talent anwenden", noch bei "wer soll geheilt werden" auf)
- tavernen und händler funktionierten korrekt, aufforderung wer feilschen soll kam nur für den visiblen helden
- im inventarbildschirm kann man nicht per pfeiltaste auf den ausgeblendeten dummyhelden gelangen
- der soloheld erlangt 100% des gefundenen goldes
- kampf funktioniert korrekt und endet auch korrekt, die ap kriegt nur der soloheld alleine. das ist meiner einschätzung nach aber auch zu erwarten, da wir doch seit tommys dsa viewer auch wissen, dass es für jede heldenposition eine definierte start position im kampf gibt. wenn diese 00 ist kann sie nicht in den kampfmodus kommen. möglicherweise wird über diesen positionsbyte sehr viel entschieden.
was ich noch nicht testen konnte:
- die engpass stellen, um die es eigentlich geht
- stellen, an denen man außerhalb von kämpfen ap bekommt
- proben und abfragen bei denen der held mit der kleinsten/größten eigenschaft/talent xy herangezogen wird. hierbei könnte vielleicht das positionsbyte egal sein und der dummy wieder mitbedacht werden. andererseits würde ich gerade die ap verteilung nach einem kampf auch als eine solche stelle sehen, bei der einfach durch die anzahl der leute geteilt werden müsste. das scheint aber glücklicherweise über das positionsbyte zu laufen.
- werden vielleicht fehler erzeugt, wenn man spielstände mit ausgeblendeten charakteren mit editoren wie den von tommy öffnet und speichert?
Beiträge: 140
Themen: 19
Registriert seit: May 2011
Bewertung:
3
ich komme bei diesem thema in schweif nicht weiter. alle versuche, helden auszublenden haben hier nicht funktioniert.
wenigstens die lowangen-geiselproblematik möchte ich damit lösen. hat jemand anregungen oder hinweise?
mir wären noch zwei andere ideen gekommen:
1) wissen wir, wo (in schweif) gespeichert ist, in welchem tempel sich ein abgelegter held befindet? wenn wir das hätten, könnte man zwei starthelden in kvirasim so umhexen, dass man sie in lowangen wiederfindet. das würde zwar nicht alle engpässe lösen, aber zumindest den nervigsten.
2) @tommy: du hast ja mit deinem editor schon unmengen an char-informationen am start. wäre es dir möglich, eine art heldenexport und -importfunktion zu realisieren? so dass mann z.b. in einem solo savegame einen helden aus einem anderen save importiert und bei bedarf auch löschen kann?
Beiträge: 140
Themen: 19
Registriert seit: May 2011
Bewertung:
3
hat inzwischen irgendwer anders hierzu erkenntnisse?
nochmal zusammengefasst habe ich folgende ideen, die die meisten engpass stellen entschärfen würden. wenn irgendwer ansätze hierzu hat, bitte melden:
1) es muss irgendwo gespeichert sein, in welchem tempel ein abgelegter held sich befindet. hier bräuchte ich die information, um welches byte es sich handelt und wie ich herausfinde, welcher tempel mit welchem byte referenziert wird. (letzteres wäre für mich einfach)
2) gibt es vielleicht irgendwo einen wert, der bestimmt ob ein tempel ein "generierungstempel" ist oder nicht? das wäre natürlich die schönste lösung, wenn man in jedem tempel einen dummyhelden bauen könnte.
3) hat irgendwer erfahrung damit, ganze heldeninformationen aus savegames raus und reinzuschreiben? also ein solo game so zu editieren, dass ich zwei helden aus einem anderen spiel hinzufüge, die ich später auch wieder löschen kann?
4) mehr eine spiel-knowledge frage: hat irgendwer schonmal versucht, die sumpf-storyline durchzuziehen, ohne vorher in lowangen gewesen zu sein? so dass man quasi mit agdan als npc das erste mal nach lowangen reisen könnte und die ganze geiselstory irgendwie übersprungen wird?
5) kennen wir schon möglichkeiten des "positionshexens"? also aus einem aufenthalt in einer lowangen-herberge einen aufenthalt in der neu-lowangen herberge hexen etc.?
danke im voraus
Beiträge: 2.283
Themen: 17
Registriert seit: Nov 2007
Bewertung:
18
(07.08.2014, 10:15)guitarjohnny schrieb: 1) es muss irgendwo gespeichert sein, in welchem tempel ein abgelegter held sich befindet. hier bräuchte ich die information, um welches byte es sich handelt und wie ich herausfinde, welcher tempel mit welchem byte referenziert wird. (letzteres wäre für mich einfach)
2) gibt es vielleicht irgendwo einen wert, der bestimmt ob ein tempel ein "generierungstempel" ist oder nicht? das wäre natürlich die schönste lösung, wenn man in jedem tempel einen dummyhelden bauen könnte.
Ich nehme an, das ist irgendwo fest in der SCHWEIF.EXE verdrahtet. Wahrscheinlich heißt es einfach "pack die neuen Helden in Tempel Nr. 1". Wo ein Held gerade steckt, müsste allerdings in der Tat irgendwo im Savegame gespeichert sein, wo, weiß ich aber nicht. ThEClaw könnte das vielleicht von seinem Editor her wissen.
Hallo, ich bin's - der Bart von Fidel Castro. Und mir ist total langweilich nie geschnitten wurde.
I'm a roleplayer. My dice are like my relationships: platonic and unlucky.
Beiträge: 2.320
Themen: 52
Registriert seit: Aug 2013
Bewertung:
14
07.08.2014, 17:49
(Dieser Beitrag wurde zuletzt bearbeitet: 07.08.2014, 18:16 von Lippens die Ente.)
In Schick ist es einfach: jeder Tempel hat einen Index, und im Savegame ist auch vermerkt, wo die Helden sich gerade befinden, Der Travia-Tempel in Thorwal hat Index 01, wo auch die generierten landen. Man könnte jetzt einem Tempel in sagen wir mal Liskor ebenfalls die Nummer 1 zuordnen, dann wären die neugenerierten Helden auch dort zu finden.
Idee: Ich weiß einen Weg, den Perainetempel in Lowangen zum Perainetempel in Kvirasim umzuwandeln und Guitarjohnny so die Möglichkeit geben, seine zwei Dummies dort zu generieren. Das geht ohne an der Schweif.exe zu hexen.
Die Informationen stehen in der Sublocs.dat ich muss jetzt nur die Indexzahl eines Lowangen-Tempels lokalisieren und durch ein 01 ersetzen. Ich mache mich gleich mal auf die Suche.
Ich bin fündig geworden. Wenn du willst, verrate ich dir, wie es geht - oder mache es für dich!
Hacke Tau, Kumpels!
Ihr seid Freunde der alten NLT? Freunde des Mikromanagements? Ihr sucht eine neue Herausforderung, weil euch die NLT zu leicht war?
Dann spielt doch mal Schicksalsklinge HD 1.36 von Crafty Studios!
Beiträge: 140
Themen: 19
Registriert seit: May 2011
Bewertung:
3
07.08.2014, 21:27
(Dieser Beitrag wurde zuletzt bearbeitet: 07.08.2014, 21:31 von guitarjohnny.)
hey ihr beiden,
danke für eure hilfe! ich habe mich heute auch in hexvergleicherei verausgabt und bin tatsächlich fündig geworden - ein kleiner riesendurchbruch für meine nlt-solo-sorgen
ich konnte per savegamevergleiche das "tempelbyte" in schweif ausfindig machen, in dem der tempel referenziert wird, in dem ein held abgelegt ist. mit diesem verfahren kann man nun am anfang einer schweif-partie dummie helden in alle gewünschten tempel transversalisieren und muss sich nahezu keine gedanken mehr um die blöden engpässe machen.
damit sind jetzt viele schöne sachen möglich, wie z.b.
- die geiselproblematik in lowangen entfernen durch dummyhelden im lowanger tempel
- einen lagerverwalter im tempel von neulowangen einzusetzen, um keine sachen vor dem eintritt in lowangen zu verlieren und auch keinen helden abstellen zu müssen
- einen standbydummy für die blutzinnen in dem nahen tsa tempel unterbringen, um an den blutzinnen an dem spinnennetz vorbeizukommen
- einen dummy in tjolmar für die solo engpassstellen im temp
folgendes vorgehen ist für meine methode nötig:
beim beginn einer schweif spiels müssen die dummyhelden einmal in die gruppe genommen werden und wieder entfernt werden. wenn das nicht passiert, werden sie anscheinend nicht als mal aktiv gewesene helden im game abgespeichert und sind nicht im savegame auffindbar.
optimalerweise erstellt man also zu beginn 3 oder 4 dummyhelden, vorzugsweise magier und nimmt jeden einmal in die gruppe auf. dann sollten einmal die at/pa werte der dummys notiert werden, anhand dessen ich das tempelbyte lokalisiere. das kann man auch anders machen, aber so ist es sicher. magier bieten sich deswegen an, weil sie keine startrüstung haben und die at/pa werte nicht durch behinderung beeinflusst werden. das was man im spiel sieht, ist also der wert, den man im hex editor sieht. nachdem man die at/pa werte notiert hat, werden die dummies wieder in den tempel abgelegt. dann speichern und folgend öffnet man das savegame im hexeditor. nun sucht den namen des dummys und orientiert euch wie folgt:
grün = name des helden
blau = unterstrichen sind die pa-basiswerte des helden, das umkreiste ist der zweihänder paradewert (die helden sollten keine rüstung anhaben, sonst passen die werte nicht!)
rot = 19 bytes rechts von dem zweihänder paradewert ist der tempelbyte
wenn ihr diesen gefunden habt, könnt ihr den helden in euren wunschtempel schicken.
achtung: manchmal wird ein held zwei mal aufgelistet. der richtige eintrag ist der, der einen tempelwert hat.
hier wären schonmal die wichtigsten tempel-ids, die ich herausgearbeitet habe:
perainetempel kvirasim: 01
praiostempel neulowangen: 18
ingerimmtempel lowangen: 0D
die methode funktioniert, ich habe sie schon getestet. ich habe es jetzt nur in schweif getestet, in schick kann man die im threadbeginn vorgestellte lösung verwenden.
@lippens: dennoch bin ich sehr an deiner methode interessiert, die ist ja nun eine ganz andere und möglicherweise einfachere als meine?
cheers,
j.
Beiträge: 2.320
Themen: 52
Registriert seit: Aug 2013
Bewertung:
14
07.08.2014, 21:36
(Dieser Beitrag wurde zuletzt bearbeitet: 07.08.2014, 22:38 von Lippens die Ente.)
Ich muss nur ein einziges byte ersetzen. Man muss aber mit nltpack arbeiten. Interessanterweise wirkt meine Methode auch auf laufende Savegames. Ich kann also erst nach Lowangen gehen, dann umhexen, die Helden erschaffen und aufnehmen, und dann wieder zurückhexen.
Man käme auch ohne nltpack aus, wenn man die entsprechende Stelle in der star.dat sucht, was aber etwas schwerer ist
Klar sind unsere Ansätze verschieden, denn ich blende nichts ein oder aus, sondern hole den Starttempel einfach nach Lowangen.
Cheaten ist beides, weil es so eben nicht vorgesehen war, du bist eher Programmierer und ich Anwender, aber manchmal führen interessante Wege zum Ziel, die man auf den ersten Blick nicht sieht.
Ich habe das byte in der Star.dat gefunden: es ist die position 4480817, das ist der Index des Perainetempels in Lowangen, das byte steht auf 08, das davor 01 steht für Tempel, dahinter steht FF. Verwandelst du dieses byte in eine 01, hast du den Starttempel in Lowangen - und kannst dir die zwei Geiseln erstellen. Du kannst natürlich auch jeden anderen Tempel in Lowangen nehmen, die stehen alle in unmittelbarer nähe und haben die Struktur 01, Index, FF
Hacke Tau, Kumpels!
Ihr seid Freunde der alten NLT? Freunde des Mikromanagements? Ihr sucht eine neue Herausforderung, weil euch die NLT zu leicht war?
Dann spielt doch mal Schicksalsklinge HD 1.36 von Crafty Studios!
Beiträge: 140
Themen: 19
Registriert seit: May 2011
Bewertung:
3
wow das klingt sehr interessant und ist wenn es so klappt viel einfacher als meine methode.
ich kann die stelle aber noch nicht finden. meine star.dat endet mit 0x636030. die adresse 4480817 müsste ja weit darüber hinaus sein.
ist deine star.dat vielleicht länger als meine durch die nltpack aktionen oder verstehe ich die adressenangabe falsch?
mir würde es auch schon helfen, wenn du mir einfach die letzten 10 bytes schreibst, die vor dem index kommen, daran müsste ich es ja auch finden.
Beiträge: 2.320
Themen: 52
Registriert seit: Aug 2013
Bewertung:
14
08.08.2014, 12:53
(Dieser Beitrag wurde zuletzt bearbeitet: 08.08.2014, 12:57 von Lippens die Ente.)
Ja, es kann sein, dass die Stelle bei dir knapp daneben sein kann, denn jede Namensänderung verändert auch die Gesamtlänge, hatte ich vergessen. Trotzdem müsste es bei dir das byte 4480817 geben, da die Datei star.dat über 6 MB groß ist, und das sind mit sicherheit über 6000000 bytes. Vielleicht meintest du die Zeile, ich meinte das genaue byte, aber egal, such doch einfach folgendes:
0F FF FF 0F FF FF 01 06 FF 01 07 FF 01 08 FF 01 09 FF 01 0A FF 01 0B FF
ab dem 7. byte werden die Lowangentempel beschrieben, was was ist, weiß ich zwar nicht, aber 08 ist der Index des Perainetempels. Man sieht, dass die Tempel ab Index 06 in Lowangen sind. Jetzt brauchst nur eines der nach 01 (Tempel) folgenden bytes in 01 zu verwandeln, und du hast den Kvirasimtempel nach Lowangen geholt.
Hast du zufällig irgendeinen Spielstand in Lowangen? Dann ändere das Byte und probiere es sofort im Spiel aus und sag mir dann, ob es geklappt hat.
Hacke Tau, Kumpels!
Ihr seid Freunde der alten NLT? Freunde des Mikromanagements? Ihr sucht eine neue Herausforderung, weil euch die NLT zu leicht war?
Dann spielt doch mal Schicksalsklinge HD 1.36 von Crafty Studios!
Beiträge: 2.283
Themen: 17
Registriert seit: Nov 2007
Bewertung:
18
Hallo,
kann es sein, dass ihr gerade ein wenig aneinander vorbeiredet und Lippens in Dezimalzahlen rechnet, Guitarjohnny dagegen in Hexadezimalzahlen?
(4480817)_10 = (445F31)_16, das würde passen.
Hallo, ich bin's - der Bart von Fidel Castro. Und mir ist total langweilich nie geschnitten wurde.
I'm a roleplayer. My dice are like my relationships: platonic and unlucky.
Beiträge: 2.320
Themen: 52
Registriert seit: Aug 2013
Bewertung:
14
Klar, das ist es! Trotzdem kann es sein, dass es um ein paar bytes verschoben sein kann, weil ich die LTX-Dateien in ihrer Länge verändert habe (neue Namen für Gebäude, Textboxen im Spiel verändert)
aber ungefähr müsste es passen, ich verwende ja nltpack, außer bei Riva.
Hacke Tau, Kumpels!
Ihr seid Freunde der alten NLT? Freunde des Mikromanagements? Ihr sucht eine neue Herausforderung, weil euch die NLT zu leicht war?
Dann spielt doch mal Schicksalsklinge HD 1.36 von Crafty Studios!
Beiträge: 140
Themen: 19
Registriert seit: May 2011
Bewertung:
3
seeeehr geil, es funktioniert wirklich. und das auch ganz ohne nebenwirkungen, der starttempel in kvirasim ist auch nach wie vor bugfrei zu benutzen.
tatsächlich habe ich in hexzahlen gerechnet, hatte aber lippens zahl auch schonmal umgerechnet und auch damit nix gefunden. dank der zeichenfolge habe ich es jetzt aber gefunden, bei mir ist der lowangen perainetempel auf 0x445f10 byte 09.
klasse verfahren! durch das ersetzen des normalerweise im spiel unnötigen perainetempel in lowangen durch einen anderen perainetempel verliert man ja auch quasi nichts. besonders lustig: man kann in dem tempel dann mit der geweihten aus kvirasim chatten. die dialogoptionen sind aber die aus lowangen. bei der frage nach gavron beendet sie das gespräch
ich schreibe das mal als kurzanleitung in den patch sammelthread.
Beiträge: 2.320
Themen: 52
Registriert seit: Aug 2013
Bewertung:
14
09.08.2014, 01:15
(Dieser Beitrag wurde zuletzt bearbeitet: 09.08.2014, 01:17 von Lippens die Ente.)
Ja, das einzige, was man sich kaputtmacht, sind die vollen Dialogoptionen mit der Priesterin. Man kann den Tempel aber gleich wieder zurückhexen, wenn man diese Stelle gemeistert hat.
Was ist grundsätzlich zu diesem Tempeltausch zu sagen? Tauscht man Tempel verschiedener Städte, ändern sich die ortsspezifischen Gesprächsoptionen etwas. Zu allen Themen, die die fremde Stadt betreffen, weiß der Geweihte dann einfach nichts. Nur bei einem Tempel muss man etwas aufpassen: Der Ingerimmtempel in Finsterkoppen sollte besser nicht verändert werden, da man sonst den Schlüssel nicht bekommt, weil er dann nichts weiß. Gibt man einen ungültigen Index an, erscheint ein Praiostempel ohne Priester. Bei der Option reden vergeht dann nur die Zeit etwas, sonst passiert nichts. Aber das nur am Rande.
Einen Index für einen Efferdtempel gibt es übrigens nicht. In Schick existieren zumindest die Indexe für Boron- Hesinde- und Praiostempel
Hacke Tau, Kumpels!
Ihr seid Freunde der alten NLT? Freunde des Mikromanagements? Ihr sucht eine neue Herausforderung, weil euch die NLT zu leicht war?
Dann spielt doch mal Schicksalsklinge HD 1.36 von Crafty Studios!
|