Money To Users

Répondre
Partager Rechercher
Bonjour a tous … jai besoin dun petite aide ….

Mon script doi paiyer a l’user …. Jai utiliser dans state_entry() llRequestPermissions(llGetOwner(),PERMISSION_DEBIT); et pour faire le payment llGiveMoney(); mes ça ne vas pas …. ¿Que ce que je fait mal?



Merci a tous
Citation :
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.

Citation :
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).
Question
Le vrai probleme
Le vrai probleme c'est que jai les utilisateur dans une list .... bien sur j'ai les noms ...
imagine...

list noms; //elle est global(exterieur a default)

dans une fonction qui est global (exterieur a default) je detonne par temp .... est jappele une otre fonction global (exterieur a default) la quelle doi faire le payment ... par example...

...
llGiveMoney(llList2Key(noms, 0), euro); //euro cest un integer

ç'est la oux je croix qui est mon probleme ... donc jai asaiyer de toute les façons possible ...

Dans ton example tu utilise le evenment touch mais dans mon cas il ni a pas d'evenment ... cette a dire que j'ai besoins de declancher par une cantiter de temp d'orloge.

Jespere ta reponse ...

Merci boucoup ... vraiment!!!!!!!!
Navrée, j'ai un peu de mal à te lire, mais d'après ce que j'ai compris, tu souhaites que les membres d'une liste reçoivent tous une somme S à intervale régulier ?

Dans ce cas, je pourrais te proposer le système suivant :

Citation :
integer moneyAmount=1; // definir la somme versee ici
float cashPulse=60.0; // intervale de temps exprime en secondes
list destinataires=[clef1,clef2,clef3,clef4]; // key des destinataires
default
{
state_entry()
{
llOwnerSay("Activation => state entry.");
llRequestPermissions(llGetOwner(), PERMISSION_DEBIT);
llSetTimerEvent(cashPulse);
}

on_rez(integer param)
{
llOwnerSay("Initialisation en cours.");
llResetScript();
}

timer()
{
listLenght=llGetListLength(destinataires);
integer count;
for(count=0;count<listLenght;count++)
{
moneyTarget=llList2Key(destinataires,count);
llOwnerSay("Sending money to "+llKey2Name(moneyTarget));
llGiveMoney(moneyTarget,moneyAmount);
}
}
}
Principe du script :
Toutes les x secondes ( variable cashPulse ) le script devrait :
- prendre le 1er nom de la liste ;
- t'annoncer qu'il envoit l'argent (via llOwnerSay) ;
- envoyer la somme donnée (variable moneyAmount) ;
- passer au nom suivant sur la liste et continuer la boucle tant qu'il y a des personnes sur la liste.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés