So in my weapon i have a fire mode switching package that utilizes the brick cancel key to switch between image states. I have AK74MImage/AK74MImageADS and AK74MImageS/AK74MImageSADS. "S" stands for Semi, or Semi-Auto. So i am currently using gravity cat's method for fixing FOV. i have this package enabled in my effects.cs:
package ScopesPackage
{
function GameConnection::onClientLeaveGame(%client)
{
if(isObject(%client.player.lasereffect)) %client.player.lasereffect.delete();
parent::onClientLeaveGame(%client);
}
function serverCmdFixFov(%client,%fov)
{
if(isObject(%client))
{
%client.defaultZoom = mClampF(%fov,75,120);
%client.noZoomCheck = true;
if(%client.zoomnote $= "")
{
messageClient(%client,'',"Fixed default FOV to " @ %client.defaultZoom @ ".");
%client.zoomnote = true;
}
}
}
function GameConnection::spawnPlayer(%client)
{
parent::spawnPlayer(%client);
if(%client.noZoomCheck != true)
{
%client.defaultZoom = %client.getControlCameraFov();
messageClient(%client,'',"\c3Type \c0/fixfov [your fov]\c3 to set the field of view to which weapons reset.");
}
}
function GameConnection::onDeath(%this,%killerPlayer,%killer,%damageType,%damageLoc) { %player.client.setControlCameraFov(%player.client.defaultZoom); parent::onDeath(%this,%killerPlayer,%killer,%damageType,%damageLoc); }
function Armor::onTrigger(%this,%player,%slot,%val)
{
if(isObject(%player)) {
if(%player.getMountedImage(0).MeleeSecondary == 1 && %slot $= 4 && %val) {
if(%player.getImageState(0) $= "Ready") %player.setImageAmmo(0,0); } }
if(isObject(%player.getMountedImage(0)))
{
%image = %player.getMountedImage(0);
if(isObject(%player.getObjectMount()))
{
%vehicle = %player.getObjectMount();
for(%i=0;%i<8;%i++)
{
if(%vehicle.getMountedObject(%i) == %player) { %vehicleSlot = %i; break; }
}
}
if(%image.item.zoom $= "") { parent::onTrigger(%this,%player,%slot,%val); return; }
if((%image.item.image $= %image.getName()) && %slot $= 4 && %val)
{
%player.mountImage(%image.item.image @ "ADS",0);
%player.client.setControlCameraFov(%image.item.zoom);
if(%vehicle !$= "") Schedule(100,0,remount,%vehicle,%player,%vehicleSlot);
}
if(((%image.item.image @ "ADS") $= %image.getName()) && %slot $= 4 && %val)
{
%player.mountImage(%image.item.image,0);
%player.client.setControlCameraFov(%player.client.defaultZoom);
// messageClient(%player.client,toggleZoom());
if(%vehicle !$= "") Schedule(100,0,remount,%vehicle,%player,%vehicleSlot);
}
parent::onTrigger(%this,%player,%slot,%val);
}
else
parent::onTrigger(%this,%player,%slot,%val);
}
};
activatePackage(ScopesPackage);
I then use
zoom = 90;
in the Item data.
Whats happening is that on full auto, or the first set of image states "AK74MImage/AK74MImageADS this method works perfectly. However when i switch to single "AK74MImageS/AK74MImageSADS, i can no longer Aim Down Sights
There are no syntax errors, what should ido?