You should have your quest as a property too.
Quest Property PlayerVampireQuest Auto
....
(PlayerVampireQuest as PlayerVampireQuestScript).UpdateFeedTimer(VampireSpellCost)
YourQuestScriptName Property QuestScriptProperty Auto ; Filled with the quest it is attached toInt Property VampireSpellCost AutoEvent OnEffectStart(Actor akTarget, Actor akCaster) VampireSpellCost += 1 QuestScriptProperty.UpdateFeedTimer(VampireSpellCost)EndEvent
This got it compiling, but the int/float is not passing through to the other quest. It says it is zero. Isn't your code just passing the actor to my function, and not the float?
Here is the current magic effect script:Scriptname AbVampireSpeedScript extends activemagiceffect PlayerVampireQuestScript Property PlayerVampireQuest Auto Float Property VampireSpellCost AutoEvent OnEffectStart (Actor akTarget, Actor akCaster) VampireSpellCost += 1 PlayerVampireQuest.UpdateFeedTimer(VampireSpellCost)EndEvent
And here is the function from the vampire quest:
Float Property VampireSpellCost AutoFunction UpdateFeedTimer(float VampireSpellCost) FeedTimer += VampireSpellCost Debug.Notification("The spell cost was "+VampireSpellCost) Debug.Notification("FeedTimer is now "+FeedTimer)EndFunctionSeems to me that the effect start is passing the actor target to the function, so we need to get the property vampireSpellCost in the parenthesis don't we?
What about this:
PlayerVampireQuest.UpdateFeedTimer(VampireSpellCost +=1)
would that feed that value to the quest function?