World of Gothic Archiv
Alle Beiträge von Mud-Hunter
Seite 1 von 2  1  2 
12.04.2003, 21:59 #1
Mud-Hunter
Beiträge: 32
Scripts zur .dat bzw Gothic.dat machen? - Scripts zur .dat bzw Gothic.dat machen?
Hai miteinander!
Ich hab in all den Tutorials leider nie gefunden, wie ich die irgendwas.d script-dateien in eine .dat oder eine gothic.dat (welches ist denn richtig?) kompilieren (mit welchem Programm?) und somit in ein Mod einbinden kann.
Muss der Pfad (die .d Dateien können ja ursprünglich in verschiedenen Ordnern gewesen sein) auch mit angegeben werden und wie stelle ich das an?

danke mal jetzt schon
13.04.2003, 09:16 #2
Mud-Hunter
Beiträge: 32
Scripts zur .dat bzw Gothic.dat machen? -
Danke mal für die Antwort, aber entweder bring ich da was durcheinander oder ich hab mein problem nicht richtig rübergebracht.
Was ich will, ist eine Art Mini-Test-Mod zu erstellen, bei dem ich nur ein paar Skripts ändere, diese zu einer Mini-Mod-Datei "zusammenfügen" will, die mini.mod und die minimod.ini ins data bzw. systemverzeichnis spielen und dann mit dem Starter dieses Mod spielen will.
Wie ich nur geänderte Skripts - siehe Deinen Auszug aus der Starterbeschreibung - einbinden will, ist mir klar, aber soweit ich die Mod-Tutorials gelesen habe, brauche ich für die .mod Datei die .dat Files und nicht nur die geänderten .d Files. Es geht also darum, die geänderten .d Files "irgendwie" in .dat Files zu kompilieren, damit ich sie dann mit dem GothicVDFS zu einem Mod zusammenfügen kann.

danke und dschau
13.04.2003, 10:14 #3
Mud-Hunter
Beiträge: 32
Scripts zur .dat bzw Gothic.dat machen? -
Ich war nie der Meinung, dass HornOx nicht recht hatte :-)
Nur "fehlte" mir einfach der Schritt vom editierten Scriptfile zur Mod-Datei. Du hast schon recht, wenn das Zusammenfügen zu einem Mod ganz zum Schluss kommen sollte, aber es sollte einfach ein kleiner Test eines Anfängers sein, ob die Mühen des Editierens sich auch wirklich auszahlen und es funktioniert.
Danke für Eure Mühen und noch eine kleine Abschlussfrage:
Werden die Mods im Save berücksichtigt? Ich meine, wenn ich nun einen test.mod mache, ein bisschen spiele, abspeichere, aussteige, eine neue test.mod mache, mit ihr starte (bei gleichem Namen, weil ja "gleiche"=aktualisierte Datei), wird dann mit der "ersten" mod.datei (mit der ja gespeichert wurde) gestartet oder wird die "neue" mod.datei genommen?

danke und dschau
13.04.2003, 10:23 #4
Mud-Hunter
Beiträge: 32
Wer moddet gerade? Anfänger gesucht :-) - Wer moddet gerade? Anfänger gesucht :-)
Hai miteinander!
Da ich gerade anfange - wie man an meinen Anfängerpostings nur allzu deutlich sieht - zu modden und ich nicht unsere Fachleute hier,die zwar ausgesprochen entgegenkommend sind, aber vielleicht nicht gerade am modden sind, würde mich interessieren, wer - so wie ich - auch gerade anfängt, sich mit der Materie zu beschäftigen. Ich selbst möchte mich vorerst auf das Editieren von Scripten beschränken, da mein grafisches Talent mehr als fragwürdig ist :-)
Dabei fällt es mir offenbar leichter, ein Script zu editieren, als es dann auch einzubinden, denn wie man all die geänderten Dateien wirklich zusammenfügt, ist mir (noch) fast ein Rätsel. Aber wenn ich die Tutorials zum 200sten Mal gelesen und die Spezialisten hier noch mehr gequält habe :-) wird mir vielleicht auch das gelingen.
Jedenfalls wäre es fein, wenn sich Auch-noch-Anfänger hier melden würden und man dann die grundsätzlichen Fragen zb per e-mail oder ähnlichem klären könnte, ohne dass das Forum mit den immer gleichen Fragen (siehe meine :-) vollgemüllt wird.
dschau
Mud-Hunter
13.04.2003, 12:29 #5
Mud-Hunter
Beiträge: 32
Wer moddet gerade? Anfänger gesucht :-) -
Danke für die zahlreichen Antworten.
Kurz dazu: ich habe nicht vor, zu fragen, wann Gothic II SDK rauskommt und sie - glaub ich :-) - auch gar nicht gestellt.
Die Forenbeiträge habe ich - ähnlich wie die Tutorials - so ziemlich durch, allerdings auf meine speziellen (Denk-)Probleme noch keine Antworten gefunden.
ICQ-Nummer: 38172585 (müsste jetzt eigentlich auch im Profil zu sehen sein)
danke für eure Geduld und dschau
16.04.2003, 17:48 #6
Mud-Hunter
Beiträge: 32
"Untertitel" im Mod weg. - "Untertitel" im Mod weg.
hai miteinander!
Ich habe in einem kleinen Testmod bei der Ausgabe der Meldungen des NPC die Namen der Funktionsaufrufe geändert, damit nicht ein von mir modifizierter Text in einem Dialog erscheint und gleichzeitig die "Originalstimme" etwas anderes sagt. Ich habe im Forum gelesen, dass es kein Problem ist, zb. Info_Diego_wayto.... [Text] in Labber_Diego_wayto....[Text] umzuändern.
Hat auch alles funktioniert. Jedenfalls bei mir. Wenn ich nun mit dem Gothicstarter (ohne reparse!) den mod aufrufe, stellt sich der Dialog ("meine" Auswahl von Fragen oder Aussagen "unten", die Antworten des Gegenübers "oben") so dar, wie er sein soll.
Wenn jemand anders den mod spielt, hat er folgendes Problem:
Beispiel: Spielanfang. Man wird von Diego angesprochen:
Das Fenster "über" Diego (in dem er "spricht") erscheint nicht. Nur meine Antwortmöglichkeiten, die allerdings - nach dem Anklicken - ebenfalls NICHT in dem "oberen" Fenster erscheinen.
Um Missverständnissen vorzugreifen: Es erscheint natürlich das "ganze Fenster" nicht, nicht nur die Schrift nicht.
danke mal im voraus
P.S: die Ausgabe von Untertitel ist enabled!!
16.04.2003, 18:11 #7
Mud-Hunter
Beiträge: 32
"Untertitel" im Mod weg. -
Danke @Hornox für die schnelle Antwort!
Ob er die hat kann ich nicht sagen. Ich habe es jedenfalls so gemacht!
- scripts mit dialog verändert
- mit spacer (reparse usw) geparst
- gothic gestartet und später abgebrochen (ich bin mir nämlich nicht sicher, ob der spacer allein reicht für die gothic.dat usw)
- gothic.dat und - sicherheitshalber (weil ich mich eben nicht besonders gut auskenne) auch alle anderen dateien aus _work.._compiled in "mein" Modverzeichnis ..._compiled kopiert.

-vdfs gestartet, mod erzeugt.
- mod selbst gespielt (0hne Angabe von -zreparse usw. im Gothicstarter, damit er nicht auf andere DAteien zugreift, als ein Spieler, der "nur" das mod hat. Erfolg: alles hat funktioniert

- mod und .ini an bruder geschickt, bei dem ersheinen die Dialogfenster nicht, obwohl bei früheren versionen des gleichen mods alles gefunzt hat. Erst seitdem ich die Namen der Ausgabe innerhalb des Scripts - wie erwähnt habe ich im dia-pc.thief (oder so ähnlich) alle Info_Diego_... Anweisungen in Labber_Diego_.. Anweisungen geändert, damit er eben nicht die vorhanden Wav-Files aufruft, sondern eben stumm bleibt und nur die Untertitel erscheinen.

ich hoffe, dass euch jetzt das Problem - und vielleicht auch die Lösung - klar ist.
danke und dschau
16.04.2003, 18:37 #8
Mud-Hunter
Beiträge: 32
"Untertitel" im Mod weg. -
Gut ... oder eigentlich schlecht, wenn die ou.bin fehlt.
1) wie bekomme ich sie ins mod? einfach ins gleiche _compiled verzeichnis kopieren, wie die gothic.dat vor dem vdfs? oder meinen Verzeichnisbaum um das CUTSZENE Verzeichnis "erweitern"? Allerdings hats bis jetzt auch ohne gefunzt.

2) wieso funktioniert bei mir dann der mod, wenn ich extra aufs reparsen verzichte, mein gothicstarter ja dann eigentlich nicht aufs _work verzeichnis zugreift? oder hab ich es falsch verstanden?
Würde er darauf zugreifen, dürfte ja kein mod bei anderen funktionieren, weil die ja dieses _work mit den dateien darin ja gar nicht haben.
3) Was passiert, wenn ich "aus Sicherheitsgründen" viel zu viele (=nicht notwendige) DAteien oder sogar Dateien, die gar nix mit dem Spiel am Hut haben (will ich nicht machen! Nur für mein Verständnis!) ins _compiled Verzeichnis packen und durch den vdfs schicke? Werden die "überflüssigen" dann ignoriert?
danke und dschau
17.04.2003, 21:20 #9
Mud-Hunter
Beiträge: 32
Sprechende Monster - Sprechende Monster
Hai miteinander!
Ich habe versucht - nach dem Vorbild des Xardas-Dämonen - einen Scavanger zu schaffen, der auch sprechen kann, also ihn im Dialog als NPC definiert usw.
Nur leider funzt es nicht. Kann es daran liegen, dass der Xardas Dämon die Nr. 999 hat und diese irgendwo noch vorkommt und ich meinem Scavenger einfach mal die Nr. 2000 gegeben habe oder daran, dass ich es mit IMPORTANT so einrichten wollte, dass er mich anspricht und das bei Monstern einfach nicht geht.
Mein Scavenger hat die Meatbug-Gil, damit er mich nicht angreift, denn im Gegensatz zum Xardas Dämon, der die Dämonengilde hat und ja nicht angreift, greift mich mein (leider noch nicht) sprechender Scavenger an, wenn ich ihm die Scavenger Gilde lasse.

Den Scavenger - ich hab ihm mit NAME auch einen Namen gegeben, was beim Xardas Dämon nicht der Fall ist - hab ich mit der startup.d einen Platz zugewiesen, an dem er bei Spielbeginn auch tatsächlich erscheint. Er ist auch lieb und freundlich und tut mir nix, allerdings redet er mich weder an noch lässt er sich von mir anreden (die "Dialogprobleme" mit ou.bin usw sind es also nicht)
danke und dschau
17.04.2003, 21:55 #10
Mud-Hunter
Beiträge: 32
Sprechende Monster -
Danke mal für die Antworten. Ich werde es so mal probieren.
dschau
20.04.2003, 20:05 #11
Mud-Hunter
Beiträge: 32
Monster sprechen 2. und waypoints notwendig? - Monster sprechen 2. und waypoints notwendig?
hai miteinander!
2 Probleme bereiten mir im Moment - andere werden noch kommen,keine Sorge :-) - Kopfzerbrechen.
1) Ich habe auf meine Anfrage, warum mein Monster, dass ich XARDAS Demon ähnlich aufgebaut habe, noch immer nicht reden kann :-) bzw., was der Auslöser ist, damit er spricht.
Dazu das Script: er ist instance eines scavengers
INSTANCE SScavenger (Mst_Default_Scavenger)
{

flags = NPC_FLAG_IMMORTAL;
npctype = NPCTYPE_FRIEND;
guild =GIL_MEATBUG; //dann greifen die Dinger nicht an :-)
name = "Besonderer";

aivar[AIV_MM_REAL_ID] = ID_SCAVENGER;


attribute [ATR_STRENGTH] = 6;
attribute [ATR_DEXTERITY] = 6;

attribute [ATR_HITPOINTS_MAX] = 150;
attribute [ATR_HITPOINTS] = 150;

//------------------------------------------------------------
protection [PROT_BLUNT] = 8;
protection [PROT_EDGE] = 8;



Set_Scavenger_Visuals();
Mdl_SetModelScale(self, 0.5, 0.3, 0.3);

/*Npc_SetToFistMode(self); Hab ich mit und ohne Kommentarzeichen*/


CreateInvItems (self, ItFoMuttonRaw, 1);
};


jetzt der xardas -demon:
INSTANCE XardasDemon (Mst_Default_Demon)
{
flags = NPC_FLAG_IMMORTAL;
npctype = NPCTYPE_FRIEND;
guild = GIL_DEMON;

aivar[AIV_MM_REAL_ID] = ID_DEMON;

Set_Demon_Visuals();
Npc_SetToFistMode(self);

start_aistate = ZS_XardasDemon; //Einsetzen bei WP "DT_E1_06"
};


Unterschied: start_aistate=ZS_XardasDemon
Das hab ich auch schon mal eingefügt gehabt, hat aber nix gebracht.

2. Frage:

Ich habe über Startup.d gleich am Anfang, auf der kleinen Wiese auf der rechten Seite kurz nach der Verlassenen Mine ein paar Instancen ("Baby-Monster") eingesetzt, die Bäume entfernt und einen Zaun mit einer kleinen Lücke eingezogen. Aber leider wollen die Biester unbedingt auf den Weg raus. Liegt das daran, dass draussen ein waypoint liegt und innerhalb des Zauns, ausser dem einen waypoint, auf dem sie entstehen, kein weiterer zu finden ist, bzw. wo muss ich was ändern, damit die kleinen Dinger innerhalb des Zauns auf der Wiese so ein bisschen hin und hermarschieren.
danke und dschau
20.04.2003, 21:51 #12
Mud-Hunter
Beiträge: 32
fehlermeldung beim starten - fehlermeldung beim starten
hai miteinander
seit kurzem hab ich die meldung:
could not copy file: systemmssfast.m3d into the system-directory :-( und gothic bricht den start ab, auch wenn ich nur gothic mit starter und reparse scripts starte
das habe ich, seit ich mal eine world.zen compiliert, gespeichert und ins _work....worlds gespielt habe.
danke und dschau
21.04.2003, 08:32 #13
Mud-Hunter
Beiträge: 32
fehlermeldung beim starten -
Danke Leute, genau das war es :-)
dschau
21.04.2003, 16:04 #14
Mud-Hunter
Beiträge: 32
Conditioin mit &! int_variable - Conditioin mit &! int_variable
hallo miteinander!
habe folgendes problem:

wie beim script-tutorial abgeschaut :-) habe ich mir einen npc gebastelt, der aufgrund einer bedingung: den auftrag angenommen, das begehrte stück bei sich und eben das " &! int_gotsword" wieder mit einem spricht und eine belohnung gibt.

bedingung1 & bedingung2 &! int_variable heisst doch meiner meinung nach, dass bedingung1 UND bedingung2 erfüllt sein müssen, UND NICHT (=&! ???) die variable "erfüllt". Heisst das nun, dass die variable, die ja in den - glaub ich - globals definiert sein muss FALSE oder null oder sowas sein muss??

bzw.: was schreibt man nach dem erfüllten auftrag, damit eben die bedingung so wird, dass die condition nicht erfüllt ist, obwohl bedingung1 (zb er kennt den auftrag) und bedingung2 (zb eine bestimmte anzahl items abliefern, die man aber immer wieder bekommt)?

also wie muss ich int_variable "danach" setzen, dass es mit &! auf keinen fall mehr dieser dialog kommt?

kurzes beispiel:
der npc will - im "ersten" auftrag - fleisch haben. 50 Stück. dafür gibt es 5 lernpunkte. die description ist in diesem fall, wenn ich ihn anspreche. "ich hab das futter das auftrags(zb)"
also erscheint, solange der auftrag nicht erfüllt ist - wenn ich ihn anspreche - ich hab das futter.....

wenn der auftrag erfüllt ist, soll der npc aber immer dann, wenn man futter bringt, 1 LP, geben und die description lautet hier: ich habe wieder futter.

Bei mir erscheint aber beim allerersten auftrag richtigerweise: cih hab das futter des auftrags, aber beim zweiten mal - wenn man nur mehr 1 lernpunkt bekommen soll, die auswahl zwischen: ende, ich habe das futter des auftrages UND ich habe wieder futter und wenn man auf die auswahl: ich habe das futter des auftrages klickt, bekommt man wieder die 5 lp.
ich denke, wenn ich das mit der " &! int_variable" in der bedingung des ersten auftrages hinbekomme (also nach dem auftrag sowas wie : int_variable=FALSE (die Syntax für diesen fall kenne ich leider nicht) hinschreibe, stellt sich das problem mit der "wiederholung" des ersten auftrages gar nicht.

Nun, nach dem Gelabber endlich die Kurzversion der Fragen :-)
1) Ist dieser gedankengang richtig?
2) was genau muss ich mit der int_variable nach dem erledigten auftrag machen, damit er kein zweites mal mehr erscheint?

danke und dschau
21.04.2003, 16:26 #15
Mud-Hunter
Beiträge: 32
Conditioin mit &! int_variable -
hi auronx

schon der zweite der "rückkehr", der mir hilft! darkwing hat bisher im icq schon unglaubliches "an mir" geleistet :-)

also das &! müsste eigentlich bedeuten, dass das folgende NICHT sein darf, es also die variable int_gotfood (in diesem fall) nicht gibt oder dass sie FALSE oder was immer ist.

jetzt möchte ich wissen, was ich tun muss - genaue syntax bitte - dass die bedingung " &! int_gotfood" FALSCH wird und damit die ganze bedinung falsch und damit dieser dialog nie mehr vorkommen dürfte

danke und dschau
21.04.2003, 17:05 #16
Mud-Hunter
Beiträge: 32
Conditioin mit &! int_variable -
danke hornox!
hätte ein bisschen probieren sollen, ehe ich groß frage :-)
habs einfach mal mit int_gotfood = TRUE;
probiert - nach der übergabe - und siehe da :-) der dialog kommt nicht mehr, weil ja in der bedingung: &! also UND NICHT steht.
ich nehme an, dass dann das bedeutet: eine bedingung soll sein, dass int_gotfood NICHT ist (oder eben den wert false hat) und wenn ich dann auf TRUE setze ist diese bedingung nicht erfüllt.
eh ganz einfach :-)

@hornox: kann ich das mit beliebigen (zuvor in global.d) definierten variablen machen, dass ich sie auf TRUE oder FALSE setze und dann so abfrage?
gibt es da elegantere lösungen, mit denen man ein "abgeschlossenes" ereignis so markieren kann, dass es bei anderen als bedingung gesetzt werden kann und wie würde da in etwas die syntax aussehen.
gemeint ist "dia-übergreifend" also nicht in der gleichen dialogdatei, sondern etwa:
NPC 1 hat einen auftrag gegeben, den hat man erfüllt und erst dann kann man zum NPC 2 gehen und reden, oder so ähnlich.
Bzw. sind die in global.d definierten variablen (wie der namen "global" sagt) in ALLEN Dia_irgendwer "abrufbar" bez. kann man sie in jedem dialog als bedingung verwenden?

danke und dschau

danke und dschau
21.04.2003, 20:33 #17
Mud-Hunter
Beiträge: 32
Keine Stufensteigerung mehr möglich - Keine Stufensteigerung mehr möglich
hai miteinander!
ich habe grad beim spielen meines mod-versuches festgestellt, dass ich - egal wieviele erfahrungspunkte ich habe - weder die bildschirmschrift: STUFE GESTIEGEN habe, noch wirklich gestiegen bin.
ich hab nach ein paar kleinen selbstgebastelten missionen 600 punkte und als nächste stufe: 500 punkte!!!
wenn ich auf status drücke, zeigt es mir die jeweils richtigen erfahrungspunkte an, aber wenn ich über die nächste "stufengrenze" komme, tut sich gar nix.
ich habe nach der vorlage im tutorial meine punkte auf folgende art bekommen:
hero.exp = hero.exp + 200;

und noch ein paar lebenspunkte:

hero.lp = hero.lp + 5;

wird das in einem - für die stufensteigerung notwendigen file, dass ich aber nicht kenne - etwa nicht mitgezählt?

danke und dschau
21.04.2003, 20:40 #18
Mud-Hunter
Beiträge: 32
Conditioin mit &! int_variable -
hai miteinander und vor allem @hornox!
danke mal für deine ausführliche antwort. vielleicht war ich bei meinen fragen ein bisserl ungenau.
ich meinte natürlich && und &! und zwar im sinne von - und aus verständnisgründen verwende ich die ausdrücke - AND und NOT.
das trifft es - glaub ich - am besten

danke und dschau.

hat übrigens alles gefunzt mit dem TRUE und FALSE bzw. && und &!
22.04.2003, 03:52 #19
Mud-Hunter
Beiträge: 32
Conditioin mit &! int_variable -
danke für den tipp. werde es machen. habe es ja aus der "vorlage" des none_999_gunther des tutorials übernommen und dachte, dass da die syntax stimmen müsste :-)
dschau
22.04.2003, 03:58 #20
Mud-Hunter
Beiträge: 32
Keine Stufensteigerung mehr möglich -
weil es so in der "vorlage" im script tutorial gestanden ist. werde es mal ummodeln und vielleicht geht es ja dann. mir ist auch aufgefallen, dass die punkte in den originalscripts anders gegeben werden :-) aber da es ja - zumindest am statusbildschirm - geklappt hat, hab ich mir nix dabei gedacht.

zu den lernpunkten:
1) auch aus dem tutorial übernommen :-)
2) zweitens "zählen" lernpunkte am anfang "das gleiche" wie weiter hinten, während erfahrungspunkte - in der relation zur stufe - "immer weniger wert" werden und ich denke, dass bei die aufgabe, bei der ich es verteile und die man immer wieder machen kann, auch für den weiteren spielverlauf interessant bleiben sollte.

danke und dschau
26.04.2003, 09:14 #21
Mud-Hunter
Beiträge: 32
Nach Änderung immer von vorne anfangen? - Nach Änderung immer von vorne anfangen?
hai miteinander!
Kann mir vielleicht jemand sagen, ob es möglich ist, und wenn ja, wie ich es schaffe, dass ich nicht immer ganz von vorne anfangen muss, wenn ich einen dialog oder ähnliches ändere.
Sogar, wenn ich mit dem Spacer die OUs "upgedated" habe und einen vorherigen Spielstand lade, sind die neuen OUs weg, wenn ich anschließend ein neues Spiel starte :-(
Dass die startup.d nur "einmal kommt" ist ja noch verständlich, aber wie soll man einen mod machen, wenn man bei der kleinsten Änderung mit einem neuen Spiel beginnen muss.
Ich hoffe, dass dem nicht so ist und ich einfach nur noch nicht draufgekommen bin :-)
danke und dschau
26.04.2003, 15:41 #22
Mud-Hunter
Beiträge: 32
Wo wird der Abzug der Lernpunkte berechnet? - Wo wird der Abzug der Lernpunkte berechnet?
hai miteinander!
Ich hab ein problem, dass wahrscheinlich so einfach ist, dass ich den wald vor lauter bäumen nicht sehe :-)
Ich will - um es etwas schwerer zu machen - die kosten der lernpunkte für stärke und geschicklichkeit erhöhen.
dazu habe ich erst mal in den globals die punkte fürs lernen von 1 auf zwei erhöht.
dadurch erscheint auch im dialog mit einem lehrer ganz richtig bei der auswahl zum lernen
stärke +1 (2 Lernpunkte)
stärke +5 (10 lernpunkte) usw.
weiters steht auch richtig, wenn ich dann die auswahl treffe, auf dem bildschirm
stärke +1
bzw stärke +5

allerdings werden auch wieder genausoviele lernpunkte abgezogen :-(
es muss wohl am folgenden scriptteil liegen, denn durch die änderungen in der globals.d allein, funzt es nicht.

func void JIP_8001_Granig_Teach_DEX_5()
{
B_BuyAttributePoints (hero, ATR_DEXTERITY, 5*LPCOST_ATTRIBUTE_DEXTERITY);
Info_ClearChoices (JIP_8001_Granig_Teach);
Info_AddChoice (JIP_8001_Granig_Teach,DIALOG_BACK ,JIP_8001_Gr anig_Teach_BACK);
Info_AddChoice (JIP_8001_Granig_Teach,B_BuildLearnString(NAME_LearnStr ength_5,5*LPCOST_ATTRIBUTE_STRENGTH,0) ,JIP_8001_Granig_Teach_STR_5);
Info_AddChoice (JIP_8001_Granig_Teach,B_BuildLearnString(NAME_LearnStr ength_1,LPCOST_ATTRIBUTE_STRENGTH,0) ,JIP_8001_Granig_Teach_STR_1);
Info_AddChoice (JIP_8001_Granig_Teach,B_BuildLearnString(NAME_LearnDex terity_5,5*LPCOST_ATTRIBUTE_DEXTERITY,0),JIP_8001_Granig_Teach_DEX_5);
Info_AddChoice (JIP_8001_Granig_Teach,B_BuildLearnString(NAME_LearnDex terity_1,LPCOST_ATTRIBUTE_DEXTERITY,0),JIP_8001_Granig_Teach_DEX_1);
};

ich habe im oberen script auch schon manche änderung durchgeführt, aber alle hatten den gleichen effekt:
wenn auf dem bildschirm nach der auswahl angezeigt wird: stärke +1 dann wird auch nur 1 punkt abgezogen.

wäre toll, wenn mir jemand sagen kann, an welcher stelle genau ich ein "*2" oder ein "/2" eintragen muss, damit er richtig rechnet, oder ob es noch eine .d-datei gibt, bei der ich was ändern muss.

danke und dschau
26.04.2003, 17:05 #23
Mud-Hunter
Beiträge: 32
Wo wird der Abzug der Lernpunkte berechnet? -
@KaiserArm!
Dort habe ich es ja geändert und bekommen darum auch die richtigen dialoge, nur die anzeige am Bilschirm - große gelbe schrift: +1 Stärke - ist immer die gleiche, wie die wirklichen Punkteabzüge. wenn ich das script so verändere, dass die schrift +2 stärke oder nur + 3 Geschicklichkeit (statt 5) einstelle werden auch vom "punktekonto" genau diese punkteanzahl abgezogen, was ja nicht sein sollte, denn ich will ja bei anzeige am bildschirm: + 1 Stärke bei den lernpunkten 2 punkte abzug!!!
danke und dschau
26.04.2003, 19:46 #24
Mud-Hunter
Beiträge: 32
Wo wird der Abzug der Lernpunkte berechnet? -
INSTANCE JIP_8001_Granig_Teach(C_INFO)
{
npc = JIP_8001_Granig;
condition = JIP_8001_Granig_Teach_Condition;
information = JIP_8001_Granig_Teach_Info;

important = FALSE;
permanent = TRUE; // So lange der Auftrag nicht erfüllt ist muß der
// Nsc den Dialog immer wieder bringen, alles
// andere wird in der Bedingung für den Dialog geregelt


description = "Kannst Du mir was beibringen";



};

FUNC int JIP_8001_Granig_Teach_Condition()
{
if (Npc_KnowsInfo ( hero, JIP_8001_Granig_AskForFood) // (siehe 1)
& int_GotFood) // (siehe 2)
{
return TRUE;
};
return FALSE;
};




FUNC VOID JIP_8001_Granig_Teach_Info()
{

AI_Output(hero,self,"JIP_8001_Granig_Teach_15_00"); //Kannst du meine Muckis stärker machen?
AI_Output(self,hero,"JIP_8001_Granig_Teach_11_01"); //Ja. Bei mir kannst du lernen, deine Geschicklichkeit zu verbessern oder deine Kampfkraft zu steigern.



Info_ClearChoices (JIP_8001_Granig_Teach);
Info_AddChoice (JIP_8001_Granig_Teach,DIALOG_BACK ,JIP_8001_Gr anig_Teach_BACK);
Info_AddChoice (JIP_8001_Granig_Teach,B_BuildLearnString(NAME_LearnStr ength_5,5*LPCOST_ATTRIBUTE_STRENGTH,0) ,JIP_8001_Granig_Teach_STR_5);
Info_AddChoice (JIP_8001_Granig_Teach,B_BuildLearnString(NAME_LearnStr ength_1,LPCOST_ATTRIBUTE_STRENGTH,0) ,JIP_8001_Granig_Teach_STR_1);
Info_AddChoice (JIP_8001_Granig_Teach,B_BuildLearnString(NAME_LearnDex terity_5,5*LPCOST_ATTRIBUTE_DEXTERITY,0),JIP_8001_Granig_Teach_DEX_5);
Info_AddChoice (JIP_8001_Granig_Teach,B_BuildLearnString(NAME_LearnDex terity_1,LPCOST_ATTRIBUTE_DEXTERITY,0),JIP_8001_Granig_Teach_DEX_1);


};

func void JIP_8001_Granig_Teach_BACK()
{
AI_Output(self,hero,"JIP_8001_Granig_Teach_BACK_11_00"); //Deine Kampfkraft ist um einiges gestiegen.

/*
AI_Output(self,hero,"JIP_8001_Granig_Teach_BACK_11_01"); //Dein Geschick im Umgang mit Bögen und Armbrüsten ist schon besser geworden.

AI_Output(self,hero,"JIP_8001_Granig_Teach_BACK_11_02"); //Komm bald wieder - Du musst noch besser werden, um alle umzunieten!
*/

Info_ClearChoices (JIP_8001_Granig_Teach);
};

func void JIP_8001_Granig_Teach_STR_1()
{
B_BuyAttributePoints (hero, ATR_STRENGTH, LPCOST_ATTRIBUTE_STRENGTH);
Info_ClearChoices (JIP_8001_Granig_Teach);
Info_AddChoice (JIP_8001_Granig_Teach,DIALOG_BACK ,JIP_8001_Gr anig_Teach_BACK);
Info_AddChoice (JIP_8001_Granig_Teach,B_BuildLearnString(NAME_LearnStr ength_5 ,5*LPCOST_ATTRIBUTE_STRENGTH,0) ,JIP_8001_Granig_Teach_STR_5);
Info_AddChoice (JIP_8001_Granig_Teach,B_BuildLearnString(NAME_LearnStr ength_1,LPCOST_ATTRIBUTE_STRENGTH,0) ,JIP_8001_Granig_Teach_STR_1);
Info_AddChoice (JIP_8001_Granig_Teach,B_BuildLearnString(NAME_LearnDex terity_5,5*LPCOST_ATTRIBUTE_DEXTERITY,0),JIP_8001_Granig_Teach_DEX_5);
Info_AddChoice (JIP_8001_Granig_Teach,B_BuildLearnString(NAME_LearnDex terity_1,LPCOST_ATTRIBUTE_DEXTERITY,0),JIP_8001_Granig_Teach_DEX_1);
};

func void JIP_8001_Granig_Teach_STR_5()
{
B_BuyAttributePoints (hero, ATR_STRENGTH, 5*LPCOST_ATTRIBUTE_STRENGTH);
Info_ClearChoices (JIP_8001_Granig_Teach);
Info_AddChoice (JIP_8001_Granig_Teach,DIALOG_BACK ,JIP_8001_Gr anig_Teach_BACK);
Info_AddChoice (JIP_8001_Granig_Teach,B_BuildLearnString(NAME_LearnStr ength_5,5*LPCOST_ATTRIBUTE_STRENGTH,0) ,JIP_8001_Granig_Teach_STR_5);
Info_AddChoice (JIP_8001_Granig_Teach,B_BuildLearnString(NAME_LearnStr ength_1,LPCOST_ATTRIBUTE_STRENGTH,0) ,JIP_8001_Granig_Teach_STR_1);
Info_AddChoice (JIP_8001_Granig_Teach,B_BuildLearnString(NAME_LearnDex terity_5,5*LPCOST_ATTRIBUTE_DEXTERITY,0),JIP_8001_Granig_Teach_DEX_5);
Info_AddChoice (JIP_8001_Granig_Teach,B_BuildLearnString(NAME_LearnDex terity_1,LPCOST_ATTRIBUTE_DEXTERITY,0),JIP_8001_Granig_Teach_DEX_1);
};

func void JIP_8001_Granig_Teach_DEX_1()
{
B_BuyAttributePoints (hero, ATR_DEXTERITY, LPCOST_ATTRIBUTE_DEXTERITY);
Info_ClearChoices (JIP_8001_Granig_Teach);
Info_AddChoice (JIP_8001_Granig_Teach,DIALOG_BACK ,JIP_8001_Gr anig_Teach_BACK);
Info_AddChoice (JIP_8001_Granig_Teach,B_BuildLearnString(NAME_LearnStr ength_5,5*LPCOST_ATTRIBUTE_STRENGTH,0) ,JIP_8001_Granig_Teach_STR_5);
Info_AddChoice (JIP_8001_Granig_Teach,B_BuildLearnString(NAME_LearnStr ength_1,LPCOST_ATTRIBUTE_STRENGTH,0) ,JIP_8001_Granig_Teach_STR_1);
Info_AddChoice (JIP_8001_Granig_Teach,B_BuildLearnString(NAME_LearnDex terity_5,5*LPCOST_ATTRIBUTE_DEXTERITY,0),JIP_8001_Granig_Teach_DEX_5);
Info_AddChoice (JIP_8001_Granig_Teach,B_BuildLearnString(NAME_LearnDex terity_1,LPCOST_ATTRIBUTE_DEXTERITY,0),JIP_8001_Granig_Teach_DEX_1);
};

func void JIP_8001_Granig_Teach_DEX_5()
{
B_BuyAttributePoints (hero, ATR_DEXTERITY, 5*LPCOST_ATTRIBUTE_DEXTERITY);
Info_ClearChoices (JIP_8001_Granig_Teach);
Info_AddChoice (JIP_8001_Granig_Teach,DIALOG_BACK ,JIP_8001_Gr anig_Teach_BACK);
Info_AddChoice (JIP_8001_Granig_Teach,B_BuildLearnString(NAME_LearnStr ength_5,5*LPCOST_ATTRIBUTE_STRENGTH,0) ,JIP_8001_Granig_Teach_STR_5);
Info_AddChoice (JIP_8001_Granig_Teach,B_BuildLearnString(NAME_LearnStr ength_1,LPCOST_ATTRIBUTE_STRENGTH,0) ,JIP_8001_Granig_Teach_STR_1);
Info_AddChoice (JIP_8001_Granig_Teach,B_BuildLearnString(NAME_LearnDex terity_5,5*LPCOST_ATTRIBUTE_DEXTERITY,0),JIP_8001_Granig_Teach_DEX_5);
Info_AddChoice (JIP_8001_Granig_Teach,B_BuildLearnString(NAME_LearnDex terity_1,LPCOST_ATTRIBUTE_DEXTERITY,0),JIP_8001_Granig_Teach_DEX_1);
};
27.04.2003, 16:15 #25
Mud-Hunter
Beiträge: 32
Keine Stufensteigerung mehr möglich -
danke @hornox
klappt jetzt einwandfrei
dschau
Seite 1 von 2  1  2