Agir sur une autre eprsonne

Résolu
Signaler
Messages postés
30
Date d'inscription
vendredi 15 septembre 2006
Statut
Membre
Dernière intervention
9 mai 2007
-
Messages postés
30
Date d'inscription
vendredi 15 septembre 2006
Statut
Membre
Dernière intervention
9 mai 2007
-
Désolé de "mass-poster" et j'espère ne plus à avoir à le faire. Mais j'ai encore un 3ème problème :



Voilà, sur mon chan, en executant une commande, je voudrais voler des "pangya" à une personne pour les posséder, ceci dans le cadre d 'un jeu. Sous la forme : !pangya.vole "pseudo". Bien entendu, "pseudo" est à remplacer par un nick présent sur le salon.
Ceci diminue donc la valeur de "pangya" du pseudo choisi et augmente la valeur de "pangya" du pseudo qui éxécute la commande, sous certaines conditions.

Voici ma remote :

on ^1:text:!pangya.vole:#:{
  if ( %allez [ $+ [ $nick ] ] >= 1 ) && ( %pangya [ $+ [ $2 ] ] >= 20 ) {
    /msg $chan �3;13,1 $nick �3;11,1vole�3;4,1 20 pangya �3;11,1à�3;4,1 $2 �3;11,1!
    /inc %pangya [ $+ [ $nick ] ] 20
    /dec %pangya [ $+ [ $2 ] ] 20
    /set %allez [ $+ [ $nick ] ] 0
  }
  else { /notice $nick �3;6,1Impossible d'éxecuter cette action pour le moment. }
}

Globalement, si la variable %allez de celui qui lance la commande est supérieure ou égale à 1, alors il peut prendre 20 "pangya" à l'autre. Mais je n'arrive pas à faire fonctionner ce système ! Evidemment, sinon cela revoie vers l'impossibilité d'éxécuter la commande. En fait, rien ne se passe quand je tappe !pangya.vole "pseudo".

4 réponses

Messages postés
281
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
14 avril 2008

Voila j'ai reviser ton code rapidement:

on *:text:*:*:{
  if ($1 == !pdfp) {
    if (!$2) { notice $nick �3;8,1Erreur de �3;4,1commande�3;8,1. Tapez : �3;7,1!pdfp }
    elseif (!$3) { notice $nick �3;8,1Erreur de �3;4,1commande�3;8,1. Tapez : �3;7,1!pdfp }
    elseif ($3 == 0) { notice $nick �3;8,1Erreur de �3;4,1commande�3;8,1. Tapez : �3;7,1!pdfp <nombres de pdfp supérieur à 0> }
    else { notice $nick �3;0,1Tu viens d'attribuer�3;8,1 $3 points de fidélité pangya �3;0,1à�3;4,1 $2 �3;0,1! | notice $2 �3;0,1Tu reçois�3;8,1 $3 points de fidélité pangya �3;0,1de la part de�3;4,1 $nick �3;0,1! | inc %pdfp [ $+ [ $2 ] ] $3 }
  }
}

J'ai pas testé mais en théorie ça devrait fonctionner
Messages postés
281
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
14 avril 2008

Je considère que ce remote ce trouve déjà sur un autre mIRC que le tien.

As-tu essayer de coller les paranthèses sur tes conditions ?
Ex: if (%allez [ $+ [ $nick ] ] >= 1) && (%pangya [ $+ [ $2 ] ] >= 20) {

Sinon je vois pas trop ou est le problème.
Messages postés
30
Date d'inscription
vendredi 15 septembre 2006
Statut
Membre
Dernière intervention
9 mai 2007

En fait j'ai résolu mon problème avec la précédente remote tout seul, mais j'en ai un autre (encore ?!). Et oui !

Je voudrais maintenant attribuer des points de fidélité à des users de mon salon grâce à mon bot. Pour ce faire, je voudrais que ça se passe comme cela : !pdfp pseudo points de fidélité à attribuer. Donc, une commande de type !commande pseudo chiffre.
Hélas, cela devient un peu compliqué pour moi ! J'ai éssayé de concevoir une remote eprso pour cela, mais ça ne fonctionne pas ou trés mal, la voici :

On *:text:*:*:{
  if ($1 == !pdfp) {
    if ( $2 == $null ) { notice $nick �3;8,1Erreur de �3;4,1commande�3;8,1. Tapez : �3;7,1!pdfp }
    if ( $3 == 0 ) { notice $nick �3;8,1Erreur de �3;4,1commande�3;8,1. Tapez : �3;7,1!pdfp <nombres de pdfp supérieur à 0> }
    if ( $3 == $null ) { notice $nick �3;8,1Erreur de �3;4,1commande�3;8,1. Tapez : �3;7,1!pdfp }
    else { /notice $nick �3;0,1Tu viens d'attribuer�3;8,1 %score points de fidélité pangya �3;0,1à�3;4,1 $2 �3;0,1! | /notice $2 �3;0,1Tu reçois�3;8,1 %pdfp points de fidélité pangya �3;0,1de la part de�3;4,1 $nick �3;0,1! | /inc %pdfp [ $+ [ $2 ] %score }
  }
}

Dans cette remote, je considère que si $2 == null, donc, que aucun pseudo est spécifié, cela va retourner l'erreur.
De la même façon, je considère que si $3 == 0   ,donc, que aucun nombre (points de fidélité) n'est ajouté, cela retourne l'erreur.
Et évidemment, $1 representant le texte !commande (!pdfp).

En bref, je veux une remote pour lorsque je tappe !pdfp pseudo points de fidélité à attribuer, cela donne au pseudo le nombre de points de fidélité voulu. Mais je n'y arrive pas !

Merci beaucoup de votre aide !
Messages postés
30
Date d'inscription
vendredi 15 septembre 2006
Statut
Membre
Dernière intervention
9 mai 2007

Yes bien joué ça fonctionne :)
Merci.