Alright, I got everything to work, here is the fixed code for anyone wondering. Thank you Zeblote.
// trader bot hole information
datablock fxDTSBrickData (BrickTraderBot_HoleSpawnData)
{
brickFile = "Add-ons/Bot_Hole/4xSpawn.blb";
category = "Special";
subCategory = "Holes";
uiName = "Trader Hole";
iconName = "Add-Ons/Bot_Blockhead/icon_blockhead";
bricktype = 2;
cancover = 0;
orientationfix = 1;
indestructable = 1;
isBotHole = 1;
holeBot = "traderHoleBot";
};
datablock PlayerData(TraderHoleBot : PlayerStandardArmor)
{
uiName = "";
canJet = 0;
maxItems = 0;
maxWeapons = 0;
maxTools = 0;
runforce = 100 * 90;
maxForwardSpeed = 8;
maxBackwardSpeed = 4;
maxSideSpeed = 8;
rideable = false;
canRide = false;
isInvincible = true;
isHoleBot = 1;
hIdle = 1;
hIdleLookAtOthers = 1;
};
//snazzy trader
function TraderHoleBot::onAdd(%this, %obj, %botData, %bot)
{
Armor::onAdd(%this, %obj);
%obj.llegColor = "0.392157 0.196078 0 1";
%obj.secondPackColor = "0.388235 0 0.117647 1";
%obj.lhand = "0";
%obj.hip = "0";
%obj.faceName = "smileyPirate2";
%obj.rarmColor = "0.901961 0.341176 0.0784314 1";
%obj.hatColor = "1 1 1 1";
%obj.hipColor = "0.200 0.200 0.200 1.000";
%obj.chest = "0";
%obj.rarm = "0";
%obj.packColor = "0.2 0 0.8 1";
%obj.pack = "0";
%obj.decalName = "Mod-Suit";
%obj.larmColor = "0.901961 0.341176 0.0784314 1";
%obj.secondPack = "0";
%obj.larm = "0";
%obj.chestColor = "0.901961 0.341176 0.0784314 1";
%obj.accentColor = "0.000 0.200 0.640 0.700";
%obj.rhandColor = "1 0.878431 0.611765 1";
%obj.rleg = "0";
%obj.rlegColor = "0.392157 0.196078 0 1";
%obj.accent = "0";
%obj.headColor = "1 0.878431 0.611765 1";
%obj.rhand = "0";
%obj.lleg = "0";
%obj.lhandColor = "1 0.878431 0.611765 1";
%obj.hat = "0";
GameConnection::ApplyBodyParts(%obj);
GameConnection::ApplyBodyColors(%obj);
%obj.tradeZone = new Trigger()
{
position = vectorsub(%obj.spawnBrick.getPosition(), "2.5 2.5 0");
datablock = TraderTriggerData;
polyhedron = "0 0 0 5 0 0 0 5 0 0 0 4";
};
}
datablock TriggerData(TraderTriggerData)
{
className = "TraderTrigger";
tickPeriodMS = 100;
};
function TraderTrigger::onEnterTrigger(%triggerData, %trigger, %player)
{
centerPrint(%player.getControllingClient(), "\c5You cannot take damage in this zone.", 5);
echo("Zone entered!");
}
function TraderTrigger::onLeaveTrigger(%triggerData, %trigger, %player)
{
centerPrint(%player.getControllingClient(), "\c5You have left the zone. You are now able to take damage.", 5);
echo("Zone left!");
}
package TraderActivate
{
function Player::Activatestuff(%obj)
{
Parent::Activatestuff(%obj);
%object = getWord(containerRaycast(%obj.getEyePoint(),vectorAdd(%obj.getEyePoint(),vectorScale(%obj.getEyeVector(),3)),$Typemasks::playerObjectType,%obj), 0);
if(isObject(%object))
{
%playerData = %object.getDataBlock();
if(%playerData == TraderHoleBot.getId())
{
MessageClient(%obj.getControllingClient(), "", "\c5Trader:\c6 Hello, check out my variety of wares.");
}
}
}
};
activatePackage(TraderActivate);