[Modding] cre kämpft nicht?

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
14.387
Ich habe eine neutrale (blauer Kreis) Questcharakter.
Folgende Skripte:
Class Skript: priest2.bcs
IF
See(NearestEnemyOf(Myself))
HaveSpell(CLERIC_HOLD_PERSON) // SPPR208.SPL (Hold Person)
!StateCheck(NearestEnemyOf(Myself),STATE_SLEEPING)
!StateCheck(NearestEnemyOf(Myself),STATE_HELPLESS)
THEN
RESPONSE #100
Spell(NearestEnemyOf(Myself),CLERIC_HOLD_PERSON) // SPPR208.SPL (Hold Person)
END

IF
See(NearestEnemyOf(Myself))
HaveSpell(CLERIC_CHARM_PERSON) // SPPR204.SPL (Charm Person or Mammal)
!StateCheck(NearestEnemyOf(Myself),STATE_SLEEPING)
!StateCheck(NearestEnemyOf(Myself),STATE_HELPLESS)
THEN
RESPONSE #100
Spell(NearestEnemyOf(Myself),CLERIC_CHARM_PERSON) // SPPR204.SPL (Charm Person or Mammal)
END

IF
See(NearestEnemyOf(Myself))
HaveSpell(CLERIC_BARKSKIN) // SPPR202.SPL (Barkskin)
THEN
RESPONSE #100
Spell(Myself,CLERIC_BARKSKIN) // SPPR202.SPL (Barkskin)
END

IF
See(NearestEnemyOf(Myself))
HaveSpell(CLERIC_DRAW_UPON_HOLY_MIGHT) // SPPR214.SPL (Draw Upon Holy Might)
THEN
RESPONSE #100
Spell(Myself,CLERIC_DRAW_UPON_HOLY_MIGHT) // SPPR214.SPL (Draw Upon Holy Might)
END

IF
See(NearestEnemyOf(Myself))
THEN
RESPONSE #100
Attack(NearestEnemyOf(Myself))
END
Default Skript: WTASIGHT.bcs
IF
Heard([ANYONE],111)
THEN
RESPONSE #100
MoveToObject(NearestEnemyOf(Myself))
END

IF
AttackedBy([GOODCUTOFF],DEFAULT)
!Allegiance(Myself,ENEMY)
THEN
RESPONSE #100
Enemy()
END

IF
See(NearestEnemyOf(Myself))
THEN
RESPONSE #100
AttackReevaluate(NearestEnemyOf(Myself),30)
END

IF
AttackedBy([ANYONE],DEFAULT)
THEN
RESPONSE #100
Attack(LastAttackerOf(Myself))
END
Override Skript:
IF
GlobalLT("bsClearedCatacombs","GLOBAL",7)
CombatCounter(0)
See([PC])
THEN
RESPONSE #100
Dialogue([PC])
END

IF
Global("bsTalkedToRestlessDead","GLOBAL",10)
GlobalLT("bsClearedCatacombs","GLOBAL",18)
CombatCounter(0)
See([PC])
THEN
RESPONSE #100
Dialogue([PC])
END
No flags set. Status: NORMAL (no flags). Allegiance: NEUTRAL.

Die cre steht direkt neben 3 feindlichen Skeletten, aber greift sie nicht an. Ich hätte es gerne dass sie mitkämpft, so, wie die Wachen beim Freundlichen Arm.
Was übersehe ich?
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
14.387
Danke, so kämpft er mit.

Ich hatte mir die Wachen beim Freundlichen Arm angesehen, die in der Area nahe der Treppe platziert sind, und die soweit ich weiß mitkämpfen. Diese sind NEUTRAL.
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
14.387
Der Nachteil von GOODBUTBLUE ist, dass der blaue Kreis anders angezeigt wird als bei den NEUTRAL Charakteren (Kreis ist immer vorhanden, zumindest in BGT, während er bei den anderen nicht immer gezeigt wird).

Ich glaube mittlerweile, dass man, wenn ein Questcharakter mit Alignment NEUTRAL mitkämpfen soll, ihm ein entsprechendes Skript geben muss, dass rote Kreaturen als eigene Feinde definiert. Ich lasse mich aber gerne anderweitig überzeugen, da ich, wie gesagt, die Wachen beim Freundlichen Arm in dieser Logik nicht verstehe, die ja gegen Tarnesh mitkämpfen.
 

Kensei

Senior Member
Registriert
02.06.2024
Beiträge
254
Ich meine, dass die Beregost Guards aus Jarls Adventurepack auch mitkämpfen, wenn der Kopfgeldjägerzwerg einen aus der Kneipe verfolgt. Vielleicht findet sich da etwas brauchbares wie er das gelöst hat?
 

Jarl

Senior Member
Registriert
28.04.2006
Beiträge
1.003
Ich glaube, es liegt an dem "See(NearestEnemyOf(Myself))". Eine neutrale CRE hat gewissermaßen keine Feinde. "See([ENEMY])" sollte funktionieren. (SEEENEMY.BCS)

Gruß
Jarl

EDIT: Oh, jetzt erst gesehen, dass der Thread nicht ganz aktuell ist :shine: Wahrscheinlich hast du das Problem längst gelöst.
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
14.387
@Jarl noch nicht wirklich; ich hatte der cre erstmal die Alegiance "GOODBUTBLUE" gegeben, was wie gesagt dazu führt, dass sie einen permanenten blauen Ring hat.
Danke für den Hinweis! Gar nicht so kleiner aber feiner Unterschied.
Leider finde ich im Spiel hier nur die SEEENEMY.bcs, die nur Fernkampfaktionen enthält. Ich bin erstens kein Taktiks-Skriptschreiber, außerdem fände ich es gut, wenn die Skripte mit SCS mitskalieren, was eigene nicht tun. Daher wären zwar "See Enemy"-Skripte gut, die auch für Priester/Mönche gelten, aber sie selbst zu schreiben halte ich für etwas übertrieben.
 

Jarl

Senior Member
Registriert
28.04.2006
Beiträge
1.003
Die SEEENEMY.BCS meiner SoD-Installation sieht so aus:

IF
!Range([ENEMY],5)
See([ENEMY])
!Allegiance(Myself,EVILCUTOFF)
!Class(LastSeenBy(Myself),INNOCENT)
!Class(LastSeenBy(Myself),FLAMING_FIST)
!Class(LastSeenBy(Myself),CANDLEKEEP_WATCHER)
!Class(LastSeenBy(Myself),AMNISH_SOLDIER)
!Class(LastSeenBy(Myself),TOWN_GUARD)
THEN
RESPONSE #100
EquipRanged()
AttackReevaluate([ENEMY],30)
END

IF
Range([ENEMY],5)
See([ENEMY])
!Allegiance(Myself,EVILCUTOFF)
!Class(LastSeenBy(Myself),INNOCENT)
!Class(LastSeenBy(Myself),FLAMING_FIST)
!Class(LastSeenBy(Myself),CANDLEKEEP_WATCHER)
!Class(LastSeenBy(Myself),AMNISH_SOLDIER)
!Class(LastSeenBy(Myself),TOWN_GUARD)
THEN
RESPONSE #100
EquipMostDamagingMelee()
AttackReevaluate([ENEMY],30)
END

Die CRE schaltet also auch in den Nahkampf, wenn die Entfernung zum Gegner innerhalb von 5 Fuß liegt.
Zauber sind aber nicht dabei...
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
14.387
Stimmt, ich hate das nicht geschaut. In BGT ist es nur mit EquipRanged().
IF
!Allegiance(Myself,ENEMY)
See([ENEMY])
!Class(LastSeenBy(Myself),INNOCENT)
!Class(LastSeenBy(Myself),FLAMING_FIST)
THEN
RESPONSE #100
EquipRanged()
AttackReevaluate([ENEMY],30)
END
Wobei bei Ermangelung einer Fernkampfwaffe eventuell auch einfach das AttackReevaluate ausgeführt wird (mit einer Nahkampfwaffe).
- Ist trotzdem nicht so das perfekte Skript für Mönch und Priester (für die ich es brauchen würde) die beide mit Untoten konfrontiert sind...
 
Oben