Author Topic: Silence on and off  (Read 661 times)

This script keeps giving me errors because "%m4 = %player.getMountedImage(0);" is incorrect. Can anyone help?

Code: [Select]
package m4
{
function serverCmdLight(%c, %obj)
{
%player = %client.Player;
     %m4 = %player.getMountedImage(0);

if(%player.getMountedImage(0)$=nameToID(M4Image))
{
if(%m4.silence == 1)
{
  %m4.silence = 0;
%m4.hideNode(silence);
%m4.setDataBlock(M4silenced);
}
else
{
%m4.silence = 1;
%m4.unhideNode(silence);
%m4.setDataBlock(M4);
}
}
else
{
Parent::serverCmdLight(%c);
}
}
};ActivatePackage(m4);


%client.Player doesn't exist. It needs to be %c.player

Code: [Select]
package m4
{
function serverCmdlight(%client)
{
if(!isObject(%client.player) || !isObject(%client.player.getMountedImage(0)))
{
return;
}

%m4 = %client.player.getMountedImage(0);

if(%m4 == m4Image.getID())
{
%m4.silence = !%m4.silence;

if(%m4.silence)
{
%m4.unhideNode(silence);
%m4.setDataBlock(m4Silenced);

return;
}

%m4.hideNode(silence);
%m4.setDataBlock(m4Image);

return;
}

parent::serverCmdlight(%client);
}
};

activatePackage(m4);

 :cookieMonster:

Do you have m4Image/m4Silenced datablocks?

Edit: Added a cookie monster.
« Last Edit: August 22, 2008, 04:25:28 PM by Dyed Brownie »

The image a player has mounted to them is not an object that can be addressed like an item, player or vehicle. In order to change the weapon the player has, you'd need to call:

%player.mountImage(Image,slot,blah,blah);

Quote
      if(!isObject(%client.player) || !isObject(%client.player.getMountedImage(0)))
      {
         return;
      }
Won't that cause your light to stop working if you aren't using a weapon?

Thanks guys It works now.
I just combined Dyed Brownies with Elphi and works.