The first way I made it better was really inefficient and too long, I just repeated the line that launches you a lot of times.
The very original script is as follows:
CODE
float force_amount = 999999999999999999999999999999.0;
default
{
on_rez(integer start_param)
{
llPreloadSound("Explosion");
}
collision_start(integer total_number)
{
llSetDamage(5000);
if (llDetectedType(0) & AGENT)
llPushObject(llDetectedKey(0), force_amount*llRot2Up(llGetRot()) , ZERO_VECTOR, FALSE);
llTriggerSound("Explosion", 10.0);
llMakeExplosion(20, 1.0, 5, 3.0, 1.0, "Smoke", ZERO_VECTOR);
llMakeExplosion(20, 1.0, 5, 3.0, 1.0, "fire", ZERO_VECTOR);
llDie();
}
}
This was too weak, only sending avatars up about 200m so I tried this:
CODE
float force_amount = 999999999999999999999999999999.0;
default
{
on_rez(integer start_param)
{
llPreloadSound("Explosion");
}
collision_start(integer total_number)
{
llSetDamage(5000);
if (llDetectedType(0) & AGENT)
llPushObject(llDetectedKey(0), force_amount*llRot2Up(llGetRot()) , ZERO_VECTOR, FALSE);
llSetPos(llGetPos()+<0,0,600>);
llTriggerSound("Explosion", 10.0);
llMakeExplosion(20, 1.0, 5, 3.0, 1.0, "Smoke", ZERO_VECTOR);
llMakeExplosion(20, 1.0, 5, 3.0, 1.0, "fire", ZERO_VECTOR);
llDie();
}
}
As you see i am trying to use llSetPos(llGetPos()+<0,0,600>

So if there is a way of fixing this, or giving me another script that launches you really high please post it here or PM me and if possible, tell me how it works so I can understand this language better.