 |
|
 |
|
Advanced

Group: Elite Members
Posts: 89
Joined: 20-February 09
Member No.: 843,883
|
|
 |
|
 |

|
Every so often, you may find yourself in need of a sneaky way to harass furfaggots/Goreans/Lindens/etc. This works especially well in tight alleyways, in buildings, or, occasionally, in sandboxes.
The assembly of this does not need a noscript sandbox
Assembly
First of all, make the weapon container. Here are some shape suggestions: Invisible, flat cylinder. Generic freebie that a ###### would not care about walking over. Freebie poser stand Next, make a cylinder and drop Orbiter into it. It won't go anywhere so don't panic. Take the cylinder and place it in your landmine. Name it whatever you want to fit in with the theme of the landmine's disguise (It'll rename itself as Object when it launches) Place the Invisibility script into the orbiter. Drop the other script on this page into the landmine. Take a copy of the entire thing and drop it into itself. you are done. If you are planning to leave it where it is and let it run, open the Landmine script again and hit "Reset".
Code Orbiter
default { on_rez(integer param) { if(param>0) { llSetStatus(STATUS_PHYSICS,FALSE); // Just to be sure; llSetScale(<3,3,0.2>); llSetStatus(STATUS_PHYSICS,TRUE); // Physics llSetObjectName("Object"); // Most common object name ever. llSetStatus(STATUS_DIE_AT_EDGE,TRUE); // Don't need it returned. } } collision_start(integer colide) { if(llDetectedType(0) & AGENT) { llSleep(1); while(1) { llSetForce(<0,0,9999999999999.9>,0); llSetForce(<0,0,9999999999999.9>,0); } } } } Landmine
////////////////////////////////////////////////////// // Simple Landmine ////////////////////////////////////////////////////// ////// Config // How many times will the landmine orbit people? // 0: Infinite // 1: Once, then will disappear. // 2: Twice, " " " // etc integer cnfMaxOrbits=0; // How often (in seconds) will the landmine self-replicate in order to prevent autoreturn? // 0: disable // <10: Stupid, will encounter gray goo fence // 10: default // >10: May work, if the parcel is not set to auto return that long. integer cnfRepDelay=10; ////////////////////////////////////////////////////// // DON'T ###### WITH THIS ###### UNLESS YOU KNOW WHAT // // YOU'RE DOING. // ////////////////////////////////////////////////////// integer Armed=1; integer NumObj; string Projectile; integer Orbits=0; log(string text) { llInstantMessage(llGetOwner(),text); } string FetchMyProjectile() { integer i; for(i=0;i<NumObj;i++) { if(llGetInventoryName(6,i)!=llGetObjectName()) { log(" * Projectile="+llGetInventoryName(6,i)); return llGetInventoryName(6,i); } } log("***HOW ABOUT LOADING A PROJECTILE, ######***"); return ""; } Orbit(vector Pos,float avheight) { vector Pwned; Pwned=Pos-<0,0,avheight>; //Rez under their feet :3 llRezObject(Projectile,Pos,ZERO_VECTOR,ZERO_ROTATION,1); //1 = USE BOOST TO GET THROUGH Orbits++; if(Orbits>cnfMaxOrbits) { log((string)Orbits+" Orbits completed in "+llGetRegionName()+", which is over the max. Dasvedanya, comrade."); } } default { on_rez(integer param) { llResetScript(); } state_entry() { llSetTimerEvent(cnfRepDelay); log("Landmine v0.1 active in "+llGetRegionName()+"."); NumObj = llGetInventoryNumber(6); Projectile=FetchMyProjectile(); if(Projectile=="") { llSetTimerEvent(0); } } object_rez(key child) { if(cnfRepDelay>0) { if(llKey2Name(child)==llGetObjectName()) { llGiveInventory(child, llGetObjectName()); llDie(); } } } touch_start(integer number) { integer i; for(i=0; i<number;i++){ if(llGetOwner()==llDetectedKey(i)) { if(Armed==1) { Armed==0; log("Disarmed"); } else { Armed==1; log("Armed"); } } } } timer() { integer i; Armed=0; llRezObject(llGetObjectName(),ZERO_VECTOR,ZERO_VECTOR,ZERO_ROTATION,0); } collision(integer number) { if(Armed==1) { if(llDetectedType(0) & AGENT) { if(llDetectedKey(0)!=llGetOwner()) { vector size; size = (llGetAgentSize(llDetectedKey(0)) / 2) + <0,0,0.015>; Orbit(llDetectedPos(0), size.z); log("Orbited "+llDetectedName(0)+" in "+llGetRegionName()+"."); } } } } }
|