Aide - Recherche - Membres - Calendrier
Version complète : Scan Profil (simple)
CCS Forums > VSIXc Chat > Scripts et Add-Ons pour VSIXc
Orus
Hello,

Bah voilà, un scan profil que j'avais fait quand on a commencé à venir sur Vsixc.
il est très simplifié et donne les messages en echo.
je le post histoire d'etoffer un peu le forum lol:p

Pour ceux qui utilise flashvsi, il ne vous servira à rien du tout parce que flashvsi en contient un bien mieux et plus elaboré que celui ci.( et pour dire, vaut mieux utiliser flashvsi tongue.gif)

il fonctionne normalement pour toutes connexion à vsixc.
ici 3 signaux sont exploités :

;signal 'vscan.prof.genre' $chan $nick genre $+ I ou NI
;signal 'vscan.prof.age' $chan $nick age
;signal vscan.prof.loca $chan $nick localité

CODE
;sockopen Vscan.prof vsixc.ath.cx 8080 cf "on !*:join" plus bas
on *:sockopen:Vscan.prof.*:{
  if ($sockerr) { echo -a 4 Connexion Impossible. | halt }
  echo -s 3 Socket $sockname connecté.
  sockwrite -n $sockname GET /index.php?page=profile&nick= $+ %vp.prof HTTP/1.1
  sockwrite -n $sockname Host: www.vsixc.com $+ $str($crlf ,2)
  sockwrite -n $sockname User-Agent: Mozilla/5.0
}

on *:sockread:Vscan.prof.*: {
  var %vp.salle, %vp.nick, %vp.genre
  %vp.salle = %vp.chan
  %vp.nick = %vp.prof
  %vp.genre = $gettok($sock($sockname).mark,3,32)
  sockread %w
  if (The specified user could not be found. isin %w) { signal vscan.noprof %vp.salle %vp.prof NP }
  elseif (Hobby's: isin %w) {
    var %vp.genre =  $remove(%w,<td>,</td>,&nbsp;,</tr>,<tr>,Hobby's:)
    if (Male == %vp.genre) {
      var %vp.genre = M
      sockmark $sockname %vp.salle %vp.nick %vp.genre
    }
    elseif (Female == %vp.genre) {
      var %vp.genre = F
      sockmark $sockname %vp.salle %vp.nick %vp.genre
    }

    elseif (unspecified == %vp.genre) {
      var %vp.genre = N
      sockmark $sockname %vp.salle %vp.nick %vp.genre
    }
  }

  if (<td>Location:&nbsp;&nbsp;</td><td> isin %w) {
    var %vp.age = $remove(%w,<td>,</td>,&nbsp;,</tr>,<tr>,location,:)
    signal vscan.prof.age %vp.salle %vp.nick %vp.age
  }
  if (Website:&nbsp;&nbsp; isin %w) {
    var %vp.loca = $remove(%w,<td>,</td>,&nbsp;,</tr>,<tr>,website:)
    signal vscan.prof.loca %vp.salle %vp.nick %vp.loca
  }
  if (images/profile isin %w) {
    set %vp.img I
  }
  if (images/nopic isin %w) {
    set %vp.img NI
  }
}


on *:sockclose:Vscan.prof.*:{
  vscan.prof.genre.info $sock($sockname).mark
  echo -s 4 Fermeture du socket $sockname
}
alias vscan.prof.genre.info {
  signal vscan.prof.genre $1 $2 $3 $+ %vp.img
  unset %vp.img %w
}
;signal 'vscan.prof.genre' $chan $nick genre $+ I ou NI
on *:signal:vscan.prof.genre: {
  if ($3 == MI)  { echo -a 15 $2 : Profil homme avec image }
  if ($3 == FI) { echo -a 15 $2 : Profil femme avec image }
  if ($3 == NI) { echo -a 15 $2 : Profil neutre avec image }
  if ($3 == MNI) { echo -a 15 $2 : Profil homme sans image }
  if ($3 == FNI) { echo -a 15 $2 : Profil femme sans image }
  if ($3 == NNI) { echo -a 15 $2 : Profil neutre sans image }
  if ($3 == NP) { echo -a 15 Profil non spécifié }
}

;signal 'vscan.prof.age' $chan $nick age
on *:signal:vscan.prof.age: {
  if ($3 == 0) {  echo -a  15 $2 n'indique pas son age }
  if ($3 > 0) {  echo -a  15 $2 indique $3  $iif($3 > 1,ans,an) sur son profil }
}
;signal vscan.prof.loca $chan $nick localité
on *:signal:vscan.prof.loca: {
  if (!$3) { echo -a 15  Localité non indiqué }
  else { echo -a 15 Localité : $3- }
}

on !*:JOIN:#: {
  if ($isflood == 1) return
  set -u8 %vp.prof $nick
  set -u8 %vp.chan $chan
  sockopen Vscan.prof. $+ $rand(100,999) www.vsixc.com 80
}
;Anti-flood par C•Dryk™ (on dit merci C•Dryk™ =))
alias isflood { if (%isflood) return 1 | else { set -u4 %isflood on | return 0 } }
;;; Scan profil par Orus modifiez à souhait si vous voulez, juste laissez le nom ça fait plaisir de croisé des script avec des trucs qu'on fait;)


CITATION
Suite au changement d'hebergeur du serveur http de vsixc,(maintenant sur le server ccs) le code a subit un disfonctionnement. Il est desormais corrigé.


à plus wink.gif
Orus
Mise à jour de vscan.prof suite au nouveau design du vsixc.

CODE
on *:sockopen:vscan.prof.*: {
  if ($sockerr) { echo 4 -a *** Connexion sur $sockname impossible | halt }
  else {
    set -u6 %vscan.salle. $+ $sockname %vscan.salle
    set -u6 %vscan.nick. $+ $sockname %vscan.nick
    sockwrite -nt $sockname GET /members/ $+ %vscan.nick. [ $+ [ $sockname ] ] $+ /view.html HTTP/1.0
    sockwrite -nt $sockname Host: www.vsixc.com $+ $str($crlf ,2)
    sockwrite -nt $sockname User-Agent: Mozilla/5.0  
  }
}
on *:sockread:vscan.prof.*: {
  sockread -n &bsock
  if ($bfind(&bsock,1,error.gif))  { .signal vscan.noprofil. $+ $rand(100,999) %vscan.salle. [ $+ [ $sockname ] ] %vscan.nick. [ $+ [ $sockname ] ] NP }
  if ($bfind(&bsock,1,dynamic/members)) { set -u6 $+(%,img.,$sockname) P  }
  elseif ($bfind(&bsock,1,profile_nopicture)) {  set -u6  $+(%,img.,$sockname) N }
  if ($bfind(&bsock,1,<tr><td class="info">gender))  {
    set %bsock $bvar(&bsock,1-).text
    if (Male isincs %bsock) {
      .signal vscan.prof.genre. $+ $rand(100,999) %vscan.salle. [ $+ [ $sockname ] ] %vscan.nick. [ $+ [ $sockname ] ] H $+ %img. [ $+ [ $sockname ] ]
    }
    if (female isin %bsock) {
      .signal vscan.prof.genre. $+ $rand(100,999) %vscan.salle. [ $+ [ $sockname ] ] %vscan.nick. [ $+ [ $sockname ] ] F $+ %img. [ $+ [ $sockname ] ]
    }
    if (indicated isin %bsock) {
      .signal vscan.prof.genre. $+ $rand(100,999) %vscan.salle. [ $+ [ $sockname ] ] %vscan.nick. [ $+ [ $sockname ] ] N $+ %img. [ $+ [ $sockname ] ]
    
    }
  }
  if ($bfind(&bsock,1,<tr><td class="info">age)) {
    set %bage $bvar(&bsock,1-).text
    if (indicated !isin %bage) { .signal vscan.prof.age. $+ $rand(100,999) %vscan.salle. [ $+ [ $sockname ] ] %vscan.nick. [ $+ [ $sockname ] ] $remotag(%bage) }
    if (indicated isin %bage) { .signal vscan.prof.age. $+ $rand(100,999)  %vscan.salle. [ $+ [ $sockname ] ] %vscan.nick. [ $+ [ $sockname ] ] 0 }
  }
  if ($bfind(&bsock,1,<tr><td class="info">Residence)) {
    set %bloca $bvar(&bsock,1-).text
    .signal vscan.prof.loca. $+ $rand(100,999) %vscan.salle. [ $+ [ $sockname ] ] %vscan.nick. [ $+ [ $sockname ] ] $remotag(%bloca)
  }
}
alias remotag {
  var %s $remove($1-,<tr><td,class="info">,:,<td>,</td>,</tr>,$chr(9),$chr(160),AgeÂ,ResidenceÂ)
  return %s
}
on !*:join:#: {
  .signal nick.salle.sock. $+ $rand(100,9999) $chan $nick vscan.prof. $+ $rand(100,999)  www.vsixc.com 80 %vc. [ $+ [ $nick ] ]
}

on *:signal:nick.salle.sock.*: {
  set -u10 %vscan.salle $1
  set -u10  %vscan.nick $2
  sockopen $3 $4 $5
}
;* signal 'vscan.prof.genre' (#[CP][FR]Barre-toi Cmoi HN)
;signal vscan.prof.genre.* $1 == $chan , $2 == $nick , $3 == H (H == Homme) F (F == Femme) N (N == non indiqué) $+ P (Photo) or N (No photo)
on *:signal:vscan.prof.genre.*: {
  if ($3 == HP) { echo -t $1 14    ¤ $2 a un profil Homme avec image }
  if ($3 == HN) { echo -t $1 14    ¤ $2 a un profil Homme sans image }
  if ($3 == FP) { echo -t $1 14    ¤ $2 a un profil Femme avec image }
  if ($3 == FN) { echo -t $1 14    ¤ $2 a un profil Femme sans image }
  if ($3 == NP) { echo -t $1 14    ¤ $2 a un profil Neutre avec image }
  if ($3 == NN) { echo -t $1 14    ¤ $2 a un profil Neutre sans image }
}

;* signal 'vscan.prof.age' (#[CP][FR]Barre-toi Cmoi 30)
;* signal 'vscan.prof.age' $chan , $nick , Age
on *:signal:vscan.prof.age.*: {
  if ($3 = 0) { echo -t $1 14    ¤ $2  n'indique pas son age dans son profil. }
  if ($3 > 0) { echo -t $1 14    ¤ $2 indique $3 $iif($3 <= 1 ,an,ans) sur son profile. }
}
;* signal 'vscan.prof.loca' (#[CP][FR]Barre-toi Cmoi Lyon France)
;* signal 'vscan.prof.loca' $chan , $nick , Localité
on *:signal:vscan.prof.loca.*: {
  if (!$3) { echo -t $1 14    ¤ Le profil de $2 n'indique aucune localité }
  else { echo -t $1 14     ¤ Localité : $3- }
}
;* signal 'vscan.noprofil.9942' (#[CP][FR]CCS cassandra_saleconnasse NP)
;* signal 'vscan.noprofil.9942' $chan , $nick , No Profil
on *:signal:vscan.noprofil.*: {
  if ($3 == NP) { echo -t $1 14     ¤ Profil introuvable }
}
C•Dryk™
service rapide tongue.gif
Orus
Hello, J'ai mis le scan profil à jour, l'autre ne fonctionnait plus tongue.gif

C'est mon premier essai avec les binvar, si vous avez des commentaires ou suggestions, ça serait bienvenu tongue.gif

à plus ^^
Félix-le-©hat™
Ne serait-il pas plus simple de balancer directement le lien du profil ???
Certain(e) n'étant attiré(e) que par la photo sur le profil wacko.gif
rolleyes.gif
Orus
CITATION(Félix-le-©hat™ @ 25/07/2007, 20:22) *
Ne serait-il pas plus simple de balancer directement le lien du profil ???
Certain(e) n'étant attiré(e) que par la photo sur le profil wacko.gif
rolleyes.gif

si, il y a même plus simple et là pas besoin de coder quoique ce soit...

clic droit sur le nick\afficher le profil smile.gif
Ceci une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquez ici.
Invision Power Board © 2001-2012 Invision Power Services, Inc.