Jump to content

Script variable to know your follower killed someone?


Vortaka

Recommended Posts

Hi! Well, everything seems to flow except line 27 of my "KillerTokenNodeQuestScript" (it's a renamed version of the one in the "how to" you spoke of (TokenCreatorNodeQuestScript). The line is this: set explosionref to player.PlaceAtMe TokenCreatorExplosion. I don't get the TokenCreatorExplosion. (And since I renamed most of the scripts names and effects and all, I'll have to recheck everything...)

 

(But now, I REALLY need to get to sleep!!! :P )

 

Edited:

 

Well, I even corrected some other problematic lines I addded... The only thing remaining now is: set explosionref to player.PlaceAtMe TokenCreatorExplosion. I can understand it's, like, a reference point that is placed on me... But I have no idea what TokenCreatorExplosion is... Is it a script? The spell itself? Or something totally different? (I guess/hope not)

 

Vortaka

 

P.S. I played around with the thing and it seems the only added parameters that work (for the TokenCreatorExplosion) is the armor (token) I created... Now I think to test it, when it activates, I'll simply send a "message" or a text box or whatever...

 

P.S.2. It seems that it isn't launched automaticly... I tried to showmessage as the script starts (the quest script) and nothing happens... Since it was a quest script, like the effect earlier on, I changed it to Quest. Now, I only want to see a message... :P (Tried both script and object)

 

P.S. I though again about the set explosionref to player.PlaceAtMe TokenCreatorExplosion. So I "set" an explosing (ref) at my position (player.PlaceAtMe) and the explosion works with or use (TokenCreatorExplosion). The Token thing must be the script itself (cause nothing else seems to work... It doesn't wanna save if it's something else)

Link to comment
Share on other sites

The PlaceAtMe function places the explosion that you created at the player's location. The explosion then runs an Effect Script on all Actors that it hits, which checks certain conditions (GetDead and GetItemCount in this case) and, if they evaluate to true, adds your token to their inventory. The token then runs an Object Script and checks if its container was killed by your follower. If it was, then it rewards the player with some experience.

 

If your Quest isn't running right off the bat, then you've probably forgotten to check the "Start Game Enabled" checkbox in the Quest window.

 

Cipscis

Link to comment
Share on other sites

I knew I forgot something kind of important... :(

 

The only thing is, when I create the quest, I cannot see any script... None at all... (Which is quite weird since I can see both with robco and enclave (they helped me a bit to figure out what I was missing).

 

Oh, hey, again, thanks for all the help! Really cool!

Vortaka

Link to comment
Share on other sites

Dammit!!! The only thing you need to do is to SAVE... After that, you have all the quests scripts you want!!!

 

Why do I always seem to skip steps!!!

 

Vortaka

 

P.S. Well, the message box works fine!!! Now, time for the ultimate test! The XP one!!!

 

 

Oh, by the way... (If you have some time, this is really not urgent). Like I told you before, I kind of don't know much about FO3 scripting... Using your script and the container and all, is there a way to know how much XP the monster you killed (who has the container) has?

 

(Personally, I'll divide it by three, but that's a simple / 3 function I guess!)

 

Oh, hey, Thank you time infinity+1 for all your help!

(Infinity is a variable, Infinity+1 is a number that cannot be surpass!)

Link to comment
Share on other sites

Hi, well, after some tests (my message box works!) I can tell you that the main "quest" script works ok... I change the place of my message (in the script itself) and everything works alright...

 

However, I can clearly state (with a lot of testing with Show message) that the base effect (KillerTokenAoEEffectScript) and the actor effect (KillerTokenSpell) as well as the script itself (KillerTokenScript) aren't called at all... (I don't see the messages even if "they" kill 10 ants...

 

Where ever I put the show message, in the quest script, in less then 5 seconds, it shows the message! Which is good!

 

To be effective, I'll tell you what I have up to now...

 

A Quest that calls the Quest Script (which works)

(Tt calls an explosion, right? Is there a way to see the explosion? So that I can see if it works itself)

 

An Actor Effect that calls KillerToken Spell (the base effect!)

A Base Effect that calls the KillerTokenAoEEffectScript

(The AoE script should add KillerToken (an unplayable armor)

The KillerToken (the armor) calls the script KillerTokenScript)

The script (KillerTokenScript) that will give the xp)

 

After rereading myself, I have a strange feeling that it's the explosion that doesn't happen...

 

What do you think?

 

Vortaka

Link to comment
Share on other sites

If your Quest is running, as confirmed by the success of your ShowMessage test, then the explosion should be working correctly as there's no reason for PlaceAtMe to fail. If you want to test it, then you could try swapping out your scripted Actor Effect for one that you can observe, or making the token playable so that you can check if it is being correctly added to their inventories.

 

Cipscis

Link to comment
Share on other sites

Well, I can almost 100%ly tell you that the Token is not placed in the inventory... Even more, the script itself isn't even run once... I put a showmessage with the well rested theme right below the Begind Onadd, and I don't see it... (Also tested with a piplight without luck). It looks like it's not even called...

 

A thing I do not know what the PC start effect and the Force Touch Explode do actually... And the Geck help isn't helping much... (I hope they don't mean nothing!) I tested them anyway, they don't seem to do a thing!

 

Well, I'll continue tomorrow... I don't know too much about console commands, but are there some that tells you if your spell or script or whatever are active? That would be nice...

 

Vortaka

Link to comment
Share on other sites

It might be that the conditions in your Actor Effect aren't evaluating to true, which would result in the token not being added.

 

As far as I know, the "PC Start Effect" and "Force Touch Explode" checkboxes are vestigial, left over from Oblivion. In Oblivion, "PC Start Spell" (the equivalent) determined whether or not the player started with the ability to select the spell, and "Force Touch Explode" determined whether or not a touch spell would "explode" if it didn't have a valid target. Given the way in which Fallout 3 handles (or rather doesn't handle) magic, I don't think these have any effect anymore.

 

Just about every script function can be called from the console. The main difference here is that you have to use FormIDs as opposed to EditorIDs. Given that your Actor Effect probably has a duration of 0, using IsSpellTarget probably won't help you, so you'll want to use something like GetItemCount instead.

 

One thing which I hadn't thought of before - the Actor Effect might not be being applied to dead Actors. If this is the case, then the tokens should be added to live Actors, and the IsKiller check should be made once the Actor has died.

 

Cipscis

Link to comment
Share on other sites

Well, as far as I can understand, the result is the same: the script of base effect isn't called in any way... (the showmessage test again). The Quest script is running fine! All the "if"s are called when the time comes. But the base effect script isn't activated at all...

 

The showmessage comes before the "if" itself, so even if they aren't applied or aren't true, the showmessage still should show, right? It's like... the scripts are there but aren't called at all...

 

Vortaka

 

P.S. So, if we look at it with "steps", first the Quest Script is called. It does it's "if" and everything... It "should" do an explosion thingy... But it doesn't seem to... So it doesn't give any items or run any related scripts afterward... The base effect isn't called either I'd guess...

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...