Downloading File
Filename: Advertising System
dialog ads {
title "Ad Setup"
size -1 -1 432 166
option dbu
edit "", 1, 6 12 414 12, autohs
box "Ad 1", 2, 2 2 424 46
edit "Status Ad1", 3, 6 28 80 12, disable center
button "Enable/Save", 4, 90 28 37 12, flat
button "Disable", 5, 132 28 37 12, flat
edit "Display Ad1 Time", 6, 236 30 100 12, disable center
text "Display Ad Every:", 7, 170 32 63 8, right
button "+Hr", 8, 340 30 19 12, flat
button "-Hr", 9, 360 30 19 12, flat
button "+Min", 10, 382 30 19 12, flat
button "-Min", 11, 402 30 19 12, flat
box "Ad 2", 12, 4 52 424 46
edit "", 13, 8 62 414 12, autohs
text "Display Ad Every:", 14, 172 82 63 8, right
edit "Display Time", 15, 238 80 100 12, disable center
edit "Status", 16, 8 78 82 12, disable center
button "Enable/Save", 17, 92 78 37 12, flat
button "Disable", 18, 134 78 37 12, flat
button "-Min", 19, 404 80 19 12, flat
button "+Min", 20, 384 80 19 12, flat
button "-Hr", 21, 362 80 19 12, flat
button "+Hr", 22, 342 80 19 12, flat
box "Ad 3", 23, 6 102 424 46
text "Display Ad Every:", 24, 174 132 63 8, right
button "-Min", 25, 406 130 19 12, flat
button "+Min", 26, 386 130 19 12, flat
button "-Hr", 27, 364 130 19 12, flat
button "+Hr", 28, 344 130 19 12, flat
button "Enable/Save", 29, 96 128 37 12, flat
button "Disable", 30, 136 128 37 12, flat
edit "Display Time", 31, 240 130 100 12, disable center
edit "Status ", 32, 10 128 82 12, disable center
edit "", 33, 10 112 414 12, autohs
button "Close", 34, 390 152 37 10, flat ok cancel
}
on *:DIALOG:ads:init:*: {
var %table, %file, %ad, %time, %status, %pan, %stat, %t, %a, %l
%table = ads | %file = ads.dat
if (!$hget(%table)) { .hmake %table | if ($isfile(%file)) .hload %table %file }
%a = 1 | %pan = 1 13 33 | %t = 6 15 31 | %stat = 3 16 32
while (%a < 4) {
%ad = $hget(%table,$+(ad,%a)) | if (!%ad) %ad = Unset
%time = $hget(%table,$+(time,%a)) | if (!%time) %time = $calc(60 * 60)
%status = $hget(%table,$+(state,%a)) | if (!%status) %status = Disabled
.did -ra $dname $gettok(%pan,%a,32) %ad | .did -ra $dname $gettok(%stat,%a,32) $+(Status,$chr(58),$chr(32),%status) | .did -ra $dname $gettok(%t,%a,32) $duration(%time)
inc %a
}
}
on *:DIALOG:ads:sclick:*: {
var %table, %file, %ad, %time, %status, %pan, %stat, %t, %a, %b, %l
%table = ads | %file = ads.dat
if (!$hget(%table)) { .hmake %table | if ($isfile(%file)) .hload %table %file }
%pan = 1 13 33 | %t = 6 15 31 | %stat = 3 16 32
if ($istok(4 17 29,$did,32)) {
if ($did == 4) %b = 1 | elseif ($did == 17) %b = 2 | elseif ($did == 29) %b = 3
if (!%b) goto end
if ($did($dname,$gettok(%pan,%b,32)).text == Unset) || (!$did($dname,$gettok(%pan,%b,32)).text) { .hadd %table $+(ad,%b) Unset | .hadd %table $+(state,%b) Disabled | .dialog -c $dname $dname | %a = $$input(Error: You Need To Pick Advertisement Text,o,Error,Error) | .dialog -mdo ads ads | .timerad $+ %b off | .hsave %table %file | goto end }
hadd %table $+(ad,%b) $$iif($did($dname,$gettok(%pan,%b,32)).text, $v1, Unset)
%time = $hget(%table,$+(time,%b)) | if (!%time) %time = $calc(60 * 60)
hadd %table $+(time,%b) %time | hadd %table $+(state,%b) Enabled | .did -ra $dname $gettok(%stat,%b,32) $+(Status,$chr(58),$chr(32),Enabled)
goto save
}
if ($istok(5 18 30,$did,32)) {
if ($did == 5) %b = 1 | elseif ($did == 18) %b = 2 | elseif ($did == 30) %b = 3
if (!%b) goto end
.timerad $+ %b off | .did -ra $dname $gettok(%stat,%b,32) $+(Status,$chr(58),$chr(32),Disabled) | .hadd %table $+(state,%b) Disabled
goto save
}
if ($istok(8 22 28,$did,32)) {
if ($did == 8) %b = 1 | elseif ($did == 22) %b = 2 | elseif ($did == 28) %b = 3
if (!%b) goto end
%time = $hget(%table,$+(time,%b)) | if (!%time) %time = $calc(60 * 60)
inc %time $calc(60 * 60) | goto time
}
if ($istok(9 21 27,$did,32)) {
if ($did == 9) %b = 1 | elseif ($did == 21) %b = 2 | elseif ($did == 27) %b = 3
if (!%b) goto end
%time = $hget(%table,$+(time,%b)) | if (!%time) %time = $calc(60 * 60)
dec %time $calc(60 * 60) | goto time
}
if ($istok(10 20 26,$did,32)) {
if ($did == 10) %b = 1 | elseif ($did == 20) %b = 2 | elseif ($did == 26) %b = 3
if (!%b) goto end
%time = $hget(%table,$+(time,%b)) | if (!%time) %time = $calc(60 * 60)
inc %time 60 | goto time
}
if ($istok(11 19 25,$did,32)) {
if ($did == 11) %b = 1 | elseif ($did == 19) %b = 2 | elseif ($did == 25) %b = 3
if (!%b) goto end
%time = $hget(%table,$+(time,%b)) | if (!%time) %time = $calc(60 * 60)
dec %time 60 | goto time
}
goto end
:time
if (%time < $calc(60 * 10)) %time = $calc(60 * 10)
hadd %table $+(time,%b) %time | .did -ra $dname $gettok(%t,%b,32) $duration(%time)
:save
.hsave %table %file | .noop $adstart(%b)
:end
}
alias adstart {
var %table, %file, %a, %b, %l
%table = ads | %file = ads.dat
if (!$hget(%table)) { .hmake %table | if ($isfile(%file)) .hload %table %file }
if ($1 isnum 1-3) {
%b = $1
%ad = $hget(%table,$+(ad,%b)) | if (!%ad) || (%ad == Unset) { .hadd %table $+(state,%b) Disabled | .timerad $+ %b off | return }
%time = $hget(%table,$+(time,%b)) | if (!%time) %time = $calc(60 * 60)
%status = $hget(%table,$+(state,%b)) | if (%status == Disabled) return
.timerad $+ %b -co 0 %time doad %ad
return
}
%a = 1
while (%a < 4) {
%ad = $hget(%table,$+(ad,%a)) | if (!%ad) || (%ad == Unset) { .hadd %table $+(state,%a) Disabled | .timerad $+ %a off | goto skip }
%time = $hget(%table,$+(time,%a)) | if (!%time) %time = $calc(60 * 60)
%status = $hget(%table,$+(state,%a)) | if (%status != Enabled) goto skip
.timerad $+ %a -co 0 %time doad %ad
:skip
inc %a
}
}
alias doad {
var %table, %file, %a, %b, %c, %d, %e, %timer, %l
%table = ads | %file = ads.dat
if ($1 == Unset) return
if (!$hget(%table)) { .hmake %table | if ($isfile(%file)) .hload %table %file }
%a = $chan(0) | %b = $hget(%table,channels)
if (!%b) { .echo -s 4 $+ $timestamp >> Advert Attempt >> No Channels Set >> $1- | return }
else {
%c = 0 | %d = 0 | %timer =
while (%a > 0) { if ($istok(%b,$chan(%a),32)) { inc %d | if (%d > 5) { %d = 0 | inc %e } | if (%e isnum 1-) %timer = .timer -cmo 1 $calc(%e * 2200) | %timer .raw $$iif($me isop $chan(%a), NOTICE $chan(%a) $chan(%a) $+($chr(58),[,br,]), PRIVMSG $chan(%a) $chr(58)) $+ $+($chr(160),[,style) ff:Arial co:#688A08;b;] $+ $1- | inc %c } | dec %a }
if (%c > 0) { .echo -s 3 $+ $timestamp >> Advert Sent To %c $$iif(%c > 1, Channels, Channel) >> $1- } | else { .echo -s 4 $+ $timestamp >> Advert Attempt >> No Channels Set From Channels Your Currently On >> $1- }
}
return
}
menu channel {
-
Advert Control
.Setup Adverts:.dialog -mdo ads ads
.-
.$$iif($timer(ad1), **Click Activation Time Below To Send Ad Now**, $$iif($timer(ad2), **Click Activation Time Below To Send Ad Now**, $$iif($timer(ad3), **Click Activation Time Below To Send Ad Now**))):.halt
.$$iif($timer(ad1).secs, $+(Advert,$chr(32),One,$chr(32),Activates,$chr(32),In,$chr(58),$chr(32),$duration($v1))): { var %a, %b, %l | %b = 1 | %a = $timer($+(ad,%b)).com | %a | .noop $adstart(%b) }
.$$iif($timer(ad2).secs, $+(Advert,$chr(32),Two,$chr(32),Activates,$chr(32),In,$chr(58),$chr(32),$duration($v1))): { var %a, %b, %l | %b = 2 | %a = $timer($+(ad,%b)).com | %a | .noop $adstart(%b) }
.$$iif($timer(ad3).secs, $+(Advert,$chr(32),Three,$chr(32),Activates,$chr(32),In,$chr(58),$chr(32),$duration($v1))): { var %a, %b, %l | %b = 3 | %a = $timer($+(ad,%b)).com | %a | .noop $adstart(%b) }
-
$$iif($istok($hget(ads,channels),$active,32), $style(1) Display, Display) Advert In $+(",$active,"): {
var %table, %file, %a, %l | %table = ads | %file = ads.dat
if (!$hget(%table)) { .hmake %table | if ($isfile(%file)) .hload %table %file }
%a = $hget(%table,channels)
if ($istok(%a,$active,32)) { if ($numtok(%a,32) > 1) .hadd %table channels $remtok(%a,$active,32) | else .hdel %table channels }
else .hadd %table channels $addtok(%a,$active,32)
.hsave %table %file
}
}
on *:START: .noop $adstart
on *:JOIN:*: { var %table, %a, %l | %table = ads
if (!$hget(%table)) { .noop $adstart }
else { %a = 1 | while (%a < 4) { if ($hget(%table,$+(state,%a)) == Enabled) && (!$timer($+(ad,%a))) .noop $adstart(%a) | inc %a } }
}


