World of Gothic Archiv
> Editing Rüstung wenn Aufgabe |
|
28.01.2004, 19:37 | #1 | ||
Realdennis Beiträge: 279 |
Rüstung wenn Aufgabe
Kann man eine Rüstung,oder ein Schwert bekommen,wenn man eine bestimmte anzahl an Aufgaben in dem Lager geschafft hat? Wenn ja,wie? |
||
28.01.2004, 19:57 | #2 | ||
Makador Beiträge: 431 |
Erstell einfach eine globale Variable, die du beim bewältigen einer der Quests hochzählst (also einfach mit 1 addierst) und bau bei dem NPC, der dir die Rüstung geben soll im Dialog einfach eine if Abfrage ein, so dass er dir die Rüstung gibt, sobald der Wert hoch genug ist. Musst natürlich bedenken, dass die Variable am Anfang auf dem Wert 0 steht und sie bei 4 Quests erst auf dem Wert 3 stände. |
||
28.01.2004, 20:01 | #3 | ||
Realdennis Beiträge: 279 |
steigen die werte dann bei jeder gelösten aufgabe im spiel,oder muss der Spieler dann die Aufgaben immer bei dem bestimmten NPC machen? |
||
28.01.2004, 20:33 | #4 | ||
Makador Beiträge: 431 |
Das kommt ganz drauf an, wo du die Steigerung der Variable einträgst ^^ |
||
29.01.2004, 15:13 | #5 | ||
Realdennis Beiträge: 279 |
Ja, aber wenn ich die variable bei dem bestimmten NPC einfüge und if then else mache dann müsste dass doch nur bei dem hochzählen oder wie...? |
||
29.01.2004, 15:55 | #6 | ||
Makador Beiträge: 431 |
Häh?! Also nochmal von vorne. Sagen wir mal du hast 4 Quests, von beliebigen Npcs und wenn du diese 4 Quests gelöst hat, soll dir NPC X eine Waffe geben, sobald du ihn ansprichst. 1. Erstelle eine globale(!) Variable 2. Füge bei jeder Quest, sobald diese abgeschlossen wird ein Variable = Variable + 1; ein (kA ob Daedalus auch Variable++; mag) 3. Nun fügst du bei dem NPC der dir die Waffe geben soll z.B. einen "important" Dialog ein (damit er dich dann automatisch anspricht) und setzt als Bedingung dafür if (Variable == 3) { return 1; }; ein. 4. Dann noch in den Dialog, dass er dir die Waffe gibt. quote: Wie gesagt, du sollst die Variable global erstellen, glaub die Datei dafür hieß auch globals.d, von daher gilt sie überall. P.S. Mag ein, dass ein paar Fehler drin sind, hab schon lange nix mehr mit Daedalus gemacht. |
||
29.01.2004, 21:24 | #7 | ||
alpha32d Beiträge: 416 |
quote:Da steht: bestimmte anzahl an Aufgaben. Da ist die, von Makador, die beste Lösung. Wenn du bestimmte Quests haben willst um das Schwert zu bekommen, könntest du zwei sachen ausprobieren: 1. Die von Makador mit der Variable oder du nimmst AI_Output für die bestimmten Werte. Die Lösung von Makador mag die Engine wahrscheinlich lieber, weil es sauberer ist und gelesen wird. |
||
30.01.2004, 13:19 | #8 | ||
Wolfie Beiträge: 35 |
Oder man sucht sich einfach eine ähnliche Aufgabe und schaut sich den Code des Scripts an, copiert ihn, ändert ihn gegebenfalls noch etwas ab und fertig. |
||
30.01.2004, 13:56 | #9 | ||
Realdennis Beiträge: 279 |
Kann mir jemand die Scripte geben? ich find nirgendwo was... oder is das mit other.exp 0 + 100 oder so was? |
||
30.01.2004, 15:26 | #10 | ||
Makador Beiträge: 431 |
PB hat es fast immer anders gemacht. Die überprüfen meist in einer if Abfrage, welche Quests schon den Status Sucess besitzen. Ich bin aber der Meinung, dass das bei einer gewissen Menge beliebiger Quest etwas umständlich wäre. |
||
31.01.2004, 11:40 | #11 | ||
Realdennis Beiträge: 279 |
Ich versteh immer noch nicht ganz ,wie ich das machen soll. Ist das so wie bei Diego,wenn man in AL aufgenommen wird.? So und soviele quests dann kanste...oder wie? |
||
31.01.2004, 15:59 | #12 | ||
Makador Beiträge: 431 |
Also sorry, aber wenn du nicht mal das kannst. Das ist die einfachste Programmierung überhaupt. Im Grunde besteht es ja nur aus den paar Dingen hier: var int Variable; (in der Story_Globals.d) Dann Quest 1: [Questinhalt] [Quest bestanden] Variable = Variable + 1; Dann Quest 2: [Questinhalt] [Quest bestanden] Variable = Variable + 1; Dann Quest 3: [Questinhalt] [Quest bestanden] Variable = Variable + 1; Dann Quest 4: [Questinhalt] [Quest bestanden] Variable = Variable + 1; Beim NPC: INSTANCE NPCusw. (C_INFO) { npc = NPC; condition = NPCusw._Condition; information = NPCusw._Info; permanent = 0; important = 1; }; FUNC INT NPCusw._Condition() { if (Variable == 3) { return 1; }; else { return 0; }; }; FUNC VOID NPCusw._Info () { AI_Output (self,other, "Npcusw._01");//Bla bla, du hast die Aufgaben erfüllt B_GiveInvItems(other,self, Item, 1); }; Aber ich bezweifle mal extrem stark, dass du in der Lage bist einen eigenen Mod zu erstellen, wenn du nicht mal die Geduld hast, dir die einfachsten Sachen wie diese hier beizubringen. |
||
31.01.2004, 16:59 | #13 | ||
Realdennis Beiträge: 279 |
ja,das hab ich ja auch schon geschafft,ich wusste nur nicht on man die variablen so schreiben musste und so! und danke... :S |
||
31.01.2004, 17:09 | #14 | ||
alpha32d Beiträge: 416 |
Sieh es ein Realdennis, nur Sayajins sind die besten Pogrammierer:D edit: quote:Das ganze besteht ja aus der einzelnen Variable, somit hast du garnichts gemacht oder verstanden, wie du gerade selbst gesagt hast. |
||
31.01.2004, 17:19 | #15 | ||
Makador Beiträge: 431 |
quote: Wie wäre es mal mit konkreten (genauen, falls du das Wort noch nicht kennst) Fragestellungen? Wenn man schon den Threadtitel: "Rüstung wenn Aufgabe" liest, läufts einem kalt den Rücken runter. Ich hoffe ihr arbeitet an einem Orkmod, da passt deine Sprache gut hin. quote: Genau und ich zweifle nur an deiner Intelligenz und so! und danke... :S Mal im ernst: Les dir den Thread nochmal durch. Du wirst merken, dass deine Fragen so ungennau sind, dass man 1. nicht verstehst was du überhaupt von einem willst und dass es 2. so wirkt, wie als könntest du nicht mal eine Variable erstellen. Und dann war meine Kritik wohl angemessen, aber einige Leute können damit wohl nicht umgehen. Wer keine Kritik verträgt, kann niemals besser werden! |
||
01.02.2004, 15:22 | #16 | ||
Realdennis Beiträge: 279 |
Jojo,schon ok... Trotzdem danke für hilfe!;) |
||
|