on *:CONNECT:{ /set %channel $read($mircdir $+ scripts\sampechocfg.txt, 1) /set %dir $shortfn($read($mircdir $+ scripts\sampechocfg.txt, 2)) /fopen -o clear %dir $+ echo.txt /fclose clear /timerjoin 1 10 /join %channel } on *:JOIN:#LTS.echo:{ if (($nick == $me) && (%channel == #)) { /set %line 0 /set %data 0 /timersampecho 0 1 /start # } } on *:PART:#LTS.echo:{ if (($nick == $me) && (%channel == #)) { /timersampecho off } } on *:TEXT:!say *:#LTS.echo:{ if (%channel == #LTS.echo) { /write %dir $+ irc.txt /say * $nick $+ : $2- } } on *:TEXT:!showmessage *:#LTS.echo:{ if (%channel == #LTS.echo) { /write %dir $+ irc.txt /showmessage * $nick $+ : $2- } } on *:TEXT:!kick *:#LTS.echo:{ if ($chan == #LTS.echo) { /write %dir $+ irc.txt /kick $$2 } } on *:TEXT:!players:#LTS.echo:{ samp.query -p echoplayers 213.10.65.73 22003 } alias start { /set %totallines $lines(%dir $+ echo.txt) if (%line < %totallines) { inc %line /set %data $read(%dir $+ echo.txt, %line) if (%data != $null) { /msg $1 %data } } } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;SA-MP Query Script by Trix [irc.gtanet.com];;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; alias samp.query { if ($numtok($1-,32) != 4) { echo -a 3* /samp.query: insufficient parameters [/samp.query -(p,i,pi) responsesignal ip port | halt } if ($1 == -p) { sockudp -k $+(samp.,$2,.players) $3 $4 $samp.packet($3,$4,c) } elseif ($1 == -i) { sockudp -k $+(samp.,$2,.info) $3 $4 $samp.packet($3,$4,i) } elseif ($1 == -pi) { sockudp -k $+(samp.,$2,.info) $3 $4 $samp.packet($3,$4,i) | sockudp -k $+(samp.,$2,.players) $3 $4 $samp.packet($3,$4,c) } } on *:signal:samp.outputcommand.querydata:{ if ($1 == info) { var %ip = $+($2,:,$3) tokenize 7 $4- echo -a Name: $1 Password: $2 Players: $3 GameMode: $4 ( %ip ) } elseif ($1 == players) { echo -a Player Name: $4 - Score: $5 } } on *:udpread:samp.*.info:{ sockread &a bcopy -c &a 1 &a 12 $bvar(&a,0) var %gamemodelen = $a32int2numr($bvar(&a,$calc($a32int2numr($bvar(&a,6,4)) + 10),32243)) .signal $gettok($sockname,1-2,46) $+ .querystart $sock($sockname).saddr $sock($sockname).sport .signal $gettok($sockname,1-2,46) $+ .querydata $gettok($sockname,3,46) $sock($sockname).saddr $sock($sockname).sport $bvar(&a,10,$a32int2numr($bvar(&a,6,4))).text $chr(7) $iif($bvar(&a,1),Yes,No) $chr(7) $+($a16int2numr($bvar(&a,2,2)),/,$a16int2numr($bvar(&a,4,2))) $chr(7) $bvar(&a,$calc($a32int2numr($bvar(&a,6,4)) + 14),%gamemodelen).text .signal $gettok($sockname,1-2,46) $+ .querycomplete $sock($sockname).saddr $sock($sockname).sport sockclose $sockname } on *:udpread:samp.*.players:{ var %a = 1, %len, %namelen, %curpos = 3 sockread &a bcopy -c &a 1 &a 12 $bvar(&a,0) .signal $gettok($sockname,1-2,46) $+ .querystart $sock($sockname).saddr $sock($sockname).sport .signal $gettok($sockname,1-2,46) $+ .queryplayercount $a16int2numr($bvar(&a,1,2)) $sock($sockname).saddr $sock($sockname).sport while (%a <= $a16int2numr($bvar(&a,1,2))) { %len = $bvar(&a,%curpos) .signal $gettok($sockname,1-2,46) $+ .querydata $gettok($sockname,3,46) $sock($sockname).saddr $sock($sockname).sport $bvar(&a,$calc(%curpos +1),%len).text $a32int2numr($bvar(&a,$calc(%curpos + %len + 1),4)) inc %curpos $calc(5 + %len) inc %a } .signal $gettok($sockname,1-2,46) $+ .querycomplete $sock($sockname).saddr $sock($sockname).sport sockclose $sockname } alias -l samp.packet { return $+( $& SAMP, $& $chr($gettok($1,1,46)), $& $chr($gettok($1,2,46)), $& $chr($gettok($1,3,46)), $& $chr($gettok($1,4,46)), $& $chr($gettok($longip($2),4,46)), $& $chr($gettok($longip($2),3,46)), $& $3) } alias -l reverse32 { return $gettok($1,4,46) $+ . $+ $gettok($1,3,46) $+ . $+ $gettok($1,2,46) $+ . $+ $gettok($1,1,46) } alias -l a32int2numr { return $longip($reverse32($replace($1-,$chr(32),.))) } alias -l a16int2numr { return $longip($reverse32($replace($1- 0 0,$chr(32),.))) }