Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- integer over_water;
- float sealevel;
- vector my_pos;
- float footbottom;
- integer in_water(){
- vector my_pos = llGetPos();
- if((my_pos.z-footbottom)<sealevel){
- // llOwnerSay("in the water");
- return TRUE;
- }
- else{
- // llOwnerSay("on land");
- return FALSE;
- }
- }
- default
- {
- state_entry()
- {
- vector ownersize = llGetAgentSize(llGetOwner());
- footbottom = (ownersize.z * 1.1) / 2; // distance from agent center, to bottom of feet
- sealevel = llWater(<0,0,0>);
- }
- attach(key id)
- {
- if (id=NULL_KEY){
- vector ownersize = llGetAgentSize(id);
- footbottom = (ownersize.z * 1.1) / 2; // distance from agent center, to bottom of feet
- llRequestPermissions(id,PERMISSION_TAKE_CONTROLS);//so we can keep running in no script areas
- }
- }
- run_time_permissions(integer perm)
- {
- if(perm & PERMISSION_TAKE_CONTROLS){
- llTakeControls(CONTROL_FWD,FALSE,TRUE);
- }
- }
- moving_start(){ {
- float sealevel = llWater(<0,0,0>);
- vector my_pos = llGetPos();
- if(in_water()){
- if(over_water){
- llOwnerSay("in the water");
- over_water=FALSE;
- //do water stuff
- }
- }
- else{
- if(!over_water){
- llOwnerSay("on land");
- over_water = TRUE;
- //do dry land stuff
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment