World of Gothic Archiv > Editing
Rüstung wenn Aufgabe
Seite 1 von 1  1 
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:
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...?


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:
Kann man eine Rüstung,oder ein Schwert bekommen,wenn man eine bestimmte anzahl an Aufgaben in dem Lager geschafft hat?
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:
ja,das hab ich ja auch schon geschafft,ich wusste nur nicht on man die variablen so schreiben musste und so!
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:
Zitat von Realdennis
ja,das hab ich ja auch schon geschafft,ich wusste nur nicht on man die variablen so schreiben musste und so!


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:
ich wusste nur nicht on man die variablen so schreiben musste und so!
und danke... :S



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!;)
Seite 1 von 1  1