Hey, I'm making a crafting system but whenever I do the function it wont subtract the varaible. Anyone see why?
function player::addnewitem(%this,%item)
{
if(!isObject(%this))
return;
if(!isObject(%item))
return;
for(%i = 0; %i < %this.getDatablock().maxTools; %i++)
{
%tool = %this.tool[%i];
if(%tool == 0)
{
%this.tool[%i] = %item.getId();
%this.weaponCount++;
messageClient(%this.client,'MsgItemPickup','',%i,%item.getId());
break;
}
}
}
datablock fxDTSBrickData(CreeRPGCraftBrickData : brick2x4FData)
{
category = "CRPG";
subCategory = "Bricks";
uiName = "Crafting Brick";
};
datablock TriggerData(CreeRPGCraft)
{
tickPeriodMS = 100;
};
function fxDtsBrick::createCreeRPGCraftTrigger(%this,%data)
{
%t = new Trigger()
{
datablock = %data;
polyhedron = "0 0 0 1 0 0 0 -1 0 0 0 1"; //this determines the shape of the trigger
};
missionCleanup.add(%t);
%boxMax = getWords(%this.getWorldBox(), 3, 5);
%boxMin = getWords(%this.getWorldBox(), 0, 2);
%boxDiff = vectorSub(%boxMax,%boxMin);
%boxDiff = vectorAdd(%boxDiff,"0 0 0.2");
%t.setScale(%boxDiff);
%posA = %this.getWorldBoxCenter();
%posB = %t.getWorldBoxCenter();
%posDiff = vectorSub(%posA, %posB);
%posDiff = vectorAdd(%posDiff, "0 0 0.1");
%t.setTransform(%posDiff);
%this.trigger = %t;
%t.brick = %this;
return %t;
}
function CreeRPGCraftBrickData::onAdd(%this,%brick)
{
%brick.scheduleNoQuota(0,"createCreeRPGCraftTrigger","CreeRPGCraft");
}
function CreeRPGCraftBrickData::onRemove(%this,%brick)
{
if(isObject(%brick.trigger))
%brick.trigger.delete();
}
function CreeRPGCraft::onEnterTrigger(%this,%trigger,%obj,%client)
{
commandToClient(%obj.client, 'OpenCraft');
%client.isInCCraft = 1;
parent::onEnterTrigger(%this, %trigger, %obj, %client);
}
function CreeRPGCraft::onLeaveTrigger(%this,%trigger,%obj,%client)
{
commandToClient(%obj.client, 'CloseCraft');
%client.isInCCraft = 0;
parent::onEnterTrigger(%this, %trigger, %obj, %client);
}
function CreeRPGCraft::onTickTrigger(%this,%trigger,%obj)
{
Parent::onTickTrigger(%this,%trigger);
}
function serverCmdCraftCopperBlade(%client)
{
if(%client.copperBars >= 3)
if(%client.isInCCraft == 1)
%client.copperBars -= 3;
%client.player.addNewItem(CopperSSwordItem);
}
function serverCmdCraftIronBlade(%client)
{
if(%client.isInCCraft == 1)
if(%client.copperBars >= 1)
if(isObject(%player = %client.player))
%client.copperBars -= 3;
%player.addNewItem(CopperSSwordItem);
}
function serverCmdCraftBronzeBlade(%client)
{
if(%client.isInCCraft == 1)
if(%client.copperBars >= 1)
if(isObject(%player = %client.player))
%client.copperBars -= 3;
%player.addNewItem(CopperSSwordItem);
}
function serverCmdCraftSteelBlade(%client)
{
if(%client.isInCCraft == 1)
if(%client.copperBars >= 1)
if(isObject(%player = %client.player))
%client.copperBars -= 3;
%player.addNewItem(CopperSSwordItem);
}
function serverCmdCraftHalaciteBlade(%client)
{
if(%client.isInCCraft == 1)
if(%client.copperBars >= 1)
if(isObject(%player = %client.player))
%client.copperBars -= 3;
%player.addNewItem(CopperSSwordItem);
}
Sorry for my sloppy code. Im a little new :/