Jump to content
Phantom Aspect

🟢 Porting Arma 2 OA Warfare2 CTI to Arma 3 🟢

Recommended Posts

Notepad++ should be the best way ... I think there is even an SQF plugin for it.

Share this post


Link to post
Share on other sites

Update! Current list of errors once Warfare2 module is placed in editor, not sure what most of it is whinging about but it's far shorter than it used to be at least 😂

13:06:40   Error position: <SetVehicleInit "this ExecVM (corePath + >
13:06:40   Error Missing ;
13:06:40 File CA\Warfare2\Scripts\Common\Functions\Common_InitDefense.sqf..., line 10
13:06:40   Context: 	[] L51 (ca\Warfare2\Scripts\Init.sqf)
	[] L59 (ca\Warfare2\Scripts\Init.sqf)
	[] L269 (CA\Warfare2\Scripts\InitMission.sqf)
	[] L17 (CA\Warfare2\Scripts\Common\Init\Init_Common.sqf)

13:06:40 Error in expression <nseDestroyed.sqs"")}]",_side];
_defense SetVehicleInit "this ExecVM (corePath + >
13:06:40   Error position: <SetVehicleInit "this ExecVM (corePath + >
13:06:40   Error Missing ;
13:06:40 File CA\Warfare2\Scripts\Common\Functions\Common_InitDefense.sqf..., line 10
13:06:40   Context: 	[] L51 (ca\Warfare2\Scripts\Init.sqf)
	[] L59 (ca\Warfare2\Scripts\Init.sqf)
	[] L269 (CA\Warfare2\Scripts\InitMission.sqf)
	[] L17 (CA\Warfare2\Scripts\Common\Init\Init_Common.sqf)

13:06:40 Error in expression <this Call BIS_WF_VehicleHit}];



_unit SetVehicleInit "this ExecVM (corePath + >
13:06:40   Error position: <SetVehicleInit "this ExecVM (corePath + >
13:06:40   Error Missing ;
13:06:40 File CA\Warfare2\Scripts\Common\Functions\Common_InitUnit.sqf..., line 29
13:06:40   Context: 	[] L51 (ca\Warfare2\Scripts\Init.sqf)
	[] L59 (ca\Warfare2\Scripts\Init.sqf)
	[] L269 (CA\Warfare2\Scripts\InitMission.sqf)
	[] L18 (CA\Warfare2\Scripts\Common\Init\Init_Common.sqf)

13:06:40 Error in expression <this Call BIS_WF_VehicleHit}];



_unit SetVehicleInit "this ExecVM (corePath + >
13:06:40   Error position: <SetVehicleInit "this ExecVM (corePath + >
13:06:40   Error Missing ;
13:06:40 File CA\Warfare2\Scripts\Common\Functions\Common_InitUnit.sqf..., line 29
13:06:40   Context: 	[] L51 (ca\Warfare2\Scripts\Init.sqf)
	[] L59 (ca\Warfare2\Scripts\Init.sqf)
	[] L269 (CA\Warfare2\Scripts\InitMission.sqf)
	[] L18 (CA\Warfare2\Scripts\Common\Init\Init_Common.sqf)

13:06:40 Error in expression <ructureNames Find TypeOf _x",_side];
_x SetVehicleInit Format["[this,%1,%2] spaw>
13:06:40   Error position: <SetVehicleInit Format["[this,%1,%2] spaw>
13:06:40   Error Missing ;
13:06:40 File CA\Warfare2\Scripts\Server\Init\Init_Server.sqf..., line 363
13:06:40   Context: 	[] L51 (ca\Warfare2\Scripts\Init.sqf)
	[] L59 (ca\Warfare2\Scripts\Init.sqf)
	[] L303 (CA\Warfare2\Scripts\InitMission.sqf)
	[] L307 (CA\Warfare2\Scripts\InitMission.sqf)
	[] L313 (CA\Warfare2\Scripts\InitMission.sqf)
	[] L320 (CA\Warfare2\Scripts\InitMission.sqf)

13:06:40 Error in expression <ructureNames Find TypeOf _x",_side];
_x SetVehicleInit Format["[this,%1,%2] spaw>
13:06:40   Error position: <SetVehicleInit Format["[this,%1,%2] spaw>
13:06:40   Error Missing ;
13:06:40 File CA\Warfare2\Scripts\Server\Init\Init_Server.sqf..., line 363
13:06:40   Context: 	[] L51 (ca\Warfare2\Scripts\Init.sqf)
	[] L59 (ca\Warfare2\Scripts\Init.sqf)
	[] L303 (CA\Warfare2\Scripts\InitMission.sqf)
	[] L307 (CA\Warfare2\Scripts\InitMission.sqf)
	[] L313 (CA\Warfare2\Scripts\InitMission.sqf)
	[] L320 (CA\Warfare2\Scripts\InitMission.sqf)

13:06:40 Error in expression < then {_this = Leader _this};

_index = EastTeams Find (Group _this);
if (_index>
13:06:40   Error position: <EastTeams Find (Group _this);
if (_index>
13:06:40   Error Undefined variable in expression: eastteams
13:06:40 File CA\Warfare2\Scripts\Common\Functions\Common_GetClientID.sqf..., line 10
13:06:40   Context: 	[] L51 (ca\Warfare2\Scripts\Init.sqf)
	[] L59 (ca\Warfare2\Scripts\Init.sqf)
	[] L330 (CA\Warfare2\Scripts\InitMission.sqf)
	[] L340 (CA\Warfare2\Scripts\InitMission.sqf)
	[] L351 (CA\Warfare2\Scripts\InitMission.sqf)
	[] L351 (CA\Warfare2\Scripts\InitMission.sqf)
	[] L896 (CA\Warfare2\Scripts\Client\Init\Init_Client.sqf)
	[] L896 (CA\Warfare2\Scripts\Client\Init\Init_Client.sqf)
	[] L687 (CA\Warfare2\Scripts\Client\Init\Init_Client.sqf)
	[] L14 (CA\Warfare2\Scripts\Common\Functions\Common_GetClientID.sqf)

13:06:40 Error in expression <clientID = player Call GetClientID;
if (clientID < 1) then {player SideChat "Cli>
13:06:40   Error position: <clientID < 1) then {player SideChat "Cli>
13:06:40   Error Undefined variable in expression: clientid
13:06:40 File CA\Warfare2\Scripts\Client\Init\Init_Client.sqf..., line 688
13:06:40   Context: 	[] L51 (ca\Warfare2\Scripts\Init.sqf)
	[] L59 (ca\Warfare2\Scripts\Init.sqf)
	[] L330 (CA\Warfare2\Scripts\InitMission.sqf)
	[] L340 (CA\Warfare2\Scripts\InitMission.sqf)
	[] L351 (CA\Warfare2\Scripts\InitMission.sqf)
	[] L351 (CA\Warfare2\Scripts\InitMission.sqf)
	[] L896 (CA\Warfare2\Scripts\Client\Init\Init_Client.sqf)
	[] L896 (CA\Warfare2\Scripts\Client\Init\Init_Client.sqf)
	[] L701 (CA\Warfare2\Scripts\Client\Init\Init_Client.sqf)

 

Share this post


Link to post
Share on other sites
13:06:40   Error position: <SetVehicleInit "this ExecVM (corePath + >
13:06:40   Error Missing ;
13:06:40 File CA\Warfare2\Scripts\Common\Functions\Common_InitDefense.sqf..., line 10

this error message means that there is a missing semicolon right before SetVehicleInit.

But I guess the real problem there is another.

setVehicleInit is disabled for security reasons as you can read in its biki entry.

Therefore you have to find a way to do what the script is doing not using setVehicleInit.

there is no command that is an adequate substitute for it. Therefore you have to script around it... not easy to do. Firstly you have to understand what the script does.

Share this post


Link to post
Share on other sites
1 hour ago, sarogahtyp said:

13:06:40   Error position: <SetVehicleInit "this ExecVM (corePath + >
13:06:40   Error Missing ;
13:06:40 File CA\Warfare2\Scripts\Common\Functions\Common_InitDefense.sqf..., line 10

this error message means that there is a missing semicolon right before SetVehicleInit.

But I guess the real problem there is another.

setVehicleInit is disabled for security reasons as you can read in its biki entry.

Therefore you have to find a way to do what the script is doing not using setVehicleInit.

there is no command that is an adequate substitute for it. Therefore you have to script around it... not easy to do. Firstly you have to understand what the script does.

Bugger... I'll see what I can dig up, hopefully there will be some info floating around somewhere on it specifically.

Share this post


Link to post
Share on other sites

In terms of the security part will it work if I turn off BattleEye or is it a deeper system than that? Wouldn't mind testing it as it is and go from there if it's as simple as toggling BattleEye.

 

Share this post


Link to post
Share on other sites
1 minute ago, Phantom Aspect said:

In terms of the security part will it work if I turn off BattleEye or is it a deeper system than that? Wouldn't mind testing it as it is and go from there if it's as simple as toggling BattleEye.

 

its a disabled command. you just can't use it.

Share this post


Link to post
Share on other sites
1 minute ago, sarogahtyp said:

its a disabled command. you just can't use it.

No worries, alright I'll have a scrounge around and see if I can make an alternate way for it to work

Share this post


Link to post
Share on other sites
Spoiler

F7lYmsD.png

 

Spoiler

E5bwJB5.png

 

am I too fast?

 

EDIT:

Maybe u did not set it to be public viewable

Share this post


Link to post
Share on other sites

Found VSCode with SQF Wiki, SQF-VM and SQF-VM Language extentions to be a great way to locate script errors without needing to run in game, the wiki part also helps a great deal with seeing how a function works with a simple right click.

  • Like 2

Share this post


Link to post
Share on other sites

Update!

 

Managed to get the voting option to show up in scroll menu however non functional, random spawn locations are working but no bases, respawn is working however no UI and towns have supply symbols but no other map symbols yet, will be updating the repo with current progress shortly.

It's getting there!

Share this post


Link to post
Share on other sites

Can anyone who has experience fixing Arma 2 UI elements when porting missions to Arma 3 offer some guidance please?

It's honestly astonishing I've managed to get as far as I have considering how green I am to all this stuff. 😂

 

I have fixed some of the map markers so far with Arma 3 ones, unfortunately Arma 3 got rid of all original Warfare2 markers so I've had to replace them with similar looking ones to keep the feel of the original mission, the end result definitely won't look as refined as it did on Arma 2 but as long as it runs that will be the main thing that matters.

Share this post


Link to post
Share on other sites

Using Arma 3 Addon Builder I can actually see these errors in the reports after a failed build.

Eliteness will successfully build with no errors but then these errors will then show up in the engine instead and be full of broken scripts as a result.

 

Many of the errors I'm getting follow this format.

2021-08-11 20:26:19,431 [ERROR]   7: !> 20:25:51: Updating base class RscButtonMenu->RscShortcutButton, by P:\bin\config.bin/RscDisplayDebug/Controls/B_Cancel/ (original )

Share this post


Link to post
Share on other sites

Update!

 

Mobile base will now spawn and AI commander will be picked after timer runs out, AI will build base and give objectives to You and AI units shortly after.

 

Updating the Repo with current progress shortly 😁

Share this post


Link to post
Share on other sites

Realized that people probably aren't getting anywhere without the test mission I'm using to get these results, I added it to the repo. It's the Takistan 3 Sided Warfare Arma 2 mission updated with some Arma 3 assets to make it work.

I haven't figured out how to get the game to recognize the mission if it's packaged into the addon unfortunately so you'll have to cut and paste it to your ARMA 3 MP documents folder, that'll give you the ability to see the scripts such as town location finding working in the editor anyway though 🤷‍♂️

 

https://github.com/Phantom-Aspekt/WF2A3_Git

Share this post


Link to post
Share on other sites

This may have to be made fresh from scratch for Arma 3, I haven't been able to make any further advancements for a week now unfortunately...

 

It seems it will be easier to figure out how to make new scripts in a single mission rather than adapt hundreds of outdated Arma 2 ones from a module without having a clue what does what. I am battered and bleeding from the Arma engines excessive code structure and awful mod tools (seriously, they are terrible)  but I'm not yet defeated... Yet being the key word 😂

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

×