;------------------
;--- JJ2 add-on --- v3.5 [10-10-03]
;------------------
;
;IMPORTANT NOTE: mIRC 5.91 Script Editor does not support files above 64KB. So,
; if you have that version of mIRC and you try to save an alteration to this
; script, all the data beyond 64KB will be lost. To avoid damage to the add-on,
; press cancel now and choose not to save the changes.
;Author: Cataphract
;Email: Cataphract@netcabo.pt
alias -l s.version return 3.5
alias -l s.data return 10-10-03
if ($exists($scriptdirregistry.
dll) ==
$false) ||
($exists($scriptdirmdx.
dll) ==
$false) ||
($exists($scriptdirviews.
mdx) ==
$false) { echo -a *** Files missing.
Please make sure 'registry.
dll', 'mdx.
dll' and 'views.
mdx' are in
$scriptdir. | .
timer 1 1
/unload -rs $qte($script) }
if ($version < 5.91
) { echo -a *** This script requires, at least, mIRC 5.91.
Download it from www.
mirc.
co.
uk |
unload -rs $qte($script) }
if ($version == 5.91
) { echo -a *** Tooltips.
dll is not compatible with mIRC 5.91.
Therefore, this option has been disabled by default and hidden.
If you update your mIRC, you may manually activate this option. | set
%jj2.
toolt 1
}
if ($lock(dll)) ||
($lock(run)) { echo -a ***
/dll and
/or
/run are locked.
Go to 'mIRC Options'
(alt+o
) > General > Lock to unlock them and then
load this script once more |
unload -rs $qte($script) }
echo -a *** JJ2 add
-on v $+
$s.
version $s.
data $+ .
Use the Status,
Channel or
Query Popups to select the jazz2.
exe's locations.
if (!$isfile($scriptdircrosscuts.ini)) resetcc
echo -a ***
If you don't like the shortcuts, use the popups to hide them by default.
You can also costumise them there.
echo -a *** Please visit http:
//www.
aleger.
tk for more information, including
help.
if (!%listserver) %listserver = jazz.contrabandent.com | if (!%unse) %unse = sher | if (!%jj2.cfu) %jj2.cfu = on
if (!
$isdir($scripdirsaves)) mkdir $qte($scriptdirsaves) |
if (!
$isdir($scripdircache)) mkdir $qte($scriptdircache)
if (%jj2.colorctf == $null) %jj2.colorctf = 1
unset %jj2.runtimes
run $qte($scriptdirreadme.
txt)
}
alias inst1.23 if (%path.121) && (%path.121 != none) return $true | return $false
alias inst1.24 if (%path.124) && (%path.124 != none) return $true | return $false
alias inst1.24x if (%path.124x) && (%path.124x != none) return $true | return $false
alias -l resetcc {
if (!
$isfile($scriptdircc-default.
ini)) { echo -s *** 'cc
-default.
ini' is missing. |
return }
copy -o $qte($scriptdircc-default.
ini) $qte($scriptdircrosscuts.
ini)
}
alias vernum {
if ($1 !isnum) return $false
elseif ($1 < 1) return $false
elseif ($int($1) != $1) return $false
if ($2 != $null) && ($1 < $2) return $false
if ($3 != $null) && ($1 > $3) return $false
else return $true
}
dialog unk {
icon %iconsl
size -1 -1 100 70
option dbu
text "The Game
Server did not send its version to the
List Server.
Therefore, this add
-on cannot determine which .
exe it should
load.
However, you can try to guess its version.
If you get a 'Version of
Server is different' error, try the other one.",4,3 3 95 50
button "1.23",2,5 55 20 12
button "1.24",3,29 55 20 12
button "Cancel",1,70 55 25 12,cancel
}
on *:dialog:unk:*:*: {
if ($devent == init) { if (!$inst1.23) { did -b $dname 2 }
if (!$inst1.24) { did -b $dname 3 } }
elseif ($devent != sclick) return
if ($did == 2
) { run %path.121
-connect $tab($did(server_list,1
).
seltext,6
) $iif(%jj2.
spy,
-spy,
-nospy) $iif($did(server_list,2001
).
state,
-record) }
elseif ($did == 3
) { run %path.124
-connect $tab($did(server_list,1
).
seltext,6
) $iif(%jj2.
spy,
-spy,
-nospy) $iif($did(server_list,2001
).
state,
-record) }
}
dialog colorg {
title "Color Guide"
icon %iconsl
size -1 -1 270 200
option dbu
text "By Lïñk",3,241 3 45 9,
disable
box "Color Guide",4,3 11 263 169
edit "",1,7 20 255 156,read vsbar multi
button "Close",2,116 184 30 11,cancel
}
dialog extfact {
title "Extension Factor"
size -1 -1 154 94
icon %iconsl
option dbu
text "Extended (1-47)", 21, 9 30 38 7
text "Default (48)", 22, 9 43 38 6
text "Shrunk (49-58)", 23, 9 56 38 6
text "Size Zero (59)", 24, 9 69 38 6
text "Reversed (60+)", 25, 9 82 38 6
icon 8, 58 29 48 8,ext1.JPG
icon 9, 58 42 48 8,ext2.JPG
icon 10, 58 55 48 8,ext3.JPG
icon 11, 58 68 48 8,ext4.JPG
icon 12, 58 81 48 8,ext5.JPG
text "Curent E. F.", 13, 112 28 38 8, center
edit "", 14, 121 38 18 9,autohs result center
button "Cancel", 2, 117 74 29 13, cancel
button "OK", 15, 117 57 29 13,ok
}
dialog listss {
title "List
Server Statistics"
size -1 -1 180 204
option dbu
text "", 1, 2 4 158 8
edit "", 2, 2 16 174 168, read multi return vsbar
button "Close", 3, 2 188 174 12,cancel default
}
on *:
dialog:colorg:init:*:
{ loadbuf -o colorg 1
$qte($scriptdircolorg.
txt) }
dialog browse {
title "Select Level"
size -1 -1 144 204
option dbu
icon %iconsl, 0
box "Your Levels", 3, 4 4 136 146
list 1, 10 14 124 132, extsel
button "", 5, 40 188 34 12
button "Select!", 2, 4 188 28 12,
disable default
button "Cancel", 4, 110 188 30 12, cancel
box "Filter", 6, 4 153 136 28
edit "", 7, 34 161 48 10, autohs
text "Keyword:", 8, 10 161 20 8
radio "Filename", 11, 94 161 36 6
radio "Level Name", 12, 94 171 40 6
button "Delete", 9, 74 188 28 12,
disable
text "[ You may use wildcards (*,?) ]", 10, 10 172 74 6
}
alias -l seldir { return $left($rep(1 $+ $chr(32),null,$did(server_list,1032).state ~ [ %path.121 ] ,$did(server_list,1033).state ~ [ %path.124 ] ),$pos($rep(1 $+ $chr(32),null,$did(server_list,1032).state ~ [ %path.121 ] ,$did(server_list,1033).state ~ [ %path.124 ] ),\,$count($rep(1 $+ $chr(32),null,$did(server_list,1032).state ~ [ %path.121 ] ,$did(server_list,1033).state ~ [ %path.124 ] ),\))) }
alias -l remcolsp { var %s = $remove($1,|),%r = 0
;removal of the numbers immediately after the §'s
while (%r < $count(%s,§)) { inc %r
%s = $mid(%s,1,$pos(%s,§,%r)) $+ $right(%s,$calc($len(%s) - $pos(%s,§,%r) -1))
}
return $remove(%s,§)
}
on *:dialog:browse:*:*: {
if ($devent == init) { mdx.start | loadtooltips $dname
set %a $mdx(SetControlMDX,1 listview rowselect single flatsb showsel report nosortheader > [ $mdx.vdll ] )
did -i $dname 1 1 headerdims 85:1 161:2
did -i $dname 1 1 headertext $+(File Name,$tab,Level Name)
did -c $dname 11
did
-a browse 5
Copy to 1.2 $+
$vsel
if (!%path.12 [ $+ [ $vsel(1) ] ]) || (%path.12 [ $+ [ $vsel(1) ] ] == none) { did -b $dname 5 }
if (!%jj2.buildls) || (!$hget(jj2. $+ $ver.sel)) buildl $ver.sel
displist $ver.sel 1 *
}
did $iif($did(1).sel,-e,-b) $dname 2,5,9
if ($devent == edit) || ($did isnum 11-12) { displist $ver.sel $iif($did(11).state,1,2) $iif($remove($did(7),?,*) == $did(7),$+(*,$did(7),*),$did(7)) }
elseif ($devent == sclick) {
if ($did == 2) { did -ra server_list 1019 $tab($did(browse,1).seltext,1) | dialog -c browse }
elseif ($did == 5) { if (!$did(1).seltext) { set %a $input(Select a file first,516,JJ2 add-on error) | halt }
if (!$exists($otherdir $+ $tab($did(1).seltext,1))) goto other | set %a $?!="Overwrite? $crlf $crlf Selected file: $crlf $fpropers($asel $+ $tab($did(browse,1).seltext,1)) $crlf $crlf Other file: $crlf $fpropers($otherdir $+ $tab($did(browse,1).seltext,1)) $crlf " | if (%a == $false) halt
:other |
copy -o $qte($asel $+
$tab($did(1
).
seltext,1
)) $qte($otherdir)
}
elseif (($mouse.
key & 4
) &&
($did(1
).
seltext)) ||
($did == 9
) { set
%a $?!="Are you sure you want to delete ' $+
$asel $+
$tab($did(1
).
seltext,1
) $+ ' ?" |
if (%a ==
$true) { remove $qte($asel $+
$tab($did(1
).
seltext,1
)) | did
-d $dname 1
$did(1
).
sel } }
}
}
alias -l buildl { set -u1 %htn jj2. $+ $1 | var %dir = $nofile( [ %path.12 [ $+ [ $replace($right($1,1),3,1) ] ] ] )
;/ (1.23/1.24)
%jj2.curr = 0 | if ($hget(%htn)) hfree %htn | set %a $findfile(%dir,*.j2l,0,1,sf $1-)
}
alias -l sf {
bread $qte($1-) 188 32 &temp | inc %jj2.curr
hadd -m %htn %jj2.curr $nopath($1-) $+ + $+ $remcolsp($bvar(&temp,1,32).text)
}
alias displist { if (!$dialog(browse)) halt
;/ version (1-file,2-desc) mask
did -r browse 1 | var %r = 0,%htn = jj2. $+ $1
while (%r < $hget(%htn,0).item) { inc %r
if (($3- iswm $gettok($hget(%htn,%r),1,43)) && ($2 == 1)) || (($3- iswm $gettok($hget(%htn,%r),2-,43)) && ($2 == 2)) did -a browse 1 $gettok($hget(%htn,%r),1,43) $tab $gettok($hget(%htn,%r),2,43)
}
}
alias -l qte return " $+ $1- $+ "
alias fpropers { return File size: $sdisplay($file($$1).size) $crlf Created: $iif($file($$1).ctime != -1,$asctime($file($$1).ctime),no info) $crlf Modified: $iif($file($$1).mtime != -1,$asctime($file($$1).mtime),no info) }
alias -l asel return $rep(1 $+ $chr(32),null,$did(server_list,1032).state ~ $nofile(%path.121),$did(server_list,1033).state ~ $nofile(%path.124))
alias -l vsel return $rep(1 $+ $chr(32),null,$did(server_list,1032).state ~4,$did(server_list,1033).state ~ $+ $iif($1 == $null,3,1))
alias ver.sel return $iif($did(server_list,1032).state,1.23,$iif($did(server_list,1033).state,1.24))
alias -l otherdir return $nofile(%path.12 [ $+ [ $vsel(1) ] ])
dialog enter_ip {
title "Join Game by IP"
size -1 -1 100 94
option dbu
icon %iconsl, 0
box "IP number", 848, 6 2 89 24
edit "", 849, 26 11 50 10, autohs center
radio "1.23", 821, 10 37 22 8,group
radio "1.24", 822, 39 37 22 8
radio "1.24 x", 823, 68 37 22 8
text "No erros until now.", 840, 9 61 81 7, center
button "Join
Server!", 850, 6 79 43 10, default
button "Cancel", 851, 52 79 42 10, ok
box "Version", 1, 6 27 89 23
box "Errors", 2, 6 52 88 21
}
dialog jcspal {
title "Pallete"
icon %iconsl
size 1 1 198 80
option dbu
icon 1198,5 5 374 109,pallete.jpg,noborder,left,top
button "Done",1199,80 65 22 11,cancel
}
dialog redpro {
title "Reduce profile"
size -1 -1 95 30
option dbu
button "1.23", 1, 5 18 20 8
button "1.24", 2, 28 18 20 8
button "Cancel", 3,65 17 26 10, cancel
text "Reduce profile to which version?", 4, 5 4 90 8
}
dialog sl {
title Jazz2 Add-on for mIRC v $+ $s.version $+($chr(91),$s.data,$chr(93))
size -1 -1 $iif($crcuR(status),288,240) 162
option dbu
icon %iconsl, 0
tab "Join", 11, 2 0 236 158
text "Inactive", 901, 4 20 144 10, tab 11
check "REC", 2001, 156 20 14 10, tab 11 push
button "R", 2000, 173 20 8 10, tab 11
check "B", 3, 195 20 8 10, tab 11 push
button "i", 999, 184 20 8 10, tab 11
button "IP", 802, 207 20 16 10, tab 11
box "Active Games", 900, 4 30 230 108, tab 11
list 1, 9 38 220 104, tab 11 extsel
text "No errors to report", 500, 5 143 150 14, tab 11
button "Join
Server!", 600, 164 144 34 10, tab 11 default
button "Close", 700, 204 144 30 10, tab 11 ok
button $mostrarsetaparaklado, 1510, 227 22 6 6, tab 11
tab "Serve", 12
box "Server Config.", 1001, 4 19 230 94, tab 12
radio "Battle", 1011, 10 28 42 10, group tab 12
radio "CTF", 1012, 58 28 42 10, tab 12
radio "Treasure", 1013, 102 28 42 10, tab 12
radio "Co-op", 1014, 154 28 42 10, tab 12
radio "Race", 1015, 204 28 22 10, tab 12
text "Server Name:", 1016, 10 44 44 8, tab 12
edit "", 1017, 60 42 68 10, tab 12
text "Level File:", 1018, 10 58 34 8, tab 12
edit "", 1019, 60 56 68 10, tab 12 autohs
button "Browse", 1020, 130 56 26 10, tab 12
text "Score to Win:", 1021, 10 72 40 8, tab 12
edit "", 1022, 60 70 14 10, tab 12
text "Players Limit:", 1023, 10 86 40 8, tab 12
edit "", 1024, 60 84 14 10, tab 12 limit 2
text "Difficulty Level:", 1025, 10 100 40 8, tab 12
combo 1026, 60 98 40 40, tab 12 drop
radio "1.23", 1032, 184 60 20 10, group tab 12
radio "1.24", 1033, 184 74 20 10, tab 12
box "Server Listing", 1029, 4 118 186 38, tab 12
text "Status:", 1030, 8 134 40 8, tab 12
edit "", 1031, 30 132 110 10, tab 12 read
button "List Server", 1034, 144 132 40 12, tab 12
text "No Errors To Report", 1035, 114 100 80 8, tab 12
button "Start Server", 1027, 194 122 40 14, tab 12 default
button "Close", 1028, 194 142 40 10, tab 12 cancel
button $mostrarsetaparaklado, 1511, 225 14 6 6, tab 12
tab "Player 1", 13
box "Profiles", 2003, 162 16 71 140, tab 13
list 2004, 166 24 62 76, tab 13 extsel
button "Load", 2005, 166 100 34 10, tab 13
button "Save...", 2008, 202 112 26 10, tab 13
button "Load...", 2006, 202 100 26 10, tab 13
button "Save", 2007, 166 112 34 10, tab 13
button "Del", 2009, 166 126 14 8, tab 13
button "Ren", 2010, 182 126 14 8, tab 13
button "Dupl", 2014, 198 126 14 8, tab 13
button "Red", 2015, 214 126 14 8, tab 13
button "Change Default Directory", 2016, 166 136 62 8, tab 13
box "Player One Name", 2017, 6 16 150 32, tab 13
edit "", 2018, 10 24 58 10, tab 13 limit 14 center
icon 2019, 29 37 94 8, colorl.jpg, 0, tab 13
button "No Colon", 2020, 72 24 26 8, tab 13
button "Ext Factor", 2021, 99 24 26 8, tab 13
button "New Color", 2022, 126 24 26 8, tab 13
text "No errors so far", 2027, 82 58 73 12, tab 13
box "Errors", 2026, 78 50 78 24, tab 13
box "Version", 2023, 6 50 66 24, tab 13
radio "1.23", 2024, 10 60 22 8, group tab 13
radio "1.24", 2025, 48 60 22 8, tab 13
radio "Spaz", 2029, 10 84 22 8, group tab 13
radio "Jazz", 2030, 34 84 20 8, tab 13
radio "Lori", 2031, 61 84 20 8, tab 13
box "Character", 2028, 6 74 79 22, tab 13
box "Fur Colors", 2032, 6 98 150 32, tab 13
edit "", 2111, 50 105 14 10, tab 13 center
edit "", 2112, 134 105 14 10, tab 13 center
edit "", 2113, 50 118 14 10, tab 13 center
edit "", 2114, 134 118 14 10, tab 13 center
text "#1", 2101, 10 107 38 8, tab 13 center
text "#2", 2102, 92 107 38 8, tab 13 center
text "#3", 2103, 10 119 38 8, tab 13 center
text "#4", 2104, 92 119 38 8, tab 13 center
button "R-95", 2041, 69 106 16 7, tab 13
button "R-255", 2042, 69 118 16 7, tab 13
box "Base", 2043, 6 132 90 22, tab 13
radio "DEC (JazzED)", 2044, 8 142 41 7, group tab 13
radio "HEX (Regedit)", 2045, 52 142 42 7, tab 13
button "Save Definitions", 2046, 100 135 56 10, tab 13
button "Close", 2048, 130 147 26 7, tab 13
button "Revert", 2047, 100 147 28 7, tab 13
check "Save defs on loading", 2049, 166 147 62 7, tab 13
box "", 2050, 88 74 68 22, tab 13
button "Copy to ", 2051, 92 80 33 13, tab 13
button "Pallete", 2052, 128 80 24 6, tab 13
button "Cl. Guide", 2053, 128 87 24 6, tab 13
button $crcu(1), 1501, 245 19 36 8
button $crcu(2), 1502, 245 35 36 8
button $crcu(3), 1503, 245 51 36 8
button $crcu(4), 1504, 245 67 36 8
button $crcu(5), 1505, 245 83 36 8
button $crcu(6), 1506, 245 99 36 8
button $crcu(7), 1507, 245 115 36 8
button $crcu(8), 1508, 245 131 36 8
button $crcu(9), 1509, 245 147 36 8
box "Shortcuts", 2, 242 9 42 151
}
alias -l mostrarsetaparaklado return $iif($crcuR(status),<,>)
alias -l inidir { if (!%jj2.inidir) return $scriptdirsaves | return %jj2.inidir }
on *:dialog:redpro:*:*: {
if ($devent == sclick) {
if ($did == 1) %jj2.tver = 1.24
elseif ($did == 2) %jj2.tver = 1.23
elseif ($did == 3) %jj2.tver = cancel
if ($did) { dialog -x $dname | dialog -v server_list }
}
}
alias -l ttdll
return $qte($scriptdirtooltip.
dll)
alias -l ttmark .
echo -q $dll($ttdll,Mark,
$dialog($1).
hwnd)
alias -l ttadd { var %s
;icon 0 no icon, 1 ! icon, 2 warning icon, 3 error icon
if ($1 ==
help) return $ $+ ttadd
(dialog,id,icon,title,text,
[largura
],
[textcolor
],
[backgroundcolor
])
%s = $gettok($dll($ttdll,ToolTip,$dialog($1).hwnd > $2),1,32)
%s = %s $gettok($dll($ttdll,SetTitle,$dialog($1).hwnd > $2 $3 $4),1,32)
%s = %s $gettok($dll($ttdll,SetText,$dialog($1).hwnd > $2 $5),1,32)
%s = %s $gettok($dll($ttdll,SetWidth,$dialog($1).hwnd > $2 $6),1,32)
;cores em RGB
if ($7) %s = %s $gettok($dll($ttdll,SetTxtColor,$dialog($1).hwnd > $2 $7),1,32)
if ($8) %s = %s $gettok($dll($ttdll,SetBkgColor,$dialog($1).hwnd > $2 $8),1,32)
return $iif($istok(%s,error,32),error,ok)
}
alias -l ttini return $qte($scriptdirtooltips.ini)
alias loadtooltips
{ if (!
$isfile($ttini)) ||
(!
$isfile($scriptdirtooltip.
dll)) ||
(%jj2.
toolt) return
ttmark $1 | var %r = 0,%1 = $1
while (%r <
$ini($ttini,
%1,0
)) { inc
%r |
tokenize 44
$readini($ttini,
%1,
$ini($ttini,
%1,
%r))
.
echo -q $ttadd(%1,
$ini($ttini,
%1,
%r),
$1,
$2,
$replace($3,
;,$chr(44)),$4)
}
}
on *:dialog:server_list:*:*: {
;Independentes da cadeia
;if ($devent != mouse) echo -s $devent $did
;Activar/desactivar 'Load', 'Save', 'del.', 'ren', etc.
did $iif($did(2004).sel,-e,-b) $dname 2005,2007,2009,2010
if ($tab($did(2004).seltext,2) == 1.23) || ($tab($did(2004).seltext,2) == 1.24) did -b $dname 2015
else did $iif($did(2004).sel,-e,-b) $dname 2015
if ($tab($did(2004).seltext,2) == Both) did -b $dname 2014
else did $iif($did(2004).sel,-e,-b) $dname 2014
;Muda qq cousa, activa o revert e o Save
if (($devent == edit) && (($did isnum 2111-2114) || ($did == 2018))) || (($devent == sclick) && (($did isnum 2029-2031) || ($did isnum 2041-2042) || ($did isnum 2020-2022))) did -e $dname 2047,2046
;Clica no nome do boneco, muda a desc das cores
if ($devent == sclick) && ($did isnum 2029-2031) changecp
;Activa Recording
if ($devent == sclick) && ($did == 2001) && ($did(2001).state) {
var %a $input(Notes on Recording:
$crlf If you activate recording it will work both for joined games and served games.
$crlf It will always and only record the player
who is serving even
if you are a client.
$crlf It will not record text or chat.
$crlf It will work as a demo.
Just don't press anything when you are on the main screen to watch it.,4,Macros
)
dialog -v $dname }
;Início
if ($devent == init) { loadtooltips $dname | mdx.start | %jj2.w = $iif($crcuR(status),288,240)
set %a $mdx(SetControlMDX,1 listview rowselect single flatsb showsel report nosortheader > [ $mdx.vdll ] )
did -i $dname 1 1 headerdims 143:1 56:2 50:3 50:4 45:5 0:6 91:7 0:8
did
-i $dname 1 1 headertext $+
(Server Name,
$tab,+c Type,
$tab,+c Players,
$tab,+c Version,
$tab,+c Lag,
$tab,IP,
$tab,Uptime,
$tab,ID
)
didtok $dname 1026 46 Easy.Medium.Hard
if (!$inst1.23) { did -b $dname 1032 }
if (!$inst1.24) { did -b $dname 1033 }
did -c $dname $rep(%lastgmode,1011,Battle~1011,CTF~1012,Treasure~1013,Coop~1014,Race~1015 )
if (%lastgmode == race) { did -ra $dname 1022 5 | did -b $dname 1022 | did -b $dname 1026 }
elseif (%lastgmode == coop) { did -e $dname 1026 | did -b $dname 1022 | did -b $dname 1021 }
else { did -b $dname 1026 }
if (%lastversion == 1.24) && ($inst1.24) { did -c $dname 1033 }
elseif (%lastversion == 1.23) && ($inst1.23) { did -c $dname 1032 }
if (%lastlvl) did -ra $dname 1019 $ifmatch
if (%lastname) did -ra $dname 1017 $ifmatch
if (%lastscore) did -ra $dname 1022 $ifmatch
if (%lastlimit) did -ra $dname 1024 $ifmatch
if (%lastdlvl) { if (%lastdlvl == Easy) did -c $dname 1026 1 | elseif (%lastdlvl == Medium) did -c $dname 1026 2 | elseif (%lastdlvl == Hard) did -c $dname 1026 3 }
deact.range 2009 2010 $dname | deact.range 2014 2015 $dname
;Loadings para o Player 1
%a = $mdx(SetControlMDX,2004 listview rowselect single flatsb showsel report nosortheader > [ $mdx.vdll ] )
did -i $dname 2004 1 headerdims 83:1 37:2
did -i $dname 2004 1 headertext $+(Name,$tab,+c Version)
if ($inst1.24) || ($inst1.23) {
did -b $dname 2005,2007
if (!$isdir($inidir)) erro.p1 Invalid profiles dir
}
did -c $dname $iif(%jj2.p1lastbase,%jj2.p1lastbase,2044)
set %jj2.lastbase $iif(%jj2.p1lastbase,%jj2.p1lastbase,2044)
if ($inst1.24) && (!$inst1.23) {
did -b $dname 2014,2015,2024,2051 | loaddefs 1.24
}
elseif (!$inst1.24) && ($inst1.23) {
did -b $dname 2014,2015,2025,2051 | loaddefs 1.23
}
elseif ($inst1.24) && ($inst1.23) {
if (%jj2.pl1lastv) loaddefs $ifmatch
else loaddefs 1.24
}
else { deact.range 2003 2010 $dname | deact.range 2014 2032 $dname
deact.range 2101 2104 $dname | deact.range 2111 2114 $dname
deact.range 2041 2047 $dname | deact.range 2049 2053 $dname
did -ra $dname 2051 $null }
}
;Clique no "B"
elseif ($devent == sclick) && ($did == 3) unset %jj2.notfirst
;Actualizar lista de profiles
elseif ($devent == sclick
) &&
($did == 13
) &&
(($inst1.23
) ||
($inst1.24
)) load.
ini.
list
;Recursos
elseif ($devent == sclick) && ($did isnum 2052-2053) {
dialog -m $str($iif($did == 2052,jcspal $chr(32),colorg $chr(32)),2)
}
;Clica no '1.23' ou '1.24' ou 'revert', carrega a respectiva versão
elseif ($devent == sclick) && (($did isnum 2024-2025) || ($did == 2047)) {
loaddefs $iif($did(2024).state,1.23,1.24) }
;Pêlo aleatório
elseif ($did isnum 2041-2042) && ($devent == sclick) {
if (!$did(2044).state) && (!$did(2045).state) { erro.p1 No base selected. Select either DEC or HEX | return }
var %r = 0 | while (%r < 4) { inc %r | var %ale = $iif($did == 2041,$r(0,95),$r(0,255))
var %rea = $iif($did(2044).state,%ale,$hexbin(%ale,2))
did -ra $dname 211 $+ %r $iif($len(%rea) < 2,0 $+ %rea,%rea)
}
}
;Funções de manipulação do nome
elseif ($devent == sclick) && ($did isnum 2020-2022) {
var %name = $did(2018)
if ($did == 2022) did -ra $dname 2018 $did(2018) $+ |
elseif ($did == 2021) { set %jj2.factor 48
if (§?* iswm $left($did(2018),2)) { %jj2.factor = $asc($mid($did(2018),2,1)) | %name = $right($did(2018),-2) }
%jj2.factor = $dialog(extfact,extfact)
if (%jj2.factor) { if (%jj2.factor == 48) did -ra $dname 2018 %name
else did -ra $dname 2018 § $+ $chr(%jj2.factor) $+ %name }
}
elseif ($did == 2020) && ($right($did(2018),1) != §) did -ra $dname 2018 %name $+ §
dialog -v $dname
}
;Mudança de bases
elseif ($devent == sclick) && ($did isnum 2044-2045) && (%jj2.lastbase != $did) {
var %oqestah = $did(2111) $did(2112) $did(2113) $did(2114)
if ($did == 2044) {
var %r = 0 | while (%r < 4) { inc %r
if (!
$cfi($hexbin($did(211 $+
%r),1
))) { erro.
p1 Color error.
Check the values.
did -u $dname 2044 | did -c $dname 2045 | halt }
}
var %result = $hexbin(%oqestah,1)
}
else {
var %r = 0 | while (%r < 4) { inc %r
if (!
$cfi($did(211 $+
%r))) { erro.
p1 Color error.
Check the values.
did -u $dname 2045 | did -c $dname 2044 | halt }
}
var %result = $hexbin(%oqestah,2)
}
var %r = 0 | while (%r < 4) { inc %r
did -ra $dname 211 $+ %r $gettok(%result,%r,32) }
%jj2.lastbase = $did
}
;Carregar no 'Load' ou no 'Load...',
elseif ($devent == sclick) && ($did isnum 2005-2006) {
if ($did == 2005) var %file = $inidir $+ \ $+ $tab($did(2004).seltext,1) $+ .ini
else { var %file =
$sfile($inidir $+ \*.
ini,
Load Profile,
Load)
if (!%file) return
if (!$isfile(%file)) { erro.p1 There is no such file | halt }
}
proc.carr.file %file
if (!$did(2049).state) did -e $dname 2046,2047
}
;Carregar no 'Save' ou no 'Save...'
elseif ($devent == sclick) && ($did isnum 2007-2008) {
if ($did == 2007) var %file = $inidir $+ \ $+ $tab($did(2004).seltext,1) $+ .ini
else { var %file =
$sfile($inidir $+ \*.
ini,
Save Profile,
Save)
if (!%file) return
if (*.ini !iswm %file) %file = %file $+ .ini }
var %version = $iif($did(2024).state,1.23,1.24)
if ($ini(%file,%version)) {
if (%jj2.confover) var %edcv $$input(Do you want to overwrite the definitions for %version of that file?,136,Overwrite Defs)
else var %edcv 1
dialog -v $dname
if (!%edcv) return
}
}
;Eliminar .ini
elseif ($devent == sclick) && ($did == 2009) {
var %file = $inidir $+ \ $+ $tab($did(2004).seltext,1) $+ .ini
if (!$isfile(%file)) { erro.p1 There is no such file | halt }
}
;Renomear .ini
elseif ($devent == sclick) && ($did == 2010) {
var %file = $inidir $+ \ $+ $tab($did(2004).seltext,1) $+ .ini
if (!$isfile(%file)) { erro.p1 There is no such file | halt }
var %a $input(Write the new filename,1,
Rename Profile,
$nopath(%file))
dialog -v $dname | if (!%a) return
if (*?.ini !iswm %a) { erro.p1 Invalid filename. Make sure you have entered the .ini extension | halt }
if ($chr(47) isin %a) || ($chr(92) isin %a) || ($chr(58) isin %a) || ($chr(42) isin %a) || ($chr(63) isin %a) || ($chr(34) isin %a) || ($chr(60) isin %a) || ($chr(62) isin %a) || ($chr(124) isin %a) { erro.p1 A filename cannot contain any of the following characters: \ / : * " < > $chr(124) | halt }
if ($isfile($nofile(%file) $+ %a)) { erro.p1 There is already a profile with that name | halt }
.
rename $qte(%file) $qte($nofile(%file) $+
%a)
}
;Duplicar .ini
elseif ($devent == sclick) && ($did == 2014) {
var %file = $inidir $+ \ $+ $tab($did(2004).seltext,1) $+ .ini
if (!$isfile(%file)) { erro.p1 There is no such file | halt }
if ($ini(%file,1.23)) && ($ini(%file,1.24)) { erro.p1 That profile has already info for both versions | halt }
if (!$ini(%file,1.23)) && (!$ini(%file,1.24)) { erro.p1 That profile is invalid | halt }
var %existant = $iif($ini(%file,1.23),1.23,1.24), %destiny = $iif($ini(%file,1.23),1.24,1.23)
writeini $qte(%file) %destiny name
$readini(%file,n,
%existant,name
)
var %char = $readini(%file,n,%existant,char),%name = $readini(%file,n,%existant,name)
if (%char ==
$null) ||
(!%
color) ||
(%name ==
$null) { erro.
p1 That profile is invalid | halt
}
if (%char == lori) %char = Jazz
writeini $qte(%file) %destiny name
%name
writeini $qte(%file) %destiny char
%char
var %
mode =
$readini(%file,n,
%existant,
mode)
}
;Reduzir .ini
elseif ($devent == sclick) && ($did == 2015) {
var %file = $inidir $+ \ $+ $tab($did(2004).seltext,1) $+ .ini
if (!$isfile(%file)) { erro.p1 There is no such file | halt }
if (!$ini(%file,1.23)) && (!$ini(%file,1.24)) { erro.p1 The .ini doesn't have information for both version | halt }
var %a = $dialog(redpro,redpro)
if (%jj2.tver == cancel) return
}
;Change Default Directory
elseif ($devent == sclick) && ($did == 2016) {
var %a = $sdir($inidir,Select new default directory for the profiles)
if (!%a) return
if (!$isdir(%a)) { erro.p1 Invalid folder | halt }
else %jj2.inidir = %a
}
;Copiar para a outra versão
elseif ($devent == sclick) && ($did == 2051) {
var %a $scriptdircache\temp.
ini | .
remove %a
var %existant = $iif($did(2024).state,1.23,1.24), %destiny = $iif($did(2024).state,1.24,1.23)
writeini $qte(%a) %destiny name
$readini(%a,n,
%existant,name
)
var %char = $readini(%a,n,%existant,char),%name = $readini(%a,n,%existant,name)
if (%char == lori) %char = Jazz
loadini %destiny %a
did -e $dname 2046,2047
}
;Gravar as definições
elseif ($devent == sclick) && ($did == 2046) savedefs
;Clique na lista de servers
elseif ($devent == sclick) && ($did == 1) {
if ($mouse.key & 4) && ($did(1,1).sel != 1) && ($did(1,1).sel) { did -d $dname 1 $did(1,1).sel }
if (%unse == dibu) {
if ($tab($did(1).seltext,6) == private) did -b $dname 600
elseif (!$did(1).seltext) did -b $dname 600
else {
var %vs = $tab($did(1).seltext,4)
if (%vs == 1.24 x) did $iif($inst1.24x,-e,-b) $dname 600
elseif (%vs == 1.21) || (%vs == 1.21 s) did $iif($inst1.23,-e,-b) $dname 600
elseif (%vs == 1.24) || (%vs == 1.24 s) did $iif($inst1.24,-e,-b) $dname 600
elseif (%vs == ??) did -e $dname 600
else did -b $dname 600
}
}
}
;Server Information
elseif ($devent == sclick) && ($did == 999) {
if (!
$did(1
).
seltext) { did
-ra $dname 500 ERROR: You have to select the
server before. |
return }
if ($remove($tab($did(1
).
seltext,6
),
$chr(32
)) == PRIVATE
) { did
-ra $dname 500 ERROR: You cannot get the
server info of private servers |
return }
if ($tab($did(1).seltext,4) == 1.21) || ($tab($did(1).seltext,4) == 1.21 s) || ($tab($did(1).seltext,4) == 1.24) || ($tab($did(1).seltext,4) == 1.24 s) {
var %a = ok
if (!%jj2.omitpur) {
%a = $dialog(ser_i_p,ser_i_p)
}
if (%a != ok) return
dialog -m ser_i ser_i
set %jj2.si.ver $iif($gettok($tab($did(1).seltext,4),1,32) == 1.21,121,124) | set %jj2.si.pl $remove($gettok($tab($did(1).seltext,3),1,47),$chr(91))
sockopen ser_i $tab($did(1).seltext,6) 10052
}
else { did -ra $dname 500 ERROR: Version not supported/unknown ( $+ $tab($did(1).seltext,4) $+ ) }
}
;Botão close
elseif ($devent == sclick) && (($did == 700) || ($did == 1028) || ($did == 2048)) {
%jj2.p1lastbase = $iif($did(2044).state,2044,2045)
%jj2.pl1lastv = $iif($did(2024).state,1.23,1.24) | .timerjj2.hossth off
sockclose listms | sockclose serverlist | .timernudpping off
sockclose udpping-* | unset %udpping.* | dialog -c $dname
}
;Enter IP
elseif ($devent == sclick) && ($did == 802) dialog -m enter_ip enter_ip
;Player 1
elseif ($devent == Sclick) && ($did == 801) chpl1click
;Join Server (para mais ver alias -l joinser)
elseif (($devent == Sclick) && ($did == 600)) || (($devent == dclick) && ($did == 1)) joinser
;Iniciar Servidor
elseif ($devent == sclick) && ($did == 1027) {
if (!$did(1011).state) && (!$did(1012).state) && (!$did(1013).state) && (!$did(1014).state) && (!$did(1015).state) {
did
-ra $dname 1035 Select a Game
Mode }
elseif (!$did(1032).state) && (!$did(1033).state) did -ra $dname 1035 Select the version
elseif (!
$remove($did(1017
),
$chr(32
))) did
-ra $dname 1035 Insert a name for your
server
elseif (!
$did(1019
)) did
-ra $dname 1035 Select the first level for your
server
elseif (!$isfile($seldir $+ $did(1019))) did -ra $dname 1035 Insert a valid filename
elseif ($right($did(1019),4) != .j2l) did -ra $dname 1035 Your level name must end with .j2l
elseif (!$did(1015).state) && ((!$did(1022)) || (!$vernum($did(1022)))) did -ra $dname 1035 Insert a valid number in field "Score to Win".
elseif (!$did(1024)) did -ra $dname 1035 Insert a number in field "Player Limit".
elseif (!$vernum($did(1024))) did -ra $dname 1035 Insert a valid number in field "Player Limit".
elseif ($did(1014).state) && (!$did(1026).seltext) did -ra $dname 1035 Select a difficulty Level.
else {
%lastgmode = $rep(1 $+ $chr(32),null,$did(1011).state ~Battle,$did(1012).state ~CTF,$did(1013).state ~Treasure,$did(1014).state ~Coop,$did(1015).state ~Race)
%lastversion = $rep(1 $+ $chr(32),null,$did(1032).state ~1.23,$did(1033).state ~1.24)
writestat serve
%lastlvl = $did(1019) | %lastname = $did(1017) | %lastscore = $did(1022)
%lastlimit = $did(1024) | %lastdlvl = $did(1026).seltext
if (%lastgmode == CTF) colorctf %lastversion 1
run $rep(1 $+
$chr(32
),null,
$did(1032
).
state ~
[ %path.121
] ,
$did(1033
).
state ~
[ %path.124
] ) -
SERVER $did(1019
) $&
$rep(1 $+ $chr(32),null,$did(1011).state ~-battle,$did(1012).state ~-capture,$did(1013).state ~-Treasure,$did(1014).state ~-COOP,$did(1015).state ~-Race) -MAXPLAYERS $did(1024) -COUNTS $did(1022) $iif($did(1014).state == 1,$did(1026).seltext) $iif(%jj2.spy,-spy,-nospy) $iif($did(server_list,2001).state,-record)
}
}
;Selecção do tipo de jogo
elseif ($devent == sclick) && ($did isnum 1011-1015) {
if ($did(1033).state == 0) && ($did(1032).state == 0) { did -ra $dname 1035 First select a version }
if ($did == 1011) { did -ra $dname 1019 battle1.j2l | did -b $dname 1026 | did -e $dname 1021 | did -ra $dname 1021 Roasts to win | did -e $dname 1022 | did -ra $dname 1022 10 }
elseif ($did == 1012) { did -ra $dname 1019 capture1.j2l | did -b $dname 1026 | did -e $dname 1021 | did -ra $dname 1021 Points to win | did -e $dname 1022 | did -ra $dname 1022 10 }
elseif ($did == 1013) { did -ra $dname 1019 treasur1.j2l | did -b $dname 1026 | did -e $dname 1021 | did -ra $dname 1021 Gems to win | did -e $dname 1022 | did -ra $dname 1022 100 }
elseif ($did == 1014) { did -ra $dname 1019 share1.j2l | did -e $dname 1026 | did -b $dname 1021 | did -b $dname 1022 }
elseif ($did == 1015) { did -ra $dname 1019 race1.j2l | did -b $dname 1026 | did -e $dname 1021 | did -ra $dname 1021 Laps to Win | did -ra $dname 1022 5 | did -b $dname 1022 }
}
;Shortcuts
elseif ($devent == sclick) && ($did isnum 1501-1509) $eval($crcuC($calc($did -1500)),3)
;Clique na seta dos shtcuts
elseif ($devent == sclick) && (($did == 1510) || ($did == 1511)) hideorshowshtc $did(1510)
;Browse Button
elseif ($devent == sclick) && ($did == 1020) {
if (!$did(1032).state) && (!$did(1033).state) did -ra $dname 1035 First select a version
else var %a = $dialog(browse,browse)
}
elseif ($devent == sclick) && ($did == 1034) {
if (!$did(1011).state) && (!$did(1012).state) && (!$did(1013).state) && (!$did(1014).state) && (!$did(server_list,1015).state) {
did
-ra $dname 1035 Select a Game
Mode |
return }
if (!$did(1032).state) && (!$did(1033).state) { did -ra $dname 1035 Select the version | halt }
if (!
$did(1017
)) { did
-ra $dname 1035 Insert a name for your
server | halt
}
sockclose listms | did -ra $dname 1034 Cancel
sockopen listms %listserver 10054
did -ra $dname 1031 Connecting to %listserver $+ :10054
}
elseif ($did(1034
).
text == Cancel
) { sockclose listms | did
-ra $dname 1034
List Server | did
-ra server_list 1031 Listing canceled
}
elseif ($did(1034
).
text == Delist
Server) { sockclose listms | did
-ra $dname 1034
List Server | did
-ra $dname 1031
Server delisted
}
else { echo -s Unknown error | halt
}
}
;Clique no "R"
elseif ($devent == sclick) && ($did == 2000) the.ar
}
alias -l proc.carr.file {
var %1.23 = $ini($1-,1.23),%1.24 = $ini($1-,1.24),%both
if (%1.23) && (%1.24) { %1.23 = $null | %1.24 = $null | %both = 1 }
elseif (!%1.23) && (!%1.24) { erro.p1 Invalid .ini (no version) | halt }
if ($inst1.23) && (!$inst1.24) {
if (%1.23) || (%both) { loadini 1.23 $1- | if ($did(2049).state) savedefs }
elseif (%1.24) erro.p1 That .ini is only for 1.24. To use it, you must duplicate its info.
}
elseif ($inst1.24) && (!$inst1.23) {
if (%1.24) || (%both) { loadini 1.24 $1- | if ($did(2049).state) savedefs }
elseif (%1.23) erro.p1 That .ini is only for 1.23. To use it, you must duplicate its info.
}
else {
if (!%both) { loadini $iif(%1.23,1.23,1.24) $1- | if ($did(2049).state) savedefs }
else {
var %1 = $iif($did(2024).state,1.24,1.23),%r
:salto | loadini %1 $1- | if ($did(2049).state) savedefs
%1 = $iif(%1 == 1.23,1.24,1.23) | if (%r) return | %r = 1 | goto salto
} }
}
var %version = $iif($did(2024).state,1.23,1.24)
if (!$did(2018)) { erro.p1 Fill in a name | halt }
if (!$did(2029).state) && (!$did(2030).state) && (%version == 1.23) { erro.p1 Pick a character. | halt }
if (!$did(2029).state) && (!$did(2030).state) && (!$did(2031).state) && (%version == 1.24) { erro.p1 Pick a character. | halt }
ver.cores
writeini $qte($1-
) %version name
$did(2018
)
writeini $qte($1-
) %version char
$iif($did(2029
).
state,Spaz,
$iif($did(2030
).
state,Spaz,Lori
))
writeini $qte($1-
) %version color $did(2111
) $did(2112
) $did(2113
) $did(2114
)
writeini $qte($1-
) %version mode $iif($did(2044
).
state,BIN,HEX
)
}
alias -l ler.
entrada return $dll($scriptdirregistry.
dll,GetKeyValue,
$3 HKEY_CURRENT_USER\Software\Epic MegaGames\Jazz Jackrabbit 2 $+
$iif($2 == 1.24,
$chr(32
) $+ Special Edition
) $+ \ $+
$2 $+ \Player0\\ $+
$1)
alias loadini {
;1 - version 2- path
did -ra $dname 2018 $readini($2-,n,$1,name)
did -u $dname 2024,2025 | did -c $dname $iif($1 == 1.23,2024,2025)
did
-ra $dname 2051
Copy to
$iif($1 == 1.23,1.24,1.23
)
var %1 = $readini($2-,n,$1,char)
did -u $dname 2029,2030,2031
if ($1 == 1.24) did -c $dname $iif(%1 == Spaz,2029,$iif(%1 == lori,2031,2030))
else did -c $dname $iif(%1 == Spaz,2029,2030)
changecp
var %colors =
$readini($2-,n,
$1,
color),
%r = 0
while (%r < 4) { inc %r | did -ra $dname 211 $+ %r $gettok(%colors,%r,32) }
did
-u $dname 2044,2045 |
var %idbase =
$iif($readini($2-,n,
$1,
mode) == HEX,2045,2044
)
did -c $dname %idbase | %jj2.lastbase = %idbase
}
alias -l loaddefs {
did -ra server_list 2018 $ler.entrada(Name,$1)
if ($1 == 1.23
) { var %spaz = 55000000,
%jazz = 36000000 | did
-u server_list 2025 | did
-c server_list 2024 | did
-ra $dname 2051
Copy to 1.24
}
elseif ($1 == 1.24
) { var %spaz = 59000000,
%jazz = 37000000,
%lori = 3d000000 | did
-u server_list 2024 | did
-c server_list 2025 | did
-ra $dname 2051
Copy to 1.23
}
else { echo -s ERROR:
/loaddefs: Invalid parameters | halt
}
var %char = $ler.entrada(Char,$1,hex)
if (%char == %spaz) {
did -u server_list 2029,2030,2031 | did -c server_list 2029 | changecp }
elseif (%char == %jazz) { did -u server_list 2029,2030,2031 | did -c server_list 2030 | changecp }
elseif ($1 == 1.24) && (%char == %lori) { did -u server_list 2029,2030,2031 | did -c server_list 2031 | changecp }
else { erro.p1 Invalid character, selecting Jazz
did -u server_list 2029,2030,2031 | did -c server_list 2030 | changecp }
did $iif($1 == 1.23,-b,-e) $dname 2031
if ($did(2044
).
state) %reques =
$hexbin($dll($scriptdirregistry.
dll,GetKeyValue,splithex HKEY_CURRENT_USER\Software\Epic MegaGames\Jazz Jackrabbit 2 $+
$iif($1 == 1.24,
$chr(32
) $+ Special Edition
) $+ \ $+
$1 $+ \Player0\\
Color),1
)
elseif ($did(2045
).
state) %reques =
$dll($scriptdirregistry.
dll,GetKeyValue,splithex HKEY_CURRENT_USER\Software\Epic MegaGames\Jazz Jackrabbit 2 $+
$iif($1 == 1.24,
$chr(32
) $+ Special Edition
) $+ \ $+
$1 $+ \Player0\\
Color)
else { erro.p1 No base selected (abnormal situation) | halt }
%reques = $upper(%reques)
meter.nums.nos.inputs
;desactivar o revert e o save definitions
did -b server_list 2046,2047
}
alias -l erro.p1 did -ra $dname 2027 $1- | .timerp1 1 8 did -r server_list 2027
alias -l deact.range { var %r = $1 | while (%r <= $2) { did -b $3 %r | inc %r } }
alias -l inishow { var %t
if ($ini($qte($1-),1.23)) %t = 1.23
if ($ini($qte($1-),1.24)) %t = %t 1.24
if (%t) did -a server_list 2004 $+($left($nopath($1-),-4),$tab,$replace(%t,1.23 1.24,Both))
}
did
-r $dname 2004 | .
echo -q $findfile($inidir,*.
ini,0,1,inishow
$1-
) }
alias -l savedefs {
did -b $dname 2046
elseif ($did(2025
).
state) tokenize 32 1.24
else { erro.p1 No version selected (abnormal) | halt }
if (!$did(2018)) { erro.p1 Fill in a name | halt }
.
echo -q $dll($scriptdirregistry.
dll,SetKeyValue,REG_SZ HKEY_CURRENT_USER\Software\Epic MegaGames\Jazz Jackrabbit 2 $+
$iif($1 == 1.24,
$chr(32
) $+ Special Edition
) $+ \ $+
$1 $+ \Player0\\Name
[ $cr ] $did(2018
))
;Chars (1.23) Spaz R - 55 I - (85); Jazz R - 36 I - (54)
;Chars (TSF) Lori R - 3d I - (61); Spaz R - 59 I - (89); Jazz R - 37 I - (55)
if ($1 == 1.23) var %spaz = 85,%jazz = 54
elseif ($1 == 1.24) var %spaz = 89,%jazz = 55
if ($did(2030
).
state) { var %a =
$dll($scriptdirregistry.
dll,SetKeyValue,REG_BINARY HKEY_CURRENT_USER\Software\Epic MegaGames\Jazz Jackrabbit 2 $+
$iif($1 == 1.24,
$chr(32
) $+ Special Edition
) $+ \ $+
$1 $+ \Player0\\Char
[ $cr ] %jazz 00 00 00
) }
elseif ($did(2029
).
state) { var %a =
$dll($scriptdirregistry.
dll,SetKeyValue,REG_BINARY HKEY_CURRENT_USER\Software\Epic MegaGames\Jazz Jackrabbit 2 $+
$iif($1 == 1.24,
$chr(32
) $+ Special Edition
) $+ \ $+
$1 $+ \Player0\\Char
[ $cr ] %spaz 00 00 00
) }
elseif ($did(2031
).
state) &&
($did(2025
).
state) { set
%a $dll($scriptdirregistry.
dll,SetKeyValue,REG_BINARY HKEY_CURRENT_USER\Software\Epic MegaGames\Jazz Jackrabbit 2 Special Edition\1.24\Player0\\Char
[ $cr ] 61 00 00 00
) }
else { erro.p1 Pick a character. | halt }
ver.cores
if ($did(2044
).
state) var %a =
$dll($scriptdirregistry.
dll,SetKeyValue,REG_BINARY HKEY_CURRENT_USER\Software\Epic MegaGames\Jazz Jackrabbit 2 $+
$iif($1 == 1.24,
$chr(32
) $+ Special Edition
) $+ \ $+
$1 $+ \Player0\\
Color [ $cr ] $did(2111
) $did(2112
) $did(2113
) $did(2114
))
elseif ($did(2045
).
state) var %a =
$dll($scriptdirregistry.
dll,SetKeyValue,REG_BINARY HKEY_CURRENT_USER\Software\Epic MegaGames\Jazz Jackrabbit 2 $+
$iif($1 == 1.24,
$chr(32
) $+ Special Edition
) $+ \ $+
$1 $+ \Player0\\
Color [ $cr ] $hexbin($did(2111
) $did(2112
) $did(2113
) $did(2114
),1
))
else { erro.p1 Select a base. | halt }
did -b $dname 2047
}
on *:dialog:extfact:*:*: {
if ($devent == init) { mdx.start
var %a $mdx(SetControlMDX,1 trackbar noautosel tooltips > [ $mdx.bdll ] )
did -i $dname 1 1 params %jj2.factor 1 255 1 10 * * 25
did -i $dname 1 1 ticfreq 15 | did -ra $dname 14 %jj2.factor
actual.factor %jj2.factor
}
elseif ($devent == sclick) { var %sel = $gettok($did(1,1),1,32)
did -i $dname 1 1 tipText Extension Factor: %sel
did -ra $dname 14 %sel
actual.factor %sel
}
elseif ($devent == sclick) && ($did == 2) dialog -v $dname $dname
elseif ($devent == edit) && ($did == 14) {
if ($did(14) == $null) return
elseif ($did(14) !isnum) || ($did(14) < 1) { did -ra $dname 14 1 | actual.factor 1 }
elseif ($did(14) > 255) { did -ra $dname 14 255 | actual.factor 255 }
elseif ($did(14) != $int($did(14))) { did -ra $dname 14 $int($did(14)) | actual.factor $int($did(14)) }
else actual.factor $did(14)
did -i $dname 1 1 params $did(14)
}
}
alias -l actual.factor {
var %r = 0 | while (%r < 5) { inc %r
var %a $mdx(SetColor,extfact [ 2 [ $+ [ %r ] ] ] textbg reset) }
var %t = $iif($1 isnum 1-47,21,$iif($1 == 48,22,$iif($1 isnum 48-58,23,$iif($1 == 59,24,25))))
%a = $mdx(SetColor,extfact [ %t ] textbg $rgb(255,255,255))
}
alias -l ver.cores {
if ($did(2044).state) {
var %r = 0 | while (%r < 4) { inc %r
if (!
$cfi($did(211 $+
%r))) { erro.
p1 Color error.
Check the values. | halt
}
} }
elseif ($did(2045).state) {
var %r = 0 | while (%r < 4) { inc %r
if (!
$cfi($hexbin($did(211 $+
%r),1
))) { erro.
p1 Color error.
Check the values. | halt
}
} }
}
dialog jj2.ssl {
size -1 -1 400 173
option pixels
text "A
server with the required points have been found.
The details of the best one follow.
You may
join it immediately.", 1, 12 13 377 39
box "Details", 2, 14 55 374 77
text "Name:", 3, 27 77 52 18
text "Mode:", 4, 28 103 51 19
edit "", 5, 90 74 284 21, read
edit "", 6, 90 102 53 21, read
text "Players:", 7, 150 103 57 19
edit "", 8, 214 103 53 21, read
text "Version:", 9, 280 103 51 19
edit "", 10, 335 102 40 21, read
edit "", 14, 1 1 20 1, hidden
text "Joining in ...", 11, 15 142 138 20
button "Join", 12, 176 142 135 22, default ok
button "Cancel", 13, 325 142 62 22, cancel
}
on *:dialog:jj2.ssl:*:*: {
if ($devent == init) { did -ra $dname 14 %jj2.linenum
var %l = $did(server_list,1,$did(14))
did -ra $dname 5 $tab(%l,1) | did -ra $dname 6 $tab(%l,2)
did -ra $dname 8 $tab(%l,3) | did -ra $dname 10 $tab(%l,4)
ssl.startcount
}
elseif ($devent == sclick) {
if ($did == 12) { joinser $did(14) | .timerjj2.ssl off }
elseif ($did == 13) .timerjj2.ssl off
} }
alias ssl.startcount {
if (!$1) %jj2.sslcount = 6
dec %jj2.sslcount
did -ra jj2.ssl 11 Joining in %jj2.sslcount seconds...
if (%jj2.sslcount == 0) { joinser $did(jj2.ssl,14) | dialog -c jj2.ssl jj2.ssl | return }
.timerjj2.ssl 1 1 ssl.startcount 1
}
alias the.ar { if (!$dialog(server_list)) return
if ($dialog(ser_i)) { .timerjj2ar 1 %jj2.ar the.ar | return }
.timernudpping off | sockclose udpping-* | did -r server_list 1 | unset %udpping.* | sockclose serverlist | readsl ao }
alias readsl {
if ($1 == ao) { if (!$dialog(server_list)) halt | goto b }
if ($dialog(server_list)) { dialog -ve server_list | return }
if ($inst1.23) { set %iconsl %path.121 }
elseif ($inst1.24) { set %iconsl %path.124 }
sockclose serverlist | sockclose udpping-* | .timernudpping off | unset %udpping.*
dialog -m server_list sl
:b | if (%unse == dibu) { did -b server_list 600 }
if (%listserver != $null) { sockopen serverlist %listserver 10057 | did -ra server_list 901 Connecting to %listserver $+ :10057... }
else { did
-ra server_list 500 ERROR:
List server not defined | halt
}
unset %sip.*
}
alias -l tab { if (!$1-) return $chr(9)
return $gettok($gettok($gettok($1,2-,32),$2,9),5-,32)
}
alias -l mdx.
start { dll $shortfn($scriptdirmdx.
dll) SetMircVersion
$version |
var %a =
$mdx(MarkDialog,
$dname) }
alias -l mdx
{ if ($lock(dll)) return |
if ($isid) return $dll($mdx.
udll,
$1,
$iif($2- !=
$null,
$2-,.
)) |
dll $shortfn($mdx.
udll) $1-
}
alias -l mdx.bdll { return $shortfn($scriptdirbars.mdx) }
alias -l mdx.vdll { return $shortfn($scriptdirviews.mdx) }
alias -l mdx.
udll { return $shortfn($scriptdirmdx.
dll) }
on *:sockopen:serverlist: {
if ($sock($sockname).
status == connecting
) &&
($dialog(server_list
)) { did
-ra server_list 901 Inactive | did
-ra server_list 500 ERROR: Could not connect to the
list server. | halt
}
else did -ra server_list 901 Connected! | set %jj2.serverid 0 | unset %jj2.aosa.* | %jj2.aosa.total.players = 0 | if ($hget(jj2.pts)) hfree jj2.pts
.timerjj2.joinbest off
}
alias rembrackets return $remove($1,$chr(91),$chr(93))
on *:sockread:serverlist:{ if (!$dialog(server_list)) { sockclose serverlist | halt }
if ($sockerr > 0) { did -ra server_list 901 Inactive | did -ra server_list 500 ERROR | halt }
set %q 2
:nextread | inc %jj2.serverid
if ($sockbr == 0) || (%temp == $null) return
inc %q
var %ip = $gettok($1,1,58),%mon = $2,%pp = $3,%type = $replace($iif($4 == unknown,??,$4),treasure,treas),%id = %jj2.serverid
if ($6 isnum) { var %version = $iif($5 == 1.,??,$5),%uptime = $duration($6),%players = $iif($rembrackets($7) == 0/0,??,$rembrackets($7)),%servername = $remcolsp($8-) }
else { var %version = $5-6,%uptime = $duration($7),%players = $iif($rembrackets($8) == 0/0,??,$rembrackets($8)),%servername = $remcolsp($9-) }
if ($gettok(%players,1,47) isnum) %jj2.aosa.total.players = %jj2.aosa.total.players + $ifmatch
if (%pp == private) {
if (%unse == hide) goto nextread
did -i server_list 1 %q %servername $tab %type $tab %players $tab %version $tab ----- $tab PRIVATE $tab %uptime $tab %jj2.serverid
}
elseif (%version == 1.21) || (%version == 1.21 s) {
if (%unse == hide) && (!$inst1.23) goto nextread
did -i server_list 1 %q %servername $tab %type $tab %players $tab %version $tab ... $tab %ip $tab %uptime $tab %jj2.serverid
}
elseif (%version == 1.24) || (%version == 1.24 s) {
if (%unse == hide) && (!$inst1.24) goto nextread
did -i server_list 1 %q %servername $tab %type $tab %players $tab %version $tab ... $tab %ip $tab %uptime $tab %jj2.serverid
}
elseif (%version == 1.24 x) {
if (%unse == hide) && (!$inst1.24x) goto nextread
did -i server_list 1 %q %servername $tab %type $tab %players $tab %version $tab ... $tab %ip $tab %uptime $tab %jj2.serverid
}
else {
if (%unse == hide) goto nextread
did -i server_list 1 %q %servername $tab %type $tab %players $tab %version $tab ... $tab %ip $tab %uptime $tab %jj2.serverid
}
goto nextread
}
on *:sockclose:serverlist: { if (%unse != hide) { var %s = $calc($did(server_list,1).lines -1),%t = %jj2.aosa.total.players
if (%t > %jj2.player.record) || (!%jj2.player.record) %jj2.player.record = %t
did
-ra server_list 901 Finished.
$calc($did(server_list,1
).
lines -1) server $+
$iif(%s != 1,s
) listed
( $+
%t player $+
$iif(%t != 1,s
) $+ .
Max:
%jj2.
player.
record $+
).
}
else did -ra server_list 901 Finished. One or more servers may have been hidden.
if (%jj2.ar isnum 1-) { .timerjj2ar 1 %jj2.ar the.ar }
set %jj2.aosa.listed.servers %s | %jj2.aosa.anysofar = 0 | %jj2.aosa.veraosa = 0 | jj2.aosa.ex | .timer -m 1 200 hemudpping
if ($did(server_list,3).state == 1) .timerjj2.joinbest -o 1 8 jj2.joinbest
}
alias hemudpping { if (!$dialog(server_list)) halt | var %d = 1,%r | while (%d < $did(server_list,1).lines) { inc %d | if ($tab($did(server_list,1,%d),5) == ...) { udpping %d | inc %r } } | if (%r > 0) .timernudpping 1 4 hemudpping }
alias udpping { if (!$1) halt | var %ip = $tab($did(server_list,1,$1),6)
if (%ip == PRIVATE) { var %cluc = $did(server_list,1,$1) | did -d server_list 1 $1
did -i server_list 1 $1 $tab(%cluc,1) $tab $tab(%cluc,2) $tab $tab(%cluc,3) $tab $tab(%cluc,4) $tab ----- $tab PRIVATE $tab $tab(%cluc,7) $tab $tab(%cluc,8) | return }
bread $qte($scriptdirudpping.dat) 0 $file($scriptdirudpping.dat).size &ping
if (%ip) { sockudp -k udpping- [ $+ [ %ip ] ] %ip 10052 &ping | set %udpping. [ $+ [ %ip ] ] $ticks $tab($did(server_list,1,$1),8) }
}
on *:udpread:udpping-*: {
var %rf = $ticks,%id = $gettok(%udpping. [ $+ [ $gettok($sockname,2,45) ] ] ,2,32)
sockread &bvar
;echo -s $gettok($sockname,2,45) $+ : $bvar(&bvar,1,$bvar(&bvar,0))
var %byte = $bvar(&bvar,9),%version = ??,%pp = 1,%type = ??,%base
if (%byte isnum 129-133) { %version = 1.24 | %pp = 1 | %base = 129 }
elseif (%byte == 5) { %version = 1.24 s | %pp = 1 | %base = 1 }
elseif (%byte == 69) { %version = 1.21 s | %pp = 1 | %base = 65 }
elseif (%byte isnum 161-165) { %version = 1.24 | %pp = 0 | %base = 161 }
elseif (%byte isnum 193-197) { %version = 1.21 | %pp = 1 | %base = 193 }
elseif (%byte isnum 225-229) { %version = 1.21 | %pp = 0 | %base = 225 }
%type = $rep($calc(%byte - %base),??,0~co-op,1~battle,2~race,3~treas,4~ctf)
if (%udpping. [ $+ [ $gettok($sockname,2,45) ] ] == $null) halt
var %y = 0,%x | while (%y < $did(server_list,1).lines) { inc %y
%x = $did(server_list,1,%y) | if ($tab(%x,8) == %id) { %linha = %y | goto x } } | halt
:x | var %cluc = $did(server_list,1,%linha)
if ($tab(%cluc,4) == $(1.24 x)) {
did -o server_list 1 %linha $tab(%cluc,1) $tab $tab(%cluc,2) $tab $tab(%cluc,3) $tab $tab(%cluc,4) $tab $calc(%rf - $gettok(%udpping. [ $+ [ $gettok($sockname,2,45) ] ] ,1,32)) $tab $tab(%cluc,6) $tab $tab(%cluc,7) $tab $tab(%cluc,8) }
else {
did -o server_list 1 %linha $tab(%cluc,1) $tab %type $tab $tab(%cluc,3) $tab %version $tab $iif(%pp,$calc(%rf - $gettok(%udpping. [ $+ [ $gettok($sockname,2,45) ] ] ,1,32)),-----) $tab $iif(%pp,$gettok($sockname,2,45),PRIVATE) $tab $tab(%cluc,7) $tab $tab(%cluc,8) }
jj2.aosa.ex %id | sockclose $sockname
}
alias jj2.joinbest { var %r = 0,%bestsofar = 0,%bb,%t = $hget(jj2.pts,0).item
if (!%t) { %jj2.notfirst = 1 | return }
while (%r < %t) { inc %r
if ($hget(jj2.pts,$hget(jj2.pts,%r).item) > %bestsofar) { %bb = $hget(jj2.pts,%r).item
%bestsofar = $ifmatch }
}
if (%jj2.ptsmin isnum) && (%bestsofar < %jj2.ptsmin) { %jj2.notfirst = 1 | return }
%r = 0
while (%r < $did(server_list,1).lines) { inc %r | %s = $did(server_list,1,%r)
if ($tab(%s,8) == %bb) { if (!%jj2.notfirst) joinser %r
else { %jj2.linenum = %r | dialog -m jj2.ssl jj2.ssl ) } }
} }
;--- AOSA
dialog jj2.aosa {
title "Automatic On-
Server Actions"
size -1 -1 132 201
option dbu
icon %iconsl, 0
text "This feature is mIRC scripting based.
See the examples included by default and the mIRC
help file
(type
/mirc if
-then-
else, for instance
) for more information.", 1, 4 3 128 22
box "Condition", 80, 2 58 128 20
edit "", 4, 6 66 120 10, autohs
box "General", 5, 2 29 128 28
text "Name:", 6, 6 38 18 6
edit "", 3, 26 36 34 8, autohs limit 35
check "Active", 8, 38 47 24 6
box "Actions", 9, 2 82 128 54
edit "", 10, 6 90 120 42, multi return hsbar vsbar
text "Additional Variables:
%jj2.
aosa. +
{name, gametype, player.
num, capacity, version, lag, ip, id, listed.
servers, total.
players},
%jj2.
id (id of the last added
server)", 11, 4 138 128 26
text "Additional Commands:
remove.
server, jj2.
addserver, set.
field, refresh.
list", 12, 4 168 128 14
button "Save", 13, 4 188 40 10
button "OK", 14, 52 188 36 10, default
button "Close", 15, 96 188 32 10, cancel
button "Delete", 7, 89 46 22 8
button "Reload", 16, 89 36 22 8
text "Pos:", 17, 6 46 18 6
edit "", 18, 26 46 10 8,
disable autohs limit 35
button "/\", 19, 70 36 9 8
button "\/", 20, 70 46 9 8
button ">", 22, 80 41 6 6
button "<", 21, 62 41 6 6
button "N.", 23, 113 36 12 18
}
on *:dialog:jj2.aosa:*:*: {
if ($devent == init) loadtooltips $dname
elseif ($devent == sclick) {
if ($did == 7) { var %entry = $did(18)
if ($hget(jj2.aosa,%entry)) {
var %a = $input(Are you sure you want to delete the entry $+(",%entry,") $+($chr(40),$gettok($hget(jj2.aosa,%entry),1,22),$chr(41),?),136,JJ2 add-on for mIRC)
dialog -ve jj2.aosa
if (!%a) return | var %r = %entry,%h = 0
hdel jj2.aosa %entry
while (%r < $calc($hget(jj2.aosa,0).item +1)) { inc %r | %h = 1 | hadd jj2.aosa $calc(%r -1) $hget(jj2.aosa,%r) }
if (%h) hdel jj2.aosa $hget(jj2.aosa,0).item | saveaosa
if ($hget(jj2.
aosa,0
).
item > 0
) jj2.
aosa.
load $dname $hget(jj2.
aosa,0
).
item
}
did -r $dname 3,4,10,18 | did -u $dname 8
}
elseif ($did == 13
) jj2.
aosa.
save
elseif ($did == 14
) { jj2.
aosa.
save |
dialog -x $dname }
elseif ($did == 2
) run http:
//www.
aleger.
tk/
elseif ($did == 16
) jj2.
aosa.
load $dname $did(18
)
elseif ($did isnum 19-20) {
if (($did == 19) && ($did(18) == 1)) || (($did == 20) && ($did(18) >= $hget(jj2.aosa,0).item)) return
jj2.
aosa.
save |
var %subnum =
$iif($did == 19,
$calc($did(18
) -1),
$calc($did(18
) +1
))
var %curr = $hget(jj2.aosa,$did(18)),%asub = $hget(jj2.aosa,%subnum)
hadd jj2.aosa $did(18) %asub | hadd jj2.aosa %subnum %curr
jj2.
aosa.
load $dname %subnum
}
elseif ($did isnum 21-22) {
if (!
$hget(jj2.
aosa,0
).
item) { .
echo -q $input(There are no entries,516,JJ2 add
-on for mIRC
)
dialog -ve jj2.aosa | halt }
if ($did(18
) ==
$null) { if ($did == 21
) var %subnum = 1 |
if ($did == 22
) var %subnum =
$hget(jj2.
aosa,0
).
item |
goto load }
if (($did == 21) && ($did(18) == 1)) || (($did == 22) && ($did(18) >= $hget(jj2.aosa,0).item)) return
jj2.
aosa.
save |
var %subnum =
$iif($did == 21,
$calc($did(18
) -1),
$calc($did(18
) +1
))
}
elseif ($did == 23
) { jj2.
aosa.
save | did
-r $dname 3,4,10,18
}
} }
if ($did(3) == $null) || ($did(10) == $null) || ($did(4) == $null) {
.
echo -q $input(One of the fields was left blank,516,JJ2 add
-on for mIRC
)
dialog -ve jj2.aosa | halt } | var %ta = jj2.aosa
if ($did(18) !isnum) { did -ra $dname 18 $calc($hget(%ta,0).item +1)
var %r = 0 | while (%r < $hget(%ta,0).item) { inc %r
if ($gettok($hget(%ta,$hget(%ta,%r).item),1,22) == $did(3)) {
did -ra $dname 18 $hget(%ta,%r).item | break } } }
if (!
$1) &&
(!
$vernum($did(18
),1
)) { .
echo -q $input(The position must be a natural number,516,JJ2 add
-on for mIRC
)
dialog -ve jj2.aosa | halt }
var %r = 0,%p | while (%r < $did(10).lines) { inc %r
%p = %p $iif($did($dname,10,%r) != $null,$chr(124)) $did($dname,10,%r) } | %p = $right(%p,-2)
hadd -m %ta $did(18) $+($replace($did(3),$chr(32),_),$chr(22),$did(8).state,$chr(22),$did(4),$chr(22),%p)
saveaosa
}
alias jj2.aosa.edit { var %ta = jj2.aosa
if ($dialog(%ta)) dialog -ve %ta
dialog -m %ta %ta
if ($1 !isnum) {
var %r = 0 | while (%r < $hget(%ta,0).item) { inc %r
if ($gettok($hget(%ta,
$hget(%ta,
%r).
item),1,22
) ==
$1) { tokenize 32
$hget(%ta,
%r).
item | break
}
} }
if ($1) {
if (!
$hget(%ta,
$1)) { .
echo -q $input(There is no such entry: $+
(",
$1,"
),516,JJ2 add
-on for mIRC
)
dialog -ve %ta | halt }
}
}
alias -l jj2.
aosa.
load { var %ta =
$1
did -ra %ta 18 $2 | var %line = $hget(%ta,$2)
did -ra %ta 3 $gettok(%line,1,22)
did $iif($gettok(%line,2,22) == 1,-c,-u) %ta 8
did -ra %ta 4 $gettok(%line,3,22) | did -r %ta 10
var %r = 0,%s = $replace($gettok(%line,4-,22),||,$chr(22)),%total = $gettok(%s,0,124)
while (%r < %total) { inc %r | did -i %ta 10 %r $replace($gettok(%s,%r,124),$chr(22),||) }
}
alias jj2.aosa.ex { var %opk = 0
;echo -s /jj2.aosa.ex $1-
var %d = $iif($2,$2,1),%r = $iif($3,$3,0)
if ($1 isnum) && ($1) { var %y = 0,%x,%opk = $1 | while (%y < $did(server_list,1).lines) { inc %y
%x = $did(server_list,1,%y) | if ($tab(%x,8) == $1) { %d = %y | goto x } } | return }
while (%d < $did(server_list,1).lines) { inc %d | :x
var %g = 1,%i,%z | :a | %z = $tab($did(server_list,1,%d),%g) | if (%z == $null) goto b
%i = %i $+ $chr(9) $+ $tab($did(server_list,1,%d),%g) | inc %g | goto a
%jj2.aosa.name = $1 | %jj2.aosa.gametype = $2 | %jj2.aosa.player.num = $gettok($3,1,47) | %jj2.aosa.capacity = $gettok($3,2,47)
%jj2.aosa.version = $4 | %jj2.aosa.lag = $replace($5,...,undef,-----,priv) | %jj2.aosa.ip = $6 | %jj2.aosa.id = $8
if (sec isin $7) || (min isin $7) || (hr isin $7) var %jj2.aosa.uptime = $calc($replace($7,$chr(32),+,secs,$null,sec,$null,mins,*60,min,*60,hours,*3600,hour,*3600,days,*86400,day,*86400))
else var %jj2.aosa.uptime = $7
;formato: activo (0/1) chr22 condição chr22 comandos
if (!$hget(jj2.aosa,0).item) return | var %t
;echo -s $+ 1 é $+(,$1,) --- %r < $hget(jj2.aosa,0).item ?? ---
while (%r < $hget(jj2.aosa,0).item) { inc %r
%t =
$hget(jj2.
aosa,
%r) |
tokenize 22
%t
if (!$2) continue
;if (%jj2.aosa.anysofar == 0) .timer 1 0 set %jj2.aosa.anysofar 1
.timer 1 0 if ( $3 ) $4 $chr(124) jj2.aosa.ex $iif(%opk,%opk,normal) $calc(%d -1) %r
;echo -s .timer 1 0 $eval($4,2)
;if (!%jj2.aosa.this.aosa.sofar) %jj2.aosa.veraosa = %jj2.aosa.veraosa %r
return
}
if (%opk) break | %r = 0
}
}
alias -l saveaosa hsave -o jj2.aosa $qte($scriptdiraosa.txt)
;Aliases de pontos
alias jj2.calcpts {
;Sintaxe: users,ping
var %u = $calc($log10($calc(5* $1 +1)) * 81.565112 +20),%p
;calcular influência do ping
if ($2 <= 750) %p = $calc(1.8095*10^-6* $2 * $2 -0.003224 * $2 +2)
else %p = $calc(-1.538462*10^-4* $2 +0.715385)
;Factor de influência do ping: %jj2.fip ]-1;+inf[
if (%jj2.fip == $null) || (%jj2.fip !isnum) %jj2.fip = 0
%p = $calc((%p + %jj2.fip )/(1+ %jj2.fip))
return $round($calc(%u * %p),0)
}
alias -l log10 return $calc($log($1) / 2.303)
;alias aosa.integridade {
; var %r = 0 | while (%r < $hget(jj2.aosa,0).item) { inc %r
; if ($hget(jj2.aosa,%r).item !isnum) { hdel jj2.aosa $ifmatch
; echo -a *** AOSA table integrity: Entry $ifmatch was not a number. Deleted. }
; }
;}
;-- Conjunto de aliases adicionais --
while (%r < $did(server_list,1).lines) { inc %r | if ($tab($did(server_list,1,%r),8) == $1) did -d server_list 1 %r }
}
alias -l set.field { var %r = 1,%s
if ($3 ==
$null) { echo $color(info
) -a *
/set.
field: Invalid Syntax
(/set.
field $1- $+
).
Syntax is
/set.
field <server id> <field num> <new value> |
return }
if ($1 !isnum
) ||
($2 !isnum
) { echo $color(info
) -a *
/set.
field: Invalid Syntax
(/set.
field $1- $+
).
Syntax is
/set.
field <server id> <field num> <new value> |
return }
while (%r < $did(server_list,1).lines) { inc %r | %s = $did(server_list,1,%r)
if ($tab(%s,8) == $1) {
did -o server_list 1 %r $puttok($tab(%s,1) $tab $tab(%s,2) $tab $tab(%s,3) $tab $tab(%s,4) $tab $tab(%s,5) $tab $tab(%s,6) $tab $tab(%s,7) $tab $tab(%s,8),$chr(32) $+ $3- $+ $chr(32),$2,9)
} } }
alias -l refresh.
list the.
ar
;--
on *:dialog:warning_jj2:Sclick:*: {
if ($did == 4) && ($did(3).state) { set %jj2.omitwarning 1 }
elseif ($did == 7) && ($dialog(server_list)) { .timer -m 1 50 dialog -v server_list }
}
alias -l back { did -u $dname $did | did -c $dname 2021 }
alias -l meter.nums.nos.inputs {
did -ra server_list 2111 $gettok(%reques,1,32)
did -ra server_list 2112 $gettok(%reques,2,32)
did -ra server_list 2113 $gettok(%reques,3,32)
did -ra server_list 2114 $gettok(%reques,4,32)
}
alias -l hexbin {
if (!
$2) { echo -s $hexbin: falta o segundo parâmetro.
REVER CHAMADAS A ESTE
ALIAS | halt
}
if ($2 == 1) {
var %r = 0,%t,%neq | while (%r < 4) { inc %r | %neq = $gettok($1,%r,32)
%t = %t $base(%neq,16,10) } | return %t
}
elseif ($2 == 2) {
var %r = 0,%t,%neq | while (%r < 4) { inc %r | %neq = $gettok($1,%r,32)
%t = %t $iif($len($base(%neq,10,16)) == 1,0 $+ $base(%neq,10,16),$base(%neq,10,16)) } | return %t
}
}
alias changecp { var %dia = server_list
if ($did(2029).state) { did -ra %dia 2101 Blaster | did -ra %dia 2102 Limbs, Ears
did -ra %dia 2103 Feet, Wristband | did -ra %dia 2104 Chest, Face }
elseif ($did(2030).state) { did -ra %dia 2101 Body | did -ra %dia 2102 Headband
did -ra %dia 2103 Blaster | did -ra %dia 2104 Wrist band }
elseif ($did(2031).state) { did -ra %dia 2101 Eyes | did -ra %dia 2102 Blaster edge
did -ra %dia 2103 Blaster | did -ra %dia 2104 Body }
else { did -ra %dia 2101 #1 | did -ra %dia 2102 #2 | did -ra %dia 2103 #3
did -ra %dia 2104 #4 }
}
alias -l cfi {
if ($int($$1) != $$1) return $false
if ($1 < 0) return $false
if ($1 > 255) return $false
if ($len($1) > 3) { return $false }
return $true
}
on *:dialog:enter_ip:*:*: {
if ($devent == init) {
if (!$inst1.23) did -b $dname 821
if (!$inst1.24) did -b $dname 822
if (!$inst1.24x) did -b $dname 823
}
elseif ($devent == sclick) && ($did == 850) {
;1.23 = ID 821, 1.24 = ID 822, 1.24 x = ID 823
if ($did(821
).
state) run %path.121
-connect $did(849
) $iif(%jj2.
spy,
-spy,
-nospy) $iif($did(server_list,2001
).
state,
-record)
elseif ($did(822
).
state) run %path.124
-connect $did(849
) $iif(%jj2.
spy,
-spy,
-nospy) $iif($did(server_list,2001
).
state,
-record)
elseif ($did(823
).
state) run %path.124x
-connect $did(849
) $iif(%jj2.
spy,
-spy,
-nospy) $iif($did(server_list,2001
).
state,
-record)
else did -ra $dname 840 Select a version!
}
}
alias -l stat return $qte($scriptdirstatistics.ini)
alias -l incva return $2 $calc($iif(!$readini($stat,$1,$2),0,$readini($stat,$1,$2)) +1)
alias -l getsv return $readini($stat,$1,$2)
alias -l writestat {
else goto serve
:
join |
var %st =
$did(server_list,1
).
seltext |
if ($2) %st =
$did(server_list,1,
$2)
writeini $stat $1 $incva($1,
$replace($remove($tab(%st,4
),
$chr(32
),s
),1.21,1.23
))
var %type = $remove($tab(%st,2),-) | if (!%type) %type = ??
writeini $stat $1 $incva($1,
%type) |
return
:serve |
writeini $stat $1 $incva($1,
%lastversion)
writeini $stat $1 $incva($1,
$remove(%lastgmode,-
))
}
alias jj2.statistics jj2.stat $1-
alias stat.jj2 jj2.stat $1-
alias -l pcmaker { var %a = $round($calc((100* $1)/($1 + $2 + $3 + $4 + $5)),0) $+ % | return $iif(%a != %,%a,0%) }
alias jj2.stat {
var %joined1.23 =
$getsv(join,1.23
),
%joined1.24 =
$getsv(join,1.24
),
%joined1.24x =
$getsv(join,1.24x
)
var %totjoined = $calc(%joined1.23 + %joined1.24 + %joined1.24x)
var %served1.23 = $getsv(serve,1.23),%served1.24 = $getsv(serve,1.24)
var %totserved = $calc(%served1.23 + %served1.24)
var %pcjoined = $pcmaker(%totjoined,%totserved)
var %pcserved = $pcmaker(%totserved,%totjoined)
var %pcserved1.23 = $pcmaker(%served1.23,%served1.24),%pcserved1.24 = $pcmaker(%served1.24,%served1.23)
var %pcjoined1.23 = $pcmaker(%joined1.23,%joined1.24,%joined1.24x),%pcjoined1.24 = $pcmaker(%joined1.24,%joined1.23,%joined1.24x)
var %joinedbattle =
$getsv(join,battle
),
%joinedctf =
$getsv(join,ctf
)
var %joinedtreas =
$getsv(join,treas
),
%joinedctf =
$getsv(join,race
),
%joinedcoop =
$getsv(join,coop
)
var %pcjbattle = $pcmaker(%joinedbattle,%joinedctf,%joinedtreas,%joinedrace,%joinedcoop)
var %pcjctf = $pcmaker(%joinedctf,%joinedbattle,%joinedtreas,%joinedrace,%joinedcoop)
var %servedbattle = $getsv(serve,battle),%servedctf = $getsv(serve,ctf)
var %servedtreas = $getsv(serve,treas),%servedrace = $getsv(serve,race),%servedcoop = $getsv(serve,coop)
var %pcsbattle = $pcmaker(%servedbattle,%servedctf,%servedtreas,%servedrace,%servedcoop)
var %pcsctf = $pcmaker(%servedctf,%servedbattle,%servedtreas,%servedrace,%servedcoop)
if ($active == $
(Status
Window)) ||
(@* iswm
$active) { echo -a *** Please use this command only on channels and queries |
return }
say $+ JJ2 add
-on v $+
$s.
version statistics $+ : Joined: $+
%totjoined $+
( $+
%pcjoined $+
) $&
$chr(91) $+ %pcjoined1.23 1.23, %pcjoined1.24 1.24 :: %pcjbattle Battle, %pcjctf CTF $+ $chr(93) $&
Served: $+ %totserved $+ ( $+ %pcserved $+ ) $&
$chr(91) $+ %pcserved1.23 1.23, %pcserved1.24 1.24 :: %pcsbattle Battle, %pcsctf CTF $+ $chr(93)
}
alias -l joinser { var %st = $did(server_list,1).seltext
if ($1) %st = $did(server_list,1,$1)
if (%st ==
$null) { did
-ra server_list 500 ERROR: You did not pick a
server... | halt
}
did -u server_list 3 | var %ip = $tab(%st,6)
if (%ip == PRIVATE) { did -ra server_list 500 ERROR: Private servers are NOT supported! | halt }
elseif ($tab(%st,4) == 1.24 x) {
if ($inst1.24x) {
run %path.124x
-connect %ip $iif(%jj2.
spy,
-spy,
-nospy) $iif($did(server_list,2001
).
state,
-record)
writestat
join $1 |
return
}
else { did -ra server_list 500 ERROR: You did not specify the location for 1.24 x jazz2.exe | halt }
}
if ($tab(%st,4) == 1.21) || ($tab(%st,4) == 1.21 s) {
if ($inst1.23) {
run %path.121
-connect %ip $iif(%jj2.
spy,
-spy,
-nospy) $iif($did(server_list,2001
).
state,
-record) | writestat
join $1
colorctf 1.23 | return
}
else { did -ra server_list 500 ERROR: You did not specify the location for 1.23 jazz2.exe | halt }
}
elseif ($tab(%st,4) == 1.24) || ($tab(%st,4) == 1.24 s) {
if ($inst1.24) {
run %path.124
-connect %ip $iif(%jj2.
spy,
-spy,
-nospy) $iif($did(server_list,2001
).
state,
-record) | writestat
join $1
colorctf 1.24 | return
}
else { did -ra server_list 500 ERROR: You did not specify the location for 1.24 jazz2.exe | halt }
}
elseif ($tab(%st,4) == 1.23) { did -ra server_list 500 ERROR: Holiday Hare '98 servers are NOT supported! | halt }
elseif ($tab(%st,4) == ??) {
var %a = $dialog(unk,unk) | halt }
else { did -ra server_list 500 ERROR: Unknown version ( $+ $tab(%st,4) $+ ) | halt }
}
alias -l colorctf {
if (!%jj2.colorctf) || (!$1) return
if (!$2) && ($tab($did(server_list,1).seltext,2) != ctf) return
set %jj2.realname $ler.entrada(Name,$1)
.
echo -q $dll($scriptdirregistry.
dll,SetKeyValue,REG_SZ HKEY_CURRENT_USER\Software\Epic MegaGames\Jazz Jackrabbit 2 $+
$iif($1 == 1.24,
$chr(32
) $+ Special Edition
) $+ \ $+
$1 $+ \Player0\\Name
[ $cr ] $remove(%jj2.
realname,|
))
.
timersetrealname 1 5 .
echo -q $!
dll($scriptdirregistry.
dll,SetKeyValue,REG_SZ HKEY_CURRENT_USER\Software\Epic MegaGames\Jazz Jackrabbit 2 $+
$iif($1 == 1.24,
$chr(32
) $+ Special Edition
) $+ \ $+
$1 $+ \Player0\\Name
[ $cr ] $eval(%jj2.
realname,0
) )
}
;==============================
;------ List my Server! -------
;==============================
;Ver mais sobre o list server no on dialog event geral do server_list
alias spacy { set %w 1 | set %lc $left($1-,1) | :j | inc %w
if ($right($left($1-,%w),1) == $right($1-,1)) return %lc $+ $chr(160) $+ $right($1-,1)
set %lc %lc $+ $chr(160) $+ $right($left($1-,%w),1) | goto j
}
on *:sockopen:listms: {
if ($sock($sockname).status == connecting) {
did
-ra server_list 1031 Unable to connect to the
list server.
did -ra server_list 1031 Connected! Preparing data...
if ($did(server_list,1011
).
state == 1
) { .
copy -o $qte($scriptdirbattle.
srv) $temp2s | bwrite
$temp2s 2
-1 $did(server_list,1017
).
text }
elseif ($did(server_list,1012
).
state == 1
) { .
copy -o $qte($scriptdirCTF.
srv) $temp2s | bwrite
$temp2s 2
-1 $did(server_list,1017
).
text }
elseif ($did(server_list,1013
).
state == 1
) { .
copy -o $qte($scriptdirtreasure.
srv) $temp2s | bwrite
$temp2s 2
-1 $did(server_list,1017
).
text }
elseif ($did(server_list,1014
).
state == 1
) { .
copy -o $qte($scriptdirother.
srv) $temp2s | bwrite
$temp2s 2
-1 $did(server_list,1017
).
text -> Coop
}
elseif ($did(server_list,1015
).
state == 1
) { .
copy -o $qte($scriptdirother.
srv) $temp2s | bwrite
$temp2s 2
-1 $did(server_list,1017
).
text -> Race
}
else { echo -s Unknown Error | halt
}
if ($ver.sel == 1.23) bwrite $temp2s 38 2 00
elseif ($ver.sel == 1.24) bwrite $temp2s 38 2 24
else { echo -s Unknown error | halt
}
bread $temp2s 0 $file($temp2s).size &info
did
-ra server_list 1031 Sending data to
list server...
sockwrite listms &info
did -ra server_list 1031 Done
did
-ra server_list 1034 Delist
Server
}
alias -l temp2s return $qte($scriptdirtemp2.srv)
alias -l rep {
;$rep(variável,subs no caso de n se verificar nenhum,hip1~res1,hip2~res2,etc.)
IF (!$2) return $null
IF (!$3) return $2
var %kis = 3 | :ui | if ($gettok( [ $chr(36) $+ [ %kis ] ] ,1,126) == $1) {
if ($gettok( [ $chr(36) $+ [ %kis ] ] ,2,126) == null) { return $null }
else return $gettok( [ $chr(36) $+ [ %kis ] ] ,2,126)
}
if ( [ $chr(36) $+ [ $calc(%kis +1) ] ] == $null) {
if ($2 == null) return $null
else return $2
}
inc %kis | goto ui
}
JJ2 add-on v $+ $s.version
.Start:readsl
.-
.-
.Version paths
..1.23 - $iif(%path.121 == $null,none,%path.121) : set %path.121 $sfile(c:\,Select your Jazz2 executble for version 1.23)
..1.24 - $iif(%path.124 == $null,none,%path.124) : set %path.124 $sfile(c:\,Select your Jazz2 executble for version 1.24)
..1.24 x - $iif(%path.124x == $null,none,%path.124x) : set %path.124x $sfile(c:\,Select your Jazz2 executble for version 1.24 x)
..-
..I haven't got 1.23: set %path.121 none
..I haven't got 1.24: set %path.124 none
..I haven't got 1.24 x: set %path.124x none
..Using $iif(%listserver == $null,not defined,%listserver):halt
..-
..Use jazz.contrabandent.com:set %listserver jazz.contrabandent.com
..Use jazz.nimrod-online.com:set %listserver jazz.nimrod-online.com
..
Other...:set
%listserver $$?="Write the IP
/host of the
list server"
..-
.Unjoinable Servers
..Show Error $iif((%unse != dibu) && (%unse != hide),[×],$deac):set %unse sher
..
Dis Join Button
$iif(%unse == dibu,
[×
],
$deac):set
%unse dibu
..Hide Servers $iif(%unse == hide,[×],$deac):set %unse hide
.Updates
..
Auto C
-4-Updates $+
$chr(58
) $iif(%jj2.
cfu == on,On,OFF
):set
%jj2.
cfu $iif(%jj2.
cfu == on,off,on
)
..-
..Check Now!:check4updates warn
..-
..
Update method $+
$chr(58
) $iif(%jj2.
pro == manual,Manual,
Auto):set
%jj2.
pro $iif(%jj2.
pro == Manual,
Auto,Manual
)
.Move cache files into jj2 dir
..$iif((%path.121 != none) && (%path.121),1.23):moveall $qte($nofile(%path.121) $+ cache\) $qte($nofile(%path.121))
..$iif((%path.124 != none) && (%path.124),TSF):moveall $qte($nofile(%path.124) $+ cache\) $qte($nofile(%path.124))
.Shortcuts
..Status $+ $chr(58) $iif($crcuR(status),On,OFF):crcuW status $iif($crcuR(status),0,1)
..-
..Costumise...
;In order to mantain compatibility with 5.91, I am not going to use $submenu
...1. $crcu(1):aliasdosatalhos 1
...2. $crcu(2):aliasdosatalhos 2
...3. $crcu(3):aliasdosatalhos 3
...4. $crcu(4):aliasdosatalhos 4
...5. $crcu(5):aliasdosatalhos 5
...6. $crcu(6):aliasdosatalhos 6
...7. $crcu(7):aliasdosatalhos 7
...8. $crcu(8):aliasdosatalhos 8
...9. $crcu(9):aliasdosatalhos 9
...-
...Reset:var %a = $?!="Are you sure you want to reset your shortcuts?" | if (%a) resetcc
..Create New:jj2.aosa.edit
..-
..$submenu($aosamenu($1))
..-
..
List on Status
(mIRC 5.91
):jj2.
aosa.
list
..-
..
Download Default AOSA:
{ if (!
$isfile($scriptdircache\jj2u.
ini)) { echo -a *** A required file is not present. |
return }
jj2upd $readini($scriptdircache\jj2u.ini,jj2,aosa) $qte($scriptdiraosa.txt) jj2.hloadaosa }
..Backup AOSA hash table: { var %r = 1 | while ($exists($+($scriptdiraosa.b,%r))) { inc %r }
copy -o $qte($scriptdiraosa.
txt) $qte($scriptdiraosa.
b $+
%r) }
..Rebuild AOSA entries: { var %a = $input(This will replace AOSA entries #1 and #2. Are you sure?,136,JJ2 add-on for mIRC) | if (%a) rebuildaosa }
..
Show Points after
Server Name
$iif(%jj2.
shpts,
[×
],
$deac):set
%jj2.
shpts $iif(%jj2.
shpts,0,1
)
..
Min.
Points to
join automatically $+
([,
$iif(%jj2.
ptsmin,
%jj2.
ptsmin,0
),
]):set
%jj2.
ptsmin $
$input(Enter the minimum number of points the best
server must have in order to be joined
if the B button is activated.,1,JJ2 add
-on for mIRC,
$iif(%jj2.
ptsmin,
%jj2.
ptsmin,175
))
...
Status $+
$chr(58
) $rep(%jj2.
fip,Costum $+
$chr(58
) %jj2.
fip,500~No Influence,8~Very Low Influence,4~Low Influence,1~Moderately Low Influence,0~Normal,
-0.3~Moderately High Influence,
-0.5~High Influence,
-0.7~Very High Influence
):.
echo -q a
...-
...No Influence:set %jj2.fip 500
...Very Low Influence:set %jj2.fip 8
...Low Influence:set %jj2.fip 4
...Moderately Low Influence:set %jj2.fip 1
...Normal:set %jj2.fip 0
...Moderately High Influence:set %jj2.fip -0.3
...High Influence:set %jj2.fip -0.5
...Very High Influence:set %jj2.fip -0.07
.$(S.I.) bot name
..Use default $iif(%jj2.botname == $null,[×],$deac):unset %jj2.botname
..Show empty line $iif(%jj2.botname == $blanklinename,[×],$deac):set %jj2.botname $blanklinename
..Set costum $iif((%jj2.botname != $blanklinename) && (%jj2.botname != $null),$chr(91) $+ %jj2.botname $+ $chr(93),$deac): {
var %a = %jj2.botname | if (%a == $blanklinename) || (%a == $null) %a = JJ2 add-on S.I. bot
%jj2.
botname = $
$input(Enter the name for the S.
I.
bot.
$crlf $+ ATTENTION: SOME
NAMES MAY CRASH OR FREEZE THE JJ2
SERVER.
MAKE SURE YOU TEST THEM.,1,JJ2 add
-on for mIRC,
%a)
}
.
Auto-refresh list $+
$chr(58
) $iif(%jj2.
ar isnum 1-,
%jj2.
ar secs,deactivated
):set
%jj2.
ar $input(Enter the delay between the refreshes
(secs
); enter nothing to deactivate,1,JJ2 add-on for mIRC,$iif(%jj2.ar,%jj2.ar,60))
.
S.
I.
permissive mode $+
$chr(58
) $iif(%jj2.
permissive,
[×
],
$deac):set
%jj2.
permissive $iif(%jj2.
permissive,0,1
)
.
Auto LVL
list build $+
$chr(58
) $iif(%jj2.
buildls,
[×
],
$deac):set
%jj2.
buildls $iif(%jj2.
buildls,0,1
)
.Show Desktop wins $+ $chr(58) $iif(%jj2.desktop,[×],$deac):set %jj2.desktop $iif(%jj2.desktop,0,1)
.Participate in Stats $+ $chr(58) $iif(%jj2.statistics != 0,[×],$deac):set %jj2.statistics $iif(%jj2.statistics != 0,0,1)
.Use Spy $+ $chr(58) $iif(%jj2.spy,[×],$deac):set %jj2.spy $iif(%jj2.spy,0,1)
.Do not use colors w/ CTF $+ $chr(58) $iif(%jj2.colorctf,[×],$deac):set %jj2.colorctf $iif(%jj2.colorctf,0,1)
.Confirm .ini overwrite $+ $chr(58) $iif(%jj2.confover,[×],$deac):set %jj2.confover $iif(%jj2.confover,0,1)
.
$iif($version != 5.91,Do not
load Tooltips $+
$chr(58
) $iif(%jj2.
toolt,
[×
],
$deac)):set
%jj2.
toolt $iif(%jj2.
toolt,0,1
)
.
Run Script Dir:
run $qte($scriptdir)
.
Read Readme.
txt:
run $qte($scriptdirreadme.
txt)
}
alias -l aosamenu {
if ($1 isnum) { if (!$hget(jj2.aosa,$1)) return | return $1 $+ . $gettok($hget(jj2.aosa,$1),1,22) :jj2.aosa.edit $1 }
}
echo -s -- Entries for AOSA --
var %r = 0,%s | :a | inc %r | %s = $gettok($hget(jj2.aosa,%r),1,22)
if (!
%s) goto b |
echo -s %r $+ .
%s |
goto a
:b
echo -s Type
/jj2.
aosa.
edit <number
/name> to edit
/delete the specified entry
}
alias -l blanklinename return §È ddddddd
alias -l deac return $+(,[,$chr(32),])
alias -l aliasdosatalhos crcuW
$1 $
$input(The actual command is
$iif($crcuC($1),
$qte($crcuC($1)),not defined
) $+ . $+
$cr $+ Type the new one after having typed the button text followed by an asterisk.
$cr $+ e.
g.: JCS*
run c:\games\jazz2\jcs.
exe,1,JJ2 add
-on)
alias -l listss { if ($dialog(listss)) dialog -av listss
if (!
%listserver) { .
timer 1 0 .
echo -q $input(You must specify a
list server before.,516,JJ2 add
-on) |
return }
dialog -m listss listss
}
alias -l moveall
{ tokenize 63
$gettok($1-,1,34
) $+ ? $+
$gettok($1-,3,34
)
;Cuidado com os chamamentos através de scripts. É perigoso supor que o alias já fez
;o que lhe foi pedido imediatamente após o chamamento.
;Se for o caso, certificar-se de que os paths terminam em "\"
var %1,%2
if (!
$isdir($1)) ||
(!
$isdir($2)) { echo $color(info
) -s *
/moveall: um dos directórios especificados não é | halt
}
if ($right($1,1) != \) %1 = $1 $+ \
if ($right($2,1) != \) %2 = $2 $+ \
if (%2) || (%1) { .timermoveall 1 0 $qte(%1) $qte(%2) | return }
var %1 = $1,%2 = $2,%cont = 0
.
echo -q $findfile(%1,*,0,1,
if (!
$exists(%2 $+
$nopath($1-
))) [ $chr(123
) ] .
copy $qte($1-
) %2 [ $chr(124
) ] inc
%cont [ $chr(124
) ] .
remove $qte($1-
) [ $chr(125
) ] )
echo $color(info
) -s *
/moveall: A total of
%cont files was moved
}
alias rebuildaosa {
hadd -m jj2.aosa 1 $eval(markpts1(%jj2.aosa.lag != priv) && (%jj2.aosa.lag != undef) && ($istok(battle ctf,%jj2.aosa.gametype,32))hadd -m jj2.pts %jj2.aosa.id $jj2.calcpts(%jj2.aosa.player.num,%jj2.aosa.lag),0)
hadd -m jj2.aosa 2 $eval(showpts1($hget(jj2.pts,%jj2.aosa.id)) && (%jj2.shpts)set.field %jj2.aosa.id 1 %jj2.aosa.name ( $+ $hget(jj2.pts,%jj2.aosa.id) pts),0)
saveaosa }
alias jj2.
hloadaosa { hload jj2.
aosa $shortfn($scriptdiraosa.
txt) |
echo -a *** Loaded AOSA file.
}
on *:
dialog:listss:init:*:
{ did
-ra $dname 1 Connecting to
%listserver $+ :10055 | sockopen listss
%listserver 10055 | .
remove $qte($scriptdircache\onrush.
txt) }
on *:sockopen:listss: {
if ($sock($sockname).status == connecting) did -ra listss 1 Connection failed!
else did -ra listss 1 Connected!
}
on *:sockread:listss: {
if ($sockerr > 0) return
:binary
sockread &tvar
if ($sockbr == 0) return
bwrite $qte($scriptdircache\onrush.txt) -1 &tvar
goto binary
}
on *:sockclose:listss:
{ if ($file($scriptdircache\onrush.
txt) > 0
) { loadbuf -o listss 2
$qte($scriptdircache\onrush.
txt) | did
-ra listss 1 Done.
} |
else did
-ra listss 1 An error has occurred. | .
remove $qte($scriptdircache\onrush.
txt) }
alias -l hideorshowshtc {
var %sl = server_list
;min: 240 dbu; max: 288 dbu
if ($1) { did -ra %sl 1510,1511 $iif($did(%sl,1510) == <,>,<)
if ($did(%sl,1510) == >) { .timerjj2.hossth off | %jj2.hossth = shrink }
else { .timerjj2.hossth off | %jj2.hossth = enlarge }
}
if ($cpixdbu($dialog(%sl).cw) <= 240) && (%jj2.hossth == shrink) return
if ($cpixdbu($dialog(%sl).cw) >= 288) && (%jj2.hossth == enlarge) return
.timerjj2.hossth -m 1 20 dialog -sb %sl $dialog(%sl).x $dialog(%sl).y $iif(%jj2.hossth == shrink,$calc($cpixdbu($dialog(%sl).cw) -2),$calc($cpixdbu($dialog(%sl).cw) +2)) 162 $chr(124) hideorshowshtc
}
alias -l cpixdbu return $calc($1 / $dbuw)
;==================
;---- Updates -----
;==================
on *:start: {
unset %jj2u.* | unset %jj2k.*
if (%jj2.buildls) { dialog -m loadlists loadlists
.timer 1 1 if ($inst1.24) buildl 1.24 $chr(124) if ($inst1.23) buildl 1.23 $chr(124) dialog -x loadlists
if (%jj2.order == fn) || (%jj2.order == ln) { jj2.order 1.23 %jj2.order | jj2.order 1.24 %jj2.order }
}
if (!$hget(jj2.aosa)) hmake jj2.aosa 15 | if ($isfile($scriptdiraosa.txt)) hload jj2.aosa $qte($scriptdiraosa.txt)
if (%jj2.cfu == on) check4updates
else statistics
}
dialog loadlists {
title "Loading..."
size -1 -1 104 32
option dbu
icon %iconsl, 0
text "Building level lists...", 1, 3 4 46 7
text "Wait a moment, please...", 2, 3 11 67 8
text "You may deactivate this automatic loading.", 3, 3 23 112 7
button "", 4, 0 0 0 6, hide ok cancel
}
;código para a contagem de utilizadores
alias -l statistics {
if (%jj2.statistics != 0) {
if (!%jj2.runtimes) jj2upd http://www.cataphract.tk:80/ $qte($scriptdircache\lixo.txt) incruntimes
else jj2upd http://www.aleger.tk/ $qte($scriptdircache\lixo.txt) incruntimes
}
}
alias -l incruntimes inc %jj2.runtimes
;Adaptado do HTDL v1.1 by Cataphract
alias -l data2 return $qte($scriptdircache\data2.txt)
on *:sockread:jj2u: {
if ($sockerr > 0) return | :header
if (%jj2u.binary == yes) goto binary
sockread
%temp |
tokenize 32
%temp |
write $qte($scriptdircache\infoadicional.
txt) %temp
if ($sockbr == 0) return
if (%temp == $null) { %jj2u.binary = yes | goto binary }
if (HTTP
/* iswm
%temp) &&
($2 != 200
) { echo -a *** The HTTP
server ( $+
$sock($sockname).
ip $+
) has sent an unexpected response.
Details:
$1- | sockclose
$sockname |
return }
elseif (Content-Length:* iswm %temp) set %jj2u.len $2
goto header
:binary
sockread &tvar
if ($sockbr == 0) return
bwrite $qte(%jj2u.desfile) -1 &tvar
if ((%jj2u.len == $file(%jj2u.desfile)) && (%jj2u.len)) { sockclose jj2u | .timer 1 1 %jj2u.fc | return }
goto binary
}
on *:sockopen:jj2u:
{ if ($sock($sockname).
status == connecting
) { echo -a *** Unable to connect to the HTTP
server.
IP:
$sock($sockname).
ip | halt
}
bread $data2 0 $file($data2).size &a | sockwrite $sockname &a
}
on *:sockclose:jj2u: {
if ($file(%jj2u.
desfile) ==
$null) { echo -s *** Error: The
server has closed the connection before sending the file
(if so, try again later
)? Poor scripting :
) ? |
return }
if ((%jj2u.len == $file(%jj2u.desfile)) && (%jj2u.len)) || (!%jj2u.len) { .timer 1 1 %jj2u.fc }
else { echo -a *** File size mismatch:
%jj2u.
len bytes <-->
$file(%jj2u.
desfile).
size $+ bytes!
}
}
alias jj2upd {
if ($
(http:* "*:*"*
) iswm
$1-
) tokenize 63
$1 $+ ? $+
$gettok($1-,2,
$asc("
)) $+ ? $+
$gettok($1-,3-,
$asc("
))
;echo -s 1: $1 ;;; 2: $2 ;;; 3: $3
;/jj2upd <url> <desfile> <comando>
if (http:
//* !iswm
$1) { echo -a *** O ficheiro pedido para download
( $+
$iif(!
$1,não especificado,
$1) $+
) vem com um endereço inválido. | halt
}
write -c $data2 GET
$relpath($1) HTTP
/1.1
write $data2 Accept-Encoding: gzip, deflate
write $data2 User-Agent: HTDL v1.1 by Cataphract
(adaptado
)
write $data2 Host:
$host($1) |
write $data2 Connection: Keep-Alive
write $data2 $chr(10
) |
var %b =
%jj2u.
warn | unset
%jj2u.* |
%jj2u.
desfile =
$2 |
%jj2u.
fc =
$3-
%jj2u.
warn =
%b | .
remove $qte(%jj2u.
desfile)
.
remove $qte($scriptdircache\infoadicional.
txt) | sockopen jj2u
$host($1) $porta($1) }
alias -l host return $gettok($gettok($1,2,47),1,58)
alias -l relpath return / $+ $gettok($1,3-,47)
alias -l porta return $iif($gettok($gettok($1,2,47),2,58),$gettok($gettok($1,2,47),2,58),80)
alias -l filename return $gettok($1,$count($1,$chr(47)),47)
alias check4updates {
if ($1 == warn) set %jj2u.warn 1
jj2upd http://pwp.netcabo.pt:80/0149486101/jj2/jj2u.ini $qte($scriptdircache\jj2u.ini) infofile
}
alias -l infofile {
if ($readini(%jj2u.desfile,news,id) != %jj2.lastid) { set %jj2.lastid $readini(%jj2u.desfile,news,id)
var %r = 0,
%t | :a | inc
%r |
%t =
$readini(%jj2u.
desfile,news,
%r) |
if (!
%t) { sline @JJ2 4 |
goto c
} |
echo @JJ2 %t |
goto a
}
:c
if ($s.version < $readini(%jj2u.desfile,jj2,latestversion)) .timerpedirupdate 1 0 pedirupdate
elseif (%jj2u.warn) { var %a = $input(You have the latest version. $crlf $+ No Updates available.,68,JJ2 add-on) | unset %jj2u.warn }
else statistics
}
alias -l pedirupdate {
if (%jj2.
pro == Manual
) var %
msg = Your 'JJ2 mIRC add
-on' version seems to be out of date.
Shall I take you to the HTTP location from where you can download it?
else var %
msg = Your 'JJ2 mIRC add
-on' version seems to be out of date.
Shall I download and install the latest one?
%a =
$input(%
msg,136,JJ2 add
-on)
if (%a) { if (%jj2.
pro == Manual
) url $readini(%jj2u.
desfile,jj2,manual
)
else { %jj2k.num = 1 | jj2upd $readini(%jj2u.desfile,jj2,1) $qte($scriptdircache\ $+ $filename($readini(%jj2u.desfile,jj2,1))) nextdfile
.
timer 1 0
var %c =
$input(The downloading of the files may take some
time.
If the new version is not loaded within two
/three minutes $+
$chr(44
) please request the update once more,68,JJ2 add
-on)
}
}
}
alias -l nextdfile { :beg | inc %jj2k.num | var %b = $readini($scriptdircache\jj2u.ini,jj2,%jj2k.num)
if ($readini($scriptdircache\jj2u.ini,jj2,%jj2k.num $+ p) == skip) && ($isfile($scriptdir $+ $filename(%b))) { goto beg }
if (!%b) { var %t = 1
while ($readini($scriptdircache\jj2u.ini,jj2,%t)) {
if ($readini($scriptdircache\jj2u.
ini,jj2,
%t $+ p
) != skip
) .
copy -o $qte($scriptdircache\ $+
$filename($readini($scriptdircache\jj2u.
ini,jj2,
%t))) $qte($scriptdir) | inc
%t }
.
timer 1 1
load -rs $qte($scriptdir $+
$readini($scriptdircache\jj2u.
ini,jj2,script
)) | .
unload -rs $qte($script) | halt
}
jj2upd %b $qte($scriptdircache\ $+ $filename(%b)) nextdfile
}
alias sdisplay {
if ($1 == $null) return 0 bytes*
elseif ($1 < 1024) return $1 bytes
elseif ($1 < $calc(2^20)) return $round($calc($1 / $calc(2^10)),2) KB
elseif ($1 < $calc(2^30)) return $round($calc($1 / $calc(2^20)),2) MB
else return $round($calc($1 / $calc(2^30)),2) GB
}
;Fim dos Updates
;
;Server Info
dialog ser_i_p {
title "JJ2 Add
-on: Regarding
Server Info"
size -1 -1 162 60
option dbu
text "Please do not use this feature for reprehensible purposes such as 'cloning'. Use it only for educational ends. Otherwise, make sure you have the consent of the implicated player.", 2, 7 11 150 21
check "Omit this box in the future.", 3, 3 36 68 9
button "I Agree", 4, 3 46 96 10,ok
box "Purpose", 6, 3 4 156 30
button "Go Back", 7, 105 46 53 10,cancel
edit "ok",20,1 1 1 1,hide result
}
on *:dialog:ser_i_p:Sclick:*: {
if ($did == 4) && ($did(3).state) { set %jj2.omitpur 1 }
elseif ($did == 7) && ($dialog(server_list)) { .timer -m 1 50 dialog -v server_list }
}
dialog ser_i {
title "Server Information"
size -1 -1 166 126
option dbu
icon %iconsl
list 1, 8 34 146 62, size
edit "", 2, 84 10 56 10
box "Level", 3, 4 2 158 22
box "Player List", 4, 4 26 158 76
button "Save Settings", 5, 3 110 50 10,
disable
button "Close", 6, 111 110 50 10, default cancel
text "Filename of the level:", 7, 8 12 52 6
button "Join This Server", 8, 57 110 50 10
}
on *:dialog:ser_i:*:*: {
if ($devent == init) { mdx.start | loadtooltips $dname
set %a $mdx(SetControlMDX,1 listview rowselect single flatsb showsel report nosortheader > [ $mdx.vdll ] )
did -i $dname 1 1 headerdims 24:1 120:2 50:3 90:4
did -i $dname 1 1 headertext $+(ID,$tab,Player Name,$tab,Char,$tab,Fur Colors)
}
elseif ($devent == sclick) {
if ($did == 1) {
if (!$did(1).seltext) did -b $dname 5
else did -e $dname 5
}
elseif ($did == 5) {
if (!$did(1).seltext) { did -b $dname $did | return }
var %file =
$sfile($inidir $+ \*.
ini,
Save Profile,
Save)
var %version = $iif(%jj2.si.ver == 121,1.23,1.24)
if (!%file) return
var %file2 = $nopath(%file)
if (*.ini !iswm %file) %file = %file $+ .ini
if ($ini(%file,%version)) {
if (%jj2.confover) var %edcv $$input(Do you want to overwrite the definitions for %version of that file?,136,Overwrite Defs)
else var %edcv 1
dialog -v $dname
if (!%edcv) return
}
writeini $qte(%file) %version name
$tab($did(1
).
seltext,2
)
writeini $qte(%file) %version char
$tab($did(1
).
seltext,3
)
dialog -v ser_i
}
elseif ($did == 6) || ($did == 8) {
unset %jj2.si.* | sockclose ser_i
if ($dialog(server_list)) dialog -v server_list
if ($did == 8) {
if (!$dialog(server_list)) { did -b $dname 8 | return }
joinser
dialog -x ser_i
}
}
}
}
on *:sockopen:ser_i: {
if ($sock($sockname).
status == connecting
) { fatalsierr Error connecting to the
server!
}
bset &b 1 9 15 1 4 50 $iif(%jj2.si.ver == 121,49,52) 32 32 1 | sockwrite $sockname &b | %jj2.si.stage = 1
}
alias fatalsierr {
;.timer 1 0 .echo -q $input($1-,516,JJ2 add-on)
did -ra server_list 500 ERROR: S.I.: $1-
unset %jj2.si.* | if ($dialog(ser_i)) dialog -x ser_i | sockclose ser_i
halt
}
on *:sockclose:ser_i:
{ fatalsierr The
server has closed the connection.
}
on *:sockread:ser_i: {
if ($sockerr > 0) return
:nextread
if (!$dialog(ser_i)) { sockclose $sockname | halt }
if (!$sock(ser_i)) return
sockread &b
if ($sockbr == 0) return
if (%jj2.si.stage == 1) {
bset -t &botname 1 $iif(%jj2.botname == $null,JJ2||add-on| v $+ $s.version,%jj2.botname)
if (%jj2.botname == $null) bset &botname $calc($bvar(&botname,0) +1) 32 32 32 32 167 58
;echo -s -> $bvar(&b,1,$bvar(&b,0))
if (.
j2l !isin
$bvar(&b,1,
$bvar(&b,0
)).
text) &&
(!
%jj2.
permissive) fatalsierr The
server has sent an unexpected response.
Wrong version?
Server full? Level w
/out extension?
did -ra ser_i 2 $bvar(&b,6,$calc($bvar(&b,0) -15)).text
%jj2.si.pl = $bvar(&b,4)
;echo -s bvar: %jj2.si.pl
;*if ($bvar(&b,3) != $bvar(&b,4)) echo 4 -s A Estudar: $bvar(&b,1,$bvar(&b,0))
bset &m 1 1 14 1 %jj2.si.pl 1 0 0 0 0 $bvar(&botname,1,$bvar(&botname,0))
sockwrite $sockname &m
}
elseif (%jj2.si.stage == 2) {
did -r ser_i 1
if ($bvar(&b,
$bvar(&b,0
)) != 0
) fatalsierr The
server has sent an unexpected response
var %r = 3
:k
var %parte = skip,%num,%char,%nome,%pelo,%neq,%pelonum = 0
while (%r < $bvar(&b,0)) { inc %r | %neq = $bvar(&b,%r)
if (%parte == num) { %num = %neq | %parte = char }
elseif (%parte == skip) { %parte = num }
elseif (%parte == char) { %char = $rep(%neq,?? $eval(%neq,2),1~Spaz,0~Jazz,2~Lori,16~Jazz,17~Spaz,18~Lori,10~Jazz,11~Spaz,241~Spaz,240~Jazz,19~Bird) | %parte = pelo }
elseif (%parte == pelo) { inc %pelonum
%pelo = %pelo %neq
if (%pelonum == 4) %parte = nome
}
elseif (%parte == nome) {
if (%neq == 0) {
if (JJ2||add-on|v !isin %nome) && (%nome != %jj2.botname) did -i ser_i 1 $calc(%num +2) $+($chr(160),%num,$tab,$chr(32),%nome,$tab,$chr(32),%char,$tab,$chr(32),%pelo)
goto k
}
%nome = %nome $+ $chr(%neq)
}
}
;fim do while
.timer -m 1 200 sockclose ser_i
}
inc %jj2.si.stage
goto nextread
}
alias -l dialog {
if (-m isin $1) {
if ($dialog($2)) dialog -v $2
elseif (%jj2.desktop) dialog -d $+ $remove($1,-) $2-
else dialog $1-
}
else dialog $1-
}
;Shortcuts (ver mais a partir da linha 853)
alias -l crcuW
writeini $qte($scriptdircrosscuts.
ini) crcu
$1-
alias crcuR return $readini($scriptdircrosscuts.ini,n,crcu,$$1)
alias -l crcu return $gettok($crcuR($$1),1,42)
alias -l crcuC return $gettok($crcuR($$1),2,42)
;Extra aliases
alias jj2.
trickfg echo -s $dll($scriptdirregistry.
dll,SetKeyValue,REG_BINARY HKEY_CURRENT_USER\Software\Epic MegaGames\Jazz Jackrabbit 2\1.23\Player0\\Char
[ $cr ] $hexbin($1-,1
))
;Based on Overlord's list - http://geocities.com/atlastsome/jj2/
;00 00 00 00 You will be seen as ammo and some other cool things
;2E 00 00 00 Play like a frog with strange animation
;08 00 00 00 If you want to start as a bird set the char to this value
;43 00 00 00 Food and some ammo boxes
;56 00 00 00 Weapons and their effects
;76 00 00 00 Weapons, their fire and effects
;98 00 00 00 Jazz with Spaz's sounds.
alias jj2.
addserver { inc
%jj2.
serverid | did
-i server_list 1 2
Server on $
$1 $tab ??
$tab ??
$tab $iif($2,
$2,??
) $tab ...
$tab $
$1 $tab ??
$tab %jj2.
serverid | jj2.
aosa.
ex %jj2.
serverid | hemudpping
}
;eof