Mise en forme de code: pensez à utiliser les balises [ tcl ] et [ /tcl ] (sans les espaces bien sûr) autour de vos codes tcl afin d'avoir un meilleur rendu et une coloration syntaxique. x


[Script] Duel (version actuelle : 1.21)
#1
Description

Ce script permet à un utilisateur d'en défier un autre en combat singulier.

Une fois le duel lancé, le narrateur (l'Eggdrop) commence à décrire l'action trépidante qui se déroule sous vos yeux ébahis.
Il existe 5 types d'action, différenciés par un symbole affiché en début de ligne :
> = attaque
< = contre-attaque
~ = esquive
~< = esquive + contre-attaque
x = attaque ratée
* = réaction neutre

A chaque round, le hasard décide qui attaque qui. Lorsqu'une attaque est lancée, il y a une chance pour qu'elle aboutisse, une chance pour qu'elle rate, et une chance pour que la victime se défende de 3 façons possibles (esquive, contre-attaque, ou esquive + contre-attaque).
Des réactions neutres surviennent parfois en réponse à une attaque qui a abouti; elles représentent les réactions des participants ou du public à ce qui vient de se passer et n'ont aucune influence sur le score.

Chaque attaque a un certain nombre de défenses et de réactions qui lui sont associées spécifiquement afin d'avoir un contexte cohérent entre les actions et les réactions, et des soins particuliers ont été apportés à la variété, l'originalité et l'humour.
La base de données contient :
     128 attaques toutes plus vicieuses les unes que les autres.
     66 attaques ratées car les emmerdes, ça arrive...
     116 esquives avec pied de nez.
     93 contre-attaques histoire de mettre les points sur les i.
     46 combos esquive + contre-attaque pour les plus habiles.
     256 réactions neutres parce que les spectateurs veulent tout savoir.

Le calcul des points s'effectue comme suit :
     - chaque attaque menée à bien rapporte 1pt à l'attaquant.
     - une esquive annule l'attaque précédente.
     - une contre-attaque n'annule pas l'attaque mais rapporte 1pt au défenseur.
     - une esquive + contre-attaque annule l'attaque et rapporte 1pt au défenseur.


Commandes et syntaxe

Voici la syntaxe à utiliser pour défier quelqu'un en duel :
     !duel <nick> [nombre de rounds gagnants]

Et voici ce que devra taper celui qui a été provoqué en duel pour accepter de relever le défi (si l'option target_must_accept est activée) :
     !engage

La commande !duel_stats permet au propriétaire de l'Eggdrop de compter et d'afficher le nombre d'actions de chaque catégorie dans la base de données.

Pour activer ou désactiver Duel sur un chan, vous devez taper ceci sur le chan concerné :
     !duels <on/off>
ou ceci en partyline de l'Eggdrop :
     .chanset #NomDuChan <+/->duel


Screenshot

[Image: http://imageshack.us/a/img62/3650/4iur.png]


Quelques détails chiants pour ceux qui veulent juste faire un duel au plus vite, et bons à savoir pour les autres
  • Le script utilise une file d'attente temporisée indépendante pour l'affichage des messages afin de ne pas engorger les files d'attente de l'Eggdrop en y envoyant beaucoup de messages d'un coup.
  • Le script est pourvu d'un système anti-hl, qui permet de ne pas ennuyer les participants à chaque action.
  • Chaque attaque / attaque ratée / défense / réaction ne sera pas répétée tant que toutes les autres n'auront pas été vues, et l'ordre est différent à chaque cycle. Notez qu'un rehash ou un restart de l'Eggdrop remet les compteurs à 0.

Changelog

Quote:1.0
  • Première version.
1.01
  • Correction : les codes de style (couleurs, gras, ...) n'étaient pas interprétés correctement dans les actions.
  • Correction : la commande !duel tapée sans arguments n'affichait pas la syntaxe.
  • Ajout : une nouvelle attaque a été ajoutée avec ses défenses et réactions associées.
  • Modification : certaines actions ont été reformulées.
1.02
  • Correction : les guillemets étaient filtrés par erreur dans les actions.
  • Correction : une faute d'orthographe a été corrigée dans une action.
1.03
  • Correction : il n'est désormais plus possible de lancer plusieurs duels simultanément sur le même chan.
1.1
  • Ajout : nouveau paramètre de configuration target_must_accept permettant d'activer un mode dans lequel l'utilisateur provoqué en duel devra d'abord accepter celui-ci pour que les hostilités commencent. Voir également les deux nouveaux paramètres associés duel_request_timeout et acceptance_cmd.
  • Ajout : nouvelle commande !duels <on/off> permettant d'activer ou désactiver les duels sur le chan en cours, permettant ainsi aux modérateurs n'ayant pas d'accès à la partyline de l'Eggdrop de le faire.
1.2
  • Correction : la substitution des %randnick% utilisait parfois le nom d'utilisateurs ayant quitté le chan avant que la cible tape !engage.
  • Modification : les paramètres de configuration du script se trouvent maintenant dans un fichier séparé, situé dans le répertoire duel par défaut.
  • Ajout : système anti-hl pendant le déroulement du duel.
    Les joueurs ne seront désormais hl qu'une fois pour les prévenir qu'ils ont été provoqués en duel, et une deuxième fois pour leur annoncer le résultat du duel.
    Le paramètre de configuration HL_prevention permet d'activer ou non cette fonctionnalité.
  • Ajout : nouvelle variable %randnick<index>% utilisable dans les attaques / défenses / réactions et retournant le nom d'un utilisateur présent sur le chan choisi en fonction de l'index que vous indiquez.
    Reportez-vous aux explications détaillées au début de la base de données.
  • Ajout : Duel utilise désormais des fichiers de langue pour l'affichage des messages du script.
    Des fichiers pour la langue française et la langue anglaise sont fournis.
    Un nouveau paramètre de configuration permettant de contrôler la langue a été ajouté.
  • Quelques optimisations du code.
1.21
  • Correction : Le pack de langue n'était pas déchargé de la mémoire lors de la désinstallation du script.


Téléchargement

Duel v1.21

Vous pouvez trouver une liste de mes autres releases ici


Laissez vos commentaires / suggestions / rapports de bugs.
Toute l'actualité de mes scripts ici     (dernière mise à jour le 22/04/2020)

Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.
  Reply


Messages In This Thread
Duel (version actuelle : 1.21) - by MenzAgitat - 31/08/2013, 13:33
RE: Duel (version actuelle : 1.0) - by BdS - 02/09/2013, 10:02
RE: Duel (version actuelle : 1.03) - by Harmore - 21/02/2014, 18:30

Possibly Related Threads…
Thread Author Replies Views Last Post
  Motus (version actuelle : 3.357) MenzAgitat 485 64,304 05/06/2022, 18:45
Last Post: MenzAgitat
  [Script] Interface MegaHAL (version actuelle : 4.1.0) MenzAgitat 191 90,468 29/05/2022, 20:42
Last Post: berni13
  [Script] MediaDico (version actuelle : 3.126) MenzAgitat 35 31,182 29/05/2022, 18:52
Last Post: MenzAgitat
  Live Bug Tracer (version actuelle : 2.0) MenzAgitat 6 4,868 18/04/2022, 00:43
Last Post: CrazyCat
  [Script] Duck Hunt (version actuelle : 2.11) MenzAgitat 68 27,659 24/10/2021, 01:04
Last Post: LTEF
  [Script] Reanimator (version actuelle : 1.2) MenzAgitat 31 19,403 10/10/2020, 16:07
Last Post: ZarTek
  [Script] Topic Warden (version actuelle : 1.54) MenzAgitat 23 19,324 10/10/2020, 15:51
Last Post: ZarTek
  [Script] Automatic Translator (version actuelle : 1.1) MenzAgitat 11 8,754 18/09/2020, 15:21
Last Post: MenzAgitat
  Nick Change Responder (version actuelle : 2.31) MenzAgitat 46 31,199 18/08/2020, 16:47
Last Post: CrazyCat
  [Script] Anti-Frenzy (version actuelle : 2.02) MenzAgitat 9 9,768 22/04/2020, 13:51
Last Post: MenzAgitat

Forum Jump:


Users browsing this thread: 1 Guest(s)