Jump to content
Sign in to follow this  
geloxo

Handy Tools new releases WIP

Recommended Posts

Ok, here we go... I decided to postpone the video and just prepared a demo mission for you. The rope system pre-release is finally here:

arma2008-10-1821-01-05-19.jpg

Handy Tools Rope System pre-release (3 MB)

http://rapidshare.com/files/156295823/RopeSystem_pre_hotfix.zip

Feel free to upload it to your servers. No permission is needed to do it or to modify the code to work with your addons. You can also addapt it for MP but please, if you succeed, keep all of us informed at least, and release it tounge2.gif

Please take into account that with this pre-release of the Handy Tools new pack you will find some new features and some redesigns but work is not yet finished. But Rope System is stable at this point and can be used without problems.

Please read the "readme" included to find out how to make it work. The demo mission will show to you the current features of the Rope System (more to come as I´m still adding new ones). At this point the predefined configs allow you to work with UH-60, Chinooks, Hueys and AB212 from FFAA mod. Anyway it may be the case that the positions match for several models and no extra config is needed. To be honest, I didn´t have time to check all cases... I will try to extend those configs to the rest of BIS and most popular addons in the future. In the other cases the script works, but the attach point is a default one placed at pilot´s position. For the special case of the models with animated parts you can call the animation state directly in the predefined config. As an example the FAMET helicopters Chinook and AB212 from FFAA mod will automatically open their doors prior to the rapel insertion. This feature allows users to syncronize the custom animations with the rope attachment.

One of the new features from HT is the on-screen dialog for camera management. Press "H" and the options will pop-up.

Important note: This file replaces the old HT releases. If you experience problems with old missions just go back to the v1.0 release until I release a complete official update of the pack. Sorry for that... This pre-release changes some of the code but it´s only intended for demostration purposes, as a proof of concept, of the system basics and mathematics, cause if there was a problem with the basics of the code, now is the time to correct or addapt it for better performance. In the future I plan to improve it and also improve the physics of the ropes if this finally succeeds as a bigger project, but remember I created those addons just for fun and to experiment with the game engine capabilities.

Enjoy!

biggrin_o.gif

Share this post


Link to post
Share on other sites

Looks good, geloxo..!

I'm looking through the code.. do you know about .sqf? You can load stuff into game memory and it runs MUCH faster than .sqs scripting.

Also I see you're using setVariable to hold a lot of your information. I believe setVariable started to be broadcast in MP in a recent release. I could be wrong... but I know it made the steerable parachutes unable to work in MP and they used setVariable as well. But also good chance I could be wrong! I didn't look into it that much.

Also the command modelToWorld is a nice one.

I'd been thinking of trying to get velocity rope like swinging working... the only code example I could find was the grapple made for Quake2 and I was looking through that code but it was too difficult for me. Great that you were able to tackle this!

Share this post


Link to post
Share on other sites

Just played with the demo, very nice work, I had a lot of fun. I hope someone can bring this to MP.

Share this post


Link to post
Share on other sites

Thanks for the comments. I´m not so experienced with the engine to get the most of it so that´s why I recommend that everybody who wants so just plays around with my scripts and improve them. This is "open code", as my previous releases. I intend to dive into the coding but unfortunatelly I´m not so experienced yet to get the most of it, cause I joined the game series quite late.

I´m glad to read that you liked it. Thanks again  wink_o.gif

Cheers

Share this post


Link to post
Share on other sites

Some of the things you've brought to the game in your HT releases were just genius. If you're "not so experienced yet..." boy, when you ARE experienced you'll be able to turn the engines UPSIDE DOWN to your liking.

I'm beginning to think you're like, Neo. (The Matrix) biggrin_o.gif

There is no spoon. pistols.gif

Trying this out ASAP.

Vidz

Share this post


Link to post
Share on other sites

Has anyone actually tried this in MP yet to see the effects?

Share this post


Link to post
Share on other sites
Also the command modelToWorld is a nice one.

Uff, thanks a lot for the hint on "modeltoworld" command! I really missed that one and it avoids huge problems while positioning things, and indeed it prevents one of the known issues to reproduce: attach points deviate from their initial positions when chopper tilts. It simplifies a lot the calculation process and therefore some lines are no longer needed now

I have also changed the sqs to sqf as you suggested too. We will see the results soon.

biggrin_o.gif

Matt, by the way, I think the solution to your question is: to test it in MP, the server should call the script, not the player. As far as I understood from previous readings the units, vehicles, etc, are local for the player: truck is local for the driver(player) but that driver is also local to the server. So if two players call the rope, they will see it on their PCs but the rest of players not. But if the server calls the script all players should see it and all units / cargos attached to the rope should move properly for everybody in the server. I guess this is also valid for the chopper and jets scripts in the Handy Tools  icon_rolleyes.gif

Cheers

Share this post


Link to post
Share on other sites

greetings,

very nice work.. save one thing.

it crashes all servers...even the SP sad_o.gif  tried it on several dedicated servers (including my own) last night, can anyone else verify this?

this is going to be a serious issue for all open and public servers.. that start crashing when someone joins. it is very bad to lose a game 2.5 hours into it.. we did twice last night...

edit:

Arma report error

"Wrong vertex mapping for person collision geometry found in ht\rope\bone.p3d. Selection 1a not found" &&"Wrong geometry convex component mapping  for person collision geometry found in ca\animals\mosquito.p3d. Convex component number 6. not found

"

"Object::AnimatePoint ca\misc\hiddenpath_5.p3d - KeepHeight: Function is quite slow"

listed 11,350 times in the arma.rpt file.

Because you have classed your rope as civillian the engine is looking for the correct gemoetry and bones for man class , but your rope dont have it and the mosquito dosent have the right skeleton do do the other job your asking too, this is creating an absolute nightmare of a list in the arma,rpt leading to crashing afte _x minutes.

p.s... deanosbeanos has told me, for you or any other, to feel free to look at and use anything in his fast roping that would help out.

Share this post


Link to post
Share on other sites

Yeah check out arma.rpt file. Also naming something .sqf instead of .sqs is not the same. The code itself is different. And each line needs a ";" at the end.

Share this post


Link to post
Share on other sites

Thanks for the support and sorry for the problems.

I was thinking about the bones for several days, and testing different options. I took the class civilian for visible bone and model mosquito for invisible one because you can set their position and vectorup and because (for civilian) the 0,0,0 position is at the end of the model (feet) and that´s easier for connecting bones.

In the beginning I tried to generate the rope with drop command, with particles, but it became difficult to syncronize them and the continuity of the bones was influenced by GPU performance. So, in case of big graphic loads, the particles began to separate from each other and the bones appeared as "series of dots" instead of continuous lines. That´s why I decided to switch to a rigid model instead.

If anyone has an alternative solution I will try to implement it.

wink_o.gif

Share this post


Link to post
Share on other sites
p.s... deanosbeanos has told me, for you or any other, to feel free to look at and use anything in his fast roping that would help out.

Thanks for the kind offer but I´m sorry to say this is not working with my scripts. I have tested and the rope model (.p3d) he uses is not compatible with vectorup setting, and therefore the bones can´t be moved like a pendulum.

I understand the server crashings are not acceptable so, I propose the following options for anyone who wants to support me and I will include it as part of the release (credits included, for sure):

1) I´s sorry but I can´t deal with 3D (no idea about that). The first solution is that someones creates a 3D model, compatible with Man class to avoid those vertex problems in servers, which looks like a rope bone. For your information I´m currently using the fence model:

"\ca\buildings\misc\DD_pletivo_sl.p3d"

which belongs to the following class hierachy:

Static-Building-Strategic-AAFence-AAHO226

as 3D model for the ht_rope class. Size of the 3D model is not relevant as my scripts can be re-configured by setting just one variable value (lenght of the bone).

2) Second option is to use a Mosquito class or any Insect class because they support vectorup setting, as Man class does too, and use the same fence model or your custom one on it. My current problem is that those classes use a coordinate system that is not placed on the object bottom, but on the middle. This causes the rope bones to be attached and moved wrongly in the rope. A quick example: if I attach to Mosquito class bones (2m lenght each) one next to the other and force them to oscillate, they will form a cross joined at 1m, instead of a 4m line, which is the result in the current rope implementation. If you tell me how can I alter that 3D model attachment in the class definition, so that it fits to the 3D model bottom or top (the feets / head on a Man class), no more should be needed and I could rework the script for that.

Thanks  wink_o.gif

Share this post


Link to post
Share on other sites

Maybe im saying something plain stupid, but isnt it as simple as opening the p3d in Oxygen, move it up until the bottom is at 0,0,0 and then save it?

Share this post


Link to post
Share on other sites
Maybe im saying something plain stupid, but isnt it as simple as opening the p3d in Oxygen, move it up until the bottom is at 0,0,0 and then save it?

Nothing is stupid, thanks for the comment. I talked with Loki and his friends yesterday night and they suggested that the problem is the geometry on the original 3D model. In ArmA logs I can read:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">Wrong geometry convex component mapping  for person collision geometry found in ht\rope\bone.p3d. Convex component number 3. not found

Wrong geometry convex component mapping  for person collision geometry found in ht\rope\bone.p3d. Convex component number 6. not found

You are right and this could be a solution too if I use a Mosquito class, but we have to be sure that no geometry at all is expected for this case too. I will test with O2 and classes today to try to solve it  biggrin_o.gif

I guess we will solve it at the end smile_o.gif

Share this post


Link to post
Share on other sites

Hi everybody,

I think I have managed to correct the problem with 3D models that produced server crashes. I have created a custom bone without geometry and this will be included in the next release of the tools. Special thanks to Loki, DeanosBeano, Spooner and friends for their support to identify this problem. Please, meanwhile do not join servers if you are using this pre-release to avoid further problems. I will release a hotfix this week.

On the other side I´m proud to say that da12thMonkey has kindly offered his custom fast rope animation to this addon, and it will also be included in the hotfix. Thanks for that wink_o.gif

frea9.jpg

Cheers

Share this post


Link to post
Share on other sites

yay.gif  yay.gif  yay.gif

edit: this is a test of the pre-released hotfix. NOT the one that is there at the time of writing this.

just tried it in SP.. no errors in the arma.rpt and the animations look great! there are some very fun toys in there as well... great job!!!

Share this post


Link to post
Share on other sites

Hi everybody,

As Loki said we found a way to solve it and everything should work ok now, without crashing servers. You can find the corrected version here:

http://rapidshare.com/files/156295823/RopeSystem_pre_hotfix.zip

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">Installation:

Copy @HT folder to your ArmA folder and the demo mission to your missions folder (please do not modify the folder names or scripts won´t work).

Delete any previous versions of HT.pbo from your hard disk cause this one includes a hotfix in 3D model that caused servers to crash.

It´s very important that you remove the old HT.pbo from your disk before installing this one. Please also look into the readme for further details.

I have changed some minor things (now no .sqs is called and it contains its own folder structure with an external config file for you to customize your choppers) but the demo mission is also included and updated. Also the custom animation from da12thMonkey is included.

Please update your mirrors with the new link. I have removed the old mirrors from the first post too to avoid confussion. Sorry for inconvinience.

As I´m not experienced with 3D the new bone model is a very basic cylinder but with no errors at least. Shadows on the ground are not continuos, so if you can tell me how to improve it, I  will do it next time. I have also changed the attachment by placing a "V" model on the side of the chopper.

If everything runs ok now I will not release more versions till the official one.

Special thanks to da12thMonkey, Loki, DeanosBeano and Spooner for their support! Also to Doolittle who gave me a new idea with the modeltoworld command and the rest of you for your comments and support. Give me a hint when you need my help in the future.

Cheers

wink_o.gif

Share this post


Link to post
Share on other sites

Brilliant work. Keep at it.  notworthy.gif

I am interested in using the airlift rope scripts by themselves, so I can change some of the functionality and behaviour.

(Eg: add/remove action menu items, don't allow rise/lower rope while cargo attached, different durations, manual attach/detach, change pendulum to inertia behaviour (since it would normally use a harness), stress/collision checks, add HUD, etc.)

Issues:

clean.sqf removes all actions on the chopper, which loses existing actions. You probably will need to track the action ID's, (even with the small risk of the menu ID's order changing).

nor planned for Arma II

With all of Arma 2's new scripting commands, I wonder if they will include some of the more advanced script commands like: attachTo (VBS2) & createRope (VBS2) ?

Share this post


Link to post
Share on other sites
Brilliant work. Keep at it.  notworthy.gif

I am interested in using the airlift rope scripts by themselves, so I can change some of the functionality and behaviour.

(Eg: add/remove action menu items, don't allow rise/lower rope while cargo attached, different durations, manual attach/detach, change pendulum to inertia behaviour (since it would normally use a harness), stress/collision checks, add HUD, etc.)

Issues:

clean.sqf removes all actions on the chopper, which loses existing actions. You probably will need to track the action ID's, (even with the small risk of the menu ID's order changing).

nor planned for Arma II

With all of Arma 2's new scripting commands, I wonder if they will include some of the more advanced script commands like: attachTo (VBS2) & createRope (VBS2) ?

No problem, use and modify "at will". I plan to improve the system and other things inside HT mod in the following weeks. This is the basics of the rope and I just published to find out if everything worked or not but more things are to come...

I thought about the actions removal but found no way to track the IDs properly. If I assigned IDs and used them for smart removal not all of them where deleted at the end. The clean.sqf only removes custom actions created after game started and rope system was called, so the ones defined in the unit config are kept. If you add extra actions while the rope is running and before it´s terminated they will be removed too, yeap, but I assumed that won´t happen so frequently.

Cheers

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×