Construction Set NPC verfolgt mich - Offer Services?

MarkusW

Neuankömmling
Ich habe einen händler erstellt die eigentlich die meiste zeit damit beschäftigt sein sollte rumzuwandern (in einem haus). aber der npc scheint immer drauf zu achten das er mich auch sieht (so wie andere händler das auch machen).
liegt das an dem häkchen bei offer services und/oder (wie) kann man das vermeiden?
 
hm.. dann muss des wohl mit der Cell zusammen liegen.. du darfst in ein haus, solange dieses aufgeschlossen ist.. du müstest die Cell also einer Faction zu ordnen,... oder nein besser du machst: contuie when PC is near
 
hab ich beides gemacht. der npc und der pc sind in der selben faction und befinden sich in einem haus das der faction gehört. das häkchen bei continue if pc is near is auch gesetzt. trotzdem verfolgt mich der npc sobald ich nicht mehr in seinem sichtfeld bin (also er rennt nicht sondern geht, er will mir nix böses ;)). sobald ich offer services ausschalte geht er ganz normal der aktuellen tätigkeit nach.

gibts ne möglichkeit eine condition für ein package zu setzen das es nur ausgeführt wird wenn der pc soundso nah is?
 
Sicher, dass der PC in der selben Faction ist? Ist der PC auf einem genügend hohen Rang? Gehört die Cell vielleicht nicht einer Faction, sondern dem NPC selbst?

"Offer Services" hat jedenfalls nichts mit dem Verfolgen zu tun.
 
ich glaub schon. der kämpfergilde-porter verfolgt einen ja auch immer wenn man in der kämpfergilde is und sich im selben raum befindet und der hat auch nur das package wander. der hat mich immer erwischt wenn ich wen als vampir gebissen hab weil er mir immer nachgelaufen is.
 
Hast du schonmal "Offer Services" abgeschaltet? Verfolgt er dich dann auch noch? Kann ich mir eigentlich nicht vorstellen, "Offer Services" müsste nur angeben, dass er "Dienste anbietet" - sprich Handel, Reparieren, Zauber verkaufen oder Verzauberungen aufladen.
 
sobald ich offer services ausschalte geht er ganz normal der aktuellen tätigkeit nach.

offensichtlich is das miteinander verbunden. geh mal in die kämpfergilde und such den porter. dann geh hinter ne wand und warte. der wird dich verfolgen bis er wieder "sichtkontakt" hat. und dann schau dir mal seine AI an. der hat nur wander mit offerservices. (wenn du kein mitglied bist macht er das nicht! siehe conditions)
 
gibts ne möglichkeit eine condition für ein package zu setzen das es nur ausgeführt wird wenn der pc soundso nah is?

Sicher. Du kannst in den Conditions der Package ein GetDistance mit Target Player abfragen. Dann bräuchtest Du zwei Packages, eine mit "Offer Services" und die andere ohne. Allerdings evaluiert das Spiel die AI-Packages nicht dauernd, sodass man noch per Skript nachhelfen muss.

Nehmen wir an, Der Händler hat zwei Packages in seiner Liste:

Handeln (mit Bedingung GetDistance Player < 400)
NichtHandeln (mit Bedingung GetDistance Player > 500)

Dann könnte sein Skript sinngemäß so aussehen:

Code:
if (GetIsCurrentPackage Handeln) && (GetDistance Player > 500)
   evp
elseif (GetIsCurrentPackage NichtHandeln) && (GetDistance Player < 400)
   evp
endif

Durch das "evp" (EvaluatePackage) wird der Händler gezwungen, seine Packages neu zu evaluieren, jedesmal wenn der Spieler in seine Nähe kommt oder sich entfernt.

Ob das allerdings so funktioniert, ist fraglich. Denn sobald der Knabe seine Handeln-Package ausführt, kommt er Dir ja hinterher gelatscht. ;) Möglicherweise wird daher der nötige Abstand gar nicht erreicht?
 
  • Like
Reaktionen: MarkusW
ok cool das funktioniert glaub ich.
nur gibts ja die schöne funktion GetOffersServicesNow.
gibts da auch ein gegenstück dazu?
dann könnte mans so machen:

Code:
if (GetDistance Player > 128) && (GetOffersServicesNow == 1)
		Set OfferServices to 0
	elseif (GetDistance Player <= 128) && (GetOffersServicesNow == 0)
		Set OfferServices to 1
	endif

übrigens geht der npc nur. d.h. wenn man wegläuft kommt er einem nicht hinterher. außerdem bleibt er stehen solange man in seinem sichtfeld ist also sollte das funktionieren.

edit:
habs mit folgendem code getestet:
Code:
if (GetDistance Player > 128) && (GetOffersServicesNow == 1)
		evp
	elseif (GetDistance Player <= 128) && (GetOffersServicesNow == 0)
		evp
	endif
auf jeden falls funktioniert das. ich hab einfach noch nen eintrag in die AI gemacht der nur unter der condition läuft das ich nah genug dran bin. der npc is dann zwar ne zeit lang verwirrt aber dann macht er mit der anderen tätigkeit weiter wenn man weit genug weg is.
 
Zuletzt bearbeitet:
servus Geht des das man einen schon bestehenden Npc händler so umstellt das er auch gestohlene sachen kauft?
Will des bei dem Katzenmenschen bei der Dunklen Bruderschaft machen.
Ich habs schon geschaft das er gegenstände repariert und ich hab ihn zur Diebesgilden Fraktion dazugetan weil ich dachte dan gauft er mir die heise Ware ab aber dem ist nicht so:cry:
 
Jaaaaaaaaaaa!!!:shock::eek: Es hat geklapt!!!!! Danke Danke Danke!!!
An dier sollten sich einige ein Beispiel nehmen. Einfach ne klare verständliche andwort die die Lösung für mein Problem ist.
Frag schon seit fast zeitagen wie des geht.
und immer solche Antworten bekommen wie Schau dir doch einfach mal andere Hehler an !
Naja danke
Endlich 8)