World of Gothic Archiv > Editing
Arena
Seite 1 von 1  1 
28.11.2002, 16:56 #1
Auron_X
Beiträge: 929
Arena
Hallo alle man!
Ich hab mal noch ne Sammelmodidee aufgegriffen und wollte in der Arena kämpfe veranstalten.
Angreifen tun sich Kharim und Kirgo schon. Im Moment gewinnt nur Kharim, aber wenn Kirgo wieder aufsteht geht er wieder zum Kampfpunkt und beginnt Kharim anzugreifen. Wie mache ich am besten eine Abfrage ob er besiegt wurde, sodass er dann nicht wieder angreift.

P.S.: Kharim sucht sich nach dem Sieg brav ne Beschäftigung, so wie er's soll.
Hoffe ihr wisst ne Lösung.
28.11.2002, 17:11 #2
Nightwulf
Beiträge: 102

Klar, ist kein Problem. In _workdatascriptscontentAIZS_HUMAN gibt es die ZS_Unconscious.d, die im Falle einer Bewusstlosigkeit aufgerufen wird. Hier brauchst Du bloss überprüfen, ob es sich dabei um Kirgo handelt und wenn ja ihm einen neuen ZS verpassen. Etwa so:

if (Hlp_GetInstanceID(GRD_251_KIRGO) == Hlp_GetInstanceID(self))
{
AI_StartState (self, ZS_WalkAround, 0, "");
return;

};

Statt ZS_Walkaround nimm halt den Zustand, den Du haben möchtest.

Bye,
Nightwulf
28.11.2002, 17:15 #3
Auron_X
Beiträge: 929

Klasse!
Danke.
Ich werds gleich mal probieren...
28.11.2002, 20:37 #4
Auron_X
Beiträge: 929
Die kämpfen ja!
Also erstmal, es funzt alles, ich bin noch bei der Feinabstimmung
der Kampfstärke,
aber da gibt es noch ein unbedeutendes Problem:

Wenn die Zuschauer so da oben stehen und gucken wollen kommen ja neuerdings zwei NPCs und kämpfen.
Da regen sich manche tierisch auf: "Ein Kampf!". Ist ja echt
ungewöhnlich, ein Kampf in der Arena. Aber wie kann man es abstellen, dass die sich bei dem Kampf wundern? Manche rennen sogar umher.
Also wenn einer ne Lösung weiss, dann melden.

[edit]Ich glaube vorhin wollten sich schon ein paar Schatten einmischen. Zumindest sind die in die Arena eingedrungen, am Ende des Kampfes.[/edit]
28.11.2002, 20:51 #5
Nightwulf
Beiträge: 102

Hm.... das ist schon schwieriger.... ich werde es mir angucken und melde mich, wenn ich was rausgefunden habe, ok ?

Bye
Nightwulf
28.11.2002, 21:12 #6
Michbert
Beiträge: 140
Re: Die kämpfen ja!
quote:
Zitat von Auron_X
Da regen sich manche tierisch auf: "Ein Kampf!". Ist ja echt
ungewöhnlich, ein Kampf in der Arena. Aber wie kann man es abstellen, dass die sich bei dem Kampf wundern? Manche rennen sogar umher.

*hehe* Wenn ich mir das jetzt so vorstelle, bestimmt lustig :D

Aber ich denke mal das dürfte wirklich schwierig sein, wenn ich daran denke, dass PB net mal bei Gorn in der Freien Mine es gescheit mit dem Gut/böse erkennungsSystem hingekriegt hat.
... Aber das wurde doch im Sammelmod gefixt, oder?
Könnte sowas mit den Zuschauern so ähnlich gehen?
28.11.2002, 22:31 #7
HornOx
Beiträge: 1.458
Re: Die kämpfen ja!
quote:
Ich glaube vorhin wollten sich schon ein paar Schatten einmischen.
Setz die Gilde der beiden Kämpfer für die Dauer des Kampfes auf GIL_NONE, dann wollen die Leute aus dem AL Kirgo nicht mehr zur Hilfe eilen.
28.11.2002, 23:03 #8
Nightwulf
Beiträge: 102

Grmpf, auf die einfachsten Ideen kommt man immer zuletzt... :)
Ist der einfachste Weg HornOx..
30.11.2002, 07:57 #9
GülleMüller
Beiträge: 472

hi,
also zum Problem mit dem "entsetzlichen" Kampf in der Arena würd ich sagen, daß du alle Zuschauer in einen Zustand versetzt, der das mittels anderer Wahrnehmungen umgeht (z.B. ZS_WatchFight).
Also wichtig wäre, daß du die Npc_PercEnable() richtig verlinkst.

Du kannst das ja so abwandeln, daß jeder Zuschauer entsprechend seines Lagers jubelt/erregt aufschreit.

Ansonsten viel Spaß beim finetuning :)

quote:
Da regen sich manche tierisch auf: "Ein Kampf!". Ist ja echt ungewöhnlich, ein Kampf in der Arena.

Woher sollen die Wissen, daß sie sich in einer Arena befinden und dazu den Kampf auch noch mit ansehen müssen ? ;)
Die KI ist leider noch laaaaaaaaaang net soweit.

GüMü
30.11.2002, 10:06 #10
Auron_X
Beiträge: 929

@GüMü: Wie denn das? Ich meine das die erkennen das da ihr Favorit gewinnt oder verliert? Gibt es da auch ne ZS für?

Wenn ich die Attribute (HP, Stärke ...) verändern möchte hab ich vor dem Loopbereich
code\:

Npc_ChangeAttribute (self, ATR_Hitpoints_max, 822);


eingetragen, und nach dem Kampf dann
code\:

Npc_ChangeAttribute (self, ATR_Hitpoints_max, -822);


gesetzt.
Aber wenn der Spieler jetzt z.B. abhaut bevor der Kampf zu Ende ist sind die Kämpfer stärker und die Kampfbalance is dahin.
Gibt es auch ne Möglichkeit die Attribute auf einen bestimmten Wert zu setzen? Also nicht "erhöhe um 5". Ich hab so ne Funktion nicht gefunden.
Wär schön wenn ihr mir auch dabei helfen könntet.
30.11.2002, 22:43 #11
HornOx
Beiträge: 1.458

quote:
Gibt es da auch ne ZS für?
Ja, sobald du ihn geschrieben hast. Um zu erkennen wer gewinnt kannst du ja die verbleibenden hitpoints der Kämpfer abfragen und vergleichen. Damit der ZS überhapupt verwendet wird mußt du per ZSpy schauen durch welche Wahrnehmung die NPC's einen Kampf als solchen erkennen und da die Reaktion umschreiben
quote:
Gibt es auch ne Möglichkeit die Attribute auf einen bestimmten Wert zu setzen?
Ist zwar keine Funktion aber probiers mal damit:
code\:
self.attribute[ATR_HITPOINTS_MAX]=822;
self.attribute[ATR_HITPOINTS]=822;
Seite 1 von 1  1