Pour 'minerbe' - debug

cs_TropNul Messages postés 340 Date d'inscription dimanche 18 septembre 2005 Statut Membre Dernière intervention 22 octobre 2009 - 26 nov. 2007 à 19:03
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011 - 14 déc. 2007 à 21:01
; MODIFIED/OPTIMIZED CODE!

; Je ne l'ai volontairement pas commente. A toi, minerbe, de
; chercher, d'apprendre et de comprendre. Bien evidemment, nous
; repondrons a toutes tes questions.

On $*:Text:/^((!(?:add|del)?news) \s ([^$]+))$/iSx:#:{  Var %C $regml(2) , %n $nick
  Tokenize 32 $regml(3)
  If !%n.busy {
    Set -ze %n.busy 7
    If (%C == !news) && $isfile(news.txt) {
      If !$2 { Sendnews %n }
      Else { .Timer 1 2 .Notice %n News $iif($read(news.txt,$2),$2 : $v1,inexistante) }
    }
    ElseIf (%C == !addnews) {
      If $UsrProt(%n) { .Timer 1 1 .Notice %n $TxtEch(1) | Return }
      If $2 { Write news.txt $2- | .Timer 1 1 .Notice %n News ajoutée }
      Else { .Timer 1 1 .Notice %n $TxtEch(2) }
    }
    ElseIf (%C == !delnews) && $isfile(news.txt) {
      If $UsrProt(%n) { .Timer 1 1 .Notice %n $TxtEch(1) | Return }
      If $2 {
        If ($2 <= $lines(news.txt)) { Write -dl $+ $2 news.txt | .Timer 1 1 .Notice %n News $2 supprimée }
        Else { .Notice %n News inexistante! }
      }
      Else { .Notice %n $TxtEch(3) }
    }
  }
  Else { .Timer 1 1 .Notice %n Veuillez patienter svp... Merci }
}

Alias -l Sendnews {
  If !$lines(news.txt) { .Timer 1 1 .Notice $1 $TxtEch(4) | Return }
  Play -pn $1 news.txt 1500
}

Alias -l UsrProt { Return $iif(!$istok($+(%protect,$chr(32),%owner,$chr(32),%master),$1,32),1,0) }

Alias -l TxtEch {
  If ($1 == 1) { Return Accès refusé. }
  ElseIf ($1 == 2) { Return Entres le texte de la news! }
  ElseIf ($1 == 3) { Return Entres le numéro de la news à supprimer! }
  ElseIf ($1 == 4) { Return Aucune news pour le moment }
  Else Return
}

; INFORMATIONS COMPLEMENTAIRES

; - Nul besoin de creer le fichier "news.txt". Tout se fait
;   automatiquement. Si inexistant lors d'un '!delnews' ou
;   d'un '!news [nombre]', la fonction ne fera rien.
; - Creation de 2 fonctions supplementaires. L'une verifiant
;   que le user activant le on text soit dans les listes
;   'master|owner|protect' et l'autre affichant les textes
;   divers.
; - Utilisation de la commande /play pour envoyer les news
;   sans grand risque d'etre deconnecte en 'Excess flood' du
;   serveur.
; - Utilisation de variable de temporisation '%n.busy' mettant
;   l'etat de la fonction en 'occupe' pour 7 secondes lorsqu'une
;   demande lui ai faite. Donc, elle ne sera accessible que
;   toutes les 7 secondes.

; ET ENFIN

; - Utilises plutot ce forum pour demander de l'aide pour
;   debugger tes codes.

Cordialement

7 réponses

cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
26 nov. 2007 à 20:24
L'intention est surement pas mauvaise, mais je doute que c'est en balançant ton code ici, comme ça,  que tu vas aidé l'user.

Je pense que tu oublies un peu trop que certaine personne débute, et  ne comprenne pas un code mirc en claquant des doigts, surtout les regex (en plus ici c'est vraiment pas utile), qui sont une des choses les plus dur a pigé.Il ne faut pas oublier aussi que la plupart n'ont pas l'aide de mirc en français et que même si c'est le cas, ne trouve pas ce qu'il désire dans l'aide, car si tu ne connais pas la commande, tu risques franchement pas de la trouvé.C'est pas une mauvaise idée, mais commenté ton code, et donné les références d'aide (/help *) des commandes aurait été une bien meilleur idée selon moi.

Sinon vite fait, l'alias usrprot :
alias -l usrprot return $istok(%protect %owner %master,$1,32)
et le "else return" dans l'alias d'après n'est pas nécéssaire :p
0
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
28 nov. 2007 à 17:11
<quote>
surtout les regex [...], qui sont une des choses les plus dur a pigé
</quote>
pour moi ca reste les binvars

Honorine <3 /°/ www.uaipcreations.ovh.org
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
28 nov. 2007 à 17:34
Les binvars sont des variables locale dont la limite dépend uniquement de place qu'il reste sur ton disque dur, je vois pas ce qu'il y a de compliqué :)
0
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
28 nov. 2007 à 17:42
non, faut jouer sur chaque bit, etc, jcomprends pas tout (loin de la -_-)
enfin je sais pas si tu joues sur les mots, mais je parle des fichiers binaires (/help /bwrite)

Honorine <3 /°/ www.uaipcreations.ovh.org
0

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

Posez votre question
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
28 nov. 2007 à 18:02
Lol, oui moi aussi :) ce que je dis est vrai, mais il est vrai aussi que c'est une vision simplifié,
/bwrite permer d'écrire une variable binaire (ou une partie d'une binvar) dans un fichier
0
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
13 déc. 2007 à 13:45
Les binvars c'est super trop bas niveau les mecs.
EOT

(End Of Troll)
0
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
14 déc. 2007 à 21:01
/bwrite d'ac, je l'utilise aussi. mais j'ai vu un code ou le gars replace des bits par-ci, d'autres par la... j'ai pas tout compri a son truc. Mais comme tu dis pada, ca doit surement pas etre difficile, mais juste se mettre dedans, quoi
(et moi je préfere les calculs binaires :D )

Honorine <3 /°/ www.uaipcreations.ovh.org
0
Rejoignez-nous