Blockland Forums > Modification Help
onPlant and onRemove errors?
Greek2me:
I took a piece from Space Guy's TDM code that makes triggers on bricks. Whenever I plant or remove a brick, I get one of these errors:
--- Code: ---Add-Ons/Server_VW_Extension/capturepoints.cs (114): Unknown command onPlant.
Add-Ons/Server_VW_Extension/capturepoints.cs (129): Unknown command onRemove.
--- End code ---
I have no idea what's wrong since everything works, the only problem is that it gives an error. Here are the functions it refers to:
--- Code: ---function fxDTSBrick::onPlant(%this)
{
Parent::onPlant(%this);
if(%this.dataBlock.isVWCapturePoint)
{
%this.createTriggerZone(VWcontrolTriggerData);
}
}
function fxDTSBrick::onRemove(%this)
{
if(%this.dataBlock.isVWCapturePoint)
{
if(isObject(%this.triggerZone))
{
%this.triggerZone.delete();
}
}
Parent::onRemove(%this);
}
--- End code ---
No, I have not packaged these because whenever I package them, it returns a random syntax error.
Kalphiter:
--- Quote from: Greek2me on September 22, 2010, 10:35:02 PM ---No, I have not packaged these because whenever I package them, it returns a random syntax error.
--- End quote ---
did you did this:
packge asdf { };
Greek2me:
Yes, exactly like that.
Kalphiter:
Show us the whole package code.
Greek2me:
--- Code: ---function fxDTSBrick::onPlant(%this)
{
Parent::onPlant(%this);
if(%this.dataBlock.isVWCapturePoint)
{
%this.createTriggerZone(VWcontrolTriggerData);
}
}
function fxDTSBrick::onRemove(%this)
{
if(%this.dataBlock.isVWCapturePoint)
{
if(isObject(%this.triggerZone))
{
%this.triggerZone.delete();
}
}
Parent::onRemove(%this);
}
function fxDTSBrick::createTriggerZone(%brick,%triggerData)
{
if(!isObject(%triggerData))
{
error("ERROR: Trigger data \"" @ %triggerData @ "\" does not exist for " @ %this.dataBlock.getName() @ " brick!");
return;
}
if(%triggerData.getClassName() !$= "TriggerData")
{
error("ERROR: \"" @ %triggerData @ "\" is not a TriggerData datablock!");
return;
}
%t = new Trigger()
{
dataBlock = %triggerData;
polyhedron = "0 0 0 1 0 0 0 -1 0 0 0 1";
};
if(!isObject(%t))
{
error("ERROR: Could not create trigger for " @ %this.dataBlock.getName() @ " brick!");
return;
}
missionCleanup.add(%t);
//The trigger is made slightly larger than the brick and offset
%boxMin = getWords(%brick.getWorldBox(), 0, 2);
%boxMax = getWords(%brick.getWorldBox(), 3, 5);
%boxDiff = vectorSub(%boxMax, %boxMin);
%boxDiff = vectorAdd(%boxDiff, "0 0 0.2");
%t.setScale(%boxDiff);
%posA = %brick.getWorldBoxCenter();
%posB = %t.getWorldBoxCenter();
%posDiff = vectorSub(%posA, %posB);
%posDiff = vectorAdd(%posDiff, "0 0 0.1");
%t.setTransform(%posDiff);
%this.triggerZone = %t;
%t.spawnBrick = %brick;
}
--- End code ---