RMS Home | Guide Writing | New Servers | Latest Reviews

Author Topic: LFS - Experienced GM / Adequete Scripter (looking to improve skills)  (Read 401 times)

0 Members and 1 Guest are viewing this topic.

Offline Cayce

Hey guys! I'm Cayce! I've been a player of RO since 2003, and in that time I've done quite a bit - I ran a server for a while (ArkadiumRO), GMed a handful of servers (MoeRO, MonserRo, a few others), did some scripting and contributed a scripting markup context file to the textpad user group.

Outside of RO, I've worked in community moderation and content administration for over twenty years. I worked for Time Warner Interactive (and later Community.com)'s platform The Palace as a system operator, I've moderated several reddit communities of over a million subscribers (/r/dataisbeautiful and /r/IDontWorkHereLady), and I've worked as GM and lead community helper in a couple of gaming platforms professionally.

My day job has me working from the middle of the day until 9pm PST, so my busiest hours for doing anything RO will be mornings and evenings/nights. I work in systems administration for a silicon valley corporation and my current career has been bouncing around IT/netsec for the last twenty years, and I can help any server who recruits me with those things.

What I'm looking for:

I want to help a server, ideally one with an existing userbase, but I'm open to almost anything, as a support/moderation GM and content scripter. I'm happy to do events as needed, but that's never really been my major interest. Creating new content, securing the server and ensuring that people get to have fun, that's my interest.

It's been years since I've done scripting for RO, but I pick things up quick again.  /no1

If you have any questions, you can hit me up here, in DMs, or on Discord as Cayce#6018

Have a phenomenal day!


Advertisement

Offline Cayce

Just to have some code cred, here's some (non-RO) script I wrote for a companion NPC in another engine.

Code: [Select]
// Play a sound whenever the owner is walking
integer   gWasWalking;             // TRUE when wearer is already walking
string    gSound = "7f213adc-4a14-9b4e-a5ef-a1edee652402";    // name of soundfile in inventory
integer playbackchannel = 1; // The default llMessageLinked number

rotation calcChildRot(rotation rdeltaRot){
    if (llGetAttached())
        return rdeltaRot/llGetLocalRot();
    else
        return rdeltaRot/llGetRootRotation();
}
default
{
    state_entry()
    {
         
        // Start a timer to continuously check if the owner is walking
        llSetTimerEvent(0.25);
   llSetLinkPrimitiveParamsFast(4, [PRIM_ROTATION,calcChildRot(<0.00000,  -0.00000, -0.70711, 0.70711>)]);
    llSetLinkPrimitiveParamsFast(5, [PRIM_ROTATION,calcChildRot(<0.00000, 0.00000, 1.00000, 0.00000>)]);
    llSetLinkPrimitiveParamsFast(6, [PRIM_ROTATION,calcChildRot(<0.00000, 0.00000, 0.70744, 0.70677>)]);
    llSetLinkPrimitiveParamsFast(7, [PRIM_ROTATION,calcChildRot(<0.00000, 0.00000, 0.00000, 1.00000>)]);
    //pos
    llSetLinkPrimitiveParamsFast(5, [PRIM_POSITION, <0.175401, 0.176509, -0.213100>]);
    llSetLinkPrimitiveParamsFast(4, [PRIM_POSITION, <-0.175605, 0.174294, -0.215500>]);
    llSetLinkPrimitiveParamsFast(6, [PRIM_POSITION, <0.174503, -0.175005, -0.215498>]);
    llSetLinkPrimitiveParamsFast(7, [PRIM_POSITION, <-0.171001, -0.172900, -0.213102>]);
    //shell
    llSetLinkPrimitiveParamsFast(3, [PRIM_POSITION, <0.000500, -0.002500, -0.065900>]);
    llSetLinkPrimitiveParamsFast(3, [PRIM_ROTATION,calcChildRot(<0.00003, 0.70710, -0.00005, 0.70711>)]);
    //Joint
    llSetLinkPrimitiveParamsFast(8, [PRIM_POSITION, <0.000400, -0.000400, -0.256800>]);
    llSetLinkPrimitiveParamsFast(8, [PRIM_ROTATION,calcChildRot(<0.00000, 0.00000, 0.70711, 0.70711>)]);
   
    }
    timer()
    {
        integer NowWalking = llGetAgentInfo(llGetOwner()) & AGENT_WALKING;
        if  (NowWalking != gWasWalking)        // walking has stopped or started
        {
            //Not Walking
            llStopSound();
   llSetLinkPrimitiveParamsFast(4, [PRIM_ROTATION,calcChildRot(<0.00000,  -0.00000, -0.70711, 0.70711>)]);
    llSetLinkPrimitiveParamsFast(5, [PRIM_ROTATION,calcChildRot(<0.00000, 0.00000, 1.00000, 0.00000>)]);
    llSetLinkPrimitiveParamsFast(6, [PRIM_ROTATION,calcChildRot(<0.00000, 0.00000, 0.70744, 0.70677>)]);
    llSetLinkPrimitiveParamsFast(7, [PRIM_ROTATION,calcChildRot(<0.00000, 0.00000, 0.00000, 1.00000>)]);
        //pos
    llSetLinkPrimitiveParamsFast(5, [PRIM_POSITION, <0.175401, 0.176509, -0.213100>]);
    llSetLinkPrimitiveParamsFast(4, [PRIM_POSITION, <-0.175605, 0.174294, -0.215500>]);
    llSetLinkPrimitiveParamsFast(6, [PRIM_POSITION, <0.174503, -0.175005, -0.215498>]);
    llSetLinkPrimitiveParamsFast(7, [PRIM_POSITION, <-0.171001, -0.172900, -0.213102>]);

            if (NowWalking)
            //Walking
            llLoopSound(gSound, 1.0);
        }
        gWasWalking = NowWalking;
    }
}