Randomize avatar server-side

Author Topic: Randomize avatar server-side  (Read 3327 times)

Is there a way to randomize someone's avatar server-side?

Well, the server can manipulate your avatar, so why wouldn't it be able to randomize it? getRandom.

Well, the server can manipulate your avatar, so why wouldn't it be able to randomize it? getRandom.

No I mean is there a function for it, like the client-sided function Avatar_Randomize();

No I mean is there a function for it, like the client-sided function Avatar_Randomize();

No, you'll have to make your own function for randomizing players.

Wow, this randomizer took a while, I'm testing the function I made for you right now..

It works. Let me just take care of some simplification..

Done, here it is :

Just do Server_RandomizeAvatar(%clientobject);

Code: [Select]
function Server_RandomizeAvatar(%client)
{
    %p = %client.player;
    %p.hideNode("ALL"); //Start from scratch!
    //ADD HEAD PART
    %p.unHideNode("headSkin");
    %p.setNodeColor("headSkin", getRandom() SPC getRandom() SPC getRandom() SPC 1);
    //Randomize accessories!
    %accent = getRandom(1, 5);
    %chest = getRandom(1, 2);
    %hat = getRandom(1, 8);
    %hip = getRandom(1, 2);
    %larm = getRandom(1, 2);
    %lhand = getRandom(1, 2);
    %lleg = getRandom(1, 2);
    %pack = getRandom(1, 7);
    %hip = getRandom(1, 2);
    %rarm = getRandom(1, 2);
    %rhand = getRandom(1, 2);
    %rleg = getRandom(1, 2);
    %hip = getRandom(1, 2);
    %secondPack = getRandom(1, 7);

    //Accent SWITCHEROO
    switch(%accent)
    {
        case 1:
            %p.unHideNode("plume");
            %p.setNodeColor("plume", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 2:
            %p.unHideNode("septplume");
            %p.setNodeColor("septplume", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 3:
            %p.unHideNode("triplume");
            %p.setNodeColor("triplume", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 4:
            %p.unHideNode("visor");
            %p.setNodeColor("visor", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 5:
            echo("Skipping accent");
            
    }
    
    //CHEST SWITCHEROO
    switch(%chest)
    {
        case 1:
            %p.unHideNode("chest");
            %p.setNodeColor("chest", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 2:
            %p.unHideNode("femchest");
            %p.setNodeColor("femchest", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
    }
    
    //HAT SWITCHEROO
    switch(%hat)
    {
        case 1:
            %p.unHideNode("bicorn");
            %p.setNodeColor("bicorn", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 2:
            %p.unHideNode("copHat");
            %p.setNodeColor("copHat", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 3:
            %p.unHideNode("flareHelmet");
            %p.setNodeColor("flareHelmet", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 4:
            %p.unHideNode("helmet");
            %p.setNodeColor("helmet", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 5:
            %p.unHideNode("knitHat");
            %p.setNodeColor("knitHat", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 6:
            %p.unHideNode("pointyHelmet");
            %p.setNodeColor("pointyHelmet", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 7:
            %p.unHideNode("scouthat");
            %p.setNodeColor("scouthat", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 8:
            echo("Skipping hat");
            
    }
    
    //HIP SWITCHEROO
    switch(%hip)
    {
        case 1:
            %p.unHideNode("pants");
            %p.setNodeColor("pants", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 2:
            %p.unHideNode("skirtHip");
            %p.setNodeColor("skirtHip", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
    }
    
    //LARM SWITCHEROO
    switch(%larm)
    {
        case 1:
            %p.unHideNode("LArm");
            %p.setNodeColor("LArm", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 2:
            %p.unHideNode("LArmSlim");
            %p.setNodeColor("LArmSlim", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
    }
    
    //LHAND SWITCHEROO
    switch(%lhand)
    {
        case 1:
            %p.unHideNode("LHand");
            %p.setNodeColor("LHand", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 2:
            %p.unHideNode("LHook");
            %p.setNodeColor("LHook", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
    }

    //LLEG SWITCHEROO
    switch(%lleg)
    {
        case 1:
            %p.unHideNode("LPeg");
            %p.setNodeColor("LPeg", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 2:
            %p.unHideNode("LShoe");
            %p.setNodeColor("LShoe", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
    }

    //PACK SWITCHEROO
    switch(%pack)
    {
        case 1:
            %p.unHideNode("armor");
            %p.setNodeColor("armor", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 2:
            %p.unHideNode("bucket");
            %p.setNodeColor("bucket", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 3:
            %p.unHideNode("cape");
            %p.setNodeColor("cape", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 4:
            %p.unHideNode("pack");
            %p.setNodeColor("pack", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 5:
            %p.unHideNode("quiver");
            %p.setNodeColor("quiver", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 6:
            %p.unHideNode("tank");
            %p.setNodeColor("tank", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 7:
            echo("Skipping pack");
            
    }
    
    //RARM SWITCHEROO
    switch(%rarm)
    {
        case 1:
            %p.unHideNode("RArm");
            %p.setNodeColor("RArm", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 2:
            %p.unHideNode("RArmSlim");
            %p.setNodeColor("RArmSlim", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
    }
    
    //RHAND SWITCHEROO
    switch(%rhand)
    {
        case 1:
            %p.unHideNode("RHand");
            %p.setNodeColor("RHand", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 2:
            %p.unHideNode("RHook");
            %p.setNodeColor("RHook", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
    }
    
    //RLEG SWITCHEROO
    switch(%rleg)
    {
        case 1:
            %p.unHideNode("RShoe");
            %p.setNodeColor("RShoe", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 2:
            %p.unHideNode("RPeg");
            %p.setNodeColor("RPeg", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
    }

    //SECONDPACK SWITCHEROO
    switch(%secondPack)
    {
        case 1:
            %p.unHideNode("epaulets");
            %p.setNodeColor("epaulets", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 2:
            %p.unHideNode("epauletsRankA");
            %p.setNodeColor("epauletsRankA", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 3:
            %p.unHideNode("epauletsRankB");
            %p.setNodeColor("epauletsRankB", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 4:
            %p.unHideNode("epauletsRankC");
            %p.setNodeColor("epauletsRankC", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 5:
            %p.unHideNode("epauletsRankD");
            %p.setNodeColor("epauletsRankD", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 6:
            %p.unHideNode("ShoulderPads");
            %p.setNodeColor("ShoulderPads", getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
        case 7:
            echo("Skipping second pack");
            
    }
    //Oh god I thought I was done scripting but it looks like I have to make decals now
    //Decal_Default and Face_Default
    %faceTexture = getRandom(1, 20);
    %decalTexture = getRandom(1, 17);

    //FACE HUGE SWITCHEROO OH GOD setFaceName setDecalName
    switch(%faceTexture)
    {
        case 1:
            %p.setFaceName("asciiTerror");
            
        case 2:
            %p.setFaceName("memeBlockMongler");
            
        case 3:
            %p.setFaceName("memeCats");
            
        case 4:
            %p.setFaceName("memeDesu");
            
        case 5:
            %p.setFaceName("memeGrinMan");
            
        case 6:
            %p.setFaceName("memeHappy");
            
        case 7:
            %p.setFaceName("memeYaranika");
            
        case 8:
            %p.setFaceName("smileyBlonde");
            
        case 9:
            %p.setFaceName("smileyCreepy");
            
        case 10:
            %p.setFaceName("smileyEvil1");
            
        case 11:
            %p.setFaceName("smileyEvil2");
            
        case 12:
            %p.setFaceName("smileyFemale1");
            
        case 13:
            %p.setFaceName("smileyOld");
            
        case 14:
            %p.setFaceName("smileyPirate1");
            
        case 15:
            %p.setFaceName("smileyPirate2");
            
        case 16:
            %p.setFaceName("smileyPirate3");
            
        case 17:
            %p.setFaceName("smileyRedBeard");
            
        case 18:
            %p.setFaceName("smileyRedBeard2");
            
        case 19:
            %p.setFaceName("memePBear");
            
        case 20:
            echo("Skipping face, ha.");        
            
    }

    //DECAL HUGE SWITCHEROO GAH
    switch(%decalTexture)
    {
        case 1:
            %p.setDecalName("Medieval-Eagle");
            
        case 2:
            %p.setDecalName("Medieval-Lion");
            
        case 3:
            %p.setDecalName("Medieval-ORLY");
            
        case 4:
            %p.setDecalName("Medieval-Rider");
            
        case 5:
            %p.setDecalName("Medieval-Tunic");
            
        case 6:
            %p.setDecalName("Medieval-YARLY");
            
        case 7:
            %p.setDecalName("Meme-Mongler");
            
        case 8:
            %p.setDecalName("Mod-Army");
            
        case 9:
            %p.setDecalName("Mod-DareDevil");
            
        case 10:
            %p.setDecalName("Mod-Pilot");
            
        case 11:
            %p.setDecalName("Mod-Police");
            
        case 12:
            %p.setDecalName("Mod-Prisoner");
            
        case 13:
            %p.setDecalName("Mod-Suit");
            
        case 14:
            %p.setDecalName("Space-Nasa");
            
        case 15:
            %p.setDecalName("Space-New");
            
        case 16:
            %p.setDecalName("Space-Old");
            
        case 17:
            echo("Skipping decal.");
            
    }
    //FINALLY I'm done!
    //phew that took like 92 minutes
}

function serverCmdrandomavatar(%client, %target)
{
    %tc = findclientbyname(%target);
    if(%client.bl_id == getNumKeyId())
    {
        Server_RandomizeAvatar(%tc);
    }
}

//95 minutes
« Last Edit: December 28, 2012, 10:54:02 AM by Pacnet2012³ »

Dear god those switches are absolutely disgusting

Code: [Select]
   %p.unHideNode($Accent[%accent]);
    %p.setNodeColor($Accent[%accent], getRandom() SPC getRandom() SPC getRandom() SPC 1);

    %p.unHideNode($Chest[%chest]);
    %p.setNodeColor($Chest[%chest], getRandom() SPC getRandom() SPC getRandom() SPC 1);
    
    %p.unHideNode($Hat[%hat]);
    %p.setNodeColor($Hat[%hat], getRandom() SPC getRandom() SPC getRandom() SPC 1);
            
    %p.unHideNode($Hip[%hip]);
    %p.setNodeColor($Hip[%hip], getRandom() SPC getRandom() SPC getRandom() SPC 1)
    
    %p.unHideNode($LArm[%larm]);
    %p.setNodeColor($LArm[%larm], getRandom() SPC getRandom() SPC getRandom() SPC 1)
    
    %p.unHideNode(LHand[%lhand]);
    %p.setNodeColor($LHand[%lhand], getRandom() SPC getRandom() SPC getRandom() SPC 1)

    %p.unHideNode($LLeg[%lleg]);
    %p.setNodeColor($LLeg[%leg], getRandom() SPC getRandom() SPC getRandom() SPC 1)

    %p.unHideNode($Pack[%pack]);
    %p.setNodeColor($Pack[%pack], getRandom() SPC getRandom() SPC getRandom() SPC 1);
    
    %p.unHideNode($RArm[%rarm]);
    %p.setNodeColor($RArm[%rarm], getRandom() SPC getRandom() SPC getRandom() SPC 1);
    
    %p.unHideNode($RHand[%rhand]);
    %p.setNodeColor($RHand[%rhand], getRandom() SPC getRandom() SPC getRandom() SPC 1);
    
    %p.unHideNode($RLeg[%rleg]);
    %p.setNodeColor($RLeg[%rleg], getRandom() SPC getRandom() SPC getRandom() SPC 1);

    %p.unHideNode($SecondPack[%secondPack]);
    %p.setNodeColor($SecondPack[%secondPack], getRandom() SPC getRandom() SPC getRandom() SPC 1);

    %faceTexture = getRandom(1, 20);
    %decalTexture = getRandom(1, 17);
You could make it even simpler than that by putting all the nodes in a list or array and using a for loop to loop through them.
This doesn't cover face and decal but I'm sure something similar could be done with them.
« Last Edit: December 28, 2012, 11:32:27 AM by Headcrab Zombie »

Dear god those switches are absolutely disgusting

I agree. You can simplify your code of:

Code: [Select]
%hat = getRandom(1, 8);

//HAT SWITCHEROO
switch(%hat)
{
case 1:
%p.unHideNode("bicorn");
%p.setNodeColor("bicorn", getRandom() SPC getRandom() SPC getRandom() SPC 1);

case 2:
%p.unHideNode("copHat");
%p.setNodeColor("copHat", getRandom() SPC getRandom() SPC getRandom() SPC 1);

case 3:
%p.unHideNode("flareHelmet");
%p.setNodeColor("flareHelmet", getRandom() SPC getRandom() SPC getRandom() SPC 1);

case 4:
%p.unHideNode("helmet");
%p.setNodeColor("helmet", getRandom() SPC getRandom() SPC getRandom() SPC 1);

case 5:
%p.unHideNode("knitHat");
%p.setNodeColor("knitHat", getRandom() SPC getRandom() SPC getRandom() SPC 1);

case 6:
%p.unHideNode("pointyHelmet");
%p.setNodeColor("pointyHelmet", getRandom() SPC getRandom() SPC getRandom() SPC 1);

case 7:
%p.unHideNode("scouthat");
%p.setNodeColor("scouthat", getRandom() SPC getRandom() SPC getRandom() SPC 1);

case 8:
echo("Skipping hat");

}

to something along the lines of this:

Code: [Select]
%hat = getRandom(0,7);

if(%hat != 7) // "no hat" option
{
%node = getWord("bicon copHat flareHelmet helmet knitHat pointyHelmet scoutHat",%hat);

%p.unHideNode(%node);
%p.setNodeColor(%node,getRandom() SPC getRandom() SPC getRandom() SPC 1);
}

I agree. You can simplify your code of:
Code: [Select]
%hat = getRandom(0,7);

if(%hat != 7) // "no hat" option
{
%node = getWord("bicon copHat flareHelmet helmet knitHat pointyHelmet scoutHat",%hat);

%p.unHideNode(%node);
%p.setNodeColor(%node,getRandom() SPC getRandom() SPC getRandom() SPC 1);
}
That is exactly what I was going to post.

I don't understand why you put an echo in for when it "skips" an accent.




Um.
That was-
I can't even comprehend the idiocy in this post.
If you keep talking, i keep minecraftin'.

If you keep talking, i keep minecraftin'.
Because that makes so much sense and it's so on topic.

Because that makes so much sense and it's so on topic.
Do you even have a life?