ben c'est la version améliorée de mon ancien add-on
Source / Exemple :
menu channel,nicklist,status {
-
ghost-dialog: {
/set %chanenquestion $chan
/dialog -m ghost ghost
}
}
dialog ghost {
title " ---------=====>> GHOST DIALOG <<=====-------- "
size -1 -1 370 400
tab "méthode 1",24, 5 5 370 293
tab "méthode 2",25
box "pseudo" ,1, 13 40 145 160, tab24
edit "" ,2, 23 60 130 20, tab24
edit "" ,3, 23 85 130 20, tab24
edit "" ,4, 23 110 130 20, tab24
edit "" ,5, 23 135 130 20, tab24
edit "" ,6, 23 160 130 20, tab24
box "mot de passe",7, 157 40 120 160, tab24
edit "" ,8, 167 60 100 20, pass, tab24
edit "" ,9, 167 85 100 20, pass, tab24
edit "" ,10, 167 110 100 20, pass, tab24
edit "" ,11, 167 135 100 20, pass, tab24
edit "" ,12, 167 160 100 20, pass, tab24
button "ghoster" ,13, 280 60 60 20, tab24
button "ghoster" ,14, 280 85 60 20, tab24
button "ghoster" ,15, 280 110 60 20, tab24
button "ghoster" ,16, 280 135 60 20, tab24
button "ghoster" ,17, 280 160 60 20, tab24
box "ghoster",18, 276 40 80 160, tab24
button "VALIDER" ,19, 13 210 100 48, flat ok
button "ANNULER" ,20, 257 210 100 48, flat cancel
text "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!",23, 10 265 365 15
box "",26, 10 30 140 175, tab25
list 27, 15 40 130 175, tab25
edit "",28, 220 50 120 20, read, autohs, tab25
text "Pseudo",29, 160 50 60 20, tab25
text "Pass",30, 160 90 60 20, tab25
edit "",31, 220 90 120 20, tab25, pass
button "ghoster",32, 215 140 80 25, tab25
box "",33, 210 130 90 40, tab25
box "méthode de ghost",34, 5 300 360 80
radio "normale(votre pseudo aparaitra lors du ghost)",35, 15 320 250 20
radio "par socket",36, 15 350 75 20
text "état :",37, 5 385 100 20
text "",38, 40 385 100 20
check "Firewall",39, 250 350 80 20
}
dialog Firewall {
size -1 -1 150 100
option dbu
title "Firewall"
button "valider",1, 5 90 140 9, ok
box "protocole",2, 5 5 140 30
radio "proxy",3, 10 15 25 15
radio "socks4",4, 45 15 30 15
radio "socks5",5, 85 15 30 15
text "host/ip",6, 5 50 30 10
edit %ip,7, 40 50 50 10, limit 15
text "port",8, 5 70 30 10
edit %port,9, 40 70 30 10, limit 8
}
Alias Err.pseudo { //echo $input(Erreur tu dois saisir un pseudo) | /set %pseudo_du_ghost $?"entre le pseudo que tu auras lors du ghost" | $iif(!%pseudo_du_ghost,Err.pseudo,) | /set %methode socket | .did -a ghost 38 Socket | .did -e ghost 39 }
Alias affichelist {
If ($server) {
Var %nickchan = 1
:affichage
While (%nickchan <= $nick(%chanenquestion,0)) {
.did -a ghost 27 $nick(%chanenquestion,%nickchan)
Inc %nickchan
Goto affichage
}
}
}
ON *:DIALOG:Firewall:*:*: {
if ($devent == sclick) {
if ($did == 3) { /set %protocole proxy }
elseif ($did == 4) { /set %protocole socks4 }
elseif ($did == 5) { /set %protocole socks5 }
}
if ($devent == edit) {
if ($did == 7) { /set %ip $did(7) }
if ($did == 9) { /set %port $did(9) }
}
if ($devent == init) {
if (%protocole == proxy) { .did -c Firewall 3 }
elseif (%protocole == socks4) { .did -c Firewall 4 }
elseif (%protocole == socks5) { .did -c Firewall 5 }
}
}
ON *:DIALOG:ghost:*:*: {
if ($devent == sclick) {
if ($did == 39) && ($did(39).state == 1) { /dialog -m Firewall Firewall | /set %firewall on }
if ($did == 39) && ($did(39).state == 0) { $iif($dialog(Firewall),/dialog -x Firewall Firewall,) | /set %firewall off }
if ($did == 27) { .did -ra ghost 28 $did(27).seltext | .did -n ghost 31 | /set %pseudo_a_ghoster $did(27).seltext }
if ($did == 32) && (%methode == normale) { /NickServ ghost $did(28) $did(31) }
if ($did == 32) && (%methode == socket) { .set %pass_du_pseudo $did(31) | .set %numBouton 6 | ghost }
if ($did == 13) && (%methode == normale) { /msg Nickserv ghost $hget(pseudolist,pseudo1) $hget(pseudolist,pass1) }
if ($did == 13) && (%methode == socket) { ghost | .set %pseudo_a_ghoster $did(2) | .set %pass_du_pseudo $did(8) | .set %numBouton 1 }
if ($did == 14) && (%methode == normale) { /msg Nickserv ghost $hget(pseudolist,pseudo2) $hget(pseudolist,pass2) }
if ($did == 14) && (%methode == socket) { ghost | .set %pseudo_a_ghoster $did(3) | .set %pass_du_pseudo $did(9) | .set %numBouton 2 }
if ($did == 15) && (%methode == normale) { /msg Nickserv ghost $hget(pseudolist,pseudo3) $hget(pseudolist,pass3) }
if ($did == 15) && (%methode == socket) { ghost | .set %pseudo_a_ghoster $did(4) | .set %pass_du_pseudo $did(10) | .set %numBouton 3 }
if ($did == 16) && (%methode == normale) { /msg Nickserv ghost $hget(pseudolist,pseudo4) $hget(pseudolist,pass4) }
if ($did == 16) && (%methode == socket) { ghost | .set %pseudo_a_ghoster $did(5) | .set %pass_du_pseudo $did(11) | .set %numBouton 4 }
if ($did == 17) && (%methode == normale) { /msg Nickserv ghost $hget(pseudolist,pseudo5) $hget(pseudolist,pass5) }
if ($did == 17) && (%methode == socket) { ghost | .set %pseudo_a_ghoster $did(6) | .set %pass_du_pseudo $did(12) | .set %numBouton 5 }
if ($did == 36) { /set %pseudo_du_ghost $?"entre le pseudo que tu auras lors du ghost" | $iif(!%pseudo_du_ghost,Err.pseudo,) | /set %methode socket | .did -a ghost 38 Socket | .did -e ghost 39 }
if ($did == 35) { /set %methode normale | .did -a ghost 38 Normal | .did -b ghost 39 }
if ($did == 19) { /hsave -o pseudolist ghostconf.txt }
if ($did == 20) { /hsave -o pseudolist ghostconf.txt }
}
if ($devent == init) {
/affichelist
if (!$did(31)) { .did -m ghost 31 | .did -b ghost 32 }
.did -c ghost 35
.did -b ghost 39
/set %methode normale
/set %firewall off
.did -a ghost 2 $hget(pseudolist,pseudo1)
.did -a ghost 3 $hget(pseudolist,pseudo2)
.did -a ghost 4 $hget(pseudolist,pseudo3)
.did -a ghost 5 $hget(pseudolist,pseudo4)
.did -a ghost 6 $hget(pseudolist,pseudo5)
.did -a ghost 8 $hget(pseudolist,pass1)
.did -a ghost 9 $hget(pseudolist,pass2)
.did -a ghost 10 $hget(pseudolist,pass3)
.did -a ghost 11 $hget(pseudolist,pass4)
.did -a ghost 12 $hget(pseudolist,pass5)
.did -a ghost 38 Normal
if (!$hget(pseudolist,pseudo1)) || (!$hget(pseudolist,pass1)) { .did -b ghost 13 }
if (!$hget(pseudolist,pseudo2)) || (!$hget(pseudolist,pass2)) { .did -b ghost 14 }
if (!$hget(pseudolist,pseudo3)) || (!$hget(pseudolist,pass3)) { .did -b ghost 15 }
if (!$hget(pseudolist,pseudo4)) || (!$hget(pseudolist,pass4)) { .did -b ghost 16 }
if (!$hget(pseudolist,pseudo5)) || (!$hget(pseudolist,pass5)) { .did -b ghost 17 }
}
if ($devent == edit) {
if ($did == 31) && (!$did(31)) { .did -b ghost 32 }
if ($did == 31) && ($did(31)) { .did -e ghost 32 }
if ($did == 2) {
.hadd -m pseudolist pseudo1 $did(2)
if (!$did(2)) || (!$did(8)) { .did -b ghost 13 }
else { .did -e ghost 13 }
}
if ($did == 3) {
.hadd -m pseudolist pseudo2 $did(3)
if ($did(3) == $null) || ($did(9) == $null) { .did -b ghost 14 }
else { .did -e ghost 14 }
}
if ($did == 4) {
.hadd -m pseudolist pseudo3 $did(4)
if ($did(4) == $null) || ($did(10) == $null) { .did -b ghost 15 }
else { .did -e ghost 15 }
}
if ($did == 5) {
.hadd -m pseudolist pseudo4 $did(5)
if (!$did(5)) || (!$did(11)) { .did -b ghost 16 }
else { .did -e ghost 16 }
}
if ($did == 6) {
.hadd -m pseudolist pseudo5 $did(6) }
if (!$did(6)) || (!$did(12)) { .did -b ghost 17 }
elseif ($did(6)) && ($did(12)) { .did -e ghost 17 }
}
if ($did == 8) {
.hadd -m pseudolist pass1 $did(8)
if (!$did(8)) || (!$did(2)) { .did -b ghost 13 }
else { .did -e ghost 13 }
}
if ($did == 10) {
.hadd -m pseudolist pass3 $did(10)
if (!$did(10)) || (!$did(4)) { .did -b ghost 15 }
else { .did -e ghost 15 }
}
if ($did == 11) {
.hadd -m pseudolist pass4 $did(11)
if (!$did(11)) || (!$did(5)) { .did -b ghost 16 }
else { .did -e ghost 16 }
}
if ($did == 12) {
.hadd -m pseudolist pass5 $did(12)
if (!$did(12)) || (!$did(6)) { .did -b ghost 17 }
else { .did -e ghost 17 }
}
if ($did == 9) {
.hadd -m pseudolist pass2 $did(9)
if (!$did(9)) || (!$did(3)) { .did -b ghost 14 }
else { .did -e ghost 14 }
}
}
}
alias ghost {
sockclose ghost
if (%firewall == off) { sockopen ghost $server $port }
elseif (%firewall == on) { sockopen ghost %ip %port }
}
ON *:SOCKOPEN:ghost: {
;/window -ek @ghost
.did -a ghost 38 socket connected
if ($sockerr) { .did -a ghost 38 Socket Disconnected }
if (%firewall == on) {
.sockwrite -n $sockname CONNECT $server $+ : $+ $port HTTP:/1.0 $+ $CRLF $+ $CRLF
.sockwrite $sockname $CRLF
.sockwrite -n $sockname nick %pseudo_du_ghost
.sockwrite -n $sockname USER ghost X X :ghost
}
else {
.sockwrite -n $sockname NICK %pseudo_du_ghost
.sockwrite -n $sockname USER ghost X X :ghost
}
}
ON *:SOCKREAD:ghost: {
sockread %ghost
;echo @ghost %ghost
if ($gettok(%ghost,1,32) == PING) sockwrite -n $sockname PONG $remove($gettok(%ghost,2,32),:)
if ($remove($gettok(%ghost,1,33),:) == NickServ) {
if (refusé isin $gettok(%ghost,2,58)) { echo $input([Ghoster] : Ghost invalide sur %pseudo_a_ghoster ( Mot de pass invalide ),64,Ghost Invalide) | sockclose ghost }
if (déconnecté isin $gettok(%ghost,2,58)) { echo $input([Ghoster] : Ghost effectué avec succès sur %pseudo_a_ghoster,64,Ghost Effectué) | sockclose ghost }
if (utilisé isin $gettok(%ghost,2,58)) { echo $input([Ghoster] : %pseudo_a_ghoster n'est actuellement pas connecté !,64,Ghost Invalide) | sockclose ghost }
}
if ($gettok(%ghost,2,32) == 432) { //echo $input(le pseudo que vous avez choisi ( %pseudo_du_ghost ) est invalide,512,Ghost invalide) }
if ($gettok(%ghost,2,32) == 001) { .sockwrite -n $sockname PRIVMSG Nickserv :GHOST %pseudo_a_ghoster %pass_du_pseudo }
}
ON *:SOCKCLOSE:ghost: { .did -a ghost 38 Socket Disconnected }
Conclusion :
aucun bug pour moi
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.