Difference between revisions of "Talk:GetRider"
Jump to navigation
Jump to search
imported>ABO |
imported>QQuix (Answered ABO and fixed indentation) |
||
Line 13: | Line 13: | ||
:[[User:QQuix|QQuix]] 10:34, 3 August 2009 (EDT) | :[[User:QQuix|QQuix]] 10:34, 3 August 2009 (EDT) | ||
: Yeah, sorry it does work and my code that didn't work was probably using it wrong. The following code didn't seem to ever detect when being ridden: | :: Yeah, sorry it does work and my code that didn't work was probably using it wrong. The following code didn't seem to ever detect when being ridden: | ||
<dl><dd> | <dl><dd><dl><dd> | ||
if (getRider == 0) | if (getRider == 0) | ||
; do something when we are not being ridden | ; do something when we are not being ridden | ||
Line 20: | Line 20: | ||
; do something when we are being ridden | ; do something when we are being ridden | ||
endif | endif | ||
<dl> | </dl></dl> | ||
However assigning 'tempRef = getRider' seems to work correctly. | ::However assigning 'tempRef = getRider' seems to work correctly. [[User:ABO|ABO]] 09:19, 5 August 2009 (EDT) | ||
[[User:ABO|ABO]] 09:19, 5 August 2009 (EDT) | |||
:::For the record (since you seem to have a working solution): I placed your code in the gamemode block of the horse script and it does work for me. | |||
:::Note that in the OnActivate block it would work kind of in reverse: when the player/NPC activates the horse, it returns 0 (as the horse is not being ridden yet). When activated again to dismount, it returns the ref to the actor that is dismounting. GetActionRef does return the mounting actor. [[User:QQuix|QQuix]] 13:05, 5 August 2009 (EDT) |
Latest revision as of 12:05, 5 August 2009
This appears to not be working for me using OBSE 0017b... did it ever work? What is it supposed to return if the horse is being ridden by the player? What is it supposed to return if no one is riding the horse? What is supposed to happen if it is called on something that isn't a horse? ABO 09:13, 3 August 2009 (EDT)
- It works for me both in OBSE v17b and v18. It correctly returns the player or NPC reference. Returns a null reference if there is no one riding the horse. Returns a null reference if called on an NPC or on a container. Used this code for testing:
- ;*Player mounts the horse* set xRef to MyHorse.GetRider PrintToConsole "Rider = %i %n" xRef xRef ;Shows Player FormID and Name ;*Player dismounts the horse* MyHorse.activate MyNPC 1 ; MyNPC mounts the horse set xRef to MyHorse.GetRider PrintToConsole "Rider = %i %n" xRef xRef ;Shows MyNPC FormID and Name
- QQuix 10:34, 3 August 2009 (EDT)
- Yeah, sorry it does work and my code that didn't work was probably using it wrong. The following code didn't seem to ever detect when being ridden:
- if (getRider == 0) ; do something when we are not being ridden else ; do something when we are being ridden endif
- However assigning 'tempRef = getRider' seems to work correctly. ABO 09:19, 5 August 2009 (EDT)
- For the record (since you seem to have a working solution): I placed your code in the gamemode block of the horse script and it does work for me.
- Note that in the OnActivate block it would work kind of in reverse: when the player/NPC activates the horse, it returns 0 (as the horse is not being ridden yet). When activated again to dismount, it returns the ref to the actor that is dismounting. GetActionRef does return the mounting actor. QQuix 13:05, 5 August 2009 (EDT)