state_entry() llRequestPermissions(llGetOwner(),PERMISSION_DEBIT);
Je ne me suis jamais essayée à utiliser cette fonction mais je vais essayer de t'éclairer un peu.
Etant donnée ta formulation je suppose que l'objectif est de prendre la somme d'argent au propriétaire et de la donner à l'utilisateur.
integer moneyAmount=1; // definir la somme versee ici
default
{
state_entry()
{
llOwnerSay("Activation => state entry.");
llRequestPermissions(llGetOwner(), PERMISSION_DEBIT);
}
on_rez(integer param)
{
llOwnerSay("Initialisation en cours.");
llResetScript();
}
touch_start(integer total_number)
{
llOwnerSay("Activation => touch start.");
llGiveMoney(llDetectedKey(0),moneyAmount);
}
}
En gros, ce que devrait faire le script ci dessus :
- se reset lorsque l'objet est rez ;
- demander la permission de débit à l'owner de l'objet ;
- donner 1$L à la personne qui active l'objet à chaque fois qu'elle clique dessus (sans limite de quantité ni restriction d'utilisateur, alors attention  ) ;
Parcontre, étant au travail, je n'ai ni accès à SL ni accès à mon analyseur de script off-line donc il est possible que mon code contienne des erreurs de synthaxe (me connaissant, il y a des chances qu'il y en ait ... ) et je n'ai pas moyen de le tester avant ce soir.
Si ça ne marche pas, dis moi ce qui se passe ou ne se passe pas :
- reçois tu la demande de permission de débit lors du rez ?
- y a t'il un message d'erreur ? si oui quel est-il ?
Si le script fonctionne, tu peux supprimer tout ou partie des lignes contenant llOwnerSay() : elles servent à suivre le cheminement du fonctionnement du script afin de chasser les bugs. Elle permettent de suivre la chronologie d'activation des fonction et c'est très pratique lorsqu'un script commence à avoir un nombre important de conditions( IF, on_touch, on_rez etc).
|