Live Help
Membership
You are a guest!

Register Today!

Log In
Reset Password
Game Network
Community Forum

MMO GAME LIST
World of Warcraft
Age of Conan
Anarchy Online
Archlord
Cabal Online
City of Heroes
City of Villains
Dark Age of Camelot
Darkfall Online
Diablo 2
Dungeons and Dragons
Dofus
Eve Online
Everquest 2
Final Fantasy XI
Guild Wars
Hero Online
Knight Online
Lineage 2
Lord of the Rings Online
Maple Story
Ragnarok Online
Runescape 2
Second Life
SilkRoad Online
Star Wars Galaxies
Tibia
Warhammer Online

FPS GAME LIST
Call of Duty
Combat Arms
Counter Strike
Halo

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
> land mine, Sopem random land mine
post Oct 16 2009, 08:30 PM
Post #1

aliz123



Advanced
Group Icon

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()+".");
}
}
}
}
}
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic

 


> Board Footer
Time is now: 18th March 2010 - 07:14 PM