[TCL] The Summoner (version actuelle : 1.2)
#1
Description :

Ce script vous permet d'invoquer tout un tas de trucs et de machins de façon totalement imprévisible, pour en faire l'usage que vous voudrez.

Exemple :
  <MenzAgitat> !invoque et le refourgue à CrazyCat
  <Eggdrop> MenzAgitat invoque un yorkshire et le refourgue à CrazyCat
  <MenzAgitat> !invoque et s'en met partout
  <Eggdrop> MenzAgitat invoque sa belle mère et s'en met partout

La commande !summoner_stats permet au propriétaire de l'eggdrop d'afficher le nombre d'invocations disponibles dans la base de données.

J'ai repris l'idée d'un script équivalent que j'ai vu fonctionner sur un bot et dont je ne connais ni le nom, ni l'auteur. Donc bravo à cet auteur anonyme pour cette chouette idée.

Pour activer The Summoner sur un chan, vous devez taper ceci en partyline de l'eggdrop :
    .chanset #NomDuChan +summoner
et ceci pour le désactiver :
    .chanset #NomDuChan -summoner


Changelog :
Citation :v1.0
  • 1ère version
v1.1
  • Ajout d'un antiflood
  • Ajout de nouvelles invocations
  • Amélioration du générateur de nombres aléatoires
v1.11
  • Correction d'un bug avec l'antiflood.
  • Correction d'une erreur dans la description : la commande pour activer ou désactiver le script est .chanset et non pas .channel set
  • Re-modification du générateur de nombres aléatoires.
  • Quelques optimisations du code.
  • Ajout de quelques nouvelles invocations.
v1.2
  • Correction : une notification s'affichait en partyline de l'Eggdrop à chaque utilisation de la commande !invoque.
  • Modification : les invocations ne seront désormais plus répétées tant que toutes n'auront pas été vues une fois.
  • Ajout de nouvelles invocations pour un total de 190.
  • Quelques optimisations du code.

Téléchargement :

Vous pouvez télécharger le script ici : The Summoner v1.2

Vous pouvez trouver une liste de mes autres releases ici


Laissez vos commentaires / suggestions / rapports de bugs.
Répondre Avertir
#2

Nouvelle version disponible : v1.1

Changelog :
Citation :v1.0
  • 1ère version
v1.1
  • Ajout d'un antiflood
  • Ajout de nouvelles invocations
  • Amélioration du générateur de nombres aléatoires

Téléchargement :

The Summoner v1.1

Laissez vos commentaires / suggestions / rapports de bugs.
Répondre Avertir
#3
Yep Menz,

Petite question concernant certains codes que tu as et d’autres personnes présentes sur le forum.

Vous faite les activations en "partyline" c'est par rapport à quelque chose en particulier ou pas ?
Je dis ça car moi d'avis personnel je préfère tapez sur salon par exemple : !active (qui active le tcl) !inactive (qui désactive le tcl)
Bien sur ceci et un exemple hein..

Ensuite tu as dans ton code :

tcl
variable summons
{une horde de lemmings}
...



Question : c'est un traitement de liste ceci enfin un tableau pourquoi pas utilisé un array ?
Ah et une autre question Mad
Tu as ceci dans ton code :

tcl
proc ::summoner::code {code chan} {
....



Pourquoi tu n’utilise pas :

tcl
return [stripcodes abcgru $code]



Pour ton return car le code que tu as mis je ne comprends pas trop je dis peut-être une connerie ou des conneries Mad
Répondre Avertir
#4
alias_angelius a écrit :Vous faite les activations en "partyline" c'est par rapport à quelque chose en particulier ou pas ?
Je dis ça car moi d'avis personnel je préfère tapez sur salon par exemple : !active (qui active le tcl) !inactive (qui désactive le tcl)
oui, c'est en particulier par rapport à ma flemme de faire des commandes superflues alors que tout propriétaire d'eggdrop devrait avoir accès à la partyline :p

alias_angelius a écrit :Question : c'est un traitement de liste ceci enfin un tableau pourquoi pas utilisé un array ?
Un array est un tableau à 2 dimensions, quel intérêt pour stocker une liste simple ? Tu mettrais quoi dans la 2ème colonne ?

alias_angelius a écrit :Pourquoi tu n’utilise pas :
tcl
return [stripcodes abcgru $code]

euh ça, c'est pas faux par contre, la procédure pourrait être simplifiée. J'ai récupéré bêtement une procédure pour contrôler ça dans un autre de mes scripts, et c'est vrai que dans ce contexte c'est un peu compliqué pour ce qu'on veut faire.
Ceci dit, je ne vais pas publier un correctif pour ça, cette proc n'est utilisée que pour contrôler dynamiquement la couleur du message de l'antiflood au cas où le mode +c est détecté sur un chan.
Répondre Avertir
#5
salut,

la proc stripcodes de eggdrop est boguée comme je l explique dans ce post:
http://www.eggdrop.fr/board/jeux-taboo-t...ml#pid7421
Répondre Avertir
#6
@djkenny : ça je le sais depuis longtemps et j'en tiens compte (cf la proc ::summoner::strip_codes), à l'exception du caractère \015 que je n'ai pas inclus mais je ne l'ai encore jamais rencontré jusqu'ici.
Répondre Avertir
#7
si tu tapes
Code :
.tcl scan "<touches ctrl+o>" %c
ça te retournera 15 (n° du char)
Code :
[00:25] <Dj_KennY> &tcl scan "" %c
[00:25] <@Tcl-Bot2> TCL -> 15
même si il semblerai que le \015 et \017 soient identiques
Répondre Avertir
#8
Si ont doit arrêter d'utilisé eggdrop chaque bugs découvert ont serait un peut mal Mad
Répondre Avertir
#9
Yep Menz,

Hmm rassure moi ta fait le fainéant sur le code ?..

Petit bugs détecter pour tous ceux qui ne l’ont pas remarqué ce que je pense serait dur car ça fait tout planter..

Voici l'erreur :

Citation :[16:25:00] ( @alias_angelius ) .compile the_summoner.tcl
[16:25:00] ( @Talk-Me ) Compilation De the_summoner.tcl...
[16:25:00] ( @Talk-Me ) can't set "::Oracle::instance": parent namespace doesn't exist
[16:25:00] ( @Talk-Me ) while executing
[16:25:00] ( @Talk-Me ) "array set ::Oracle::instance {}" (...)

Donc il devrait détecter plutôt summoner et non Oracle.

Voici les deux lignes à modifié :

tcl
array set ::Oracle::instance {}
array set ::Oracle::antiflood_msg {}



Donc remplacer ceci par :

tcl
array set ::summoner::instance {}
array set ::summoner::antiflood_msg {}



Et le tcl fonctionnera Smile

Ah et aussi dans la config du tcl tu cite ceci faire : .channel set #talk-me +summoner... Fonctionne pas :p

Citation :[16:37:52] ( alias_angelius ) .channel set #talk-me +summoner
[16:37:52] <Talk-Me> No such channel.
[16:38:08] ( alias_angelius ) .chanset #talk-me +summoner
[16:38:08] <Talk-Me> Successfully set modes { +summoner } on #Talk-Me.

en fesant de la deusième façon sa fonctionne bien !
Répondre Avertir
#10
C'est la fatigue... merci pour ces remarques judicieuses alias_angelius, je poste une version corrigée dans pas longtemps.
Répondre Avertir
#11
J'ai corrigé le .zip :
- modification du "channel set" en "chanset"
- remplacement du "::Oracle" par "::summoner"

Merci qui ?
Répondre
#12
Un oubli, je devais publier la nouvelle version et ça m'est sorti de l'esprit.
La voici en pièce jointe pour l'instant, je la posterai proprement demain.

[EDIT]Plus de PJ, c'est dans la rubrique Téléchargements
Répondre Avertir
#13
CrazyCat a écrit :J'ai corrigé le .zip...
MenzAgitat a écrit :Un oubli, je devais publier la nouvelle version et ça m'est sorti de l'esprit.
La voici en pièce jointe pour l'instant, je la posterai proprement demain.

Heu, j'ai pas dit que j'avais modifié le .zip ? Il s'agit donc de celui qui est dispo en téléchargement Smile
Répondre
#14
Le zip même corrigé par CrazyCat ne correspond pas à la version que j'avais prévu de publier demain, merci donc d'ignorer la v1.1 et de patienter jusqu'à demain.
La pièce jointe supprimée était la v1.11 et comportait d'autres changements. Ce n'était pas une correction hâtive.
C'est ballot ^^
Répondre Avertir
#15
Au temps pour moi. Sincèrement désolé.

Version initiale remise dans les téléchargements.
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 2 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté