Construction Set Cast <Spell> Player im Result Script

MarkusW

Neuankömmling
hallo!

ich hab jetzt mal den versuch gestartet ein eigenes plugin zu schreiben.
bis jetzt funktioniert das ja ganz gut. ich hab nen npc der in der landschaft steht und sich mit einem unterhält. jetzt hab ich aber das topic heilen und möchte, dass wenn ich ihn darauf anspreche der selbe zauber wie an einem altar ausgeführt wird. ich hab das versucht indem ich einfach in dem feld result script "cast altarNine player" eingefügt habe und ein häkchen bei goodbye eingefügt hab. da tut sich aber garnichts. darauf hin hab ich nen zauber erstellt der keine magiepunkte kostet, den dem npc hinzugefügt und es dann mit "<NPCRef>.Cast <NeuerZauberID> Player" versucht aber das hat den selben, nicht vorhandenen effekt. (hab auch ein paar andere sachen probiert die alle nicht wollten und die ich jetzt vergessen hab)

weiß jemand von euch wie man sowas hinkriegt?
 
Versuch mal folgenden ResultScript:

Code:
ref mySelf
ref targetref

    set targetref to GetActionRef
    set mySelf to getSelf
    targetref.pms altarNine
    mySelf.pms altarNine
Aber keine Garantie, da nicht getestet.

edit: Achja. Willkommen im Forum. ;)
 
Oder es liegt daran, dass

1. Dein NPC den Zauber nicht "im Inventar" hat oder

2. Du musst noch die REFID eingeben also DeinNPCREF.cast ZauberID player

mfG L
 
@fellan: danke werds mal so probiern
edit: Invalid Effect Shader 'altarNine'...


@londarus trentos: das hab ich beides beachtet und gemacht aber es kam einfach keine reaktion.
 
Zuletzt bearbeitet:
Dann versuchs mal mit player.cast zauberid player . Dann zaubert der player auf den player. Sieht zwar glaubsch net gut aus aber machs mal zum Test.

mfG L
 
muss vor dem cast unbedingt ne actorref stehen?
so wie ich das aus der hilfe entnommen hab is das eigentlich nicht notwendig und das altarscript sagt einfach nur (unter bestimmten bedingungen) "cast altarnine player".

edit:
habs jetzt so probiert:
ref KmySelf
ref Ktargetref
set Ktargetref to GetActionRef
set KmySelf to getSelf
cast altarNine Ktargetref
cast altarNine KmySelf

wenn ich auf compile drück kommt keine meldung, aber sobald ich speicher stürzt das cs ab ;)
 
ich hab das versucht indem ich einfach in dem feld result script "cast altarNine player" eingefügt habe und ein häkchen bei goodbye eingefügt hab. da tut sich aber garnichts.

Zaubern aus Resultskripten heraus ist meiner Erfahrung nach problematisch. Soweit ich sagen kann, klappt das nur mit Zaubern, die der NPC auf sich selbst ausspricht, aber nicht mit solchen der Sorte "Ziel" oder "Berühren". Du kannst das aber über den Umweg eines "normalen" Skripts, zweckmäßigerweise wohl dem des NPC's, lösen.

Bsp.:

Code:
scn NPCSkript    ; Dieses Skript läuft auf dem NPC der Zaubern soll

short Zaubern

begin GameMode

   if Zaubern                ; Wird im Resultskript gesetzt
      set Zaubern to 0
      Cast SpellID Player
   endif
end

Und dazu im Resultskript des Topics die folgende Zeile eintragen:

set NPCRef.Zaubern to 1

darauf hin hab ich nen zauber erstellt der keine magiepunkte kostet, den dem npc hinzugefügt

Im Zauber-Inventar muss der NPC den Spruch nicht unbedingt haben, wenn dieser per Cast in einem Skript ausgelöst wird. Allerdings muss der NPC über die Voraussetzungen und genügend Magicka verfügen, den Zauber aussprechen zu können.

@Fellan:
In einem Resultskript können keine Variablen definiert werden. Der Compiler akzeptiert das zwar ohne zu maulen, doch funktionieren tut es nicht. Die Variablen behalten stets den Wert 0. Sofern man Variablen in einem Resultskript benötigt, müssen diese in einem Objekt- oder Questskript oder als Global deklariert sein

Edit: Deshalb stürzt es auch bei MarkusW ab, weil die Ref-Variablen undefiniert sind.

Edit2: Sorry, falsch gelesen. Dachte, das Spiel stürzt ab (Was es vermutlich auch täte, wenn ihm das CS nicht bereits zuvorkommen würde ;)

@Londarus Trentos:
Muss beides nicht sein. Das Resultskript "weiß" auf welchem NPC es läuft, daher kann man hier auf die RefID verzichten. Bzgl. Inventar Siehe oben.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: MarkusW
Super so gehts!
der spell wird übrigens vom npc gecasted obwohl ich nur casr <spell> player verwende (nur falls es wen interessiert ;))

noch ne andere frage:
wenn ich nen neuen zauber erstelle, kann man den dann irgendwo einfach so kaufen oder muss der im zaubermenü des jeweiligen npcs sein? das möchte ich nämlich vermeiden.

ich bewundere übrigens alle modder die diese krassen mods schreiben. ich bin zwar programmierer aber dieses construction set is echt schwer zu kapiern ;)