//Random.cs
datablock ItemData(RandomItem)
{
category = "Weapon"; // Mission editor category
className = "Weapon"; // For inventory system
// Basic Item Properties
shapeFile = "./shapes/sword.dts";
mass = 1;
density = 0.2;
elasticity = 0.2;
friction = 0.6;
emap = true;
//gui stuff
uiName = "Random Weapon";
doColorShift = true;
colorShiftColor = "0.471 0.471 0.471 1.000";
// Dynamic properties defined by the scripts
canDrop = true;
};
datablock ShapeBaseImageData(RandomImage)
{
// Basic Item properties
shapeFile = "./shapes/sword.dts";
emap = true;
className = "WeaponImage";
item = RandomItem;
//casing = " ";
doColorShift = true;
colorShiftColor = "0.471 0.471 0.471 1.000";
};
function RandomItem::OnPickUp(%this, %obj, %player){
%random = GetRandom(1,10);
switch(%random){
case 1:
%Item = GunItem;
case 2:
%Item = RocketLauncherItem;
case 3:
%Item = ShotGunItem;
case 4:
%Item = SwordItem;
case 5:
%Item = BowItem;
case 6:
%Item = SniperRifleItem;
case 8:
%Item = hegrenadeItem;
case 9:
%Item = chainSawItem;
case 10:
%Item = SpearItem;
}
if(%player.tool[0] $= "0"){
%player.tool[0] = nametoID(%item);
messageclient(%player, 'MsgItemPickup', '', 0, nametoID(%item));
} else if(%player.tool[1] $= "0"){
%player.tool[1] = nametoID(%item);
messageclient(%player, 'MsgItemPickup', '', 1, nametoID(%item));
} else if(%player.tool[2] $= "0"){
%player.tool[2] = nametoID(%item);
messageclient(%player, 'MsgItemPickup', '', 2, nametoID(%item));
} else if(%player.tool[3] $= "0"){
%player.tool[3] = nametoID(%item);
messageclient(%player, 'MsgItemPickup', '', 3, nametoID(%item));
} else if(%player.tool[4] $= "0"){
%player.tool[4] = nametoID(%item);
messageclient(%player, 'MsgItemPickup', '', 4, nametoID(%item));
}
}
It's half working, it sets the clients invent to the weapons datablock but it dosen't put the weapon in their invent.