/write

Résolu
cs_djdadou Messages postés 50 Date d'inscription jeudi 2 août 2007 Statut Membre Dernière intervention 22 septembre 2008 - 20 août 2007 à 11:27
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009 - 1 oct. 2007 à 22:02
salut,
comment fait t'on pour ajouter une ligne dans un fichier texte sans l'effacer,
ex :
djs  blabla
titi blobloblo
je veux rajouter blilbi a djs sans efface blabla 
merci

39 réponses

cs_ISoKa Messages postés 435 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 17 octobre 2008
23 août 2007 à 14:28
1) tu vas pas échappé à devoir faire plusieurs chose distinct pour chaque pseudo, si tu veux un truc un peut compréhensible t'y coupera pas
2)tu peux faire en txt bien sur mais matte comment ton code va ramer, surtt avec des $read et /write, de plus avec les htables sur une meme table tu peux tout ordonné vu qu'on range les items avec leurs data associées.
3)keski marche pas ? le bout de code que je t'ai donné ? ca te renvoi koi kom erreur ? ca stocke koi dans la htable ?
4) normalement sur le principe du code que j'ai mi tu dois pouvoir gerer tt ce que tu viens de dire dans ton post. donc si ce bout de code marche pas dis le moi
5) on di pas je veux mais je voudrai :)

ISoKa
0
cs_djdadou Messages postés 50 Date d'inscription jeudi 2 août 2007 Statut Membre Dernière intervention 22 septembre 2008
23 août 2007 à 15:42
ok pour le htable ben y pas message en particulier sa fait marche pas :
et je comprend pas dans ton code tu mets $hget(terain,acheter) et $hget(terrain,$nick)
on devrai pas ecrit dans la m table et juste changer d'item??? mais j'ai essayer avec les deux pareil aucun resultat.
et ensuite le nombre ascii comprend pas bien et dernier point comment fait pour mettre des espaces ex:
rue le courbe $chr(32) rue de la paix j'ai pense a faire un while :
et sa donnerai sa :
1 rue le courbe 2 rue de la paix .
ps : les message d'erreur que j'avais avant que je resoudre le probleme etait no such terrain mais c parce que j'aivais rien dans la table ou que sa fonctionai pas mais la sa fonctionne sauf pour la deuxieme partie
voila ;).
on di pas je veux mais je voudrai :) == dsl je suis creole et j'ecris pas couramment le francais dsl si je vexe.....
0
cs_ISoKa Messages postés 435 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 17 octobre 2008
23 août 2007 à 20:36
"ok pour le htable ben y pas message en particulier sa fait marche pas :
et je comprend pas dans ton code tu mets $hget(terain,acheter) et $hget(terrain,$nick)
on devrai pas ecrit dans la m table et juste changer d'item??? mais j'ai essayer avec les deux pareil aucun resultat."

En effet terrain et terain c'est une faute de frappe désolé.

et ensuite le nombre ascii comprend pas bien et dernier point comment fait pour mettre des espaces ex:
rue le courbe $chr(32) rue de la paix j'ai pense a faire un while :
et sa donnerai sa :
1 rue le courbe 2 rue de la paix .

pour les tokens en faite il faut pas que tu prennes comme caractere séparateur l'espace, il faut que tu prennes un caractere qui normalement n'est pas dans le texte genre "|" "~" etc.. fin ce que tu veux du moment qu'il est pas présent dans ton texte à la base.

ps
: les message d'erreur que j'avais avant que je resoudre le probleme
etait no such terrain mais c parce que j'aivais rien dans la table ou
que sa fonctionai pas mais la sa fonctionne sauf pour la deuxieme
partie
voila ;).

essayes de faire des echos de ce qu'il y a dans ta htable aprés avoir fai les commandes pour voir concretement ce qui se passe et post ca ici.

on di pas je veux mais je voudrai :) == dsl je suis creole et j'ecris pas couramment le francais dsl si je vexe.....

Je vi aux antilles...

ISoKa
0
cs_djdadou Messages postés 50 Date d'inscription jeudi 2 août 2007 Statut Membre Dernière intervention 22 septembre 2008
23 août 2007 à 22:55
reponse acceptée ;) sa marche merci iSoKa merci merci .....
en fait c moi qui est mal mi le code pour le nombre ascii heu bof puisque j'ai essayer de mettre le couleur du terrain sa se voit pas trop mais bon c deja bien ..... a plus pour le prochain aide hihihihihihihihhi
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_djdadou Messages postés 50 Date d'inscription jeudi 2 août 2007 Statut Membre Dernière intervention 22 septembre 2008
24 août 2007 à 17:07
salut,
heu re big pb voila bon  mais comment je vais pour verifier(pour construire) ,parce qu'il faut possèder tt terrain de m couleur et je sais pas comment identifier :
voila j'ai tester sa aussi:
on *:text:*:#djs: {
  if ($1 == test) {
    set %ville $gettok($read(ville.txt,5),1,92)
    if (%ville !isin $hget(terrain,acheter)) {
      hadd -m terrain $nick $addtok($hget(terrain,$nick),%ville,124)
      hadd -m terrain acheter $addtok($hget(terrain,acheter),%ville,166)
      set %ter $hget(terrain,acheter)
      set %test $hget(terrain,$nick)
      set %test1 $hfind(terrain,$nick)
      msg #djs �3;8,1 tape �1F;�2;�3;13 !list-ter �1F;�2;�3;8 plus ton �2;�3;0 >speudo< �2;�3;8 pour voir ta liste de terrain !!!!
      msg #djs %test1 possede %test
    }
    else { msg #djs �3;4 deja acheter
    }
  }  if ($1 !list-ter) && ($2) && (%mono on) {
    if ($hget(terrain,$2)) query $2 �3;8,1 tu  possède : $replace($hget(terrain,$2),$chr(124),$chr(59))
    else  msg #djs �3;12 $2 ne possède pas de terrain.
  }
}
 sa donne sa:
<djs> test
<robocop>  tape  !list-ter  plus ton  >speudo<  pour voir ta liste de terrain !!!!
<robocop> djs possede 3. rue lecourbe|4. impôts sur le revenu
<djs> !aw
* djs is now known as djs[away]
<djs[away]> test
<robocop>  tape  !list-ter  plus ton  >speudo<  pour voir ta liste de terrain !!!!
<robocop> djs[away] possede 1. boulevard de belleville|2. caisse communauté|5. gare montparnasse
comment  je vais pour verifier que $nick possède tt les terrain de m couleur .
et j'ai numeroter dans mon fichier text :
1. rue le courbe
2. caisse communauté
3. boulvard bellville
ex je voudrai dire
si $nick possede la ligne 1 et la ligne 2 il peut construire
ainsi d suite mais je vois pas comment:
si vous pouvez une derniere fois m'aider si ensuite je rencontre un autre pb j'abandonnerai ,;) merci .....
0
cs_ISoKa Messages postés 435 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 17 octobre 2008
25 août 2007 à 04:41
bin, tu te fais des item dans ta htable, par exemple hadd 1 rue machin|rue chouette|rue chéplu, on va dire que la zone "1" contient ces trois terrains, donc pour construire sur la zone 1, il faut les 3 donc si kekun faire genre !construire-maison rue machin , tu prends "rue machin" tu fais un test sur $hget  pour savoir à kelle zone ca appartient, en l'occurence la zone 1 et une fois que tu as trouvé que c'est la zone 1 tu verif que tous les terrains de la zone 1 sont bien en possesion du joueur.en faisan un while.

ce ki en gros donnerai un code du genre (je prend comme données qu'il existe 8 zones de terrains car il me semble que ct ca)
if ($1 == !construire-maison) {
 var %i 1
 while !istok($hget(terrain,%i),$2-,124) {
  if (8 < %i) { msg #djs Le terrain $2- n'existe pas | halt }
  inc %i
 }
 var %k $numtok($hget(terrain,%i),124) | var %j 1
 while (%j <= %k) {
  if (!$istok($hget(terrain,$nick),$gettok($hget(terrain,%i),%j,124),124) { msg #djs $nick tu ne posse de pas tous les terrains pour construire sur $2- | halt }
  inc %j
 }
"là tu met ton traitement pour stocker le fait qu'il a construit une maison car si le code arrive ici c'est que le pseudo possede tous les terrains d'une meme zone"
}

j'ai fai ce code un peu à l'arrache et l'ai pas testé mais sur le principe ca devrai marcher si j'ai pas fai une sale erreur d'accolade ou parenthese.

ISoKa
0
cs_djdadou Messages postés 50 Date d'inscription jeudi 2 août 2007 Statut Membre Dernière intervention 22 septembre 2008
25 août 2007 à 14:36
voila ce que j'ai fait :
if ($1 !acheter) && (%mono on) && ($nick == %joueur) && (%prix > 1) {
    if (%ville !isin $hget(terrain,acheter)) {
      hadd -m terrain $nick $addtok($hget(terrain,$nick),%ville,59)
      hadd -m terrain acheter $addtok($hget(terrain,acheter),%ville,124)
      set %test $hfind(terrain,$nick)
      set %ter $hget(terrain,acheter)
      msg #djs �3;8,1 tape �1F;�2;�3;13 !list-ter �1F;�2;�3;8 plus ton �2;�3;0 >speudo< �2;�3;8 pour voir ta liste de terrain !!!!
      msg #djs �1F;�2;�3;15,1 %test possède : %ter
    }
    else { msg #djs �3;4 deja acheter
    }
    ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    hadd -m terrain 1 |boulevard de belleville|rue le courbe
    hadd -m terrain 2 |rue vaugirard|rue de courcelles|avenue de la republique
    hadd -m terrain 3 |boulevard de la villette|avenue de neuilly|rue de paradis
    hadd -m terrain 4 |avenue mozart|boulevard saint-michel|place pigalle
    hadd -m terrain 5 |avenue matignon|boulevard malesherbes|avenue henri-martin
    hadd -m terrain 6 |faubourg saint-honoré|place de la bourse|rue la fayette
    hadd -m terrain 7 |avenue de breteuil|avenue foch|boulevard des capucines
    hadd -m terrain 8 |avenue des champs-élysées|rue la paix
    hadd -m terrain zone9 gare montparnasse|gare de lyon|gare du nord|gare saint-lazare
    hadd -m terrain zone10 compagnie de distribution d'életricité|compagnie de distribution des eaux
  }  if ($1 !list-ter) && ($2) && (%mono on) {
    if ($hget(terrain,$2)) query $2 �3;8,1 tu  possède : $replace($hget(terrain,$2),$chr(124),$chr(59))
    else  msg #djs �3;12 $2 ne possède pas de terrain.
  }
  if ($1 == !construire-maison) {
    var %i 1
    while !istok($hget(terrain,%i),$2-,124) {
      if (8 < %i) { msg #djs Le terrain $2- n'existe pas | halt }
      inc %i
    }
    var %k $numtok($hget(terrain,%i),124) | var %j 1 
    while (%j <= %k) {
      if (!$istok($hget(terrain,$nick),$gettok($hget(terrain,%i),%j,124),124) { msg #djs $nick tu ne posse de pas tous les terrains pour construire sur $2- | halt }
      inc %j
    }
  }
}
la premier parti marche
apres kan je tape !construire-maison sur un terrain que je viens d'achater juste pour tester
tt le temps il me dit que le terrain n'existe pas???
le deuxieme c bien $istok
j'ai essayer de voir la %k mais rien
0
cs_ISoKa Messages postés 435 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 17 octobre 2008
25 août 2007 à 18:19
essai de te coller des echo dans :
    while !istok($hget(terrain,%i),$2-,124) {
      if (8 < %i) { msg #djs Le terrain $2- n'existe pas | halt }
      inc %i
    }
genre :
    while !istok($hget(terrain,%i),$2-,124) {
      echo -a $hget(terrain,%i) >> $2-
      if (8 < %i) { msg #djs Le terrain $2- n'existe pas | halt }
      inc %i
    }
ensuite, pour la construction de ta table :
    hadd -m terrain 1 |boulevard de belleville|rue le courbe
    hadd -m terrain 2 |rue vaugirard|rue de courcelles|avenue de la republique
    hadd -m terrain 3 |boulevard de la villette|avenue de neuilly|rue de paradis
    hadd -m terrain 4 |avenue mozart|boulevard saint-michel|place pigalle
    hadd -m terrain 5 |avenue matignon|boulevard malesherbes|avenue henri-martin
    hadd -m terrain 6 |faubourg saint-honoré|place de la bourse|rue la fayette
    hadd -m terrain 7 |avenue de breteuil|avenue foch|boulevard des capucines
    hadd -m terrain 8 |avenue des champs-élysées|rue la paix
    hadd -m terrain zone9 gare montparnasse|gare de lyon|gare du nord|gare saint-lazare
    hadd -m terrain zone10 compagnie de distribution d'életricité|compagnie de distribution des eaux

les "|" que tu mets au debut sont faux faut ecrire :
hadd -m terrain 1 boulevard de belleville|rue le courbe
ISoKa
0
cs_djdadou Messages postés 50 Date d'inscription jeudi 2 août 2007 Statut Membre Dernière intervention 22 septembre 2008
25 août 2007 à 19:50
bon voila sa bug grave : voila je poste le code enfin ma remote :
si tu voit le defaut tu m'aide ou sinon ben tant pis :
on *:text:*:#: {
  tokenize 32 $strip($1-)  if ($1 !mono) && (%mono on) { notice $nick le jeu est déja lancer }
  if ($1 == !mono) && (%mono != on) {
    set %mono on
    set %i 1
    set %d 1
    set %n 1
    msg $chan �1F;�3;11,1�2; [[ ~~ Monopoly ~~ ]] �2;�3;0,12 a été activer par �3;15 $nick
    msg $chan �3;8,1 nbres de joueur minimum :�2;�3;0 >> 2 << �2;�3;8 ,maximum: �2;�3;0 >> 6 << �2;�3;8,1 . tapez �1F;�3;13 !join �1F;�3;8 pour vous-inscrire ,vous avez �3;9 1 minute �3;8 bonne chance !!
    timer 1 30 msg $chan �3;8,1 il vous reste �3;9 30 secondes �3;8 pour vous inscrire taper �1F;�3;13 !join �1F;�3;8 ,dépechez-vous !!
    timer 1 55 msg $chan �3;8,1 Début du jeu dans �3;9 5 secondes .....
    timer 1 60 debut
    halt       
  }                                                                 if ($1 !off) && (%mono on) {
    unset %mono %join* %dej* %de* %l %d %ter
    timers off
    hfree terrain
    write -c participant.txt
    msg $chan �1F;�3;11,1�2; [[ ~~ Monopoly ~~ ]] �2;�3;0,12 a été stoppé pas �2;�3;15 [ [ $nick ] ]
    halt
  }  if ($1 !join) && (%mono on) && (%join [ $+ [ $nick ] ] == $null) && (%d == 1) {
    set %join [ $+ [ $nick ] ] 1
    if (%i <= 6) {
      msg $chan �3;15,1 $nick �3;8 a join �3;11 monopoly �3;8 bonne chance ! La banque vous verse la somme de �1F;�3;4 150 000 frs !!
      /write participant.txt $nick 150 000
      inc %i
      halt
    }
    else (%i > 6) {
      msg $chan �3;15,1 $nick �3;8 dsl le jeu est déja complet ;)....
      halt
    }
  }  if ($1 !join) && (%mono on) && (%i <= 6) && (%join [ $+ [ $nick ] ] == 1) {
    notice $nick tu es déja inscrit .
    halt
  }  if ($1 !lance) && (%mono on) && ($nick == %joueur) && (%l == 1) {
    if (%dej [ $+ [ %joueur ] ] < 40) {
      inc %dej [ $+ [ %joueur ] ] %de3
    }
    elseif (%dej [ $+ [ %joueur ] ] == 40) {
      set %dej [ $+ [ %joueur ] ] 0
    }
    elseif (%dej [ $+ [ %joueur ] ] > 40) {
      set %dej [ $+ [ %joueur ] ] $calc(%dej [ $+ [ %joueur ] ] - 40)
    }
    continu
  }  if ($1 !pass) && (%mono on) && ($nick == %joueur) && (%pass == 1) {
    timers off
    debut 
  }  if ($1 !acheter) && (%mono on) && ($nick == %joueur) && (%prix > 1) {
    if (%ville !isin $hget(terrain,acheter)) {
      hadd -m terrain $nick $addtok($hget(terrain,$nick),%ville,59)
      hadd -m terrain acheter $addtok($hget(terrain,acheter),%ville,124)
      set %jou $hfind(terrain,$nick)
      set %ter $hget(terrain,acheter)
      msg #djs �3;8,1 tape �1F;�2;�3;13 !list-ter �1F;�2;�3;8 plus ton �2;�3;0 >speudo< �2;�3;8 pour voir ta liste de terrain !!!!
      msg #djs �1F;�2;�3;15,1 %jou possède : %ter
    }
    else { msg #djs �3;4 deja acheter
    }
    hadd -m terrain 1 boulevard de belleville|rue le courbe
    hadd -m terrain 2 rue vaugirard|rue de courcelles|avenue de la republique
    hadd -m terrain 3 boulevard de la villette|avenue de neuilly|rue de paradis
    hadd -m terrain 4 avenue mozart|boulevard saint-michel|place pigalle
    hadd -m terrain 5 avenue matignon|boulevard malesherbes|avenue henri-martin
    hadd -m terrain 6 faubourg saint-honoré|place de la bourse|rue la fayette
    hadd -m terrain 7 avenue de breteuil|avenue foch|boulevard des capucines
    hadd -m terrain 8 avenue des champs-élysées|rue la paix
    hadd -m terrain zone9 gare montparnasse|gare de lyon|gare du nord|gare saint-lazare
    hadd -m terrain zone10 compagnie de distribution d'életricité|compagnie de distribution des eaux
  }  if ($1 !list-ter) && ($2) && (%mono on) {
    if ($hget(terrain,$2)) query $2 �3;8,1 tu  possède : $replace($hget(terrain,$2),$chr(124),$chr(59))
    else  msg #djs �3;12 $2 ne possède pas de terrain.
  }
}
if ($1 == !construire-maison) {
  var %i 1
  while !istok($hget(terrain,%i),$2-,124) {
    if (8 < %i) { msg #djs Le terrain $2- n'existe pas | halt }
    inc %i
  }
  var %k $numtok($hget(terrain,%i),124) | var %j 1 
  while (%j <= %k) {
    if (!$istok($hget(terrain,$nick),$gettok($hget(terrain,%i),%j,124),124) { msg #djs $nick tu ne posse de pas tous les terrains pour construire sur $2- | halt }
    inc %j
  }
}
alias debut {
  set %nbrej $lines(participant.txt)
  if (%nbrej == 0) {
    unset %mono
    timers off
    msg #djs �1F;�3;11,1 Monopoly �3;8 est stopp
    é ,pas de joueur :) tape �3;13 !mono �3;8 pour recommencer ;)...
  }
  elseif (%nbrej == 1) {
    msg $chan �3;8,1 Pas assez de joueur le �3;11 monopoly �3;8 ne débutera pas pour le moment cherche toi un(e) partenaire ;) !!
    msg $chan �3;8,1 taper �1F;�3;13 !join �1F;�3;8 tu as �3;9 30 secondes ....
    timer 1 30 debut
  }
  elseif (%nbrej > 1) {
    unset %d
    set %l 1
    set %dernier $gettok($read(participant.txt,%nbrej),1,32)
    set %joueur $gettok($read(participant.txt,%n),1,32)
    if (%dej [ $+ [ %joueur ] ] == $null) {
    set %dej [ $+ [ %joueur ] ] 0 }
    msg #djs �3;8,1 vas-y �1F;�2;�3;15 %joueur �1F;�2;�3;8 taper �1F;�3;4 !lance �1F;�3;8 pour lancer les dés , bonne chance !!
    set %de1 $r(1,6)
    set %de2 $r(1,6)
    set %de3 $calc(%de1 + %de2)
  }
}
alias continu {
  set %pass 1
  set %ville $gettok($read(ville.txt,%dej [ $+ [ %joueur ] ]),1,92)
  set %prix $gettok($read(ville.txt,%dej [ $+ [ %joueur ] ]),2,92)
  set %id $gettok($read(ville.txt,%dej [ $+ [ %pseudo ] ]),1,56)
  msg #djs �1F;�2;�3;15,1 %joueur �1F;�2;�3;9 ==> �3;8 Valeur de1 : �1F;�3;0,12 %de1 �1F;�3;8,1 ,valeur de2 : �1F;�3;0,12 %de2 �1F;�3;8,1 ,valeur des dés jouer : �1F;�3;0,12 %de3 �1F;�3;8,1 ,tu avances de �1F;�3;0,12 %de3 �1F;�3;8,1 tu es sur la: �1F;�2;�3;9,12 >>> %dej [ $+ [ %joueur ] ] eme <<<< �1F;�2;�3;8,1 cases !!!
  ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  if (%prix == 0) {
    msg #djs �3;8,1 tu es sur : �3;13 %ville �3;8 tape �2;�1F;�3;0,12 !chance �1F;�2;�3;8,1 pour tirer une carte chance !!
  }
  elseif (%prix == 1) {
    msg #djs �3;8,1 tu es sur : �3;0,12 %ville �3;8,1 tape �1F;�2;�3;0,1 !caisse �1F;�2;�3;8,1 pour tirer une carte caisse_communauté !!
  }
  elseif (%prix == -1) {
    msg #djs �3;11,1 simple visite !!
  }
  elseif (%prix == -10) {
    msg #djs �3;8,1 tu es sur : �1F;�2;�3;9,12 tu vas directos en prison !!
  }
  elseif (%prix == -2) {
    msg #djs �3;8,1 tu es sur : �2;�3;4 < PARC GRATUIT >
  }
  elseif (%prix == -40) {
    msg #djs �3;8,1 tu es sur : �3;�1F;�3;15 >>> depart <<< .�3;8,1 tu gagnes �3;4�2; 40 000 fr !!
  }
  elseif (%prix == -10000) {
    msg #djs �3;8,1 tu es sur : �2;�3;4 %ville �2;8 tu dois payer �3;4�1F; 10 000 fr !!
  }
  elseif (%prix == -20000) {
    msg #djs �3;8,1 tu es sur : �2;�3;4 %ville  �2;�3;8 tu dois payer �3;4�1F; 20 000 fr !!
  }
  else { msg #djs �3;8,1 tu es sur : %ville �3;8,1 valeur : �3;13 < %prix > �3;8 fr !!! �3;8,1 tape �1F;�2;�3;13 !acheter �1F;�2;�3;8 pour acheter le terrain !!
  }
  ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  if (%dernier != %joueur) {
    if (%de1 != %de2) {
      inc %n
    }
    else (%de1 == %de2) { set %joueur %joueur  | msg #djs �2;�3;11,1 tu as fait un double !!! }
  }
  if (%dernier == %joueur) {
    if (%de1 != %de2) {
      set %n 1
    }
    else (%de1 == %de2) { set %joueur %dernier | msg #djs �2;�3;11,1 tu as fait un double !!! }
  }
  timer 1 60 debut
}
en echo sa donne sa :
boulevard de belleville|rue le courbe >> boulevard de la villette
rue vaugirard|rue de courcelles|avenue de la republique >> boulevard de la villette
boulevard de belleville|rue le courbe >> rue de paradis
rue vaugirard|rue de courcelles|avenue de la republique >> rue de paradis
boulevard de belleville|rue le courbe >> rue vaugerard
boulevard de belleville|rue le courbe >> avenue matignon
j'ai pas les 8
bon ben si tu peux tu m'aide je suis pas presser sinon .....
merci d'avance et merci pour le debut 
0
cs_ISoKa Messages postés 435 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 17 octobre 2008
25 août 2007 à 20:05
tu as eu ca comme ca dans cet ordre en ayant fait une seule foit "!construire-maison terrain" ? de ce que je voi tu as appelé plusieurs la fonction, et d'ailleur apparament elle passe, je pense que tu as fait :
!construire-maison boulevard de la villette
et donc y a eu :
boulevard de belleville|rue le courbe >> boulevard de la villette
rue vaugirard|rue de courcelles|avenue de la republique >> boulevard de la villette
et au troisieme il est passé vu que le troisieme contient ce terrain, idem pour les autres aprés, donc ce truc là fonctionne bien.

par contre tu n'as pas mi le traitement pour dire que la maison est bien construite.
var %k $numtok($hget(terrain,%i),124) | var %j 1 
  while (%j <= %k) {
   
if (!$istok($hget(terrain,$nick),$gettok($hget(terrain,%i),%j,124),124)
{ msg #djs $nick tu ne posse de pas tous les terrains pour construire
sur $2- | halt }
    inc %j
  }
}
devient
var %k $numtok($hget(terrain,%i),124) | var %j 1 
  while (%j <= %k) {
   
if (!$istok($hget(terrain,$nick),$gettok($hget(terrain,%i),%j,124),124)
{ msg #djs $nick tu ne posse de pas tous les terrains pour construire
sur $2- | halt }
    inc %j
  }
msg #djs test maison construire
}
essaye avec ca et tu verras qu'il dira la phrase ce qui prouve que le processus est bon. à toi maintenant de gérer la construction via un code.
ISoKa
0
cs_djdadou Messages postés 50 Date d'inscription jeudi 2 août 2007 Statut Membre Dernière intervention 22 septembre 2008
26 août 2007 à 22:38
salut re,
bon voila sa marche pas,je m 'explique:
deja dans le code c ecrit !istok je le trouve pas dans l'aide :-o
c pas plutot !$istok ???
ensuite bon si je laisse le istok ca me dit tt le temps
<mono>  tape  !list-ter  plus ton  >speudo<  pour voir ta liste de terrain !!!!
<mono>  djs possède : place pigalle|rue vaugirard|rue de courcelles|avenue mozart|avenue de la republique
<djs> !construire-maison rue vaugirard
>>>>>>><mono> Le terrain rue vaugirard n'existe pas<<<<<<<
alors que j'ai le terrain en plus les 3 terrains
si je met $istok on me dit ::
* Invalid format: $numtok (line 89, script1.ini)
le code c sa:
if ($1 == !construire-maison) {
    var %i 1
    while !istok($hget(terrain,%i),$2-,124) {
      if (8 < %i) { msg #djs Le terrain $2- n'existe pas | halt }
      inc %i
    }
    var %k $numtok($hget(terrain,%i),124) 
    var %j 1 
    while (%j <= %k) {
      if (!$istok($hget(terrain,$nick),$gettok($hget(terrain,%i),%j,124),124) { msg #djs $nick tu ne posse de pas tous les terrains pour construire sur $2- | halt }
      inc %j
    }
    msg #djs test maison construire
  }

le premier !istok c pas plutot !$istok mais tt facon apres c le $numtok qui fonctionne pas
...................... voila merci de bein vouloir m'aider
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
26 août 2007 à 23:11
Bon, a chaque fois que ton code marche pas tu va venir le poser ici ? Tu devrais bien réfléchir et bien regardé l'aide avant, tu dis toi même que le !istok n'est pas bon que c'est $istok... ensuite mirc dis clairement que il faut mettre un = quand tu met une valeur...

Quelque remarque sur ton code :
-Effectivement, !istok n'existe pas, c'est bien $istok, et ensuite NON $numtok n'est pas faux, il est carrement juste, l'erreur viens juste du fait que tu n'est pas la version 6.3 de mirc, et donc ici :
var %k $numtok($hget(terrain,%i),124) 
Étant donné que /Var permet d'assigner plusieur variable en même temps (le tout collé), mIRC parse le ,%i comme un nouvelle assignement de variable, et donc il dis que ton $numtok est pas bon, (alors que c'est le cas).Il suffit juste d'ajouter le = :
var %k = $numtok($hget(terrain,%i),124)  qui permet a mirc de ne pas  prendre les ,%name en tant qu'assignement de variable

A noter que l'on ne devrais pas assigner des valeur a une variable sans le signe =, il n'y a que sur la 6.3 que le = n'est plus du tout requis (même dans un cas comme ça)
0
cs_djdadou Messages postés 50 Date d'inscription jeudi 2 août 2007 Statut Membre Dernière intervention 22 septembre 2008
28 août 2007 à 18:00
tester sa  svp et aider moi svp:

on *:text:*:#: {
  if ($1 == test) {
    msg # test
    hadd -m terain 1 boulevard de belleville|rue le courbe
    hadd -m terain 2 rue vaugirard|rue de courcelles|avenue de la republique
    hadd -m terain 3 boulevard de la villette|avenue de neuilly|rue de paradis
    hadd -m terain 4 avenue mozart|boulevard saint-michel|place pigalle
    hadd -m terain 5 avenue matignon|boulevard malesherbes|avenue henri-martin
    hadd -m terain 6 faubourg saint-honoré|place de la bourse|rue la fayette
    hadd -m terain 7 avenue de breteuil|avenue foch|boulevard des capucines
    hadd -m terain 8 avenue des champs-élysées|rue la paix
    hadd -m terain zone9 gare montparnasse|gare de lyon|gare du nord|gare saint-lazare
    hadd -m terain zone10 compagnie de distribution d'életricité|compagnie de distribution des eaux
    hadd -m terain $nick  avenue henri-martin|rue la paix|gare de lyon|boulevard de belleville|avenue mozart|rue le courbe|avenue des champs-élysées
    msg #djs $hget(terain,$nick)
  }
  if ($1 == !maison) {
    var %i 1
    while (%i < 8) {
      set %test2 $hget(terain,%i)
      if (!$istok(%test2,$2-,124)) {
        echo -a #djs %test2
        inc %i
      }
      ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      set %k $numtok($hget(terain,%i),124)
      ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      echo -a #djs %i
      echo -a #djs %k
      var %j 1
      while (%j < %k) {
        echo -a #djs %j
        echo -a #djs $gettok($hget(terain,%i),%j,124)
        if (!$istok($hget(terain,$nick),$gettok($hget(terain,%i),%j,124),124)) {
        msg #djs tu possede pas assez de terrain | halt  }
        inc %j
      }
      else { msg #djs terrain construit }
    }
    if ($1 == !fin) {
      hfree terain
    }
  }
}
merci d'avance....
0
cs_djdadou Messages postés 50 Date d'inscription jeudi 2 août 2007 Statut Membre Dernière intervention 22 septembre 2008
9 sept. 2007 à 18:00
heu poukoi kan j'utilise $istok mon mirc bug pour le probleme du monopoly c le code couleur je sais pas comment le contourner (bug = deconnect et mi di t'envoyer le message d'erreur bref )
0
cs_djdadou Messages postés 50 Date d'inscription jeudi 2 août 2007 Statut Membre Dernière intervention 22 septembre 2008
28 sept. 2007 à 13:37
salut , une question comment on fait pour voir le contenu d'une hatble
ex:
hmake test 10
hload -i test tst.ini nick
???
bye,
0
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
28 sept. 2007 à 17:49
tu utilises une boucle (while) comme ceci :
var %t 1, %m $hget(test,0).item
while %t <= %m {
  echo $hget(test,%t).item : $hget(test,%t).data
  inc %t
}

tu devrais vraiment consulter l'aide de mIRC avant de venir ici ... t'apprendrais beaucoup plus, plus vite, et tu retiendrais mieux
0
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
28 sept. 2007 à 20:34
euh ... j'ai du louper une étape
d'où ça s'est mal passé ?

je te donne ce que tu cherches et même un conseil ... si tu le prends mal, c'est qu'il y a un problème là sérieux !
0
cs_djdadou Messages postés 50 Date d'inscription jeudi 2 août 2007 Statut Membre Dernière intervention 22 septembre 2008
1 oct. 2007 à 20:47
bonjour,ben oui je viens ici ,comme je l'ais dit pour m'aider ,tt le temps la m reflexion
tu devrais lire l 'aide irc   

ben c 'est  ce que j'ai fait, le seul truc qui me manquais dans ton code c 'est $hget(nom/N).data
que dans l'aide irc est bien cacher mdr ou j'ai pas capter voila .
je viens en dernier recourt et la vous me dite de lire l'aide si je capte
ce que me dit l'aide je vais pas venir ici... non??? >>> voila pourquoi je dit que ca se passe mal .
voila ,bye et bonne continuation ...
0
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
1 oct. 2007 à 22:02
l'aide, c'est un peu comme la bible ... c'est inconcevable que quelqu'un qui veuille coder ne la comprenne pas !
j'exagère, mais j'en suis pas loin

la seule raison que je vois pour venir demander de l'aide sur ce forum, c'est pour une subtilité qui n'est pas expliquée dans l'aide, voire une série de commandes.
Autrement, si ce n'est que pour un identifieur ou une commande, y'a en théorie nul besoin de venir ici
0
Rejoignez-nous