begin process at 2012 02 08 19:59:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

IRC

 > 

Scripting

 > 

Général

 > 

Problème de renvoie dans remote


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème de renvoie dans remote

samedi 14 octobre 2006 à 10:35:06 | Problème de renvoie dans remote

Lorya51100

Bonjour à tous !
Je voudrais vous presentez une remote que j'ai fait et qui hélas ne fonctionne pas bien, elle est assez longue je m'en éxcuse, mais j'ai pas trouvé d'autre moyen pour me faire comprendre que de la poster ici. Voici donc la remote suivi des soucis qu'elle engendre :

alias events {
  .msg %activechan $read messages\jouer.txt
  set %events [ $+ [ $nick ] ] 1
  set %evenements [ $+ [ $nick ] ] $rand(1,10)
  .timerendeventsun 1 3601 unset %events [ $+ [ $nick ] ]
  .timerendeventsdeux 1 3601 unset %evenements [ $+ [ $nick ] ]
  .timereventsun 1 3 .msg %activechan �2;�3;1,8[�3;4,8Case �3;12,8Events�3;1,8]�3;4,8 $nick �3;1,8tu viens d'activer pendant�3;6,8 1 heure �3;1,8divers évenements qui se produiront en ta faveur ou contre toi ! Suspense...
  .timereventsdeux 1 120 Goto .lool
  .timereventstrois 1 600 Goto .lool
  .timereventsquatre 1 1500 Goto .lool
  .timereventscinq 1 1920 Goto .lool
  .timereventssix 1 2880 Goto .lool
  .timereventssept 1 3360 Goto .lool
  .timereventshuit 1 3600 .msg %activechan �2;�3;1,8[�3;4,8Case �3;12,8Events�3;1,8]�3;4,8 $nick �3;1,8il n'y aura pas d'autres évenements. Tu quittes donc cette case.
}

alias lool {
  if (%evenements [ $+ [ $nick ] ] == 1) {
    .msg %activechan �2;�3;1,8[�3;4,8Case �3;12,8Events�3;1,8]�3;4,8 $nick �3;1,8voici le résultat de cet évenement : �3;3,8le méchant �3;5,8PangyaNino �3;3,8 te prend�3;13,8 1600 €Pangya �3;3,8et�3;13,8 50 PV�3;3,8 !
    dec %pangya [ $+ [ $nick ] ] 1600
    dec %pv [ $+ [ $nick ] ] 50
    set %evenements [ $+ [ $nick ] ] $rand(1,10)
  }
  if (%evenements [ $+ [ $nick ] ] == 2) {
    .msg %activechan �2;�3;1,8[�3;4,8Case �3;12,8Events�3;1,8]�3;4,8 $nick �3;1,8voici le résultat de cet évenement : �3;5,8Samantha �3;3,8viens de t'offrir�3;13,8 20 PV �3;3,8!
    inc %pv [ $+ [ $nick ] ] 20
    set %evenements [ $+ [ $nick ] ] $rand(1,10)
  }
  if (%evenements [ $+ [ $nick ] ] == 3) {
    .msg %activechan �2;�3;1,8[�3;4,8Case �3;12,8Events�3;1,8]�3;4,8 $nick �3;1,8voici le résultat de cet évenement : �3;3,8Incroyable ! Phénoménal ! Tu gagnes....�3;13,8 1 €Pangya�3;3,8.
    inc %pangya [ $+ [ $nick ] ] 1
    set %evenements [ $+ [ $nick ] ] $rand(1,10)
  }
  if (%evenements [ $+ [ $nick ] ] == 4) {
    .msg %activechan �2;�3;1,8[�3;4,8Case �3;12,8Events�3;1,8]�3;4,8 $nick �3;1,8voici le résultat de cet évenement : �3;3,8le méchant �3;5,8PangyaNino �3;3,8te prend�3;13,8 2 PV�3;3,8.
    dec %pv [ $+ [ $nick ] ] 2
    set %evenements [ $+ [ $nick ] ] $rand(1,10)
  }
  if (%evenements [ $+ [ $nick ] ] == 5) {
    .msg %activechan �2;�3;1,8[�3;4,8Case �3;12,8Events�3;1,8]�3;4,8 $nick �3;1,8voici le résultat de cet évenement : �3;3,8la banque, suite à une erreure de sa part t'offre�3;13,8 200 €Pangya�3;3,8 directement sur ton �3;1,8compte épargne�3;3,8.
    inc %epargne [ $+ [ $nick ] ] 200
    set %evenements [ $+ [ $nick ] ] $rand(1,10)
  }
  if (%evenements [ $+ [ $nick ] ] == 6) {
    .msg %activechan �2;�3;1,8[�3;4,8Case �3;12,8Events�3;1,8]�3;4,8 $nick �3;1,8voici le résultat de cet évenement : �3;3,8la banque, suite à une erreure de sa part te reprend�3;13,8 500 €Pangya�3;3,8.
    dec %pangya [ $+ [ $nick ] ] 500
    set %evenements [ $+ [ $nick ] ] $rand(1,10)
  }
  if (%evenements [ $+ [ $nick ] ] == 7) {
    .msg %activechan �2;�3;1,8[�3;4,8Case �3;12,8Events�3;1,8]�3;4,8 $nick �3;1,8voici le résultat de cet évenement : �3;3,8Un vol de voiture sur le parking s'est produit. On t'accuse �3;1,8(à tord ?)�3;3,8 de celui-ci. Peu importe qui a raison, tu dois t'acquiter de la somme de�3;13,8 10 000 €Pangya�3;3,8.
    dec %pangya [ $+ [ $nick ] ] 10000
    set %evenements [ $+ [ $nick ] ] $rand(1,10)
  }
  if (%evenements [ $+ [ $nick ] ] == 8) {
    .msg %activechan �2;�3;1,8[�3;4,8Case �3;12,8Events�3;1,8]�3;4,8 $nick �3;1,8voici le résultat de cet évenement : �3;3,8un mysterieux inconnu viens de faire un virement sur ton �3;1,8compte�3;3,8 de�3;13,8 1000 €Pangya�3;3,8.
    inc %pangya [ $+ [ $nick ] ] 1000
    set %evenements [ $+ [ $nick ] ] $rand(1,10)
  }
  if (%evenements [ $+ [ $nick ] ] == 9) {
    .msg %activechan �2;�3;1,8[�3;4,8Case �3;12,8Events�3;1,8]�3;4,8 $nick �3;1,8voici le résultat de cet évenement : �3;4,1BANQUE�3;6,1ROUTE �3;8,1!!!�3;3,8 Ton �3;1,8compte�3;3,8 d'�3;13,8€Pangya �3;3,8viens d'être remis à�3;13,8 0 �3;3,8!
    set %pangya [ $+ [ $nick ] ] 0
    set %evenements [ $+ [ $nick ] ] $rand(1,10)
  }
  if (%evenements [ $+ [ $nick ] ] == 10) {
    .msg %activechan �2;�3;1,8[�3;4,8Case �3;12,8Events�3;1,8]�3;4,8 $nick �3;1,8voici le résultat de cet évenement : �3;3,8C'est sympa d'avoir offert un verre au bar de �3;5,8PangyaSino �3;3,8à �3;5,8Samantha�3;3,8, la facture est de�3;13,8 120 €Pangya�3;3,8.
    dec %pangya [ $+ [ $nick ] ] 120
    set %evenements [ $+ [ $nick ] ] $rand(1,10)
  }
}

Voilà, comme vous le voyez, elle est composé de deux alias.
Pour déclencher la totalité de cette remote, il faut auparavant avoir la chance de tomber dessus par une autre commande (pas facile donc de la tester) qui renvoie sur l'alias events. Vous verrez aussi qu'il y a l'alias
lool , la partie qui me bloque.
Cela fonctionne de cette façon :

Si un user tombe sur l'alias
events , il doit se produire pendant une heure une série d'évenements définis au hasard par la variable %evenements . Par exemple, le premier évenements se déclenche après 2 minutes grâce à .timereventsdeux 1 120 Goto .lool .
Du moins c'est ce qui devrait se produire mais ça ne fonctionne pas... A chaque fois que les timers de l'user en question arrivent sur leurs valeurs finales, cela doit renvoyer vers l'alias lool où un évenement se produira au hasard (en fonction de la variable %evenements à chaque fois). Et ainsi de suite pendant une heure ! Il y a en tout 6 évenements pendant cette heure.

Voilà, je cherche à savoir pourquoi le renvoie vers l'alias
lool ne fonctionne pas 6 fois de suite. Et aussi si vous voyez d'autres erreurs dans ma remote.

Merci et encore désolé pour la longueur de ce post

samedi 14 octobre 2006 à 12:00:48 | Re : Problème de renvoie dans remote

Tengu84

Bonjour,

Tout simplement parce que la commande Goto ne fonctionne qu'a l'interieur d'une même procedure/alias.
Là tu y fais reference mais dans une section qui lui est inconnu (car alias different).

Il suffit juste de retirer tes Goto :o)

Cdt.


----------
[?] Tengu
[?] Network : Voila
samedi 14 octobre 2006 à 12:02:30 | Re : Problème de renvoie dans remote

Lorya51100

En fait j'avais déja essayé sans les Goto, ça ne fonctionnait pas non plus
samedi 14 octobre 2006 à 12:09:42 | Re : Problème de renvoie dans remote

S333

1) Le timer est faux, ce n'est pas goto .lool mais juste lool :
.timereventsdeux 1 120 lool

2) je n'ai pas regardé le reste du script à la recherche d'erreurs... désolé, j'ai pas le courage ^^
Mais... il y a une erreur non pas de programmation, mais d'algorithme(pour utiliser des grands mots xD ). en fait... tu as des timers que tu as bien nommé... malheureusement si moins de 2min après quelqu'un d'autre active cet alias d'évènement, le timer qui était en cours sera remplacé par le nouveau...
un exemple pour me faire comprendre :

<pincemi> Niniania j'active l'event Youhouuu
* les timers se lancent*
3min après
Le timer 1 s'est lancé pour pincemi
<Pincemoi> J'active l'event aussi !
*les timers se relancent*
3min après
le timer de 2min s'est lancé pour Pincemoi mais ceux de pincemi ne se lanceront jamais.

Autre erreur TRES importante de ton script... et je me demande si c'est pas toi qui avait fait la même précédemment sur le forum :
le $nick dans l'alias lool ne reverra RIEN, de même  pour l'alias event.
$nick $chan etc... ne peuvent être utilisé que dans des évènement... pas exemple ON TEXT.
Si tu veux donner l'information à un alias, il faut appeler l'alias en indiquant une donnée, un paramètre :
exemple : /event $nick
Ainsi dans ton alias event, $1 renverra $nick.

Pour résumer : _ Revois le nom de tes timers
                       _ Revois l'appel des alias dans tes timers
                       _ Revois  tes alias.
--------------------------------
Signature des parents :
samedi 14 octobre 2006 à 12:16:20 | Re : Problème de renvoie dans remote

Lorya51100

Dans ce cas y'a un OS

par exemple j'ai fait ça aussi comme remote (juste un bout) :

alias coffres {
  .msg %activechan $read messages\jouer.txt
  set %combinaison $rand(1000,9999)
  set %coffreok [ $+ [ $nick ] ] 1
  .timeropenun 1 3 .msg %activechan �2;�3;9,1[�3;7,1Case �3;8,1*�3;4,1Coffre-fort�3;8,1*�3;9,1]�3;4,15 $nick �3;12,15si tu trouves la combinaison du �3;7,15Coffre-fort �3;12,15en tappant �3;13,15!code "XXXX"�3;12,15, tu remporteras son contenu !
  .timeropendeux 1 5 .msg %activechan �2;�3;8,1Dans�3;13,1 60 secondes�3;8,1, je change la combinaison.

Ici, dans l'alias, j'ai testé et le $nick est bien remplacé par le pseudo de l'user.
De plus, même sans les Goto, ma remote (1) ne marche pas.

En clair, ça va être difficile pour moi
samedi 14 octobre 2006 à 12:45:18 | Re : Problème de renvoie dans remote

S333

Effectivement... j'ai testé rapidement sur un script bidon... avec 1alias appelé dans l'event, et un autre appelé dans l'alias en question, $nick renvoie bien quelque chose... il me semblait que ça ne le faisait pas avant :/ puis je sais pas jusqu'à quel point ça marche.
Bon...
Est-ce que ton alias lool se lance au moins une fois ? (en enlevant les goto)
Qu'est ce qui se lance exactement(enlève les . au timers pour voir lesquels sont bien initialisés)

Sinon, autre erreur qui arrivera dans ton script :
imaginons que mon event soit 1, le 1 de lool se lance, et alors un event m'est redéfini au hasard.... imaginons 3
L'event 3 va se lancer tout de suite ! et si j'ai 5 après... encore le 5 et tout ça en moins de 1sec ^^
Donc... mets des elseif :)

-----------------------
Signature des parents :
samedi 14 octobre 2006 à 12:59:16 | Re : Problème de renvoie dans remote

Lorya51100

elseif (%evenements [ $+ [ $nick ] ] == 2) {...
elseif (%evenements [ $+ [ $nick ] ] == 3) {...

Oui en effet j'ai zappé ça
Après vérification, l'alias lool ne se lance pas, ça me met rien comme erreur dans le status (étrange ça d'ailleurs). Mon mIRC est piégé !

Pourtant le principe de ce que je veux faire, c'est pas si difficile que ça j'ai déja fait pire récemment et ça marche !

Globalement, ce qui m'ennuie, c'est définir des évenements aléatoires, grâce à des variables (ça je sais le faire), mais des timers qui renvoies sur du "au pif" pour un user et pas un autre, ça devient complexe pour ma culture de mIRC

Bon bah je continue de chercher merci si y'a de nouveau des réponses

samedi 14 octobre 2006 à 14:16:38 | Re : Problème de renvoie dans remote

S333

oui mais ton alias events est lancé... quels timers sont lancés ?
Parce que là... en corrigeant... je ne vois pas trop le problème :/

Ton script génère pas mal de timer quand même ^^ et j'ai une question... à quoi sert la variable %events$nick parce que tu l'utilises jamais... c'est pour autre part dans le script ?

---------------------------
Signature des parents :
samedi 14 octobre 2006 à 14:41:49 | Re : Problème de renvoie dans remote

Lorya51100

En effet, la variable %events $nick servira plus atrd dans le jeu que je conçoi pour favoriser par une commande les évenements positifs.

Bah si un pro de l'irc peut pas m'aider, qui ?
samedi 14 octobre 2006 à 15:00:03 | Re : Problème de renvoie dans remote

S333

Mais réponds à la question xD
Quels timers se lancent ? jusqu'où se lance ton script?
Normalement lool devrait tourner après changements au moins une fois au bout de 2min...

---------------------------
Signature des parents :

1 2

Cette discussion est classée dans : nick, evenements, msg, pangya, activechan


Répondre à ce message

Sujets en rapport avec ce message

msg abienvenue friendlist [ par retaks666 ] voila, j'aimerais dire bonjour a certaine personne kan elels se connecte sur un chan.. j'ai dabors pensez en récupérant leur nick avec on *:join:#: { optimiser mon code [ par docLegi ] bon, voilà j'ai commencé à scripter il y a quelque temps, j'ai deja scripté un certain nombre de trucs et j'aimerais optimiser mon code, parce que je COmment installé une sources [ par evilpikashoot69 ] Erfe rf erf , tetre ke cette question a deja ete pose , mais je capte rien voila comment ona jout des sources a mirc 6.02 ???j'aimeré rajouté :on @1:B AIDEZ MOI SVP!! jai fait un addon masi sa marche pas, je siat pas pourquoi. [ par retaks666 ] je suis nul en languaeg irc, et je comprends pas pourqoui mon bot ne marche pas.voici la source., meme le menu ne s'ajoute pas!répondze moi svp!!;;;;; on:text: [ par karukeranet ] Bonjour,Mon Probleme est que je voulais mettre une liste de commande disponible quand un utilisateur tape !help Mais avec la façon que j'ai scripter j Probléme avec if $null ... [ par juki_webmaster ] Bonjour ,Je fait un deuxieme bot de jeu que je placerais sur la meme source que mon premier bot de jeu si je le fini correctement .J'ait realiser ceci Bot [ par shadowsexpect ] J'aimerais que mon bot kill quand il détecte un mauvais nick pour ceci j'ai donc rentrer ça :on *:nick: { if ( pute isin $newnick ) { msg nickserv for Probleme en pv [ par Tupac_shakur ] salut, j'ai un probléme avec mon anti pv, voila le code :on 1:open:?:{  echo -a $timestamp 2Pv: $nick 1veut te parler en pv   if (%repondeur == on loggin de membre sur un salon marche pas :( [ par kishkaya ] desole de poster si souvent mais je connais pas grand chose :(en fait je crée un bot en ce moment mais il permettra a tout le monde de s'enregistrer prb de module de news [ par aeropad ] voila le probleme! g utiliser un script de news trouvé ici même et je l'ai modif un peu. mais c pas ca le prb :)le probleme c que je voudrais que les


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales