Author Topic: Admin only item-vehicle  (Read 426 times)

How do I make the jetpack admin only?
Code: [Select]
function  JetpackWeaponImage::onFire(%this, %obj, %slot)
{
%player = %obj;

if(%player.isMounted())
{
%mountedVehicleName = %player.getObjectMount().getDataBlock().getName();

if(%mountedVehicleName !$= "JetpackVehicle")
{
//we're mounted on some other kind of vehicle
commandToClient(%player.client, 'CenterPrint', "\c4Can\'t use Jetpack right now.", 2);
//messageClient(%player.client, 'Clientmsg', 'Can\'t use Jetpack right now.');
return;
}
else
{
//we're mounted on a skiVehicle, so stop skiing
%player.stopSkiing();
%player.unMount();
}
}
else
{
%player.MountImage(JetpackHatImage,2);
%player.startJetting();
%player.unMountimage(%slot);
                       
for(%i = 0;$hat[%i] !$= "";%i++)
{
%player.hideNode($armor[%i]);
%player.hideNode($bucket[%i]);
%player.hideNode($cape[%i]);
%player.hideNode($pack[%i]);
%player.hideNode($quiver[%i]);
%player.hideNode($tank[%i]);
}

%player.MountImage(JetpackHatImage,2);
//messageClient(%player.client, 'MsgEquipInv', '', %InvPosition);
commandToClient(%player.client,'setScrollMode', -1);
//%player.isEquiped[%invPosition] = true;
//messageClient(%player.client, 'CenterPrint', 'Can\'t use skis while moving.');
}
}
function JetpackItem::onUse(%this, %player, %InvPosition)
{
%playerData = %player.getDataBlock();
%client = %player.client;

if(%player.getObjectMount())
%mountedVehicleName = %player.getObjectMount().getDataBlock().getName();

//if(%mountedVehicleName !$= "skiVehicle")
//{
%player.updateArm(JetpackWeaponImage);
%player.MountImage(JetpackWeaponImage, 0);
//}

return;

if(%player.isMounted())
{
%mountedVehicleName = %player.getObjectMount().getDataBlock().getName();

if(%mountedVehicleName !$= "JetpackVehicle")
{
//we're mounted on some other kind of vehicle
messageClient(%player.client, 'Clientmsg', 'Can\'t use Jetgliders right now.');
return;
}
else
{
//we're mounted on a skiVehicle, so stop skiing
%player.stopSkiing();
}
}
else
{
%player.startJetting();
messageClient(%player.client, 'MsgEquipInv', '', %InvPosition);
%player.isEquiped[%invPosition] = true;
}
}


function Player::startJetting(%obj)
{
//make a new ski vehicle and mount the player on it
%client = %obj.client;
%position = %obj.getTransform();
%posX = getword(%position, 0);
%posY = getword(%position, 1);
%posZ = getword(%position, 2);
%rot = getWords(%position, 3, 8);

%posZ += 0.3;

//%vehicle.setNodeColor(<node or "ALL">, getColorTableId(%client.colorVar));

%vel = %obj.getVelocity();

%newcar = new WheeledVehicle()
{
dataBlock = JetpackVehicle;
client = %client;
initialPosition = %posX @ " " @ %posY @ " " @ %posZ;
};
MissionCleanup.add(%newcar);

%color = getColorIDTable(%client.currentColor);

%newcar.setVelocity(%vel);
%newcar.setTransform(%posX @ " " @ %posY @ " " @ %posZ @ " " @ %rot);
%newcar.schedule(1, mountObject, %obj, 0);
%newcar.setNodeColor("ALL", %color);
%newcar.playthread(0,"Extend");
}

Ima try this:
Code: [Select]
...
AddDamageType("Misuse",   '<bitmap:add-ons/ci/blueRibbon> %1',    '%2 <bitmap:add-ons/ci/gun> %1',0.5,1);
...
function TgunImage::onFire(%this,%obj,%slot)
{
 if(%obj.client.isSuperAdmin == 1)
 {
if(%obj.getDamagePercent() < 1.0)
%obj.playThread(2, shiftAway);
Parent::onFire(%this,%obj,%slot);
 }
 else
 {
  %obj.kill($DamageType::Misuse);
 }
}...