Blockland Forums > Modification Help
Projectile scale?
<< < (2/3) > >>
takato14:
Wait, crap. Forgot to specify %shellcount. Fixed it.

New problem: the projectile is always the same scale no matter how long I hold the button.
Iban:
Yeah that would be a problem.

%shellCount is undefined, meaning it will produce 0 projectiles.

You didn't copy the code over correctly.

Edit: What is the console echo'ing for ScaleFactor
takato14:

--- Quote from: Iban on March 21, 2011, 08:51:46 PM ---Edit: What is the console echo'ing for ScaleFactor

--- End quote ---
2.
Edit: I have this function before the onFire one. (The weapon image is based off of the Spear's image)

--- Code: ---function SLCZImage::onCharge(%this, %obj, %slot)
{
%obj.client.saved_time = getSimTime();
}

--- End code ---
Iban:
Just replace the entire loop with this.

It should make the projectile a random size every time you fire.

I also put the size rescaling post-group add, but that shouldn't really change anything.


--- Code: --- for(%shell=0; %shell<%shellcount; %shell++)
{
%p = new (%this.projectileType)()
{
dataBlock = %projectile;
initialVelocity = vectorScale(%obj.getMuzzleVector(%slot), 200);
initialPosition = %obj.getMuzzlePoint(%slot);
sourceObject = %obj;
sourceSlot = %slot;
client = %obj.client;
};
missionCleanup.add(%p);

%scaleFactor = getRandom(0, 200) / 100;
%p.setScale(%scaleFactor SPC %scaleFactor SPC %scaleFactor);
}
--- End code ---

If this doesn't work I don't know.
takato14:

--- Quote from: Iban on March 21, 2011, 08:56:13 PM ---Just replace the entire loop with this.

It should make the projectile a random size every time you fire.

I also put the size rescaling post-group add, but that shouldn't really change anything.


--- Code: --- for(%shell=0; %shell<%shellcount; %shell++)
{
%p = new (%this.projectileType)()
{
dataBlock = %projectile;
initialVelocity = vectorScale(%obj.getMuzzleVector(%slot), 200);
initialPosition = %obj.getMuzzlePoint(%slot);
sourceObject = %obj;
sourceSlot = %slot;
client = %obj.client;
};
missionCleanup.add(%p);

%scaleFactor = getRandom(0, 200) / 100;
%p.setScale(%scaleFactor SPC %scaleFactor SPC %scaleFactor);
}
--- End code ---

If this doesn't work I don't know.

--- End quote ---
That's not what I wanted it to do, what I want is the longer you hold the mouse button before firing, the larger/more powerful the blast is. This is in an attempt to avoid several wasteful datablocks.

Probably should've specified that earlier.
Navigation
Message Index
Next page
Previous page

Go to full version