Blockland Forums > Modification Help
Vehicle Spawning
(1/6) > >>
heedicalking:
I am working on a piece of my Colony RP where you need to pay resources to spawn vehicles. It spams the console with unable to find function getdatablock()


--- Code: --- function fxDTSBrick::setVehicle(%brick, %vehicle)
{

if(isObject(%brick.getGroup().client) && isObject(%vehicle))
{
%CostWood = %vehicle.getdatablock().CostWood;
%CostSteel = %vehicle.getdatablock().CostSteel;
if(%Costwood >= 1 || %Coststeel >= 1)
{
%client = %brick.getGroup().client;
if(%client.Colonies["Wood"] >= %Costwood && %client.Colonies["Steelbar"] >= %CostSteel)
{
%client.Colonies["Wood"] -= %costwood;
%client.Colonies["Steelbar"] -= %costSteel;
parent::setVehicle(%brick, %vehicle);
}
else
{
%vehicle = 0;
return;
messageClient(%brick.getGroup().client, '', "\c6You need at least \c3" SPC %Costwood @ "\c6Wood and \c3" SPC %CostSteel @ "\C6Steel.");
}


}
else
{
%vehicle = 0;
return;
}

}



}
--- End code ---
I want it to make you lose the amount of resources specified in the vehicle's datablock as well as return and not force you to pay when the vehicle has an error when spawning, such as stuck in terrain.

It's packaged by the way, just didn't feel like pasting the whole mega package.
Headcrab Zombie:
Never used setVehicle myself so I can't say for sure, but maybe %vehicle is supposed to be the datablock?
Kalphiter:
%vehicle is a datablock
heedicalking:
That worked, but what about checking for spawning errors or setting the vehicle back to none. When I try to set it back to none, it returns.
heedicalking:
I changed it up a bit:

--- Code: --- function fxDTSBrick::spawnVehicle(%brick, %vehicle)
{

if(isObject(%brick.getGroup().client))
{
%CostWood = %vehicle.CostWood;
%CostSteel = %vehicle.CostSteel;
if(%Costwood >= 1 || %Coststeel >= 1)
{
%client = %brick.getGroup().client;
if(%client.Colonies["Wood"] >= %Costwood && %client.Colonies["Steelbar"] >= %CostSteel)
{
%client.Colonies["Wood"] -= %costwood;
%client.Colonies["Steelbar"] -= %costSteel;
parent::spawnVehicle(%brick, %vehicle);
}
else
{
%vehicle = 0;
return;
messageClient(%brick.getGroup().client, '', "\c6You need at least \c3" SPC %Costwood @ "\c6Wood and \c3" SPC %CostSteel @ "\C6Steel.");
}


}
else
{
%vehicle = 0;
return;
}

}



}

--- End code ---
But now when I try spawning it, nothing happens. No console errors either.
Navigation
Message Index
Next page

Go to full version