• 0
TroyT

Changing trader sign background

Question

Does anyone know how, if possible, to substitute the background image on the trader signs?  I would guess that those are generated text on top of generic bg art instead of independent images.  I know how to replace them with signs placed from within my mission file, but it would be nice to just have then change automatically.

Share this post


Link to post
Share on other sites

9 answers to this question

  • 1

I used this, but the process as stated in the post is way too convoluted:

http://www.exilemod.com/topic/4851-add-custom-billboards-server-side/?page=1

All you have to do is create an sqf file wherever you want in your mission.sqm file, call it whatever you want, place this code in it:

diag_log format['Custom %1 - Starting billboards.sqf',time];

     // Begin Sign 1  //                                                      // Just added for clarity
_pos = [14554.4,16905.3,0];                                                   // position
_object = createVehicle ["Land_Billboard_F", _pos, [], 0, "CAN_COLLIDE"];     // Billboard type
_object setDir 134.542;                                                       // Rotation
_object setPosATL _pos;                                                       // Makes altitue Above Terrain Level
_object setObjectTextureGlobal [0, "BSF\images\BSF_Trader_City.paa"];         // Image location within your mission.sqm file
_object allowDamage false;                                                    // Self explanitory
     // End Sign 1 //
 
_pos = [14485.5,16835.7,0];
_object = createVehicle ["Land_Billboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 134.542;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "BSF\images\BSF_Trader_City.paa"];
_object allowDamage false;

Point each entry to an image that you also place in your mission file. Use .paa image files sized at 2:1 (1024x512, 512x256, etc.).  Make as many signs as you want.

There are 3 types of sign classes that you can use:      Land_Billboard_F        SignAd_Sponsor_F      SignAd_SponsorS_F

Use the editor to place to get X / Y / Rotation coordinates.

Add a line to your init.sqf pointing to the.sqf file you created:

	[] 	execVM "BSF\Maps\Billboards.sqf";

Wrap it all back up and sit back and marvel at your creative genius.
 

Edited by TroyT
  • Like 1

Share this post


Link to post
Share on other sites
  • 1

It's also possible that these entries can just be placed in your initServer.sqf.  I didn't test it because I like having them in a separate file anyway.

  • Like 1

Share this post


Link to post
Share on other sites
Advertisement
  • 0

They're independent images in the client files, the only way to substitute them would be from your mission file or a custom client mod that all your players would need to download.

Share this post


Link to post
Share on other sites
  • 0
4 hours ago, TroyT said:

Ok, thanks.  I'll just do it the way I place other signs

What is the other way you do this? I ask because I too have been looking for custom signage for some buildings without having to rely on a mod. 

Share this post


Link to post
Share on other sites
  • 0
On 4/12/2017 at 11:02 AM, TroyT said:

It's also possible that these entries can just be placed in your initServer.sqf.  I didn't test it because I like having them in a separate file anyway.

Thank you so much. Worked like a charm. 

Share this post


Link to post
Share on other sites
  • 0
On 4/12/2017 at 11:02 AM, TroyT said:

It's also possible that these entries can just be placed in your initServer.sqf.  I didn't test it because I like having them in a separate file anyway.

So this was working great. Then I had a server migration to new hardware. On the new machine it's no longer working. I've puzzled over this for the last 24 hrs as the first time I installed it (pre-migration) I had zero issues. Maybe you can tell me where I'm going wrong.  The billboards themselves are there when the server starts, they're just blank. 

The server rpt logs the following:

Spoiler

19:52:59 "Custom 0.174 - Starting billboards.sqf"
19:52:59 Cannot create non-ai vehicle LandBillboard_F,
19:52:59 Cannot create non-ai vehicle LandBillboard_F,
19:52:59 Cannot create non-ai vehicle LandBillboard_F,
19:52:59 Cannot create non-ai vehicle LandBillboard_F,
19:52:59 Cannot create non-ai vehicle LandBillboard_F,
19:52:59 Cannot create non-ai vehicle LandBillboard_F,
19:52:59 Cannot create non-ai vehicle LandBillboard_F,
19:52:59 Cannot create non-ai vehicle LandBillboard_F,
19:52:59 Cannot create non-ai vehicle LandBillboard_F,
19:52:59 Cannot create non-ai vehicle LandBillboard_F,
19:52:59 Cannot create non-ai vehicle LandBillboard_F,
19:52:59 Cannot create non-ai vehicle LandBillboard_F,
19:52:59 Cannot create non-ai vehicle LandBillboard_F,
19:52:59 Cannot create non-ai vehicle LandBillboard_F,

This is the init.sqf:

 

Spoiler

[] execVM "billboards.sqf"; 

 

This is my current version of the billboards.sqf
 

Spoiler

/*
    File: billboards.sqf
    Author: Trill
    Contact: 
    
    Description: Custom Buildings
*/

diag_log format['Custom %1 - Starting billboards.sqf',time];

   //West Trader Safezone Sign 1
_pos = [8017.147,12405.557,0];
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 311.859;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\safezone.paa"];
_object allowDamage false;

   //West Trader Safezone Sign 2
_pos = [7926.192,12429.269,0];
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 137.912;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\safezone.paa"];
_object allowDamage false;

  //West Trader Paint Shop Sign
_pos = [7981.058,12398.805,0];
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 207.259;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\paintshop.paa"];
_object allowDamage false;

   //East Trader Safezone Sign 1
_pos = [12210.158,8151.865,0];
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 11.501;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\safezone.paa"];
_object allowDamage false;

   //East Trader Safezone Sign 2
_pos = [12205.946,8196.312,0];
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 148.579;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\safezone.paa"];
_object allowDamage false;

  //East Trader Paint Shop Sign
_pos = [12190.938,8160.102,0];
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 258.397;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\paintshop.paa"];
_object allowDamage false;

   //South Trader Safezone Sign 1
_pos = [11707.007,4135.404,0];
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 269.312;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\safezone.paa"];
_object allowDamage false;

  //South Trader Paint Shop Sign
_pos = [11680.011,4125.935,0];
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 90.474;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\paintshop.paa"];
_object allowDamage false;

   //SW Trader Safezone Sign 1
_pos = [2277.719,8590.979,0];
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 269.312;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\safezone.paa"];
_object allowDamage false;

  //SW Trader Paint Shop Sign
_pos = [2238.108,8603.4,0];
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 177.129;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\paintshop.paa"];
_object allowDamage false;

  //North Airfield Paint Shop Sign
_pos = [11546.23,13170.97,0];
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 290.560;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\paintshop.paa"];
_object allowDamage false;

  //South Central Airfield Paint Shop Sign
_pos = [7214.527,6929.672,0];
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 167.853;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\paintshop.paa"];
_object allowDamage false;

  //South East Airfield Paint Shop Sign
_pos = [11683.885,3048.317,0];
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 219.211;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\paintshop.paa"];
_object allowDamage false;

//South West Airfield Paint Shop Sign
_pos = [2074.603,3436.574,0];  
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 167.115;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\paintshop.paa"];
_object allowDamage false;

billboard.sqf is at the root of the mission file:


1.png

This is the location of the pictures (pictures folder) and you can see that they're in .paa format. 

2.png

As you can see from the .rpt, it logs an error for all 15 billboards. 

It's got to be something small and stupid I'm overlooking but I can't seem to make any headway. I appreciate any help you can offer. 

Edited by fifthmanstanding

Share this post


Link to post
Share on other sites
  • 0
9 hours ago, fifthmanstanding said:

So this was working great. Then I had a server migration to new hardware. On the new machine it's no longer working. I've puzzled over this for the last 24 hrs as the first time I installed it (pre-migration) I had zero issues. Maybe you can tell me where I'm going wrong.  The billboards themselves are there when the server starts, they're just blank. 

The server rpt logs the following:

  Reveal hidden contents

19:52:59 "Custom 0.174 - Starting billboards.sqf"
19:52:59 Cannot create non-ai vehicle LandBillboard_F,
19:52:59 Cannot create non-ai vehicle LandBillboard_F,
19:52:59 Cannot create non-ai vehicle LandBillboard_F,
19:52:59 Cannot create non-ai vehicle LandBillboard_F,
19:52:59 Cannot create non-ai vehicle LandBillboard_F,
19:52:59 Cannot create non-ai vehicle LandBillboard_F,
19:52:59 Cannot create non-ai vehicle LandBillboard_F,
19:52:59 Cannot create non-ai vehicle LandBillboard_F,
19:52:59 Cannot create non-ai vehicle LandBillboard_F,
19:52:59 Cannot create non-ai vehicle LandBillboard_F,
19:52:59 Cannot create non-ai vehicle LandBillboard_F,
19:52:59 Cannot create non-ai vehicle LandBillboard_F,
19:52:59 Cannot create non-ai vehicle LandBillboard_F,
19:52:59 Cannot create non-ai vehicle LandBillboard_F,

This is the init.sqf:

 

  Reveal hidden contents

[] execVM "billboards.sqf"; 

 

This is my current version of the billboards.sqf
 

  Hide contents

/*
    File: billboards.sqf
    Author: Trill
    Contact: 
    
    Description: Custom Buildings
*/

diag_log format['Custom %1 - Starting billboards.sqf',time];

   //West Trader Safezone Sign 1
_pos = [8017.147,12405.557,0];
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 311.859;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\safezone.paa"];
_object allowDamage false;

   //West Trader Safezone Sign 2
_pos = [7926.192,12429.269,0];
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 137.912;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\safezone.paa"];
_object allowDamage false;

  //West Trader Paint Shop Sign
_pos = [7981.058,12398.805,0];
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 207.259;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\paintshop.paa"];
_object allowDamage false;

   //East Trader Safezone Sign 1
_pos = [12210.158,8151.865,0];
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 11.501;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\safezone.paa"];
_object allowDamage false;

   //East Trader Safezone Sign 2
_pos = [12205.946,8196.312,0];
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 148.579;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\safezone.paa"];
_object allowDamage false;

  //East Trader Paint Shop Sign
_pos = [12190.938,8160.102,0];
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 258.397;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\paintshop.paa"];
_object allowDamage false;

   //South Trader Safezone Sign 1
_pos = [11707.007,4135.404,0];
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 269.312;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\safezone.paa"];
_object allowDamage false;

  //South Trader Paint Shop Sign
_pos = [11680.011,4125.935,0];
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 90.474;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\paintshop.paa"];
_object allowDamage false;

   //SW Trader Safezone Sign 1
_pos = [2277.719,8590.979,0];
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 269.312;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\safezone.paa"];
_object allowDamage false;

  //SW Trader Paint Shop Sign
_pos = [2238.108,8603.4,0];
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 177.129;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\paintshop.paa"];
_object allowDamage false;

  //North Airfield Paint Shop Sign
_pos = [11546.23,13170.97,0];
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 290.560;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\paintshop.paa"];
_object allowDamage false;

  //South Central Airfield Paint Shop Sign
_pos = [7214.527,6929.672,0];
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 167.853;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\paintshop.paa"];
_object allowDamage false;

  //South East Airfield Paint Shop Sign
_pos = [11683.885,3048.317,0];
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 219.211;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\paintshop.paa"];
_object allowDamage false;

//South West Airfield Paint Shop Sign
_pos = [2074.603,3436.574,0];  
_object = createVehicle ["LandBillboard_F", _pos, [], 0, "CAN_COLLIDE"];
_object setDir 167.115;
_object setPosATL _pos;
_object setObjectTextureGlobal [0, "Pictures\paintshop.paa"];
_object allowDamage false;

billboard.sqf is at the root of the mission file:


1.png

This is the location of the pictures (pictures folder) and you can see that they're in .paa format. 

2.png

As you can see from the .rpt, it logs an error for all 15 billboards. 

It's got to be something small and stupid I'm overlooking but I can't seem to make any headway. I appreciate any help you can offer. 

On the billboard.sqf you have "LandBillboard_F" should it be "Land_Billboard_F"?

Share this post


Link to post
Share on other sites
Advertisement

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.