| Author |
Message |
|
Parrothead
Commander
Joined: Wed May 03, 2006 2:00 am Posts: 1722 Location: USA
|
 Happy New Year NEws Reader
Requested by many and here it is. Shows the use of using strings in array name instead of numbers. Should be Mom bot ready as several mom users use this already. Code: #news reader loadvar $bot_name loadvar $parm1 striptext $parm1 " " lowercase $parm1 getwordpos $parm1 $pos "/" if ($pos <> "0") setvar $other 1 end setvar $aliens 0
if ($parm1 = "help") send "'*" send " --------Team Kraaken News Reader-------- *" send " *" send "{" & $bot_name & "}*" send " *" send " news {mode}*" send " *" send " - {modes}*" send " *" send " - {y} = yesterday*" send " - {police} = police blotter only *" send " - {port} = port news only *" send " - {planet} = planet news only *" send " - {invade} = invasion news only *" send " - {corp} = corporation news only *" send " - {pods} = news of poddings only *" send " - [date] = other date in 00/00/00 format*" send " *" send " --------Team Kraaken News Reader-------- **" halt end
:prompt if ($loop > 5) :timeout clientmessage "Bad Planet Number or Prompt....Halting Script" halt end killalltriggers settexttrigger p1 :p1 "lp)" settexttrigger p2 :p1 "[" settexttrigger p3 :p1 "?" setdelaytrigger timeoutprompt :timeout 5000 send #145 pause :p1 killalltriggers cutText CURRENTLINE $location 1 7 stripText $location " " if ($location = "Citadel") goto :start elseif ($location = "Planet") send "c" goto :start elseif ($location = "Command") goto :start else send " 0* q z n *" setdelaytrigger timeoutprompt2 :p2 800 pause :p2 setvar $loop 1 goto :prompt end
:start gosub :9_comms~off waiton "elp" send "@" waiton "Average Interval Lag" setdelaytrigger one :alien 800 pause :alien killalltriggers settexttrigger aliens0 :aliens "are on the move" settexttrigger aliens1 :done_alien "Average Interval Lag" if ($aliens = 0) send "#@" end pause
:aliens killalltriggers add $aliens 1 setvar $alien[$aliens] currentline goto :alien
:done_alien killalltriggers setvar $k 1 while ($k <= $aliens) striptext $alien[$k] " Traders" striptext $alien[$k] "s are on the move" striptext $alien[$k] " are on the move" striptext $alien[$k] "The " striptext $alien[$k] "!" add $k 1 end
send "cd" waitFor "Enter the beginning date you wish to read from." getWord CURRENTLINE $the_date 12 :news_triggers killalltriggers add $loop 1 if ($stopper = 1) setTextLineTrigger stopper :stopper "Daily Journal S.D." end if ($stopper = 0) setTextlineTrigger look :look "Daily Journal S.D." end setTextTrigger prompt_trg :atprmpt "Computer command" setTextTrigger pause_trig :pauseit "[Pause]" setTextTrigger pause_timea :time_stamp "PM --" setTextTrigger pause_timeb :time_stamp "AM --"
if ($parm1 = "planet") or ($parm1 = "") or ($parm1 = 0) or ($parm1 = "y") or ($other = 1) setTextlineTrigger planet3 :planet3 "DESTROYED the planet" setTextTrigger planet1 :planet1 "An unstable planetary mass was detected in sector" setTextlineTrigger planet2 :planet2 " collided!" end
if ($parm1 = "port") or ($parm1 = "") or ($parm1 = 0) or ($parm1 = "y") or ($other = 1) setTextlineTrigger deadport :deadport "DESTROYED the Star Port" setTextlineTrigger aport :aport "construction advanced." setTextlineTrigger sport :sport "construction did not advance" setTextlineTrigger oport :oport "opened for business today." setTextlineTrigger nport :nport "began construction!" end
if ($parm1 = "police") or ($parm1 = "") or ($parm1 = 0) or ($parm1 = "y") or ($other = 1) setTextlineTrigger tow :towed "was towed out of" setTextlineTrigger commish :commish "was awarded a Federal Commission" setTextlineTrigger bounty :bounty "for the destruction of " setTextlineTrigger murder :murder "was murdered on the Stardock!" setTextlineTrigger repo :repo "The Federation repossed" end
if ($parm1 = "corp") or ($parm1 = "") or ($parm1 = 0) or ($parm1 = "y") or ($other = 1) setTextlineTrigger corp0 :corp "joined up with" setTextlineTrigger corp1 :corp "created a Trading Corp" setTextlineTrigger corp2 :corp "disbanded Corp" setTextlineTrigger corp3 :corp "deserted Corp" setTextlineTrigger corp4 :corp "tried to break into Corp" end
if ($parm1 = "invade") or ($parm1 = "") or ($parm1 = 0) or ($parm1 = "y") or ($other = 1) setTextlineTrigger invade :invade "destroyed the Shields on" setTextlineTrigger invade1 :invade " invaded" setTextlineTrigger pod2 :invade "was destroyed while invading .!" end
#setTextlineTrigger dockagain :dockagain "Federation construction of Stargate Alpha I is now complete."
if ($parm1 = "pods") or ($parm1 = "") or ($parm1 = 0) or ($parm1 = "y") or ($other = 1) setTextlineTrigger cannon :cannon "was destroyed by a Quasar Cannon" setTextlineTrigger pod4 :pod4 "destroyed by atomic fusion!" setTextlineTrigger pod3 :pod3 "was destroyed by" setTextlineTrigger pod7 :pod3 "GOT BLOWN UP TOO!" setTextlineTrigger pod8 :pod3 "was on the planet and got blown up!" setTextlineTrigger pod9 :pod3 "self-destructed!" setTextlineTrigger trig :photons "launched a Photon Missile somewhere" setTextlineTrigger capped :capped "captured" setTextlineTrigger pod1 :pod1 " DESTROYED " end
if ($loop = 1) waitFor "Input search date :" if ($parm1 = "y") gosub :parse_date send $the_date & "*Y" elseif ($other = 1) send $parm1 & "*Y" else send $the_date & "*Y" end waitFor "-=-=-=-=-=-=-=-=-=-" end pause :atprmpt killalltriggers send "q" waitFor "<Computer deactivated>" send "* " goto :output pause :pauseit killalltriggers send "*" goto :news_triggers pause
:stopper killalltriggers send "a**q" waitFor "<Computer deactivated>" send "* " waiton "ommand" goto :output
:look killalltriggers setvar $stopper 1 goto :news_triggers
:time_stamp killalltriggers getwordpos currentline $pos ":" setvar $pos ($pos - 3) if ($pos > 0) cuttext currentline $timestamp $pos 999 striptext $timestamp " --" end goto :news_triggers
:photons killalltriggers getwordpos currentline $pos "launched" setvar $pos ($pos - 2) if ($pos > 0) cuttext currentline $temp 1 $pos add $total_photons 1 add $who_photoned[$temp] 1 add $pnamex 1 setvar $pname[$pnamex] $temp setvar $photon_idx $who_photoned[$temp] setvar $who_photoned[$temp][$photon_idx] $timestamp setvar $temp "" end goto :news_triggers
:cannon killalltriggers setvar $temp currentline gettext $temp $stripit "'s" "was" striptext $temp $stripit striptext $temp "'s" striptext $temp "was" striptext $temp "destroyed by a Quasar Cannon!" gosub :filter add $total_cannons 1 add $cannon[$temp] 1 add $cnamex 1 setvar $cname[$cnamex] $temp setvar $temp "" goto :news_triggers
:planet3 killalltriggers setvar $temp currentline getwordpos currentline $pos "DESTROYED the planet" setvar $pos ($pos - 2) if ($pos > 0) cuttext currentline $temp 1 $pos add $total_popped 1 add $who_popped[$temp] 1 setvar $popped_idx $who_popped[$temp] setvar $who_popped[$temp][$popped_idx] $timestamp add $plnamex 1 setvar $plname[$plnamex] $temp setvar $temp "" end goto :news_triggers
:corp killalltriggers add $corp_idx 1 setvar $corp_news[$corp_idx] currentline goto :news_triggers
##### :planet1 killalltriggers add $pidx 1 setvar $p1[$pidx] currentline goto :news_triggers
:planet2 killalltriggers add $p2_idx 1 setvar $who_p2[$p2_idx] currentline goto :news_triggers
:murder killalltriggers getwordpos currentline $pos "was murdered" setvar $pos ($pos - 2) if ($pos > 0) cuttext currentline $temp 1 $pos add $murder_idx 1 setvar $who_murder[$murder_idx] $temp setvar $temp "" end goto :news_triggers
:towed killalltriggers getwordpos currentline $pos "was towed" setvar $pos ($pos - 2) if ($pos > 0) cuttext currentline $temp 1 $pos add $tow_idx 1 setvar $who_towed[$tow_idx] $temp setvar $temp "" end goto :news_triggers
:commish killalltriggers getwordpos currentline $pos "was awarded" setvar $pos ($pos - 2) if ($pos > 0) cuttext currentline $temp 1 $pos add $commish_idx 1 setvar $who_commish[$commish_idx] $temp setvar $temp "" end goto :news_triggers
:bounty killalltriggers gettext currentline $temp "destruction of " "'s ship!" add $bounty_idx 1 setvar $who_bounty[$bounty_idx] $temp setvar $temp "" goto :news_triggers
:deadport killalltriggers getwordpos currentline $pos "DESTROYED" if ($pos > 0) add $dp_idx 1 setvar $who_dp[$dp_idx] currentline end goto :news_triggers
:repo killalltriggers add $repos 1 goto :news_triggers
:aport killalltriggers add $da_idx 1 goto :news_triggers
:sport killalltriggers add $ds_idx 1 goto :news_triggers
:oport killalltriggers add $do_idx 1 goto :news_triggers
:nport killalltriggers add $dn_idx 1 goto :news_triggers
:pod1 killalltriggers setvar $temp currentline gosub :filter getwordpos currentline $pos0 "DESTROYED" getwordpos currentline $pos1 "'s" getwordpos currentline $pos2 "!" getwordpos currentline $pos3 "Corp" if ($pos0 < $pos1) and ($pos2 > $pos1) and ($pos3 = 0) add $poss_pods 1 setvar $pod1[$poss_pods] currentline end if ($pos0 < $pos1) and ($pos2 > $pos1) and ($pos3 <> 0) add $empty_ships 1 setvar $pod2[$empty_ships] currentline end goto :news_triggers
:pod3 killalltriggers setvar $temp currentline gosub :filter add $died0_pods 1 setvar $pod3[$died0_pods] $temp goto :news_triggers
:pod4 killalltriggers setvar $temp currentline gosub :filter add $died1_pods 1 setvar $pod4[$died1_pods] $temp goto :news_triggers
:invade killalltriggers add $invade 1 setvar $invaded[$invade] currentline goto :news_triggers
:capped killalltriggers setvar $temp currentline gosub :filter add $capped_idx 1 setvar $who_capped[$capped_idx] $temp setvar $temp "" goto :news_triggers
##### :output #####
#planet parsing setvar $j 1 while ($j <= $plnamex) setvar $k 1 while ($k <= $plnamex) if ($j <> $k) if ($plname[$k] = $plname[$j]) setvar $plname[$k] 0 end end add $k 1 end add $j 1 end
setvar $i 1 while ($i <= $plnamex) if ($plname[$i] <> "0") add $total_plnames 1 setvar $plnames[$total_plnames] $plname[$i] end add $i 1 end
:cctime killalltriggers #cannon parsing
setvar $j 1 while ($j <= $cnamex) setvar $temp $cname[$j] setvar $k 1 while ($k <= $cnamex) if ($j <> $k) if ($cname[$k] = $cname[$j]) setvar $cname[$k] 0 end end add $k 1 end add $j 1 end
setvar $i 1 while ($i <= $cnamex) if ($cname[$i] <> "0") add $total_cnames 1 setvar $cnames[$total_cnames] $cname[$i] end add $i 1 end
:phtime
#photon parsing setvar $j 1 while ($j <= $pnamex) setvar $temp $pname[$j] setvar $k 1 while ($k <= $pnamex) if ($j <> $k) if ($pname[$k] = $pname[$j]) setvar $pname[$k] 0 end end add $k 1 end add $j 1 end
setvar $i 1 while ($i <= $pnamex) if ($pname[$i] <> "0") add $total_pnames 1 setvar $pnames[$total_pnames] $pname[$i] end add $i 1 end
:sstime send "'*" send " --------Team Kraaken News Reader-------- *" send " *"
if (($pidx = 0) and ($p2_idx = 0) and ($total_popped = 0)) goto :next0 end
send " --- Planet News: ---*" send " *"
if ($pidx <> "0") setvar $j 1 while ($j <= $pidx) send " " & $p1[$j] & "*" add $j 1 end end
if ($p2_idx <> "0") send " *" setvar $i 1 while ($i <= $p2_idx) send " " & $who_p2[$i] & "*" add $i 1 end end
send " *" if ($total_photons <> "0") send " " & $total_popped & " Planets Popped:*" send " *" send " by " & $total_plnames & " Traders*" send " *"
if ($total_plnames <> "0") setvar $i 1 while ($i <= $total_plnames) setvar $who_now $plnames[$i] setvar $how_many $who_popped[$who_now] send " " & $how_many & " by " & $plnames[$i] & "*" send " *" add $i 1 end end end
:next0
if (($tow_idx = 0) and ($commish_idx = 0) and ($bounty_idx = 0) and ($murder_idx = 0) and ($repos = 0)) goto :next1 end
send " *" send " --- Police Blotter: ---*"
if ($tow_idx <> "0") send " *" send " Towed From Fed Space:*"
setvar $i 1 while ($i <= $tow_idx) send " " & $who_towed[$i] & "*" add $i 1 end end
if ($commish_idx <> "0") send " *" send " Federal Commissions: *"
setvar $i 1 while ($i <= $commish_idx) send " " & $who_commish[$i] & "*" add $i 1 end end
if ($bounty_idx <> "0")
send " *" send " Bounty's Posted: *"
setvar $i 1 while ($i <= $commish_idx) send " " & $who_bounty[$i] & "*" add $i 1 end end
if ($murder_idx <> "0") send " *" send " Murders Reported: *"
setvar $i 1 while ($i <= $murder_idx) send " " & $who_murder[$i] & "*" add $i 1 end end
if ($repos <> "0") send " *" send " " & $repos & " Ships Repossessed*" send " *" end
:next1
if (($dn_idx = 0) and ($do_idx = 0) and ($ds_idx = 0) and ($da_idx = 0) and ($dp_idx = 0)) goto :next2 end
send " *" send " --- Ports Report: ---*" send " *" if ($dn_idx <> "0") send " Ports Started: " send $dn_idx & "*" send " *" end
if ($do_idx <> "0") send " *" send " Ports Opened: " send $do_idx & "*" send " *" end
if ($ds_idx <> "0") send " *" send " Ports Stalled: " send $ds_idx & "*" send " *" end
if ($da_idx <> "0") send " *" send " Ports Advanced: " send $da_idx & "*" send " *" end
if ($dp_idx <> "0") send " Ports Blown Up: *" send " *" setvar $i 1 while ($i <= $dp_idx) send " " & $who_dp[$i] & "*" add $i 1 end end
:next2
if ($total_photons = 0) and ($total_pnames = 0) if ($total_cannons = 0) and ($poss_pods = 0) if ($capped_idx = 0) and ($died0_pods = 0) and ($died1_pods = 0) goto :next3 end end end
send " *" send " --- Defence Desk: ---*" send " *" if ($total_photons <> "0") send " " & $total_photons & " Photons Launched:*" send " *" send " by " & $total_pnames & " Traders*" send " *"
if ($total_pnames <> "0") setvar $i 1 while ($i <= $total_pnames) setvar $who_now $pnames[$i] setvar $how_many $WHO_PHOTONED[$who_now] send " " & $how_many & " by " & $pnames[$i] & "*" send " *" send " Last one shot at " & $WHO_PHOTONED[$who_now][$how_many] & "*" send " *" add $i 1 end end end
if ($total_cannons <> "0") send " " & $total_cannons & " Cannon Pods*" send " *" setvar $i 1 while ($i <= $TOTAL_CNAMES) setvar $heh $cnames[$i] send " " & $cannon[$heh] " pod(s) by " & $heh & "*" add $i 1 end send " *" end
if ($poss_pods <> "0") if ($empty_ships <> "0") send " *" send " " & $empty_ships & " Empty Ships Destroyed*" end send " *" send " " & $poss_pods & " Ships Destroyed*"
send " *" setvar $i 1 while ($i <= $poss_pods) send " " & $pod1[$i] & "*" add $i 1 end end
if ($capped_idx <> "0") send " *" send " " & $capped_idx & " Ships Captured*" send " *" setvar $i 1 while ($i <= $capped_idx) send " " & $who_capped[$i] & "*" add $i 1 end end
if ($died0_pods <> "0") send " *" send " " & $died0_pods & " Ships Destroyed by Figs/Mines/Corbo*" send " *" setvar $i 1 while ($i <= $died0_pods) send " " & $pod3[$i] & "*" add $i 1 end end
if ($died1_pods <> "0") send " *" send " " & $died1_pods & " Fuse Masters*" send " *" setvar $i 1 while ($i <= $died1_pods) send " " & $pod4[$i] & "*" add $i 1 end end
:next3
if ($invade = 0) and ($corp_idx = 0) goto :next4 end
if ($invade <> "0") send " *" send " --- Invasion Notice ---*" send " *" setvar $i 1 while ($i <= $invade) send " " & $invaded[$i] & "*" add $i 1 end end
if ($corp_idx <> "0") send " *" send " --- Corp Happenings: ---*" send " *" setvar $i 1 while ($i <= $corp_idx) send " " & $corp_news[$i] & "*" add $i 1 end end
:next4
send " *" send " --------Team Kraaken News Reader-------- *" send "** " waiton "Sub-space comm-link terminated" gosub :9_comms~on halt
:filter setvar $pos 0 setvar $k 1 while ($k <= $aliens) getwordpos $temp $pos $alien[$k] if ($pos > 0) setvar $temp "" goto :news_triggers end add $k 1 end return
:parse_date cuttext $the_date $month 1 2 cuttext $the_date $day 4 2 cuttext $the_date $year 7 2
if ($day = "01") gosub :get_month_array
if ($month = 1) setvar $month 12 setvar $year ($year - 1) elseif ($month < 11) subtract $month 1 round $month 0 else subtract $month 1 end
if ($month < 10) mergetext "0" $month $month end
if ($month < 10) mergetext "0" $month $month end setvar $day $month_array[$month] setvar $the_date ($month & "/" & $day & "/" & $year)
else
subtract $day 1 if ($day < 10) mergetext "0" $month $month end setvar $the_date ($month & "/" & $day & "/" & $year) end return
:get_month_array setvar $month_array[1] "31" if ($year = "20") setvar $month_array[2] "29" else setvar $month_array[2] "28" end setvar $month_array[3] "31" setvar $month_array[4] "30"
setvar $month_array[5] "31" setvar $month_array[6] "30" setvar $month_array[7] "31" setvar $month_array[8] "31"
setvar $month_array[9] "30" setvar $month_array[10] "31" setvar $month_array[11] "30" setvar $month_array[12] "31" return
:includes include "include\9_comms.ts"
Attachments:
k_news.zip [14.86 KiB]
Downloaded 440 times
_________________ Coconut Telegraph (ICQ)#586137616 Team Speak3@ 220.244.125.70:9987 Founding Member -=[Team Kraaken]=- Winner of Gridwars 2010 - Ka Pla
 Jesus wounldn't Subspace Crawl
|
| Thu Dec 31, 2009 12:18 am |
|
 |
|
Crosby
Lieutenant Commander
Joined: Sun Jan 29, 2006 3:00 am Posts: 800 Location: Iowa
|
 Re: Happy New Year NEws Reader
thanks for the code!! pretty cool
_________________ #+++ The early bird may get the worm, but the second mouse gets the cheese. #---
|
| Thu Dec 31, 2009 8:51 am |
|
 |
|
Parrothead
Commander
Joined: Wed May 03, 2006 2:00 am Posts: 1722 Location: USA
|
 Re: Happy New Year NEws Reader
If anyone improves on this please repost
_________________ Coconut Telegraph (ICQ)#586137616 Team Speak3@ 220.244.125.70:9987 Founding Member -=[Team Kraaken]=- Winner of Gridwars 2010 - Ka Pla
 Jesus wounldn't Subspace Crawl
|
| Thu Dec 31, 2009 12:08 pm |
|
 |
|
Promethius
Ambassador
Joined: Mon Feb 09, 2004 3:00 am Posts: 3141 Location: Kansas
|
 Re: Happy New Year NEws Reader
Nice script, and a lot of work on getting all of the messages. I haven't really written anything for M()M and this shows a nice example of that.
_________________
/ Promethius / Enigma / Wolfen /
"A man who has no skills can be taught, a man who has no honor has nothing."
|
| Thu Dec 31, 2009 1:52 pm |
|
 |
|
Parrothead
Commander
Joined: Wed May 03, 2006 2:00 am Posts: 1722 Location: USA
|
 Re: Happy New Year NEws Reader
I think I got most of the messages. Some games with alot of alien activity is impossible to read without a reader. Lonestar had started one at one point but it was buggy. This took awhile to debug.
_________________ Coconut Telegraph (ICQ)#586137616 Team Speak3@ 220.244.125.70:9987 Founding Member -=[Team Kraaken]=- Winner of Gridwars 2010 - Ka Pla
 Jesus wounldn't Subspace Crawl
|
| Thu Dec 31, 2009 8:30 pm |
|
 |
|
Promethius
Ambassador
Joined: Mon Feb 09, 2004 3:00 am Posts: 3141 Location: Kansas
|
 Re: Happy New Year NEws Reader
Parrothead wrote: I think I got most of the messages. Some games with alot of alien activity is impossible to read without a reader. Lonestar had started one at one point but it was buggy. This took awhile to debug. Agreed on the alien activity, and I understand all too well on the debugging.
_________________
/ Promethius / Enigma / Wolfen /
"A man who has no skills can be taught, a man who has no honor has nothing."
|
| Thu Dec 31, 2009 11:13 pm |
|
 |
|
Parrothead
Commander
Joined: Wed May 03, 2006 2:00 am Posts: 1722 Location: USA
|
 Re: Happy New Year NEws Reader
Feel free to replace the TEAM KRAAKEN in the script with your own corps name.
_________________ Coconut Telegraph (ICQ)#586137616 Team Speak3@ 220.244.125.70:9987 Founding Member -=[Team Kraaken]=- Winner of Gridwars 2010 - Ka Pla
 Jesus wounldn't Subspace Crawl
|
| Sun Jan 03, 2010 11:11 am |
|
 |
|