Hi Folks! Here's my first script that I'm posting to the group. I hope you enjoy it. It's loosely based on the "Throw" script by Alan Bean. You will need ammo props, explosion props, and the standard set of sounds for the full effect. Let me know if you have any suggestions. There are probably ways to further optimize this script, I'm sure. I'll leave some of the props around in the Prop Repositories on the Member's Server tonight. If you're lucky mabye you can snag some! ATTACK!!! ATTACK!!! Have fun! Hee hee! -------- Start Script -------- ; Name : Launch!! 1.0b3 ; Author: Dave Bailey ; (loosely based on "Throw" script of Alan Bean) ; Date : 19 MAR 96 ; Useage: LAUNCH mine (bomb, etc) ; LAUNCH anyprop { "$1" GREPSUB ammo_str = ; Ammo Definitions - the NAME of your "Ammo" props [ "mine" "bomb" "blackbomb" "pellet" ] ammo_types = ; Sound list corresponding to ammo props [ ")boom" ")boom" ")boom" ")pop" ] soundlist = ; Explosion prop list corresponding to ammo props [ "powprop" "BOOMprop" "BOOMprop" "Splat!" ] boomlist = ; Fix X Y Coordinates to properly aim ammo POSX x = POSY y = 22 x -= 22 y -= MOUSEPOS ty = tx = 22 ty -= 22 tx -= ; Split the trajectory into 6 pieces tx x - 6 / tx = ty y - 6 / ty = ; OK! Clear the screen and animate the ammo flying toward the target ; NOTE: We only show the ammo flying at 5 of the 6 locations ; We save the 6th location for the explosion!! { ; I wish there was a way to clear a prop at a single location ; instead of the whole screen, but I can't find a way. CLEARLOOSEPROPS ; This array in the middle simulates an 'Arc' as the ammo flies through ;the air ammo_str x y [0 30 60 70 60 30] i GET - ADDLOOSEPROP tx x += ty y += i ++ } { i 5 <= } WHILE CLEARLOOSEPROPS ; Check to see if prop is ammo 0 i = 0 prop_ammo = 0 prop_ref = { { 1 prop_ammo = i prop_ref = } ammo_str ammo_types i GET == IF i ++ } { i ammo_types LENGTH < } WHILE ; If prop is ammo explode, otherwise, just show last spot { ; OK the ammo_str matches the ammo_type ; Do the explosion!! soundlist prop_ref GET SAY boomlist prop_ref GET x y ADDLOOSEPROP } { ; unknown ammo type proceed without explosion ; just show prop for the last time ammo_str x y ADDLOOSEPROP } prop_ammo IFELSE ; Clear explosion or last prop shown { CLEARLOOSEPROPS } 100 ALARMEXEC ; Direct Hit! Response to attack... { [ ")Aaaaaah" ")Cuckoo" ")Ow" ] 3 RANDOM GET SAY } 150 ALARMEXEC "" CHATSTR = } CHATSTR "launch (.*)$" GREPSTR IF ; End Launch! --------- END SCRIPT ----------