Author Topic: Disabling a specific admin orb particle, but not losing the emitter/particle  (Read 795 times)

Here's the deal. I made a neat custom admin orb for me, but I do not want the playerTeleportParticleB and playerTeleportEmitterB appear when I orb. The thing is, I want that emitter/particle appear in the wrench gui so I can use it while eventing and apply it to bricks. Currently I disable this particle/emitter in the admin orb by making all the "times" 0, but this also disables the emitter in events. The emitter does appear there, but doesn't produce anything.

McTwist came up with the following script. Sadly, it doesn't work as both playerTeleportParticleA and playerTeleportParticleB are removed when orbing (But they can be applied to bricks). But there could be something to it. Anyone know what to do?
Code: [Select]
if (isPackage(DropPlayerParticle))
    deactivatePackage(DropPlayerParticle);

package DropPlayerParticle
{
    function serverCmdDropPlayerAtCamera(%client)
    {
        %client.removeEmitter = true;
        Parent::serverCmdDropPlayerAtCamera(%client);
        %client.removeEmitter = false;
    }
   
    function Player::teleportEffect(%player)
    {
        if (%player.client.removeEmitter)
            return;
        Parent::teleportEffect(%player);
    }
};
activatePackage(DropPlayerParticle);

What exactly are you wanting to accomplish by removing the one specific partice? If you tell me I may be able to help.

I want playerTeleportParticleB / playerTeleportEmitterB to be available when eventing. I don't want playerTeleportParticleB/playerTeleportEmitterB to be there when I F7 (Orb to player).

He wants to change the adminorb particle used for F8, but still have the original spawnable as an emitter in the wrench menu.

What I'd try is before redefining the adminorbparticle, create a copy of it (forget the word, is it inheritance or something like that?)

I'm inexperienced with particles, I don't know the class names for the particles and emitters and didn't feel like looking so I just guessed
I'm only assuming its the emitter that needs the uiName.
You'll have to change it around a bit.
I can't guarantee this will work, but it may be worth a try.
Code: [Select]
datablock ParticleData(originalPlayerTeleportParticleB : playerTeleportParticleB)
{
    something = "something"; //defining a new datablock without giving it a value may cause problems
};

datablock ParticleEmitterData(originalPlayerEmitterParticleB : playerTeleportEmitterB)
{
    uiName = "Original Player Camera";
};

//define the new one here

If I get an answer to this, I have achieved what I need.

Ok... so you want the emitter but you dont want it used by the camera?

Heres something you can try. Start up your server and open the console. type in "tree();" [without quotes] to open up 2 displays. On the right side, expand the item at the top, and from there expand the "datablock group". Search in there untill you find the playerteleportb particle/emitter and click on one of them. Copy all of the values in the left window into notepad or whatever, and then make entirely different emitter datablocks with those values.

Hope that helped out.

That's basically what my method does, except the script does it for him.

Ok... so you want the emitter but you dont want it used by the camera?

Heres something you can try. Start up your server and open the console. type in "tree();" [without quotes] to open up 2 displays. On the right side, expand the item at the top, and from there expand the "datablock group". Search in there untill you find the playerteleportb particle/emitter and click on one of them. Copy all of the values in the left window into notepad or whatever, and then make entirely different emitter datablocks with those values.

Hope that helped out.
Erm, that is exactly what I am doing. Right now the only problem is removing the real "Player Teleport B" from the emitter list because I have two of them there. One of them is the real one, one is fake. I guess these two threads overlap a little.

Setting the emitter uiName to nothing worked for me.