Jump to content
Sign in to follow this  
dinger

Chain of Command Unified Artillery 1.1

Recommended Posts

As I said, you need to take the Obelisk from the Logic-side; in your test mission you're using the CoC_ObeliskW from the west-side.

Share this post


Link to post
Share on other sites

I should have mentioned that I tried all variants of the obelisk, including the Logic side :)

Share this post


Link to post
Share on other sites
I should have mentioned that I tried all variants of the obelisk, including the Logic side :)

My apologies, I just tried it (I thought I already tried it...).

Anyway, it seems that the CoC-guys have rigged UA 1.1 to not work with CWA 1.99 (I guess that they built in errors, so UA 1.1 does not work in VBS1).

Anyway, they didn't expect that there might be some day a patch/update to our OFP which includes new scripting commands (like isServer) or event handlers (like "animchanged").

So, it's time to look through all scripts and check for those deliberate changes to make UA unusable.

Share this post


Link to post
Share on other sites

Hmm that's a shame. UA is kind of a deal-breaker between using 1.96 vs 1.99. Do you have any idea to what form these checks take so I can look out for them?

Or, maybe one of these guys is still around and cares enough to do something officially?

Share this post


Link to post
Share on other sites

The following lines need to be removed from their respective files:

coc_arty\scripts\initclient.sqs
line 8: 
player addeventhandler ["AnimChanged", {player setpos [(getpos player select 0)+ (random 10) - 5), (getpos player select 1)+ (random 10) - 5), random 3]}]

line 163:
if (getworld == "Noe") then {CoCGridSize = -512} else {CoCGridSize =  -528};

coc_arty\scripts\initserver.sqs
line 15:
?IsServer or (!IsServer):exit

There may be more checks for VBS1 scripting commands, I found for example "configfile". This doesn't affect CWA though since this scripting command does not exist. Nevertheless, people may by accident use variables which have the same name as some VBS1-command or -variable for which UA checks, thus breaking UA with people not knowing why.

Especially the isServer check, which i can imagine people have used as a variable name.

Of course, as already mentioned, there may be more checks whether UA is running under VBS1; and they may be even obfuscated by using "format" or string concatenation to mask the check so it isn't found by using a simple utility like grep.

Share this post


Link to post
Share on other sites

Hi vektorboson

It is actualy more complex than that. There are several internal functions that are OFP specific. You said there may be some use of VBS code in this release that would probably cause several pointers to point to the wrong place because UA shares code with the VBS version and some functions were available in VBS that were not available in OFP so various pointers are set to account for differences.

I will see what can be done. A more complex release may be needed.

Kind Regards Walker

Edited by walker

Share this post


Link to post
Share on other sites

Thanks Walker, hopefully a 1.99 solution can be found for this. CoC variants was always high among of my favourites for OFP :)

Share this post


Link to post
Share on other sites

Hehehe

I forgot about those beauties.

Yeah, there's probably one or two more stashed somewhere really nasty.

I'm on the road for the next couple of weeks, but between the lot of us, we might be able to work something out.

-Dinger

Share this post


Link to post
Share on other sites
Hehehe

I forgot about those beauties.

Yeah, there's probably one or two more stashed somewhere really nasty.

I'm on the road for the next couple of weeks, but between the lot of us, we might be able to work something out.

-Dinger

I found your email address in one of the scripts, I was going to fire one off to you just in case it was still valid :)

Share this post


Link to post
Share on other sites
Hehehe

I forgot about those beauties.

Yeah, there's probably one or two more stashed somewhere really nasty.

I'm on the road for the next couple of weeks, but between the lot of us, we might be able to work something out.

-Dinger

I think I found them all, that is if you didn't put any obfuscated ones in. I've just grepped for every VBS1-scripting command in the coc_arty.pbo and removed the offending lines if they were doing something malicious or were simply useless.

So, I'd be happy if I'd get permission to release a hotfix (updated coc_arty.pbo), until you workout a 'clean' version. Hopefully my hotfix is not BIS-style :D

Right now UA 1.1 is useless anyway, so people need to either use UA 1.0 (which is working) or they apply the fixes I suggested earlier in this thread.

Share this post


Link to post
Share on other sites
I think I found them all, that is if you didn't put any obfuscated ones in. I've just grepped for every VBS1-scripting command in the coc_arty.pbo and removed the offending lines if they were doing something malicious or were simply useless.

So, I'd be happy if I'd get permission to release a hotfix (updated coc_arty.pbo), until you workout a 'clean' version. Hopefully my hotfix is not BIS-style :D

Right now UA 1.1 is useless anyway, so people need to either use UA 1.0 (which is working) or they apply the fixes I suggested earlier in this thread.

I am available for some simplistic finger-in-the-air testing :)

I never used UA to it's designed fullest, but I can test my old OFP missions & see if they play the same.

Share this post


Link to post
Share on other sites
I think I found them all, that is if you didn't put any obfuscated ones in. I've just grepped for every VBS1-scripting command in the coc_arty.pbo and removed the offending lines if they were doing something malicious or were simply useless.

I would be a bit apprehensive about assuming that is all. I think I'll be slightly disappointed with Dinger if it is. :D

Problem with releasing updated PBO's on a whim is versioning. Same filename etc. And if there is another update, or two... I'll leave that decision up to Dinger/Walker.

Share this post


Link to post
Share on other sites

you can go for a hotfix (1.11), at least for testing purposes. Bn880's right, there's probably a self-modifying one in there. The ?IsServer one is the one you're supposed to find; the addeventhandler is the one to convince you you've found the nasty one. The next one, if it exists, will be an intermittent failure. So if something breaks, let me know and we can look.

I might have documented these somewhere.

Share this post


Link to post
Share on other sites
you can go for a hotfix (1.11), at least for testing purposes. Bn880's right, there's probably a self-modifying one in there. The ?IsServer one is the one you're supposed to find; the addeventhandler is the one to convince you you've found the nasty one. The next one, if it exists, will be an intermittent failure. So if something breaks, let me know and we can look.

The next one is getworld == "Noe" which sets the gridsize to a bogus number. There are many more, like checking for configfile, changing saveConfig, a.s.o.

As I've said, I'd expect there was somewhere an obfuscated one, but unless you are using the very small subset of VBS1-commands that CWA implements, we could be lucky and I did get them all.

Since you suggest 1.11 as the version number (though you probably know version numbers are not decimal numbers) I'll use it.

EDIT: Found another one which creates a random nuke, though I need to backtrace it :)

---------- Post added at 18:32 ---------- Previous post was at 16:42 ----------

The hotfix is available here:

https://docs.google.com/leaf?id=0BwnG8i15OvIpYzJhYTFhYzgtN2IyYi00NjcxLWJmNTUtODczNTM0MmFlMTg0&hl=en_US

Please report any bugs you encounter.

Edited by vektorboson

Share this post


Link to post
Share on other sites

And by the sound of it, be sure to wear SPF 3,000,000 while testing.

Share this post


Link to post
Share on other sites

Played out several successful scenarios last night, seemed to work OK but I note that the hieroglyphics are still on the obelisk - I don't know if that represents a warning or not.

There is also the issue of OFP crashing between CoC sessions, but I *seem* to remember that happening before, so maybe that's an old long standing problem.

Edited by DMarkwick

Share this post


Link to post
Share on other sites

The writing on the side of the Obelisk has always been there. If I recall, it reads:

Catena Imperii

Recordemur eos qui pro nobis ceciderunt.

(just an Easter Egg for anyone who cares).

The intersession crash is due to a longstanding bug that I understand was isolated in 2006 or 2007: when the number of global variables exceeds something like 4096, the engine implodes on loading the next mission.

ArmA introduced the ability to assign variables to objects, or rather to define properties of objects; in OFP, we had to use self-modifying code and global variables to achieve the same. UA produces a lot of variables.

Edited by Dinger
precision

Share this post


Link to post
Share on other sites

Little oddity that I noticed: if I'm near a dead body that has a radio, I can access the radio's functionality, but I cannot actually take the radio. So I can call in fire for example, as long as I'm close to the body that has the radio. I just cannot take the radio :)

Share this post


Link to post
Share on other sites
Little oddity that I noticed: if I'm near a dead body that has a radio, I can access the radio's functionality, but I cannot actually take the radio. So I can call in fire for example, as long as I'm close to the body that has the radio. I just cannot take the radio :)

That's what radio "weapons" are for; if you have the BAS-delta/rangers you can use the BAS_Satcom or Laser's US Weapons pack the PRC-117. There are some more radio classes which can be used. Don't forget to use that COC-logic that enables the radio weapons.

It is also possible to extend the usable radio weapons; it should be somewhere in the UA documentation.

Share this post


Link to post
Share on other sites

How do i ad my own mortars for use with CoC arty?

I mean addon mortar.

Share this post


Link to post
Share on other sites

You might try consulting the documention that comes with the addon, it covers things pretty well.

Basicly you need a description.ext file with the "fed" line, use the CoC game logics on the map and locate a mortar.

edit: oh and you also need the proper radio type.

Share this post


Link to post
Share on other sites
How do i ad my own mortars for use with CoC arty?

I mean addon mortar.

You mean create an addon from scratch? It's a pretty long process. Do you already have a model for you mortar? There are a few addons around that use the CoC UA system. Have a look at the artillery in the Falklands mod and see how they did it.

It's actually version 1.0 of UA that has the documentation on how to make an addon UA compatable.

Good luck!

Share this post


Link to post
Share on other sites

1.0. I've been searching for docs in 1.1 .Thanks for the info.

Share this post


Link to post
Share on other sites

I'm trying to get the arty to work, its working in basic missions and premade editor ones.

But when I make a mission it gives me a error :Resource CoC_DigFED not found. I know its not something i dident install since it works fine in other missions. Oh and it only appears when I click the FED menu.

Yes I have the FED game logic and obelisk set up.

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  

×