| www.ClassicTW.com http://www.classictw.com/ |
|
| Happy New Year NEws Reader http://www.classictw.com/viewtopic.php?f=15&t=25344 |
Page 1 of 1 |
| Author: | Parrothead [ Thu Dec 31, 2009 12:18 am ] | ||
| Post subject: | 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"
|
|||
| Author: | Crosby [ Thu Dec 31, 2009 8:51 am ] |
| Post subject: | Re: Happy New Year NEws Reader |
thanks for the code!! pretty cool |
|
| Author: | Parrothead [ Thu Dec 31, 2009 12:08 pm ] |
| Post subject: | Re: Happy New Year NEws Reader |
If anyone improves on this please repost |
|
| Author: | Promethius [ Thu Dec 31, 2009 1:52 pm ] |
| Post subject: | 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. |
|
| Author: | Parrothead [ Thu Dec 31, 2009 8:30 pm ] |
| Post subject: | 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. |
|
| Author: | Promethius [ Thu Dec 31, 2009 11:13 pm ] |
| Post subject: | 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. |
|
| Author: | Parrothead [ Sun Jan 03, 2010 11:11 am ] |
| Post subject: | Re: Happy New Year NEws Reader |
Feel free to replace the TEAM KRAAKEN in the script with your own corps name. |
|
| Page 1 of 1 | All times are UTC - 5 hours |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|