PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Abfrage ob Feind ..



Dalai Zoll
14.02.2013, 20:43
Ich würde gerne abfragen für einen Zauber, den man nicht auf "Friendly oder Neutral" anwenden können soll.

Ich finde keine Lösung die der Parser durchlässt .... Bsp.



if (TempAttitude (self, ATT_NEUTRAL))


Weiss das vielleicht jemand? Ich frage das in der B_Assess... + der B_MM_AssessDamage ab und da ist das Opfer "self".

Lehona
14.02.2013, 20:51
Geht es wirklich nur nicht durch den Parser? Dann gibt es wohl TempAttitude() nicht (Die Funktion dazu heißt auch anders - sie Externals.d). Außerdem ist vermutlich _work\Data\Scripts\Content\AI\Magic\C_CanNpcCollideWithSpell.d der geeignete Ort für die Implementierung.

Dalai Zoll
14.02.2013, 20:55
Geht es wirklich nur nicht durch den Parser? Dann gibt es wohl TempAttitude() nicht (Die Funktion dazu heißt auch anders - sie Externals.d). Außerdem ist vermutlich _work\Data\Scripts\Content\AI\Magic\C_CanNpcCollideWithSpell.d der geeignete Ort für die Implementierung.

Ja, klar, danke. Ich hatte mich da an einem G1 Script orientiert. Die Fehlermeldungen lauteten ja auch .... Unbekannt!

Dalai Zoll
14.02.2013, 21:17
Bringt mich aber auch nicht wirklich weiter, die Ermittlung von Attituden zwischen self und other. Ich will eigentlich abfragen ob "self" , egal wer es ist, HOSTILE ist oder nicht.

Lehona
14.02.2013, 21:31
Bringt mich aber auch nicht wirklich weiter, die Ermittlung von Attituden zwischen self und other. Ich will eigentlich abfragen ob "self" , egal wer es ist, HOSTILE ist oder nicht.

Kein NPC kann inhärent HOSTILE sein (Macht ja auch nur bedingt viel Sinn). Was hindert dich daran, einfach die Attitüde zwischen NPC und Held abzufragen?
Bzw. was genau meinst du mit HOSTILE?

Dalai Zoll
14.02.2013, 21:51
Hostile ist Feind.

Beispielsweise ist GIL_WOLF,ATT_HOSTILE,GIL_SHEEP.

Am einfachsten wäre doch eine Abfrage, ob other,ATT_HOSTILE,self ist. Ich bringe das aber irgendwie nicht hin.

Auszug Externals



FUNC INT NPC_GetAttitude (VAR C_NPC self, VAR C_NPC other {return 0;};
//Gibt die Attitude von self zu other zurück


Ich habe überhaupt keinen Plan wie ich da draus eine Abfrage machen soll, ob die Attitude Hostile ist oder nicht?

Milky-Way
14.02.2013, 21:59
if (Npc_GetAttitude(self, other) == ATT_HOSTILE)
oder
if (Wld_GetGuildAttitude(GIL_WOLF, GIL_SHEEP) == ATT_HOSTILE)
oder
if (Wld_GetGuildAttitude(self.guild, other.guild) == ATT_HOSTILE)

Die Funktionen stehen in der Externals.d

Dalai Zoll
14.02.2013, 22:05
Danke,

...wie oberhalb zu sehen haben mir ja die Externals nicht weiter geholfen, weil ich nicht in der Lage war daraus eine Abfrage zu basteln, bzw. das einfach nicht verstanden hatte.

Der Ahnungslose
15.02.2013, 17:10
Hat die auch von dir oft angeführte Textsuche in Dateien keine Ansätze liefern können, oder findet die func in G2 keine Verwendung mehr? Wenn ich mich recht erinnere hast du ja kein G1 Modkit installiert. Dort hätte die Suche durchaus Ergebnisse liefern sollen.

Dalai Zoll
15.02.2013, 19:38
Hat die auch von dir oft angeführte Textsuche in Dateien keine Ansätze liefern können, oder findet die func in G2 keine Verwendung mehr? Wenn ich mich recht erinnere hast du ja kein G1 Modkit installiert. Dort hätte die Suche durchaus Ergebnisse liefern sollen.

Die G1 Abfragen für Attituden, oder setzen von denselben, separat für temp oder perm sind in G2 "Unknown". Das meldet jedenfalls der Parser.

Der Ahnungslose
15.02.2013, 19:53
D.h. also du kommst hier erstmal nicht weiter? Da muss es doch Möglichkeiten geben.

Milky-Way
15.02.2013, 20:03
Er hat nun doch die Lösung? Er hatte sie nur selbst nicht gefunden / gewusst wie er sie benutzen kann.

Der Ahnungslose
15.02.2013, 20:33
Er hat nun doch die Lösung? Er hatte sie nur selbst nicht gefunden / gewusst wie er sie benutzen kann.

Eben das hat mich ja gerade bei Dalai gewundert, da er ja auch ein Fürsprecher für die Textsuche in Dateien ist und sich sonst immer zu helfen weiß... Die Suche im G1 Missions-Ordner wirft nämlich das aus:

39550

In den Dateien taucht es dann in gleicher Art auf wie von dir aufgezeigt:



if (Npc_GetAttitude(self,hero) != ATT_FRIENDLY )


Hat mich halt nur gewundert, warum Dalai dass nicht gefunden hat.