Talk:OnAttachedToCell - ObjectReference

Revision as of 21:50, 14 December 2012 by imported>HawkFest

It would be appreciated if this page would go over what "attached" and "unattached" mean as it relates to ObjectReferences, as I have no idea and I can't find information elsewhere. -- Chesko

I second the above. This page needs to be more informative. Antares (talk) 10:21, 6 October 2012 (EDT)
There's an example with Balimund who's a trainer and a merchant. The following script named TrainerGoldScript is attached to him:
Scriptname TrainerGoldScript extends Actor
int Property TrainerType Auto  
miscobject Property gold001  Auto  

Function CheckGold()
int MaxGold
	if TrainerType==1
		MaxGold=500
	elseif TrainerType==2
		MaxGold=800
	elseif TrainerType==3
		MaxGold=1500
	else
		MaxGold=500
	endif
int GoldCount=GetItemCount(Gold001)
	if GoldCount > MaxGold
		RemoveItem(Gold001, (GoldCount-MaxGold))
	endif
EndFunction

Event OnDetachedFromCell()
	CheckGold()
EndEvent

Event OnCellDetach()
	CheckGold()
EndEvent
CheckGold function is called from OnDetachedFromCell and OnCellDetach events. When those events happen is a total mystery to me. However, a look at what CheckGold function does unveils a little clue : Balimund's TrainerType property is initialised to 2, which means that he'll end-up with maximum 800 gold when one of those two events happen. If he has less then he'll end up with the same amount. Personally I can't go further down the logic, since in my game I haven't seen this happen : either there's a 2 days merchant reset taking place, which does not leave the merchant with a lesser amount than the "default" one, either we can trade with whatever amount has been traded up until now, which does not remove any gold above some default value as is the case here via MaxGold function variable (set by the TrainerType property). A mystery... Could this be related to training?
--HawkFest (talk) 21:49, 14 December 2012 (EST)
Return to "OnAttachedToCell - ObjectReference" page.