begin process at 2012 02 11 03:23:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

IRC

 > 

Divers

 > 

Trucs & Astuces

 > 

probleme fichier.txt


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

probleme fichier.txt

dimanche 9 mars 2008 à 23:10:26 | probleme fichier.txt

Bioxyd

Bonsoir tout le monde

 

Voila je vous explique mon problème je suis entrain de créer un bot script pour un chan de blague.

Je voudrais que le bot lise un texte aléatoire qui va être dans un fichier.txt

Jusque la j'arrive à le faire avec ce code :

on *:text:!blague_start:#:{
  timerblague 0 40 /msg $chan $!read(blague.txt, %i 1) | inc %i
}

on *:text:!blague_stop:#:{
  timerblague off
}

Mes le problème ses que je voudrais pouvoir lire 4 lignes à la fois comment je pourrais faire SVP

dimanche 9 mars 2008 à 23:46:06 | Re : probleme fichier.txt

wims

Tu fait ton compteur avec une variable globale de nom %i, c'est pas très prudent, pour lire 4 lignes, fait simplement ce que tu fait 4 fois :


on *:text:*:#:{
if ($1 == !blague_start) {
var %a 4
while (%a) {
 inc %cmpt
 .timerblague $+ %a 0 40 msg $chan $!read(blague.txt,%cmpt )
 if (%cmpt = $lines(blague.txt)) %cmpt = 0
 %a = %a - 1
 }
}
elseif ($1 == !blague_stop) .timerblague* off
}
dimanche 9 mars 2008 à 23:53:45 | Re : probleme fichier.txt

PaDa

Membre Club
"pour un chan de blague" < ça m'a beaucoup fait rire, merci :o)

Pour ton problème, ça dépend si tu dois lire 4 lignes à chaque fois ou non. Si tu dois lire 4 lignes à chaque fois, c'est facile, je t'explique comment faire en dessous (ce forum n'est pas là pour donner des codes tout cuits....). Si non, il faut que le bot sache comment commencer & s'arrêter, donc tu devras structurer ton fichier en conséquence.

Si c'est bien 4 lignes à chaque fois :
- la première blague prend les lignes 1 à 4
- la seconde les lignes 5 à 8
- etc.

Donc :
- tu gardes ton "timerblague" mais tu renvoies sur un alias : genre "timerblague 0 40 direblague"
- et donc tu te fais un alias "alias direblague { ... }"
- dans cet alias il faut :
  1- compter le nombre de lignes dans ton fichier grace à $lines et l'enregistrer dans une variable locale, par exemple %lines
  2- définir une blague au hasard qui sera lue : tu cherches à trouver un nombre aléatoire, multiple de 4, entre 1 et %lines : donc : $rand(1,%lines) te donne un de ces nombres mais sans le côté "multiple de 4", qui peut s'obtenir par "$calc(X % 4 * 4)" où X est à remplacer bien sûr
  3- ensuite, tu lis les 4 lignes en commençant à la ligne trouvée à l'étape précédente, et tu en lis 4, ça tu devrais y arriver (au besoin, /help $read, voir /help while si tu veux faire un truc propre)

Améliorations possible : utilisation de /play (à vérifier... je n'ai jamais trop utilisé)

Bon courage ! Si tu n'arrives pas à coder certaines de ces étapes, n'hésite pas à revenir, mais par pitié les gens, ne lui donnez pas un code tout cuit :o)

--
Pada
dimanche 9 mars 2008 à 23:54:50 | Re : probleme fichier.txt

PaDa

Membre Club
Ah raté.
Vilain wims !

(au passage, Bioxyd, il y a des trucs qui ne veulent rien dire dans ton code de départ, c'est un miracle si ça marche)

--
Pada
lundi 10 mars 2008 à 00:00:39 | Re : probleme fichier.txt

wims

Je lui ai simplement fait la while, il avait le reste...
Le seul truc bizarre dans son code c'est ça : , %i 1)
Ceci reviens a prendre une phrase aléatoire dans le fichier (je pense que c'est un typo)
Il pourrait utiliser /play, mais c'est plus compliqué.

lundi 10 mars 2008 à 08:43:34 | Re : probleme fichier.txt

PaDa

Membre Club
Y'a aussi le " | inc %i " derrière :-)
Je penche plutôt pour une boucle while copiée/collée sans avoir été comprise avant, puis des essais successifs de [Suppr.] pour corriger les erreurs.

--
Pada
lundi 10 mars 2008 à 20:14:34 | Re : probleme fichier.txt

wims

Le | inc %i n'est pas bizarre en soi, il sert uniquement de compteur, histoire de faire les blagues une par une, de la première ligne a la $lines(blague.txt) $+ ieme :)
Bon sinon, ya des erreurs dans le/son/mon code (on parle de betement copier :( ?) :

Il voulait bel et bien l'effet "aleatoire", juste 4 fois, le code devient plus court !! :

on *:text:*:#:{
if ($1 == !blague_start) {
var %a 4
while (%a) {
.timerblague $+ %a 1 $calc(44 - %a) msg $chan $!read(blague.txt)
dec %a
}
elseif ($1 == blague_stop) .timerblague* off
}

En revanche, il est possible que deux même lignes sortent plusieurs fois durant les 4 /msg, j'ai même fais en sorte que les timers est une seconde d'écart


Cette discussion est classée dans : fichier, problème, probleme, txt, blague


Répondre à ce message

Sujets en rapport avec ce message

problème de lag sur un $read fichier.txt [ par Mauricelepoisson ] Bonjour,Je me suis amusé à faire un petit bot codé en mIRC, qui "lit" des textes et j'ai un souci de temps de réponse, en effet, le début du texte est creer des tableaux dans un fichier .txt en langage tcl [ par flost ] Bonjour,j'ai crée un programme en TCL qui me calcul des parametres à partir de données disponibles dans un fichier .citiMon but est maintenant:1) de c problème avec windrop [ par julie13 ] BonjourAvec bien du mal  j'ai configuré un windrop que j'ai téléchargé tout fonctionnait bien j'ai pu me connecter sans soucis, puis j'ai voulu rajout espaces [ par eMule ] salut, je vous explique mon probleme j'aimerai ecrire dans un fichier (texte par exemple) a b mais en ecrivant caractere par caractere c'est a dire w /write -a textefile.txt %var [ par LOLESKE88 ] Bonjour,     /write -a textefile.txt %var J'utilise cette commande pour écrire une variable dans un fichier txt, mais j'aurais voulu savoir commen Variable dans fichier text [ par Moya22 ] Bonjour je voudrais savoir comment interpreter une variable qui se rouve dans un fichier txt. en fait, je lit des lignes aleaoire dans un fichier txt, Verifier si un mot n'est pas dans un .txt ou une variable [ par alanpersonproject ] Bonjour, je code un petite jeu type "liste gagnante" Mon bot va vérifier si les reponses des joueurs sont bonnes comme ceci:[code=as]if (%game == on) Problème .txt [ par meghan1710 ] Bonsoir. J'ai créé un funbot, tout allé bien, j'ai créé un !proverbe, un !blagues et tout. Mais au moment de faire avec les VDM, je copie exactement l Problème sur le fichier "s_user.o" -> IRCu [ par IluZi0n ] [b]Bonjour à tous...[/b] J'ai reup mon serv IRCu mais il y à un problème dans le fichier "[b]s_user.[/b]o" il y à toujours le chemin de mon ancien sh On text et input [ par MegaSmax ] Bonjour, j'ai un petit probleme, je realise un script permettant d'enregistrer les url affichées sur des chans dans un fichier url.txtJe voudrais savo


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 : 1,357 sec (4)

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