World of Gothic Archiv > NWN-Hilfe
Problem
Seite 1 von 1  1 
03.07.2002, 10:21 #1
Shadowboss
Beiträge: 32
Problem
wie kann ich wenn ich ein objekt anklicke ein anderes beeinflussen?
z.b. wenn ich einen hebel drück, dass eine tür aufgeht oder wenn ich ein objekt zerstör, dass dann eine tür aufgeht....
03.07.2002, 10:27 #2
Gawain15
Beiträge: 1.084

Setz einfach eine Variable z.B. bei einem Hebel und die checkst du dann z.B. bei einer Tür.
03.07.2002, 10:35 #3
Shadowboss
Beiträge: 32

erklär das bitte mal einem vollkommenen deppen - also mir :)

wie setz ich die variable und bei welchem event check ich die variable dann ab? (OnHeartbeat,OnEnter,....)
03.07.2002, 16:52 #4
Shadowboss
Beiträge: 32

ihr schreibt immer setz einfach....., check einfach.... aber keiner kann mir sagen, wie das geht, obwohl es anscheinend so einfach ist.

trotzdem danke.
04.07.2002, 14:25 #5
Shadowboss
Beiträge: 32

warum bekommt man hier keine konkreten antworten?
04.07.2002, 14:27 #6
Gawain15
Beiträge: 1.084

sorry ist irgendwie untergegangen... ich schlaf jetzt erstmal und mach nachher mal was fertig...
04.07.2002, 14:57 #7
Gawain15
Beiträge: 1.084

Sorry hab eben noch was gegessen. Das script hier setzt du beim Hebel/Schalter bei OnUsed ein:

void main()
{
object oDoor = GetNearestObjectByTag("Tuer"); //Definiert welche Tür sich öffen soll, ich habe die Tür einfach Tuer genannt.
AssignCommand(oDoor,ActionOpenDoor(oDoor)); //Dadurch wird die von dir eben gerade definierte Tür geöffnet
SpeakString("Die Tuer hat sich geoeffnet!"); //Nen kleines Gimmik :D
}
04.07.2002, 15:20 #8
Shadowboss
Beiträge: 32

danke! ich hab eine konkrete antwort bekommen!!! :D

da bin ich doch gleich unverschämt und frag weiter:

kann ich statt eine tür aufzumachen auch ein objekt zerstören? (so wie im prolog die statue, die man mit zauber zerstören muss)
04.07.2002, 15:22 #9
Gawain15
Beiträge: 1.084

du kannst alles machen was du willst :D im Editor ist iene Liste ovn allen Befehlen, kannst dir ja mal durchlese. 1) Selber tun macht auch spass. 2) Wirst du eine menge interessante Möglichkeiten entdecken.

/e: geht vielleicht doch nicht :D, hab mich eben mal schlau gemacht und folgendes steht da:

// Destroy oObject (irrevocably).
// This will not work on modules and areas.
void DestroyObject(object oDestroy, float fDelay=0.0f)

Hab nicht probiert ob das funktioniert oder nicht, kannst ja mal testen und die Ergebnisse hier posten.

/e2: ich hab da nochwas gefunden: mit EffectDamage kannst du die Gegenstaände auch zerstören, du gibt ihnen halt ein paar hitpoints und gibst ihnen dann den Damage den sie brauchen um zerstört zu werden.
04.07.2002, 17:59 #10
Shadowboss
Beiträge: 32

hab jetzt mal folgendes script zum testen bei einem fußbodenhebel bei OnUsed reingeschrieben:

void main()
{
object oTriggerer;
oTriggerer = GetPCSpeaker();
SendMessageToPC(oTriggerer, "adfsdfsaadfs");
}

wenn ich den hebel benütze, passiert aber gar nix. warum? was mach ich falsch? er benutzt es einfach nicht! (ein häkchen bei benutzbar ist gesetzt)
habs auch schon bei OnSpellCast versucht und einen kältestrahl draufgeschmissen - wieder nix.

was mach ich falsch?
05.07.2002, 00:59 #11
Gawain15
Beiträge: 1.084

Ich verstehe nicht genau was du machen möchtest, kann du das mal bitte schreiben? Dann poste ich mal nen Script.
05.07.2002, 03:09 #12
Gawain15
Beiträge: 1.084

Ok ich hab das eben mal mit dem Destroy Object probiert und es klappt, ich hab die Tür zerstörrt, Destroy Object allein sieht allerdings nicht allzu spektakulär aus, es wird lediglich das zu zerstörende Object entfernt so weit ich sehen konnte. Allerdings kann man ja ein paar nette Effekte hinzufürgen.
05.07.2002, 05:43 #13
Shadowboss
Beiträge: 32

ich hab 8 säulen gemacht, die ich zerstören will, wenn der hebel gedrückt wird.

mein script dazu sieht wie folgt aus:

void main()
{
object oTriggerer = GetLastUsedBy();
SendMessageToPC(oTriggerer, "adfsdfsaadfs"); zum testen
string obj = "s1"; s1 heißt die erste säule
object sa = GetObjectByTag(obj, 0);
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_IMP_UNS UMMON), sa );
DestroyObject(sa,1.0);
}

irgendwie tut er aber dann nix (außer den text hinschreiben natürlich...
05.07.2002, 06:04 #14
Gawain15
Beiträge: 1.084

bin grad nen bischen Müde... probiersm al mit assigncommand und vielleicht musste oSA als Objektnamen nehmen... ich mach heut Abend mal nen Script falls du's bis dahin nich raus hast.
05.07.2002, 17:14 #15
Shadowboss
Beiträge: 32

jo, wär total nett, ich bekomms einfach nicht hin. :(
08.07.2002, 12:47 #16
Shadowboss
Beiträge: 32

HILFE! ich brings einfach nicht hin. :(
08.07.2002, 13:06 #17
Gawain15
Beiträge: 1.084

Sorry, war irgendwie untergegangen, ich probier nachher nochmal ein bischen rum.

/e: so hab ein wenig rumprobiert aber bin noch nicht wirklich weiter gekommen.
09.07.2002, 08:18 #18
Shadowboss
Beiträge: 32

mir reicht es ja schon, wenn ich die bestimmten objekte (s1-s8) verschwinden lassen könnte. die effekte und sounds kann ich dann ja eh noch einfügen.
09.07.2002, 10:30 #19
Gawain15
Beiträge: 1.084

Dann benutz einfach Destroyobject, dann verschwinden die Säulen einfach so... *puff* und weg sind sie.
11.07.2002, 06:05 #20
Shadowboss
Beiträge: 32

das hab ich jetzt gemacht und mit dem effekt, der beim verschwinden eines herbeigezauberten viehs gespielt wird *puff*, versehen. sieht richtig klasse aus.
Seite 1 von 1  1