Table of Contents

Summary

Syntax Description Example
nova <Avatar Username> Hurls the [K] Plugin:Nova - Bomb object at the named avatar. Glow nova Morgan LeFay

Plugin

///////////////////////////////////////////////////////////////////////////
//  Copyright (C) Wizardry and Steamworks 2011 - License: GNU GPLv3      //
//  Please see: http://www.gnu.org/licenses/gpl.html for legal details,  //
//  rights of fair usage, the disclaimer and warranty conditions.        //
///////////////////////////////////////////////////////////////////////////
 
fireNova(key target) {
    float V0 = llGetRegionFPS()/2.0;
    vector target = llList2Vector(llGetObjectDetails(target, [OBJECT_POS]), 0);
    vector origin = llGetPos();
    float=llVecDist(<target.x,target.y,0>,<origin.x,origin.y,0>);
    float valSin = 9.81*/llPow(V0, 2);
    if(valSin < -1 || valSin > 1) return;
    rotation= llRotBetween(<1,0,0>,llVecNorm(<target.x-origin.x,target.y-origin.y, dΔ*llTan((RAD_TO_DEG*llAsin(valSin)/2) * DEG_TO_RAD) + target.z-origin.z>));
    llRezObject("[K] Plugin:Nova - Bomb", llGetLocalPos(), llVecNorm(<1,0,0>*)*V0, qΔ, 0);
}
 
list cmd = [];
integer failFind = 5;
 
default {
    link_message(integer sender_num, integer num, string str, key id) {
        cmd = llCSV2List(str);
        if(llList2String(cmd,1) != "nova") return;
        llMessageLinked(LINK_THIS, 0, "glow:MAIN:HALT", NULL_KEY);
        state nova;
    }
    on_rez(integer num) {
        llResetScript();
    }
}
 
state nova {
    state_entry() {
        llInstantMessage(llGetOwner(), "Attack!");
        llSetStatus(STATUS_PHYSICS, FALSE);
        failFind = 5;
        llSensorRepeat(llList2String(cmd,2) + " " + llList2String(cmd,3), "", AGENT, 64, TWO_PI, 1);
    }
    sensor(integer num) {
        failFind = 5;
        llLookAt(llDetectedPos(0), .5, 1);
        fireNova(llDetectedKey(0));
    }
    link_message(integer sender_num, integer num, string str, key id) {
        if(str != "glow:PLUG:HALT") return;
        llSensorRemove();
        llStopLookAt();
        llMessageLinked(LINK_THIS, 0, "glow:MAIN:CONT", NULL_KEY);
        llSetRot(llEuler2Rot(<0,90,0> * DEG_TO_RAD));
        state default;
    }
    no_sensor() {
        --failFind;
        if(failFind) return;
        llSensorRemove();
        llStopLookAt();
        llMessageLinked(LINK_THIS, 0, "glow:MAIN:CONT", NULL_KEY);
        llSetRot(llEuler2Rot(<0,90,0> * DEG_TO_RAD));
        state default;
    }
    on_rez(integer num) {
        llResetScript();
    }
}

Index


secondlife/glow/plugin/nova.txt · Last modified: 2022/11/24 07:45 by 127.0.0.1

Access website using Tor Access website using i2p Wizardry and Steamworks PGP Key


For the contact, copyright, license, warranty and privacy terms for the usage of this website please see the contact, license, privacy, copyright.