Call of Duty 4: Bobbing Models: Difference between revisions
| No edit summary |  Fixed some stuff and a crash in the code. | ||
| Line 49: | Line 49: | ||
| == In Script == | == In Script == | ||
| * Create a new file under /raw/maps/mp/ called _bobbing_obj.gsc and  | * Create a new file under /raw/maps/mp/ called _bobbing_obj.gsc and insert the following: | ||
| <pre> | <pre> | ||
| main() | main() | ||
| { | { | ||
| 	thread bobbing_think(); | |||
| } | |||
| bobbing_think() | bobbing_think() | ||
| { | { | ||
| 	obj1 = getent("bobbing_obj","targetname");  | 	obj1 = getent("bobbing_obj","targetname"); //get the script_model entity | ||
| 	obj2 = getent("bobbing_obj2","targetname"); //  | 	obj2 = getent("bobbing_obj2","targetname"); //get the other script_model entity | ||
| 	wait (randomfloat (1.5)); //  | 	wait (randomfloat (1.5)); //generate a random number of seconds between bobs | ||
| 	org1 = (-83, -895, 688); //  | 	org1 = (-83, -895, 688); //define origin or location of your boat/script_model | ||
| 	org2 = (29, -897.1, 683); //  | 	org2 = (29, -897.1, 683); //define origin or location of your boat/script_model | ||
| 	timer = 1; //  | 	timer = 1; //bobbing speed - higher number = slower bobbing | ||
| 	while (1) | 	while (1) | ||
| 	{ | 	{ | ||
| 		obj1 moveto (org1 + (0,0,2), timer, timer * 0.5, timer * 0.5); // 2 is num. of units to go over Orig. | |||
| 		obj2 moveto (org2 + (0,0,-1), timer, timer * 0.5, timer * 0.5); | |||
| 		wait (timer); | |||
| 		obj1 moveto (org1 + (0,0,-2), timer, timer * 0.5, timer * 0.5); // 2 is num. of units to go over Orig. | |||
| 		obj2 moveto (org2 + (0,0,1), timer, timer * 0.5, timer * 0.5); | |||
| 		wait (timer); | |||
| 	} | 	} | ||
| } | } | ||
| Line 81: | Line 82: | ||
| In your main mp GSC, after ''maps\mp\_load::main();'' add this line: | In your main mp GSC, after ''maps\mp\_load::main();'' add this line: | ||
| 	maps\mp\_bobbing_obj::main(); | |||
| Now, add this to your Zone File: | Now, add this to your Zone File: | ||
| 	rawfile,maps/mp/_bobbing_obj.gsc | |||
| Compile and test! | Compile and test! | ||
Revision as of 18:37, 23 October 2008
 This tutorial shows how to create 'bobbing' models in water to give a floating movement impression. I got the script from a COD2 tutorials by BR3NT
 This tutorial shows how to create 'bobbing' models in water to give a floating movement impression. I got the script from a COD2 tutorials by BR3NT
2 models are animated in this example:
com_bottle4 me_plastic_crate1

In Radiant
Place the 2 models how we want them with their top surface slightly (2/3 units) over the water patch.
Select the first model, right clic in the 2D window and select Script then Script_model
Then witht the first model still selected press 'n' to bring up the entity window and enter the following key/values:
targetname bobbing_obj
Do the same steps for the second model using those:
targetname bobbing_obj2
The result should be:
and
In Script
- Create a new file under /raw/maps/mp/ called _bobbing_obj.gsc and insert the following:
main()
{
	thread bobbing_think();
}
bobbing_think()
{
	obj1 = getent("bobbing_obj","targetname"); //get the script_model entity
	obj2 = getent("bobbing_obj2","targetname"); //get the other script_model entity
	
	wait (randomfloat (1.5)); //generate a random number of seconds between bobs
	
	org1 = (-83, -895, 688); //define origin or location of your boat/script_model
	org2 = (29, -897.1, 683); //define origin or location of your boat/script_model
	timer = 1; //bobbing speed - higher number = slower bobbing
	
	while (1)
	{
		obj1 moveto (org1 + (0,0,2), timer, timer * 0.5, timer * 0.5); // 2 is num. of units to go over Orig.
		obj2 moveto (org2 + (0,0,-1), timer, timer * 0.5, timer * 0.5);
		wait (timer);
		obj1 moveto (org1 + (0,0,-2), timer, timer * 0.5, timer * 0.5); // 2 is num. of units to go over Orig.
		obj2 moveto (org2 + (0,0,1), timer, timer * 0.5, timer * 0.5);
		wait (timer);
	}
}
In your main mp GSC, after maps\mp\_load::main(); add this line:
maps\mp\_bobbing_obj::main();
Now, add this to your Zone File:
rawfile,maps/mp/_bobbing_obj.gsc
Compile and test!
--Zeroy. 14:18, 16 October 2008 (UTC)






