Post by Darth Maul on Nov 1, 2015 14:02:50 GMT
Terra Wall / Magic Wall around Target
This script will use a Wild Growth Rune, or Magic Wall rune, around your target, to try and trap them. An unedited script will try and use a Magic Wall Rune.
This could be useful for players on the noxious OT for Boss Battles. You could pair this with some of my other scripts, which can be found here: Event Scripts
How it works:
This script will check a number of things before it tries to throw a rune. It checks things in the following order:
Limitations:
It doesn't check for walls, trees, or any structures. As such it might try and wall those tiles if your target is near one.
This script will use a Wild Growth Rune, or Magic Wall rune, around your target, to try and trap them. An unedited script will try and use a Magic Wall Rune.
This could be useful for players on the noxious OT for Boss Battles. You could pair this with some of my other scripts, which can be found here: Event Scripts
How it works:
This script will check a number of things before it tries to throw a rune. It checks things in the following order:
- Is there a player on x tile?
- Is there a Monster on x tile?
- Is there a Tera wall on x tile?
- Is there a Magic wall on x tile?
Limitations:
It doesn't check for walls, trees, or any structures. As such it might try and wall those tiles if your target is near one.
Variables to Edit:
Wild Growth Rune = 3156
Magic Wall Rune = 3180
Wild Growth Rune = 3156
Magic Wall Rune = 3180
set $rune '3156'
Script:
(Incase you don't know how to test the script out, go to the Cavebot panel, then click the Edit button on the top-right of the Cavebot page. After that a new tab will open, enter the entire script, hit save on that tab then close it. You'll be brought back to the Cavebot tab, when you want to run the script just tick Follow Waypoints, in the center of the tab.)
set $rune '3180'
set $canwall_nw 'true'
set $canwall_n 'true'
set $canwall_ne 'true'
set $canwall_w 'true'
set $canwall_e 'true'
set $canwall_sw 'true'
set $canwall_s 'true'
set $canwall_se 'true'
set $player_nw 'false' | set $monster_nw 'false' | set $tera_nw 'false' | set $mwall_nw 'false'
set $player_n 'false' | set $monster_n 'false' | set $tera_n 'false' | set $mwall_n 'false'
set $player_ne 'false' | set $monster_ne 'false' | set $tera_ne 'false' | set $mwall_ne 'false'
set $player_w 'false' | set $monster_w 'false' | set $tera_w 'false' | set $mwall_w 'false'
set $player_e 'false' | set $monster_e 'false' | set $tera_e 'false' | set $mwall_e 'false'
set $player_sw 'false' | set $monster_sw 'false' | set $tera_sw 'false' | set $mwall_sw 'false'
set $player_s 'false' | set $monster_s 'false' | set $tera_s 'false' | set $mwall_s 'false'
set $player_se 'false' | set $monster_se 'false' | set $tera_se 'false' | set $mwall_se 'false'
auto 100 | listas 'Wall Target V.1.0 - By Darth Maul | 250 0 0
auto 100 | dontlist | set $px '[$target.posx-1]' | set $py '[$target.posy-1]' | set $pz '$target.posz' |
auto 100 | dontlist | foreach 'allplayers' $p_nw if [($p_nw.posx == $px && $p_nw.posy == $py)] {set $player_nw 'true'} | if [($p_nw.posx != $px && $p_nw.posy != $py)] {set $player_nw 'false'}
auto 100 | dontlist | foreach 'allmonsters' $m_nw if [($m_nw.posx == $px && $m_nw.posy == $py)] {set $monster_nw 'true'} | if [($m_nw.posx != $px && $m_nw.posy != $py)] {set $monster_nw 'false'}
auto 100 | dontlist | if [$istileitem.$px.$py.$pz.2130 == 1] {set $tera_nw 'true'} | if [$istileitem.$px.$py.$pz.2130 == 0] {set $tera_nw 'false'}
auto 100 | dontlist | if [$istileitem.$px.$py.$pz.2128 == 1] {set $mwall_nw 'true'} | if [$istileitem.$px.$py.$pz.2128 == 0] {set $mwall_nw 'false'}
auto 100 | dontlist | if [$player_nw == 'false' && $monster_nw == 'false' && $tera_nw == 'false' && $mwall_nw == 'false'] {set $canwall_nw 'true' | end}
auto 100 | dontlist | if [$player_nw == 'true' || $monster_nw == 'true' || $tera_nw == 'true' || $mwall_nw == 'true'] {set $canwall_nw 'false' | end}
auto 100 | listas 'NW' | if [$canwall_nw == 'true'] {setcolor 0 0 250 | useongroundxyz $rune $px $py $pz} | if [$canwall_nw == false] {setcolor 250 0 0}
auto 100 | dontlist | set $px '[$target.posx]' | set $py '[$target.posy-1]' | set $pz '$target.posz' |
auto 100 | dontlist | foreach 'allplayers' $p_n if [($p_n.posx == $px && $p_n.posy == $py)] {set $player_n 'true'} | if [($p_n.posx != $px && $p_n.posy != $py)] {set $player_n 'false'}
auto 100 | dontlist | foreach 'allmonsters' $m_n if [($m_n.posx == $px && $m_n.posy == $py)] {set $monster_n 'true'} | if [($m_n.posx != $px && $m_n.posy != $py)] {set $monster_n 'false'}
auto 100 | dontlist | if [$istileitem.$px.$py.$pz.2130 == 1] {set $tera_n 'true'} | if [$istileitem.$px.$py.$pz.2130 == 0] {set $tera_n 'false'}
auto 100 | dontlist | if [$istileitem.$px.$py.$pz.2128 == 1] {set $mwall_n 'true'} | if [$istileitem.$px.$py.$pz.2128 == 0] {set $mwall_n 'false'}
auto 100 | dontlist | if [$player_n == 'false' && $monster_n == 'false' && $tera_n == 'false' && $mwall_n == 'false'] {set $canwall_n 'true' | end}
auto 100 | dontlist | if [$player_n == 'true' || $monster_n == 'true' || $tera_n == 'true' || $mwall_n == 'true'] {set $canwall_n 'false' | end}
auto 100 | listas 'N' | if [$canwall_n == 'true'] {setcolor 0 0 250 | useongroundxyz $rune $px $py $pz} | if [$canwall_n == false] {setcolor 250 0 0}
auto 100 | dontlist | set $px '[$target.posx+1]' | set $py '[$target.posy-1]' | set $pz '$target.posz' |
auto 100 | dontlist | foreach 'allplayers' $p_ne if [($p_ne.posx == $px && $p_ne.posy == $py)] {set $player_ne 'true'} | if [($p_ne.posx != $px && $p_ne.posy != $py)] {set $player_ne 'false'}
auto 100 | dontlist | foreach 'allmonsters' $m_ne if [($m_ne.posx == $px && $m_ne.posy == $py)] {set $monster_ne 'true'} | if [($m_ne.posx != $px && $m_ne.posy != $py)] {set $monster_ne 'false'}
auto 100 | dontlist | if [$istileitem.$px.$py.$pz.2130 == 1] {set $tera_ne 'true'} | if [$istileitem.$px.$py.$pz.2130 == 0] {set $tera_ne 'false'}
auto 100 | dontlist | if [$istileitem.$px.$py.$pz.2128 == 1] {set $mwall_ne 'true'} | if [$istileitem.$px.$py.$pz.2128 == 0] {set $mwall_ne 'false'}
auto 100 | dontlist | if [$player_ne == 'false' && $monster_ne == 'false' && $tera_ne == 'false' && $mwall_ne == 'false'] {set $canwall_ne 'true' | end}
auto 100 | dontlist | if [$player_ne == 'true' || $monster_ne == 'true' || $tera_ne == 'true' || $mwall_ne == 'true'] {set $canwall_ne 'false' | end}
auto 100 | listas 'NE' | if [$canwall_e == 'true'] {setcolor 0 0 250 | useongroundxyz $rune $px $py $pz} | if [$canwall_ne == false] {setcolor 250 0 0}
auto 100 | dontlist | set $px '[$target.posx+1]' | set $py '[$target.posy]' | set $pz '$target.posz' |
auto 100 | dontlist | foreach 'allplayers' $p_e if [($p_e.posx == $px && $p_e.posy == $py)] {set $player_e 'true'} | if [($p_e.posx != $px && $p_e.posy != $py)] {set $player_e 'false'}
auto 100 | dontlist | foreach 'allmonsters' $m_e if [($m_e.posx == $px && $m_e.posy == $py)] {set $monster_e 'true'} | if [($m_e.posx != $px && $m_e.posy != $py)] {set $monster_e 'false'}
auto 100 | dontlist | if [$istileitem.$px.$py.$pz.2130 == 1] {set $tera_e 'true'} | if [$istileitem.$px.$py.$pz.2130 == 0] {set $tera_e 'false'}
auto 100 | dontlist | if [$istileitem.$px.$py.$pz.2128 == 1] {set $mwall_e 'true'} | if [$istileitem.$px.$py.$pz.2128 == 0] {set $mwall_e 'false'}
auto 100 | dontlist | if [$player_e == 'false' && $monster_e == 'false' && $tera_e == 'false' && $mwall_e == 'false'] {set $canwall_e 'true' | end}
auto 100 | dontlist | if [$player_e == 'true' || $monster_e == 'true' || $tera_e == 'true' || $mwall_e == 'true'] {set $canwall_e 'false' | end}
auto 100 | listas 'E' | if [$canwall_ne == 'true'] {setcolor 0 0 250 | useongroundxyz $rune $px $py $pz} | if [$canwall_ne == false] {setcolor 250 0 0}
auto 100 | dontlist | set $px '[$target.posx-1]' | set $py '[$target.posy]' | set $pz '$target.posz' |
auto 100 | dontlist | foreach 'allplayers' $p_w if [($p_w.posx == $px && $p_w.posy == $py)] {set $player_w 'true'} | if [($p_w.posx != $px && $p_w.posy != $py)] {set $player_w 'false'}
auto 100 | dontlist | foreach 'allmonsters' $m_w if [($m_w.posx == $px && $m_w.posy == $py)] {set $monster_w 'true'} | if [($m_w.posx != $px && $m_w.posy != $py)] {set $monster_w 'false'}
auto 100 | dontlist | if [$istileitem.$px.$py.$pz.2130 == 1] {set $tera_w 'true'} | if [$istileitem.$px.$py.$pz.2130 == 0] {set $tera_w 'false'}
auto 100 | dontlist | if [$istileitem.$px.$py.$pz.2128 == 1] {set $mwall_w 'true'} | if [$istileitem.$px.$py.$pz.2128 == 0] {set $mwall_w 'false'}
auto 100 | dontlist | if [$player_w == 'false' && $monster_w == 'false' && $tera_w == 'false' && $mwall_w == 'false'] {set $canwall_w 'true' | end}
auto 100 | dontlist | if [$player_w == 'true' || $monster_w == 'true' || $tera_w == 'true' || $mwall_w == 'true'] {set $canwall_w 'false' | end}
auto 100 | listas 'W' | if [$canwall_w == 'true'] {setcolor 0 0 250 | useongroundxyz $rune $px $py $pz} | if [$canwall_w == false] {setcolor 250 0 0}
auto 100 | dontlist | set $px '[$target.posx-1]' | set $py '[$target.posy+1]' | set $pz '$target.posz' |
auto 100 | dontlist | foreach 'allplayers' $p_sw if [($p_sw.posx == $px && $p_sw.posy == $py)] {set $player_sw 'true'} | if [($p_sw.posx != $px && $p_sw.posy != $py)] {set $player_sw 'false'}
auto 100 | dontlist | foreach 'allmonsters' $m_sw if [($m_sw.posx == $px && $m_sw.posy == $py)] {set $monster_sw 'true'} | if [($m_sw.posx != $px && $m_sw.posy != $py)] {set $monster_sw 'false'}
auto 100 | dontlist | if [$istileitem.$px.$py.$pz.2130 == 1] {set $tera_sw 'true'} | if [$istileitem.$px.$py.$pz.2130 == 0] {set $tera_sw 'false'}
auto 100 | dontlist | if [$istileitem.$px.$py.$pz.2128 == 1] {set $mwall_sw 'true'} | if [$istileitem.$px.$py.$pz.2128 == 0] {set $mwall_sw 'false'}
auto 100 | dontlist | if [$player_sw == 'false' && $monster_sw == 'false' && $tera_sw == 'false' && $mwall_sw == 'false'] {set $canwall_sw 'true' | end}
auto 100 | dontlist | if [$player_sw == 'true' || $monster_sw == 'true' || $tera_sw == 'true' || $mwall_sw == 'true'] {set $canwall_sw 'false' | end}
auto 100 | listas 'SW' | if [$canwall_sw == 'true'] {setcolor 0 0 250 | useongroundxyz $rune $px $py $pz} | if [$canwall_sw == false] {setcolor 250 0 0}
auto 100 | dontlist | set $px '[$target.posx]' | set $py '[$target.posy+1]' | set $pz '$target.posz' |
auto 100 | dontlist | foreach 'allplayers' $p_s if [($p_s.posx == $px && $p_s.posy == $py)] {set $player_s 'true'} | if [($p_s.posx != $px && $p_s.posy != $py)] {set $player_s 'false'}
auto 100 | dontlist | foreach 'allmonsters' $m_s if [($m_s.posx == $px && $m_s.posy == $py)] {set $monster_s 'true'} | if [($m_s.posx != $px && $m_s.posy != $py)] {set $monster_s 'false'}
auto 100 | dontlist | if [$istileitem.$px.$py.$pz.2130 == 1] {set $tera_s 'true'} | if [$istileitem.$px.$py.$pz.2130 == 0] {set $tera_s 'false'}
auto 100 | dontlist | if [$istileitem.$px.$py.$pz.2128 == 1] {set $mwall_s 'true'} | if [$istileitem.$px.$py.$pz.2128 == 0] {set $mwall_s 'false'}
auto 100 | dontlist | if [$player_s == 'false' && $monster_s == 'false' && $tera_s == 'false' && $mwall_s == 'false'] {set $canwall_s 'true' | end}
auto 100 | dontlist | if [$player_s == 'true' || $monster_s == 'true' || $tera_s == 'true' || $mwall_s == 'true'] {set $canwall_s 'false' | end}
auto 100 | listas 'S' | if [$canwall_s == 'true'] {setcolor 0 0 250 | useongroundxyz $rune $px $py $pz} | if [$canwall_s == false] {setcolor 250 0 0}
auto 100 | dontlist | set $px '[$target.posx+1]' | set $py '[$target.posy+1]' | set $pz '$target.posz' |
auto 100 | dontlist | foreach 'allplayers' $p_se if [($p_ne.posx == $px && $p_se.posy == $py)] {set $player_se 'true'} | if [($p_se.posx != $px && $p_se.posy != $py)] {set $player_se 'false'}
auto 100 | dontlist | foreach 'allmonsters' $m_se if [($m_ne.posx == $px && $m_se.posy == $py)] {set $monster_se 'true'} | if [($m_se.posx != $px && $m_se.posy != $py)] {set $monster_se 'false'}
auto 100 | dontlist | if [$istileitem.$px.$py.$pz.2130 == 1] {set $tera_se 'true'} | if [$istileitem.$px.$py.$pz.2130 == 0] {set $tera_se 'false'}
auto 100 | dontlist | if [$istileitem.$px.$py.$pz.2128 == 1] {set $mwall_se 'true'} | if [$istileitem.$px.$py.$pz.2128 == 0] {set $mwall_se 'false'}
auto 100 | dontlist | if [$player_se == 'false' && $monster_se == 'false' && $tera_se == 'false' && $mwall_se == 'false'] {set $canwall_se 'true' | end}
auto 100 | dontlist | if [$player_se == 'true' || $monster_se == 'true' || $tera_se == 'true' || $mwall_se == 'true'] {set $canwall_se 'false' | end}
auto 100 | listas 'SE' | if [$canwall_se == 'true'] {setcolor 0 0 250 | useongroundxyz $rune $px $py $pz} | if [$canwall_se == false] {setcolor 250 0 0}
If you don't want to edit one yourself, you can download one below.
Download here
-------------------------------------------------
-------------------------------------------------
----> Wall Target V.1.0 - By Darth Maul.elfc (13.75 KB) < ----
-------------------------------------------------
-------------------------------------------------