spot timers updates, file sync

This commit is contained in:
Brandon Cornejo 2026-01-25 19:49:01 -06:00
parent 1a4202aa09
commit 1627e1da05

View File

@ -2,211 +2,201 @@
#CLASS {xptimers} {open}; #CLASS {xptimers} {open};
#VARIABLE {xptimer_file} {logs/xptimers.log}; #VARIABLE {xptimer_file} {logs/xptimers.log};
#VARIABLE {xptimersyncdt_file} {logs/features/xptimers_syncdt.log};
#VARIABLE {xptimersyncvt_file} {logs/features/xptimers_syncvt.log};
#VARIABLE {killtimers} { #VARIABLE {killtimers} {
{Delbert}{ {Delbert}{
{time}{0} {time}{0}
{name}{delbert} {name}{delbert}
{group}{false} {group}{false}
{respawn}{30} {respawn}{40}
} }
{the Triad boss}{ {the Triad boss}{
{time}{0} {time}{0}
{name}{medina boss} {name}{medina boss}
{group}{false} {group}{false}
{respawn}{30} {respawn}{40}
} }
{the bandit leader}{ {the bandit leader}{
{time}{0} {time}{0}
{name}{bandits} {name}{bandits}
{group}{false} {group}{false}
{respawn}{30} {respawn}{40}
} }
{Hlakket the Bartender}{ {Hlakket the Bartender}{
{time}{0} {time}{0}
{name}{hlakket} {name}{hlakket}
{group}{false} {group}{false}
{respawn}{30} {respawn}{40}
} }
{the Zoon Liar}{ {the Zoon Liar}{
{time}{0} {time}{0}
{name}{zoon liar} {name}{zoon liar}
{group}{false} {group}{false}
{respawn}{30} {respawn}{40}
} }
{Slim Stevie}{ {Slim Stevie}{
{time}{0} {time}{0}
{name}{rogues} {name}{rogues}
{group}{false} {group}{false}
{respawn}{30} {respawn}{40}
} }
{the %* grflx worker}{ {the %* grflx worker}{
{time}{0} {time}{0}
{name}{grflx} {name}{grflx}
{group}{false} {group}{false}
{respawn}{30} {respawn}{40}
} }
{the %* student}{ {the %* student}{
{time}{0} {time}{0}
{name}{dojo} {name}{dojo}
{group}{false} {group}{false}
{respawn}{30} {respawn}{40}
} }
{the ceremonial guard}{ {the ceremonial guard}{
{time}{0} {time}{0}
{name}{cguards} {name}{cguards}
{group}{false} {group}{false}
{respawn}{30} {respawn}{40}
} }
{the smuggler captain}{ {the smuggler captain}{
{time}{0} {time}{0}
{name}{smug cap} {name}{smug cap}
{group}{false} {group}{false}
{respawn}{30} {respawn}{40}
} }
{the giant leader}{ {the giant leader}{
{time}{0} {time}{0}
{name}{giants} {name}{giants}
{group}{false} {group}{false}
{respawn}{30} {respawn}{40}
} }
{the %* rujona}{ {the %* rujona}{
{time}{0} {time}{0}
{name}{snail} {name}{snail}
{group}{true} {group}{true}
{respawn}{30} {respawn}{40}
} }
{the %* nitsuni}{ {the %* nitsuni}{
{time}{0} {time}{0}
{name}{snail} {name}{snail}
{group}{true} {group}{true}
{respawn}{30} {respawn}{40}
} }
{the Ome outlaw}{ {the Ome outlaw}{
{time}{0} {time}{0}
{name}{snail} {name}{snail}
{group}{true} {group}{true}
{respawn}{30} {respawn}{40}
} }
{the %* lion}{ {the %* lion}{
{time}{0} {time}{0}
{name}{shaker} {name}{shaker}
{group}{false} {group}{false}
{respawn}{30} {respawn}{40}
} }
{the %* crocodile}{ {the %* crocodile}{
{time}{0} {time}{0}
{name}{offler} {name}{offler}
{group}{false} {group}{false}
{respawn}{25} {respawn}{40}
} }
{Louis Accardo}{ {Louis Accardo}{
{time}{0} {time}{0}
{name}{stables} {name}{stables}
{group}{true} {group}{true}
{respawn}{30} {respawn}{40}
} }
{Samuel Casso}{ {Samuel Casso}{
{time}{0} {time}{0}
{name}{stables} {name}{stables}
{group}{true} {group}{true}
{respawn}{30} {respawn}{40}
} }
{Enrico Persuica}{ {Enrico Persuica}{
{time}{0} {time}{0}
{name}{stables} {name}{stables}
{group}{true} {group}{true}
{respawn}{30} {respawn}{40}
} }
{Joe Corrola}{ {Joe Corrola}{
{time}{0} {time}{0}
{name}{stables} {name}{stables}
{group}{true} {group}{true}
{respawn}{30} {respawn}{40}
} }
{Marlon Gumboni}{ {Marlon Gumboni}{
{time}{0} {time}{0}
{name}{casino} {name}{casino}
{group}{true} {group}{true}
{respawn}{30} {respawn}{40}
} }
{Frankie Harvard}{ {Frankie Harvard}{
{time}{0} {time}{0}
{name}{casino} {name}{casino}
{group}{true} {group}{true}
{respawn}{30} {respawn}{40}
} }
{Geraldo Ciaco}{ {Geraldo Ciaco}{
{time}{0} {time}{0}
{name}{casino} {name}{casino}
{group}{true} {group}{true}
{respawn}{30} {respawn}{40}
} }
{Charles Marchella}{ {Charles Marchella}{
{time}{0} {time}{0}
{name}{casino} {name}{casino}
{group}{true} {group}{true}
{respawn}{30} {respawn}{40}
} }
{a %* hermit}{ {the %* hermit}{
{time}{0} {time}{0}
{name}{oasis} {name}{oasis}
{group}{true} {group}{true}
{respawn}{30} {respawn}{40}
} }
{a %* patroller}{ {the %* patroller}{
{time}{0} {time}{0}
{name}{oasis} {name}{oasis}
{group}{true} {group}{true}
{respawn}{30} {respawn}{40}
} }
{a %* captain}{ {the {strict|serious|grim|tough|stern} captain}{
{time}{0} {time}{0}
{name}{oasis} {name}{oasis}
{group}{true} {group}{true}
{respawn}{30} {respawn}{40}
} }
{a %* desert nomad}{ {the %* desert nomad}{
{time}{0} {time}{0}
{name}{oasis} {name}{oasis}
{group}{true} {group}{true}
{respawn}{30} {respawn}{40}
} }
{a peacekeeper commander}{ {the peacekeeper commander}{
{time}{0} {time}{0}
{name}{oasis} {name}{oasis}
{group}{true} {group}{true}
{respawn}{30} {respawn}{40}
} }
{a %* mystic}{ {the %* mystic}{
{time}{0} {time}{0}
{name}{oasis} {name}{oasis}
{group}{true} {group}{true}
{respawn}{30} {respawn}{40}
} }
{the Tang captain}{ {the {Tang|Fang|Hong|McSweeney} captain}{
{time}{0} {time}{0}
{name}{bmarket} {name}{bmarket}
{group}{true} {group}{true}
{respawn}{30} {respawn}{40}
}
{the Fang captain}{
{time}{0}
{name}{bmarket}
{group}{true}
{respawn}{30}
}
{the McSweeney captain}{
{time}{0}
{name}{bmarket}
{group}{true}
{respawn}{30}
} }
{the citadel guard}{ {the citadel guard}{
{time}{0} {time}{0}
{name}{citguard} {name}{citguard}
{group}{false} {group}{false}
{respawn}{30} {respawn}{40}
} }
} }
@ -227,117 +217,138 @@
{time}{0} {time}{0}
{name}{offler} {name}{offler}
{group}{false} {group}{false}
{respawn}{30} {respawn}{40}
} }
{2950a174f65ef8e38eee444295c9b4832d36ab60}{ {2950a174f65ef8e38eee444295c9b4832d36ab60}{
{time}{0} {time}{0}
{name}{dragon} {name}{dragon}
{group}{false} {group}{false}
{respawn}{30} {respawn}{40}
} }
{f6c60dd36ed38707eb954c3a670f2f9370a79399}{ {f6c60dd36ed38707eb954c3a670f2f9370a79399}{
{time}{0} {time}{0}
{name}{bmarket} {name}{bmarket}
{group}{true} {group}{true}
{respawn}{30} {respawn}{40}
} }
{e4646eab906aef1187a9dd3e980441b8f6b8d68c}{ {e4646eab906aef1187a9dd3e980441b8f6b8d68c}{
{time}{0} {time}{0}
{name}{bmarket} {name}{bmarket}
{group}{true} {group}{true}
{respawn}{30} {respawn}{40}
} }
{0ae9d8c4f2b48f4fcc4cb57fd85443399be2ecc5}{ {0ae9d8c4f2b48f4fcc4cb57fd85443399be2ecc5}{
{time}{0} {time}{0}
{name}{bmarket} {name}{bmarket}
{group}{true} {group}{true}
{respawn}{30} {respawn}{40}
} }
{c7c6f5720d2c587f80696b6f0ec7f9ac0f084b06}{ {c7c6f5720d2c587f80696b6f0ec7f9ac0f084b06}{
{time}{0} {time}{0}
{name}{bmarket} {name}{bmarket}
{group}{true} {group}{true}
{respawn}{30} {respawn}{40}
} }
{3862c5fd0fe83f4080bdb9b94519bf8da89d5015}{ {3862c5fd0fe83f4080bdb9b94519bf8da89d5015}{
{time}{0} {time}{0}
{name}{parades} {name}{parades}
{group}{true} {group}{true}
{respawn}{30} {respawn}{40}
} }
{cca9645565f2bb0d017ea9b1dcc9d1b3e9fcfe72}{ {cca9645565f2bb0d017ea9b1dcc9d1b3e9fcfe72}{
{time}{0} {time}{0}
{name}{cabbage} {name}{cabbage}
{group}{false} {group}{false}
{respawn}{30} {respawn}{40}
} }
{7377f4483763eca72e0b97a87f71c5266e33f2cd}{ {7377f4483763eca72e0b97a87f71c5266e33f2cd}{
{time}{0} {time}{0}
{name}{cocoons} {name}{cocoons}
{group}{false} {group}{false}
{respawn}{30} {respawn}{40}
} }
} }
#ALIAS {dtreset} { #ALIAS {dtreset} {
#variable {dtreset_all} {0};
#regex {%1} {all} { #regex {%1} {all} {
#foreach {$killtimers[]} {spot} { #foreach {*killtimers[]} {spot} {
#format {killtimers[$spot][time]} {0}; #format {killtimers[$spot][time]} {0};
} };
#foreach {$visittimers[]} {spot} { #foreach {*visittimers[]} {spot} {
#format {visittimers[$spot][time]} {0}; #format {visittimers[$spot][time]} {0};
} };
#format {xptimer_message} {%c[XPTimer] %c*%c Resetting all spots to Unseen.} {bold blue} {bold yellow} {bold blue}; #format {xptimer_message} {%c[XPTimer] %c*%c Resetting all spots to Unseen.} {<188><acf>} {Yellow} {<188><acf>};
#echo {$xptimer_message}; #echo {$xptimer_message};
#variable {dtreset_all} {1}; #variable {dtreset_all} {1};
}; };
#if {$dtreset_all < 1} { #if {$dtreset_all < 1} {
#foreach {$killtimers[]} {spot} { #list {spot_groups} {clear};
#foreach {*killtimers[]} {spot} {
#var {xptimer_message} {};
#regex {%1 %2} {$killtimers[$spot][name]} { #regex {%1 %2} {$killtimers[$spot][name]} {
#format {killtimers[$spot][time]} {%T}; #format {killtimers[$spot][time]} {%T};
#if {"$killtimers[$spot][group]" == "true"} { #if {"$killtimers[$spot][group]" == "true"} {
#format {xptimer_message} {%c[XPTimer] %c*%c Resetting death timer for%c $killtimers[$spot][name] ($spot)%c.} {bold blue} {bold yellow} {bold blue} {bold green} {bold blue}; #list {spot_groups} {find} {$killtimers[$spot][name]} {group_exists};
#if {"$group_exists" == "0"} {
#list {spot_groups} {add} {$killtimers[$spot][name]};
#format {xptimer_message} {%c[XPTimer] %c*%c Resetting death timer for%c $killtimers[$spot][name]%c.} {<188><acf>} {Yellow} {<188><acf>} {Green} {<188><acf>};
};
}; };
#else { #else {
#format {xptimer_message} {%c[XPTimer] %c*%c Resetting death timer for%c $killtimers[$spot][name]%c.} {bold blue} {bold yellow} {bold blue} {bold green} {bold blue}; #format {xptimer_message} {%c[XPTimer] %c*%c Resetting death timer for%c $killtimers[$spot][name]%c.} {<188><acf>} {Yellow} {<188><acf>} {Green} {<188><acf>};
};
#format {xp_message_check} {%L} {$xptimer_message};
#if {$xp_message_check > 0} {
#echo {$xptimer_message};
}; };
#echo {$xptimer_message};
}; };
} };
#foreach {$visittimers[]} {spot} { #list {spot_groups} {clear};
#foreach {*visittimers[]} {spot} {
#var {xptimer_message} {};
#regex {%1 %2} {$visittimers[$spot][name]} { #regex {%1 %2} {$visittimers[$spot][name]} {
#format {visittimers[$spot][time]} {%T}; #format {visittimers[$spot][time]} {%T};
#if {"$visittimers[$spot][group]" == "true"} { #if {"$visittimers[$spot][group]" == "true"} {
#format {xptimer_message} {%c[XPTimer] %c*%c Resetting visit timer for%c $visittimers[$spot][name] ($spot)%c.} {bold blue} {bold yellow} {bold blue} {bold green} {bold blue}; #list {spot_groups} {find} {$visittimers[$spot][name]} {group_exists};
#if {"$group_exists" == "0"} {
#list {spot_groups} {add} {$visittimers[$spot][name]};
#format {xptimer_message} {%c[XPTimer] %c*%c Resetting visit timer for%c $visittimers[$spot][name]%c.} {<188><acf>} {Yellow} {<188><acf>} {Green} {<188><acf>};
};
}; };
#else { #else {
#format {xptimer_message} {%c[XPTimer] %c*%c Resetting visit timer for%c $visittimers[$spot][name]%c.} {bold blue} {bold yellow} {bold blue} {bold green} {bold blue}; #format {xptimer_message} {%c[XPTimer] %c*%c Resetting visit timer for%c $visittimers[$spot][name]%c.} {<188><acf>} {Yellow} {<188><acf>} {Green} {<188><acf>};
};
#format {xp_message_check} {%L} {$xptimer_message};
#if {$xp_message_check > 0} {
#echo {$xptimer_message};
}; };
#echo {$xptimer_message};
}; };
} };
} };
#unvariable {dtreset_all}; #unvariable {dtreset_all};
} }
#ACTION {%1 deals the death blow to %2.} { #ACTION {%1 deals the death blow to %2.} {
#foreach {$killtimers[]} {spot} { #foreach {*killtimers[]} {spot} {
#regex {%2} {$spot} { #regex {%2} {$spot} {
#format {killtimers[$spot][time]} {%T}; #format {killtimers[$spot][time]} {%T};
}; };
} };
} }
#ACTION {You kill %1.} { #ACTION {You kill %1.} {
#foreach {$killtimers[]} {spot} { #foreach {*killtimers[]} {spot} {
#regex {%1} {$spot} { #regex {%1} {$spot} {
#format {killtimers[$spot][time]} {%T}; #format {killtimers[$spot][time]} {%T};
}; };
} };
} }
#FUNCTION {write_spot} { #FUNCTION {write_spot} {
@ -361,12 +372,12 @@
#elseif {$mins > ($spotrespawn + 20)} { #elseif {$mins > ($spotrespawn + 20)} {
#var {current_spot_color} {<119>}; #var {current_spot_color} {<119>};
}; };
#elseif {$mins > $spotrespawn} { #elseif {$mins >= $spotrespawn} {
#var {current_spot_color} {<139>}; #var {current_spot_color} {<139>};
}; };
#else { #else {
#var {current_spot_color} {<099>}; #var {current_spot_color} {<099>};
} };
#if {$mins > 99} { #var {mins} {99} }; #if {$mins > 99} { #var {mins} {99} };
@ -377,7 +388,7 @@
#else { #else {
#nop Zero pad under 10 mins; #nop Zero pad under 10 mins;
#format {spotstring} { - (0%dm) %c%s<099> } {$mins} {$current_spot_color} {$spotname}; #format {spotstring} { - (0%dm) %c%s<099> } {$mins} {$current_spot_color} {$spotname};
} };
}; };
#return {$spotstring}; #return {$spotstring};
@ -389,7 +400,7 @@
#var {spot_groups_respawn} {}; #var {spot_groups_respawn} {};
#echo {.:: Death Timers ::.}; #echo {.:: Death Timers ::.};
#foreach {$killtimers[]} {spot} { #foreach {*killtimers[]} {spot} {
#if {"$killtimers[$spot][group]" == "true"} { #if {"$killtimers[$spot][group]" == "true"} {
#if {&spot_groups[$killtimers[$spot][name]] == 0} { #if {&spot_groups[$killtimers[$spot][name]] == 0} {
#var {spot_groups[$killtimers[$spot][name]]} {$killtimers[$spot][time]}; #var {spot_groups[$killtimers[$spot][name]]} {$killtimers[$spot][time]};
@ -405,12 +416,12 @@
#var {spotstring} {@write_spot{$killtimers[$spot][name];$killtimers[$spot][time];$killtimers[$spot][respawn]}}; #var {spotstring} {@write_spot{$killtimers[$spot][name];$killtimers[$spot][time];$killtimers[$spot][respawn]}};
#echo {$spotstring}; #echo {$spotstring};
} };
#foreach {$spot_groups[]} {spot} { #foreach {*spot_groups[]} {spot} {
#var {spotstring} {@write_spot{$spot;$spot_groups[$spot];$spot_groups_respawn[$spot]}}; #var {spotstring} {@write_spot{$spot;$spot_groups[$spot];$spot_groups_respawn[$spot]}};
#echo {$spotstring}; #echo {$spotstring};
} };
#echo {\n}; #echo {\n};
@ -419,7 +430,7 @@
#echo {.:: Visit Timers ::.}; #echo {.:: Visit Timers ::.};
#format {current_time} {%T}; #format {current_time} {%T};
#foreach {$visittimers[]} {spot} { #foreach {*visittimers[]} {spot} {
#if {"$visittimers[$spot][group]" == "true"} { #if {"$visittimers[$spot][group]" == "true"} {
#if {&spot_groups[$visittimers[$spot][name]] == 0} { #if {&spot_groups[$visittimers[$spot][name]] == 0} {
#var {spot_groups[$visittimers[$spot][name]]} {$visittimers[$spot][time]}; #var {spot_groups[$visittimers[$spot][name]]} {$visittimers[$spot][time]};
@ -435,17 +446,17 @@
#var {spotstring} {@write_spot{$visittimers[$spot][name];$visittimers[$spot][time];$visittimers[$spot][respawn]}}; #var {spotstring} {@write_spot{$visittimers[$spot][name];$visittimers[$spot][time];$visittimers[$spot][respawn]}};
#echo {$spotstring}; #echo {$spotstring};
} };
#foreach {$spot_groups[]} {spot} { #foreach {*spot_groups[]} {spot} {
#var {spotstring} {@write_spot{$spot;$spot_groups[$spot];$spot_groups_respawn[$spot]}}; #var {spotstring} {@write_spot{$spot;$spot_groups[$spot];$spot_groups_respawn[$spot]}};
#echo {$spotstring}; #echo {$spotstring};
} };
#echo {\n}; #echo {\n};
} }
#ALIAS {writetimerstofile} { #ALIAS {/writetimerstofile} {
#system {> $xptimer_file}; #system {> $xptimer_file};
#format {current_time} {%T}; #format {current_time} {%T};
#var {spot_groups} {}; #var {spot_groups} {};
@ -453,7 +464,7 @@
#line {log} {$xptimer_file} {.:: Death Timers ::. }; #line {log} {$xptimer_file} {.:: Death Timers ::. };
#foreach {$killtimers[]} {spot} { #foreach {*killtimers[]} {spot} {
#if {"$killtimers[$spot][group]" == "true"} { #if {"$killtimers[$spot][group]" == "true"} {
#if {&spot_groups[$killtimers[$spot][name]] == 0} { #if {&spot_groups[$killtimers[$spot][name]] == 0} {
#var {spot_groups[$killtimers[$spot][name]]} {$killtimers[$spot][time]}; #var {spot_groups[$killtimers[$spot][name]]} {$killtimers[$spot][time]};
@ -469,18 +480,18 @@
#var {spotstring} {@write_spot{$killtimers[$spot][name];$killtimers[$spot][time];$killtimers[$spot][respawn]}}; #var {spotstring} {@write_spot{$killtimers[$spot][name];$killtimers[$spot][time];$killtimers[$spot][respawn]}};
#line {log} {$xptimer_file} {$spotstring}; #line {log} {$xptimer_file} {$spotstring};
} };
#foreach {$spot_groups[]} {spot} { #foreach {*spot_groups[]} {spot} {
#var {spotstring} {@write_spot{$spot;$spot_groups[$spot];$spot_groups_respawn[$spot]}}; #var {spotstring} {@write_spot{$spot;$spot_groups[$spot];$spot_groups_respawn[$spot]}};
#line {log} {$xptimer_file} {$spotstring}; #line {log} {$xptimer_file} {$spotstring};
} };
#line {log} {$xptimer_file} {\n\r\n\r.:: Visit Timers ::. }; #line {log} {$xptimer_file} {\n\r\n\r.:: Visit Timers ::. };
#var {spot_groups} {}; #var {spot_groups} {};
#var {spot_groups_respawn} {}; #var {spot_groups_respawn} {};
#foreach {$visittimers[]} {spot} { #foreach {*visittimers[]} {spot} {
#if {"$visittimers[$spot][group]" == "true"} { #if {"$visittimers[$spot][group]" == "true"} {
#if {&spot_groups[$visittimers[$spot][name]] == 0} { #if {&spot_groups[$visittimers[$spot][name]] == 0} {
#var {spot_groups[$visittimers[$spot][name]]} {$visittimers[$spot][time]}; #var {spot_groups[$visittimers[$spot][name]]} {$visittimers[$spot][time]};
@ -496,15 +507,15 @@
#var {spotstring} {@write_spot{$visittimers[$spot][name];$visittimers[$spot][time];$visittimers[spot][respawn]}}; #var {spotstring} {@write_spot{$visittimers[$spot][name];$visittimers[$spot][time];$visittimers[spot][respawn]}};
#line {log} {$xptimer_file} {$spotstring}; #line {log} {$xptimer_file} {$spotstring};
} };
#foreach {$spot_groups[]} {spot} { #foreach {*spot_groups[]} {spot} {
#var {spotstring} {@write_spot{$spot;$spot_groups[$spot];$spot_groups_respawn[$spot]}}; #var {spotstring} {@write_spot{$spot;$spot_groups[$spot];$spot_groups_respawn[$spot]}};
#line {log} {$xptimer_file} {$spotstring}; #line {log} {$xptimer_file} {$spotstring};
} };
} }
#EVENT {SEND OUTPUT} {writetimerstofile}; #EVENT {SEND OUTPUT} {/writetimerstofile;};
#FUNCTION {parse_spot} { #FUNCTION {parse_spot} {
#var {spot_sync_raw} {%0}; #var {spot_sync_raw} {%0};
@ -513,6 +524,114 @@
#return {$spot_sync}; #return {$spot_sync};
} }
#ALIAS {dtload} {
#var {synccount} {0};
#script {dtsync} {cat $xptimersyncdt_file};
#script {vtsync} {cat $xptimersyncvt_file};
#replace {dtsync[1]} {,} {;};
#replace {vtsync[1]} {,} {;};
#list dtsync_list create {${dtsync[1]}};
#list vtsync_list create {${vtsync[1]}};
#foreach {*dtsync_list[]} {spot} {
#var {syncitem} {@parse_spot{$dtsync_list[$spot]}};
#var {syncname} {$syncitem[1]};
#var {synctime} {$syncitem[2]};
#foreach {*killtimers[]} {spotident} {
#var {spotname} {$killtimers[$spotident][name]};
#if {"$spotname" == "$syncname"} {
#var {killtimers[$spotident][time]} {$synctime};
#math {synccount} {$synccount + 1};
};
};
};
#foreach {*vtsync_list[]} {spot} {
#var {syncitem} {@parse_spot{$vtsync_list[$spot]}};
#var {syncname} {$syncitem[1]};
#var {synctime} {$syncitem[2]};
#foreach {*visittimers[]} {spotident} {
#var {spotname} {$killtimers[$spotident][name]};
#if {"$spotname" == "$syncname"} {
#var {visittimers[$spotident][time]} {$synctime};
#math {synccount} {$synccount + 1};
};
};
};
#format {dtsync_message} {%c[XPTimer] %c*%c Synced %c%d%c spots from %clast session%c.} {<188><acf>}{Yellow}{<188><acf>}{Orange}{$synccount}{<188><acf>}{Green}{<188><acf>};
#echo {$dtsync_message};
};
#ALIAS {dtsave} {
/writetimerstosyncfile;
}
#ALIAS {/writetimerstosyncfile} {
#nop Write death timers to file;
#system {> $xptimersyncdt_file};
#var {dtsync_msg} {};
#var {spot_groups} {};
#var {spot_groups_respawn} {};
#foreach {*killtimers[]} {spot} {
#if {"$killtimers[$spot][group]" == "true"} {
#if {&spot_groups[$killtimers[$spot][name]] == 0} {
#var {spot_groups[$killtimers[$spot][name]]} {$killtimers[$spot][time]};
#var {spot_groups_respawn[$killtimers[$spot][name]]} {$killtimers[$spot][respawn]};
};
#if {$killtimers[$spot][time] != 0 && $killtimers[$spot][time] > $spot_groups[$killtimers[$spot][name]]} {
#var {spot_groups[$killtimers[$spot][name]]} {$killtimers[$spot][time]};
#var {spot_groups_respawn[$killtimers[$spot][name]]} {$killtimers[$spot][respawn]};
};
#continue;
};
#format {dtsync_msg} {%s,%s=%d} {$dtsync_msg}{$killtimers[$spot][name]}{$killtimers[$spot][time]};
};
#foreach {*spot_groups[]} {spot} {
#format {dtsync_msg} {%s,%s=%d} {$dtsync_msg}{$spot}{$spot_groups[$spot]};
};
#regex {$dtsync_msg} {^,{(.+)}$} { #var {dtsync_msg} {&1}; };
#line {log} {$xptimersyncdt_file} {$dtsync_msg};
#nop Write visit timers to file;
#system {> $xptimersyncvt_file};
#var {dtsync_msg} {};
#var {spot_groups} {};
#var {spot_groups_respawn} {};
#foreach {*visittimers[]} {spot} {
#if {"$visittimers[$spot][group]" == "true"} {
#if {&spot_groups[$visittimers[$spot][name]] == 0} {
#var {spot_groups[$visittimers[$spot][name]]} {$visittimers[$spot][time]};
#var {spot_groups_respawn[$visittimers[$spot][name]]} {$visittimers[$spot][respawn]};
};
#if {$visittimers[$spot][time] != 0 && $visittimers[$spot][time] > $spot_groups[$visittimers[$spot][name]]} {
#var {spot_groups[$visittimers[$spot][name]]} {$visittimers[$spot][time]};
#var {spot_groups_respawn[$visittimers[$spot][name]]} {$visittimers[$spot][respawn]};
};
#continue;
};
#format {dtsync_msg} {%s,%s=%d} {$dtsync_msg}{$visittimers[$spot][name]}{$visittimers[$spot][time]};
};
#foreach {*spot_groups[]} {spot} {
#format {dtsync_msg} {%s,%s=%d} {$dtsync_msg}{$spot}{$spot_groups[$spot]};
};
#regex {$dtsync_msg} {^,{(.+)}$} { #var {dtsync_msg} {&1}; };
#line {log} {$xptimersyncvt_file} {$dtsync_msg};
};
#ACTION {%1 tells you: ruhs_dtsync=[%2] | ruhs_vtsync=[%3]} { #ACTION {%1 tells you: ruhs_dtsync=[%2] | ruhs_vtsync=[%3]} {
#var {synccount} {0}; #var {synccount} {0};
#var {dtsync} {%2}; #var {dtsync} {%2};
@ -524,35 +643,35 @@
#list dtsync_list create {${dtsync}}; #list dtsync_list create {${dtsync}};
#list vtsync_list create {${vtsync}}; #list vtsync_list create {${vtsync}};
#foreach {$dtsync_list[]} {spot} { #foreach {*dtsync_list[]} {spot} {
#var {syncitem} {@parse_spot{$dtsync_list[$spot]}}; #var {syncitem} {@parse_spot{$dtsync_list[$spot]}};
#var {syncname} {$syncitem[1]}; #var {syncname} {$syncitem[1]};
#var {synctime} {$syncitem[2]}; #var {synctime} {$syncitem[2]};
#foreach {$killtimers[]} {spotident} { #foreach {*killtimers[]} {spotident} {
#var {spotname} {$killtimers[$spotident][name]}; #var {spotname} {$killtimers[$spotident][name]};
#if {"$spotname" == "$syncname"} { #if {"$spotname" == "$syncname"} {
#var {killtimers[$spotident][time]} {$synctime}; #var {killtimers[$spotident][time]} {$synctime};
#math {synccount} {$synccount + 1}; #math {synccount} {$synccount + 1};
}; };
} };
} };
#foreach {$vtsync_list[]} {spot} { #foreach {*vtsync_list[]} {spot} {
#var {syncitem} {@parse_spot{$vtsync_list[$spot]}}; #var {syncitem} {@parse_spot{$vtsync_list[$spot]}};
#var {syncname} {$syncitem[1]}; #var {syncname} {$syncitem[1]};
#var {synctime} {$syncitem[2]}; #var {synctime} {$syncitem[2]};
#foreach {$visittimers[]} {spotident} { #foreach {*visittimers[]} {spotident} {
#var {spotname} {$killtimers[$spotident][name]}; #var {spotname} {$killtimers[$spotident][name]};
#if {"$spotname" == "$syncname"} { #if {"$spotname" == "$syncname"} {
#var {visittimers[$spotident][time]} {$synctime}; #var {visittimers[$spotident][time]} {$synctime};
#math {synccount} {$synccount + 1}; #math {synccount} {$synccount + 1};
}; };
} };
} };
#format {dtsync_message} {%c[XPTimer] %c*%c Synced %c%d%c spots from %c%s%c.} {bold blue}{yellow}{bold blue}{orange}{$synccount}{bold blue}{green}{%1}{bold blue}; #format {dtsync_message} {%c[XPTimer] %c*%c Synced %c%d%c spots from %c%s%c.} {<188><acf>}{Yellow}{<188><acf>}{Orange}{$synccount}{<188><acf>}{Green}{%1}{<188><acf>};
#echo {$dtsync_message}; #echo {$dtsync_message};
} }
@ -560,18 +679,18 @@
#var {dtsync_msg} {}; #var {dtsync_msg} {};
#var {vtsync_msg} {}; #var {vtsync_msg} {};
#foreach {$killtimers[]} {spotident} { #foreach {*killtimers[]} {spotident} {
#if {$killtimers[$spotident][time] > 0} { #if {$killtimers[$spotident][time] > 0} {
#format {dtsync_msg} {%s,%s=%d} {$dtsync_msg}{$killtimers[$spotident][name]}{$killtimers[$spotident][time]}; #format {dtsync_msg} {%s,%s=%d} {$dtsync_msg}{$killtimers[$spotident][name]}{$killtimers[$spotident][time]};
}; };
} };
#regex {$dtsync_msg} {^,{(.+)}$} { #var {dtsync_msg} {&1}; }; #regex {$dtsync_msg} {^,{(.+)}$} { #var {dtsync_msg} {&1}; };
#foreach {$visittimers[]} {spotident} { #foreach {*visittimers[]} {spotident} {
#if {$visittimers[$spotident][time] > 0} { #if {$visittimers[$spotident][time] > 0} {
#format {vtsync_msg} {%s,%s=%d} {$vtsync_msg}{$visittimers[$spotident][name]}{$visittimers[$spotident][time]}; #format {vtsync_msg} {%s,%s=%d} {$vtsync_msg}{$visittimers[$spotident][name]}{$visittimers[$spotident][time]};
}; };
} };
#regex {$vtsync_msg} {^,{(.+)}$} { #var {vtsync_msg} {&1}; }; #regex {$vtsync_msg} {^,{(.+)}$} { #var {vtsync_msg} {&1}; };
@ -582,11 +701,11 @@
#nop #EVENT {IAC SB GMCP room.info IAC SE} #nop #EVENT {IAC SB GMCP room.info IAC SE}
#ALIAS {/spottimercheckroomid %1} { #ALIAS {/spottimercheckroomid %1} {
#var {room_info} {%1}; #var {room_info} {%1};
#foreach {$visittimers[]} {spot} { #foreach {*visittimers[]} {spot} {
#regex {$room_info} {$spot} { #regex {$room_info} {$spot} {
#format {visittimers[$spot][time]} {%T}; #format {visittimers[$spot][time]} {%T};
} };
} };
} }
#ALIAS {gsdt} { #ALIAS {gsdt} {
@ -594,7 +713,7 @@
#var {spot_groups} {}; #var {spot_groups} {};
#var {group_spot_label} {}; #var {group_spot_label} {};
#foreach {$killtimers[]} {spot} { #foreach {*killtimers[]} {spot} {
#format {spotname} {$killtimers[$spot][name]}; #format {spotname} {$killtimers[$spot][name]};
#var {mins} {???}; #var {mins} {???};
@ -614,7 +733,7 @@
#else { #else {
#format {spotstring} {%s: %dm |} {$spotname} {$mins} ; #format {spotstring} {%s: %dm |} {$spotname} {$mins} ;
}; };
} };
#if {"$killtimers[$spot][group]" == "true"} { #if {"$killtimers[$spot][group]" == "true"} {
#if {&spot_groups[$killtimers[$spot][name]] == 0} { #if {&spot_groups[$killtimers[$spot][name]] == 0} {
@ -630,16 +749,16 @@
}; };
#format {gsdt_string} {%s %s} {$gsdt_string} {$spotstring}; #format {gsdt_string} {%s %s} {$gsdt_string} {$spotstring};
} };
#foreach {$spot_groups} {spot} { #foreach {*spot_groups} {spot} {
#format {gsdt_string} {%s %s} {$gsdt_string} {$group_spot_label[$spot]}; #format {gsdt_string} {%s %s} {$gsdt_string} {$group_spot_label[$spot]};
}; };
#var {spot_groups} {}; #var {spot_groups} {};
#var {group_spot_label} {}; #var {group_spot_label} {};
#foreach {$visittimers[]} {spot} { #foreach {*visittimers[]} {spot} {
#format {spotname} {$visittimers[$spot][name]}; #format {spotname} {$visittimers[$spot][name]};
#var {mins} {???}; #var {mins} {???};
@ -659,7 +778,7 @@
#else { #else {
#format {spotstring} {%s: %dm |} {$spotname} {$mins} ; #format {spotstring} {%s: %dm |} {$spotname} {$mins} ;
}; };
} };
#if {"$visittimers[$spot][group]" == "true"} { #if {"$visittimers[$spot][group]" == "true"} {
#if {&spot_groups[$visittimers[$spot][name]] == 0} { #if {&spot_groups[$visittimers[$spot][name]] == 0} {
@ -675,9 +794,9 @@
}; };
#format {gsdt_string} {%s %s} {$gsdt_string} {$spotstring}; #format {gsdt_string} {%s %s} {$gsdt_string} {$spotstring};
} };
#foreach {$spot_groups} {spot} { #foreach {*spot_groups} {spot} {
#format {gsdt_string} {%s %s} {$gsdt_string} {$group_spot_label[$spot]}; #format {gsdt_string} {%s %s} {$gsdt_string} {$group_spot_label[$spot]};
}; };