Friday, 15 May 2015

PMAC 1.02 CORRECTION

I discovered much to my embarrassment that I neglected to include +Neothar Cortex's props add-on "slave" script in the 1.02 packaging...the main add-on controller script is there, but not the one that needs to go into each of the props.

The box version in Hedonism has been corrected, as have any of the other boxed copies I've given to others to redistributte; but if you picked up a copy of the newly released 1.02 system in the first ~12 hours after release the script may be missing. The correctly boxed version will say version 1.02.1 on the box to indicate that it has the extra script.

If you have one of the early versions that is missing the script you can pick up a new boxed one, or (far more easily) simply create a new script and called it "nc_props 1.1.0" (the main props add-on script is called ".addon NC Props 1.1.2" and is the one that goes into the same obect that contains the core script). Put this script in the same folder that the rest of the builder's kit stuff is in, then paste the following script into it:

***** START COPYING (DO NO INCLUDE THIS LINE) *****

// props_debug v1.1.0
// v0.1 adapted to send absolute position
// v0.2 added debug switching via description
// v0.3 changed debug output
// v1.0 added debug output for derez on timeout
// v1.1.0 starting to convert into no_listener design
// written by Neo Cortex for use with the PMAC addon NC-props

// Put this script inside any PMAC prop.
// Supports saving the prop's position
// Dies on region restart

key MasterObject;

integer gi_Debug                       =FALSE;
NCDebug(string txt) {
    if (gi_Debug) {
        llOwnerSay(txt);
    }
}

default {
    on_rez(integer rez_arg) {
        gi_Debug = (llSubStringIndex(llGetObjectDesc(),"debug") != -1); // enable debug if object description contains 'debug'

        MasterObject = osGetRezzingObject(); // who rezzed me?

        osMessageObject(MasterObject,"NC_PROP_REZZED"); // tell Master who i am
    }
    dataserver(key who,string msg)
    {
        NCDebug("nc_prop received: " + msg + " from: " + (string) who);
        if (msg=="NC_PROP_DIE") llDie();
        if (msg == "NC_PROP_SAVE") { // report position
            osMessageObject(MasterObject,"NC_PROP_POSITION::" + (string)(llGetPos()) + "::" + (string)llGetRot());
//            NCDebug("Pos: " + (string)(llGetPos()) + " Rot:" + (string)llGetRot());
        }

    }
    changed(integer change)
    {
        if (change & CHANGED_REGION_START) llDie();
    }
}

**** STOP COPYING (DO NOT INCLUDE THIS LINE) *****


Then save. Now you'll have the missing script which is the one that goes into each of the props you want to be able to rez and controll with Neo's add-on.

My most profuse apologies to Neo and to anyone inconvenienced.