innula

Untitled

Nov 29th, 2012
265
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1.  
  2. integer over_water;
  3. float sealevel;
  4. vector my_pos;
  5. float footbottom;
  6.  
  7. integer in_water(){
  8. vector my_pos = llGetPos();
  9. if((my_pos.z-footbottom)<sealevel){
  10. // llOwnerSay("in the water");
  11. return TRUE;
  12. }
  13. else{
  14. // llOwnerSay("on land");
  15. return FALSE;
  16. }
  17. }
  18. default
  19. {
  20. state_entry()
  21. {
  22. vector ownersize = llGetAgentSize(llGetOwner());
  23. footbottom = (ownersize.z * 1.1) / 2; // distance from agent center, to bottom of feet
  24. sealevel = llWater(<0,0,0>);
  25. }
  26.  
  27. attach(key id)
  28. {
  29. if (id=NULL_KEY){
  30. vector ownersize = llGetAgentSize(id);
  31. footbottom = (ownersize.z * 1.1) / 2; // distance from agent center, to bottom of feet
  32. llRequestPermissions(id,PERMISSION_TAKE_CONTROLS);//so we can keep running in no script areas
  33. }
  34. }
  35.  
  36. run_time_permissions(integer perm)
  37. {
  38. if(perm & PERMISSION_TAKE_CONTROLS){
  39. llTakeControls(CONTROL_FWD,FALSE,TRUE);
  40. }
  41. }
  42.  
  43. moving_start(){ {
  44. float sealevel = llWater(<0,0,0>);
  45. vector my_pos = llGetPos();
  46. if(in_water()){
  47. if(over_water){
  48. llOwnerSay("in the water");
  49. over_water=FALSE;
  50. //do water stuff
  51.  
  52. }
  53. }
  54. else{
  55. if(!over_water){
  56. llOwnerSay("on land");
  57. over_water = TRUE;
  58. //do dry land stuff
  59. }
  60. }
  61. }
  62.  
  63. }
  64.  
  65.  
  66. }
Advertisement
Add Comment
Please, Sign In to add comment