|
Miriel Enfield
Prim Junkie
Join date: 12 Dec 2005
Posts: 389
|
04-11-2007 23:38
I'm making a modeling stand script for someone. The main script records values passed to it by another script (which is reading them off a notecard), then goes into a state where it's waiting for someone to sit. Once someone sits, it goes into another state ("AttemptedSit"  where it checks to make sure it's okay for the person to model. If it is okay, it goes into a state to keep track of how long the model has been on the stand ("Modeling"  . Once the model stands or is removed, it goes into yet another state and pays them for their time, then loops back around to the "Waiting" state. At least, that's how it's supposed to work in theory. In practice, the stand won't pay them. In fact, llGiveMoney() works fine up until the AttemptedSit state, and then it stops doing anything. I've checked: if I put it in the state_entry() event of AttemptedSit, it gives money. If I put it in the state_entry() event of Modeling (or any state after that), it doesn't. I know that the Modeling state is being entered because I'm having the script say so. The script does have debit permission, and I'm not broke. I'm using things like llGiveMoney(llGetOwner(), 4), to confirm that the problem is with the function and not the variables I'm passing it. I've even put the script to sleep before it's supposed to pay, just in case the queue is getting so clogged up that things get skipped. I've tried going to another sim. I've tried waiting a day. I was just struggling with this right now, and these aren't peak hours. Again, it works fine in the first half of the script, but after that, it does nothing. Can anyone shed some light on this?
|
|
Newgate Ludd
Out of Chesse Error
Join date: 8 Apr 2005
Posts: 2,103
|
04-12-2007 00:02
From: Miriel Enfield I'm making a modeling stand script for someone. The main script records values passed to it by another script (which is reading them off a notecard), then goes into a state where it's waiting for someone to sit. Once someone sits, it goes into another state ("AttemptedSit"  where it checks to make sure it's okay for the person to model. If it is okay, it goes into a state to keep track of how long the model has been on the stand ("Modeling"  . Once the model stands or is removed, it goes into yet another state and pays them for their time, then loops back around to the "Waiting" state. At least, that's how it's supposed to work in theory. In practice, the stand won't pay them. In fact, llGiveMoney() works fine up until the AttemptedSit state, and then it stops doing anything. I've checked: if I put it in the state_entry() event of AttemptedSit, it gives money. If I put it in the state_entry() event of Modeling (or any state after that), it doesn't. I know that the Modeling state is being entered because I'm having the script say so. The script does have debit permission, and I'm not broke. I'm using things like llGiveMoney(llGetOwner(), 4), to confirm that the problem is with the function and not the variables I'm passing it. I've even put the script to sleep before it's supposed to pay, just in case the queue is getting so clogged up that things get skipped. I've tried going to another sim. I've tried waiting a day. I was just struggling with this right now, and these aren't peak hours. Again, it works fine in the first half of the script, but after that, it does nothing. Can anyone shed some light on this? A script can only have permissions for one avatar at a time. Also Permissions are not additive. My guess is that you request debit permissions on yourself and then request animation permissions on the sitter which will be cancelling the debit permissions. The way aroudn is to split the functionality into two scripts.
|
|
Miriel Enfield
Prim Junkie
Join date: 12 Dec 2005
Posts: 389
|
04-12-2007 00:06
D'oh! You know, I've run into this problem before. I really should have known better this time around.
Thank you!
|