blizzard::gui — File Browser
blizzardguiv1.0 / blizzardguiv1.0 / blizzard_gui_manager.mrc
blizzard_gui_manager.mrc — 8.03 KB — Download this file
;===================================================================================================
; blizzard::gui - Skin manager
; ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
;
; This file is not needed if you want the engine to work.
;
; Its purpose is to easilly load new skins, and to allow the user to download new skins directly from mIRC
; (you can find skins for blizzard::gui on http://blizzard.mircscripts.org/skins/ )
;
;
; Made by Epsilon - July 2003
; www.blizzard.be.tf
;
;===================================================================================================
;===== use this alias to call the manager =========
alias skin-manager {
gui skin-manager skin-manager
}
;==================================================
on *:LOAD:echo -a blizzard::gui skin manager loaded. /skin-manager to run it.
;======== not commented code :
alias tgui_skin-manager {
gui_size skin-manager 200 150 230 250
gui -ly skin-manager
gui_title skin-manager blizzard::gui - Skin manager
gui_text skin-manager 1 5 5 120 16 > Choose a skin:
gui_list skin-manager 2 5 22 130 184 size vsbar autovs
gui_button skin-manager 3 145 22 60 24 > Ok
gui_button skin-manager 4 145 52 60 24 > Cancel
gui_button skin-manager 5 145 82 60 24 > More ›››
gui_text skin-manager 6 225 5 120 16 > Download new skins:
gui_list skin-manager 7 225 22 130 154 size vsbar autovs
gui_button skin-manager 8 365 22 60 24 > Get list
gui_button skin-manager 9 365 52 60 24 > Download
gid -b skin-manager 9
gui_text skin-manager 10 225 182 200 28 > status: not connected - click on "Get List" to get the list of available skins.
gui_button skin-manager 11 145 142 60 24 > Delete
%blizzard_gui_tmp_skin = %blizzard_gui_skin
refresh_skin_list
}
on *:SIGNAL:GUI: {
if ($1 == skin-manager) {
if ($2 == closed) {
if ($hget(tmp_gui_skins)) {
.sockclose skins
.sockclose dl-skins
if ($isfile($hget(tmp_gui_skins,file))) .remove $hget(tmp_gui_skins,file)
.hfree tmp_gui_skins
}
unset %blizzard_gui_tmp_skin
}
if ($2 == close) {
if (%blizzard_gui_skin != %blizzard_gui_tmp_skin) {
%blizzard_gui_skin = %blizzard_gui_tmp_skin
load_gui
}
unset %blizzard_gui_tmp_skin
gui -c skin-manager
}
if ($2 == sclick) {
if ($3 == 3) {
gui -c skin-manager
}
else if ($3 == 4) {
if (%blizzard_gui_skin != %blizzard_gui_tmp_skin) {
%blizzard_gui_skin = %blizzard_gui_tmp_skin
load_gui
}
gui -c skin-manager
}
else if ($3 == 5) {
if (more isin $gid(skin-manager,5)) {
gui_size skin-manager -1 -1 454 250
gid -a skin-manager 5 ‹‹‹ Hide
}
else {
gui_size skin-manager -1 -1 230 250
gid -a skin-manager 5 More ›››
}
}
else if ($3 == 2) {
if ($gid(skin-manager,2).sel == 1) gid -b skin-manager 11
else gid -e skin-manager 11
if (%blizzard_gui_skin != $gid(skin-manager,2).seltext) {
%blizzard_gui_skin = $gid(skin-manager,2).seltext
load_gui
}
}
else if ($3 == 8) {
get_list
}
else if ($3 == 7) {
gid -e skin-manager 9
}
else if ($3 == 9) {
download_skin $gid(skin-manager,7).seltext
gid -d skin-manager 7 $gid(skin-manager,7).sel
}
else if ($3 == 11) {
%blizzard_gui_skin = <default>
%blizzard_gui_tmp_skin = <default>
.remove $+(",%blizzard_gui_skin_dir $+ $gid(skin-manager,2).seltext $+ .png,")
gid -d skin-manager 2 $gid(skin-manager,2).sel
gid -b skin-manager 11
gid -c skin-manager 2 1
load_gui
}
}
}
}
on *:sockopen:skins: {
if ($sockerr) {
gid -a skin-manager 10 status: connection error - could not connect to the website.
return
}
else {
gid -a skin-manager 10 status: connection established - downloading the list...
gid -r skin-manager 7
sockwrite -n skins GET /skins/list.txt HTTP/1.1
sockwrite -n skins Host: blizzard.mircscripts.org $+ $str($crlf,2)
}
}
on *:sockread:skins:{
var %text
sockread %text
if ($sockerr) {
gid -a skin-manager 10 status: connection error - could not connect to the website.
gid -r skin-manager 7
return
}
if (%text == :end) {
hdel tmp_gui_skins display
gid -a skin-manager 10 status: all skins available are listed. You can now download them.
.sockclose skins
}
if ($hget(tmp_gui_skins,display)) && (!$isfile($+(",%blizzard_gui_skin_dir $+ %text $+ .png,"))) gid -a skin-manager 7 %text
else if (%text == :start) hadd tmp_gui_skins display 1
}
on *:sockopen:dl-skins: {
if ($sockerr) {
gid -a skin-manager 10 status: connection error - could not connect to the website.
gid -e skin-manager 7
gid -r skin-manager 7
gid -e skin-manager 8
.hfree tmp_gui_skins
return
}
else {
gid -a skin-manager 10 status: downloading $hget(tmp_gui_skins,dl) (0%)
hadd tmp_gui_skins file $+(",%blizzard_gui_skin_dir $+ $hget(tmp_gui_skins,dl) $+ .png,")
write -c $hget(tmp_gui_skins,file)
sockwrite -n dl-skins GET /skins/ $+ $hget(tmp_gui_skins,dl) $+ .png HTTP/1.1
sockwrite -n dl-skins Host: blizzard.mircscripts.org $+ $str($crlf,2)
}
}
on *:sockread:dl-skins:{
if ($sockerr) {
gid -a skin-manager 10 status: connection error - could not connect to the website.
gid -e skin-manager 7
gid -r skin-manager 7
gid -e skin-manager 8
.hfree tmp_gui_skins
return
}
if (!$hget(tmp_gui_skins,ready)) {
var %header
sockread %header
while ($sockbr) {
if (Content-length: * iswm %header) {
hadd tmp_gui_skins len $gettok(%header,2,32)
}
elseif (* !iswm %header) {
hadd tmp_gui_skins ready 1
hadd tmp_gui_skins offset $sock($sockname).rcvd
break
}
sockread %header
}
}
sockread 4096 &f
while ($sockbr) {
bwrite $hget(tmp_gui_skins,file) -1 -1 &f
var %pc = $round($calc(100*($sock($sockname).rcvd - $hget(tmp_gui_skins,offset))/ $hget(tmp_gui_skins,len)),1)
gid -a skin-manager 10 status: downloading $hget(tmp_gui_skins,dl) ( $+ %pc $+ % $+ )
if (%pc >= 100) {
gid -a skin-manager 10 status: $hget(tmp_gui_skins,dl) successfully downloaded
gid -e skin-manager 7
gid -e skin-manager 8
refresh_skin_list
.hfree tmp_gui_skins
.sockclose dl-skins
return
}
else sockread 4096 &f
}
}
on *:sockclose:dl-skins:{
gid -a skin-manager 10 status: $hget(tmp_gui_skins,dl) successfully downloaded
gid -e skin-manager 7
gid -e skin-manager 8
refresh_skin_list
.hfree tmp_gui_skins
}
alias -l download_skin {
if ($hget(tmp_gui_skins)) hfree tmp_gui_skins
hmake tmp_gui_skins
hadd tmp_gui_skins dl $1-
gid -b skin-manager 7
gid -b skin-manager 8
gid -b skin-manager 9
sockopen dl-skins blizzard.mircscripts.org 80
}
alias -l refresh_skin_list {
gid -r skin-manager 2
gid -a skin-manager 2 <default>
var %i = $findfile(%blizzard_gui_skin_dir,*.*,0,0,if ($right($1-,4) == .png) gid -a skin-manager 2 $remove($nopath($1-),.png))
%i = 1
while (%i <= $gid(skin-manager,2).lines) {
if ($gid(skin-manager,2,%i) == %blizzard_gui_skin) {
gid -c skin-manager 2 %i
if ($gid(skin-manager,2).sel == 1) gid -b skin-manager 11
break
}
else if (%i == $gid(skin-manager,2).lines) {
gid -c skin-manager 2 1
gid -b skin-manager 11
}
inc %i
}
}
alias -l get_list {
.sockclose skins
gid -a skin-manager 10 status: connecting to blizzard.mircscripts.org...
if ($hget(tmp_gui_skins)) hfree tmp_gui_skins
hmake tmp_gui_skins
hadd tmp_gui_skins display 0
sockopen skins blizzard.mircscripts.org 80
}