I'm using free Light-C and have come across either a really easy or really odd problem depending on what I'm doing wrong. I have the following code called when a projectile hits the character. I get an "Error E1515: Invalid arguments in modelHit" when the program first runs. When I remove the 'you' instructions (and replace them with 'my's) the error goes away. I can plenty of code and examples to show you guys if you want, but I'm hoping this is the source of the problem.

Code:
function modelHit()
{
	switch(event_type)
	{
		case EVENT_IMPACT:
			addLine("Characters are colliding, Oh my!");
			double modifierForUp = (3/4);
			double modifierForDown = (1/4);
			int launchAngle = 30;
			
			if(you.push == 2)		//A projectile has hit the character
			{
				//Check velocity of projectile, character will impact in the same direction regardless of where you hit the projectile
				//my.skill1 = damage, my.skill2 = orientation
				if(you.velX <= 0)
				{	//launch with a force 30 degrees into the air
					my.velX = -1 + you.damage * my.health * cos(launchAngle) * -1;
					my.velZ = 1 + you.damage * my.health * sin(launchAngle);
				}
				else  
				{	//launch with a force 30 degrees into the air
					my.velX = 1 + you.damage * my.health * cos(launchAngle);
					my.velZ = 1 + you.damage * my.health * sin(launchAngle);
				}  
				my.health += you.damage;

				you.state = dead;
				//previously had the following code
                                //wait(1);
                                //ent_remove(you);  //Now works just fine with
                    //these too remove, commented it out here so others could see
				return;
			}
       }
}


Code above works just fine now, previously had a wait(1); then a remove(you); statement, removed and handled elsewhere in the code did the trick.

Last edited by Trooper119; 09/05/08 13:52.

A clever person solves a problem.
A wise person avoids it.
--Einstein

Currently Codeing: Free Lite-C