-
Content Count
275 -
Joined
-
Last visited
-
Medals
Posts posted by wyattwic
-
-
Redstone, im having a hard time understanding what you meant.
I am aware that containers_02_set_co.paa is the container in question, but I am unable find the selection for replacement.
---------- Post added at 07:29 ---------- Previous post was at 06:45 ----------
Redstone, im having a hard time understanding what you meant.
I am aware that containers_02_set_co.paa is the container in question, but I am unable find the selection for replacement. I am having issues locating the rear section of the HEMTT Box, Covered transport, Civilian Box-Van.
I have changed textures to null, one section at a time, and I cant find it.
-
Giving that a try now
---------- Post added at 07:20 ---------- Previous post was at 06:42 ----------
No success. I attempted to set every texture on the vehicle, one by one, to transparent and I was not able to locate the damn box. It has a PAA and there is no indication of it being a proxy model, so im lost. Attempted the same with the covered transport HEMITT.
BIS Dev help would be appreciated! ANY HELP would be appreciated!
-
Yes. That appears to be the issue...
-
I need help on this still guys.
-
Hey everyone!
I am attempting to put a texture on "C_Van_01_box_F", however the section of texture I am editing, I can not find.

I am attempting to replace "van_01_adds_co.paa" on that vehicle but when it comes time to set the texture, I cant seem to find the proper selection number. I have attempted 0 through 5 with no luck.
Screenshot of original PAA referred to - https://dl.dropboxusercontent.com/u/61911880/Capture1.PNG (773 kB)
Below is my PAA and the final vehicle init I attempted. The texture is in the proper location in the mission, its just that section number.
Init
this setObjectTexture [5,"textures\van_01_adds_co.paa"];
Modified PAA - https://dl.dropboxusercontent.com/u/61911880/van_01_adds_co.paa
Screenshot of modified PAA - https://dl.dropboxusercontent.com/u/61911880/Capture2.PNG
Any ideas would be a huge help. Im stumped.
---------- Post added at 17:46 ---------- Previous post was at 17:44 ----------
In addition, This vehicle randomly selects if it should be red or white. Would anyone know how to make it always red? Im assuming you address the texture in the Soft_F PBO, but I dont know how to address between PBOs.
-
I understand what you mean by proxy model, but there is no way to address the replacement texture to said proxy model?
I just want to place an image on the sides and top to show what it is.
If thats not possible, plan B. Is there a way to remove a GMG from a vehicle?
-
Hello everyone!
I am currently wanting to re-texture the HEMTT Box (B_Truck_01_box_F) but I am unable to find a .paa for it in its PBO file (soft_f_gamma.pbo).
A little help or even the .paa for it would be awesome!
-
Hello BIS,
After the 1.12.115994 patch, start-up time has gone from a few seconds to minutes and is black until you can see the main menu and a error.
Error is: "No entry 'bin\config.bin/CfgVehicles/Land_Basket_F.submerged'"
Screenshot: http://steamcommunity.com/profiles/76561198084733347/screenshot/615044917524935360
-
Dragonsyr,
I know its in the addons folder, but there are quite a few files containing mission in the name, and so far all I keep finding are showcases.
-
BIS included 4 MPMissions with the game, does anyone know what pbo they are stored in?
-W
EDIT: Additional question.
In ArmA2, I had made a weapons crate provide guns/ammo dependent on rank/score. Is similar code still possible without use of VAS?
-
Ofpec is still offline...
Can anyone help? :/
-
Here is the best suggestion I can think of. Modify my script to save the proper data.
You are free to use this as you wish, just please leave the original credits.
//Wyatt's score management script /* This script saves players data every 2 minutes. When players reconnect to the game, their data is recovered. */ //Create the array if it does not already exist. private ["_id","_present","_s","_debugcount"]; if (isnil "GlobalDataStorageArray0") then {GlobalDataStorageArray0 = []; if (rundebug) then {diag_log text format["scoresave.sqf - GlobalDataStorageArray0 array created."];};}; _present = false; //Declare variable false _id = getPlayerUID (vehicle player); //Get player ID and add to variable //Lets check and see if the player is currently in our array! If he is in our array, we will give him his score back. { if ( (_x select 0) == (_id) ) exitWith { _present = true; //If the _id is found in the array, then set the _present var to true! player addScore (_x select 1); if (rundebug) then {diag_log text format["scoresave.sqf - %1 score has been recovered with ID %2", player, _x];}; Hint "Welcome back! \nYour score has been recovered."; sleep 2; Hint ""; }; } foreach GlobalDataStorageArray0; //If the player is not in the array, add him to the array then broadcast! if (!_present) then { GlobalDataStorageArray0 = GlobalDataStorageArray0 + [ [_id, score player] ]; publicVariable "GlobalDataStorageArray0"; if (rundebug) then {diag_log text format["scoresave.sqf - New player, %1, has been added to the score save array with ID %2 and has been pushed public.", player, _id];}; }; //Score save loop! for [{_s=0},{_s<1},{_s=_s}] do { sleep 100+(random 40); //Wait approx. 2 mins +/- 20 seconds { if ( (_x select 0) == (_id) ) exitWith { _x set [1, score player]; //Put the player's current score in the array if (rundebug) then {diag_log text format["scoresave.sqf - %1 score has been UPDATED with the following information %2", player, _x];}; }; } foreach GlobalDataStorageArray0; publicVariable "GlobalDataStorageArray0"; if (rundebug) then { if (isnil "_debugcount") then {_debugcount = 0}; _debugcount = _debugcount + 1; diag_log text format["scoresave.sqf - Infinite loop in script has reached its goal. Loop has reached a count of %1", _debugcount];}; }; if (rundebug) then {diag_log text format["scoresave.sqf - DANGER! The script should have not made it here due to the infinite loop. This is the end of the script."];};Note that for all my scripts, I have rundebug = true or false in the init script. For this script, just add that near the top.
-
Thanks. OFPEC seems to be offline at the time of this post, will check it out later.
The lightning one is real important to me though. I have been playing around with it and I just haven't had any luck.
-
Hello everyone! Yet another series of questions!
Can anyone suggest the best method have lightning strike a specific point?
Is it possible to apply the gore settings to a living person and if so, how? By gore I mean spewing blood and other things like that.
Thanks in advance!
-
I am guessing the ArmA2 Vanilla guys are not gaining this feature any time soon?
-
Spawning the bomb is the easy part, I just want the bomb to lock on to a laser target.
I may have to resort to an AI A10 Spawning and set laser marker aware.
Ill look around some more for another lock on method.
-
Another question - Sorry, trying to learn as much as I can!
Is it possible to spawn a GBU or CH-29 and and have them lock on to a position?
-
Updated and working version.
Works flawlessly on JIP!
DEDICATED SERVER ONLY!
//[AWG] Wyatt's time management script /* Disambiguation: This script is made to manage a few key game play features. - Game starting time - Fast time (We will use setdate to avoid clouds skipping around) Start time: I want to keep this option simple. I will give them the options of sunrise, noon, sunset, midnight. Fast time: I know there has to be over a dozen different published ways to forward through time. This script uses the more complex setdate wich in contrast to skiptime, advances players through time without the lower clouds jumping around. Forecast and clouds stay the same. Important notes and operation methodology: This script must be started via the global init file as it must be ran on the server as well as the client. Clients will check with the server every 10 minutes to make sure that the client time is correct and to avoid dsync. */ private ["_date","_tm","_ct","_min","_hour","_day","_month","_year","_time"];//Set game time in accordance to parameters. JIP ready! XD if (isDedicated && isServer) then { PublicServerTime = date; PublicServerTime set [3,E_starttime]; publicvariable "PublicServerTime"; setdate PublicServerTime; if (rundebug) then {_time = PublicServerTime select 3; diag_log text format["timekeeper.sqf - Server - Initial time sync has been pushed to clients as hour %1.",_time]; _time = "";}; }; if (!isDedicated && !isServer) then { waituntil {!isnil "PublicServerTime"}; setdate PublicServerTime; if (rundebug) then {diag_log text format["timekeeper.sqf - Client - Initial time sync completed with server - %1 - %2", PublicServerTime, E_starttime];}; }; //Fast time if (E_fasttime == 0) then { /*Parameters requested no fast time. 24 hours in real life, 24 hours in game. This if statement is here for good coding practices and debug log purposes.*/ if (rundebug) then {diag_log text format["timekeeper.sqf - Fasttime parameter returned %1. Fast time will not run.",E_fasttime];}; } else { if (rundebug) then {diag_log text format["timekeeper.sqf - Fast time is running with a modifier of 1 to %1.",E_fasttime];}; _tm = E_fasttime; /*Set time multiplier into local variable.*/ _ct = 0; /*loop counter. Used for counting the minutes since last server sync.*/ while {true} do { sleep 60; /*Sleep one minute*/ _date = date; /*Get the date/time*/ _min = _date select 4; /*Turn the date array into something we can easily manipulate.*/ _hour = _date select 3; _day = _date select 2; _month = _date select 1; _year = _date select 0; _min = _min + _tm; //The following are setdate syntax checks. if (_min > 59) then {_min = _min - 60; _hour = _hour + 1;/*If minutes added go out of date range, modify hours as needed.*/ if (_hour > 23) then {_hour = _hour - 24; _day = _day + 1;/*If hours go out of date range, modify days as needed.*/ if (_day > 31) then {_day = _day - 30;_month = _month + 1;/*If days go out of date range, modify months as needed.*/ if (_month > 12) then {_month = _month - 12; _year = _year + 1;/*If months go out of range, modify year as needed.*/ }; }; }; }; /*If statement, inside if statement, etc. Thought process is, if we don't have to fix minutes, we don't have to fix hours and so on.*/ setdate [_year,_month,_day,_hour,_min]; /*Use setdate to set the manipulated date.*/ /*everything from this point on is to prevent clients from dsyncing too much.*/ _ct=_ct+1; /*This is the master sync control counter. Adds 1 every cycle.*/ if (_ct >= 10) then { if (isDedicated && isServer) then {PublicServerTime = date; publicvariable "PublicServerTime"; if (rundebug) then {diag_log text format["timekeeper.sqf - Server - Time sync has been pushed to clients."];};}; sleep (random 15); if (!isDedicated && !isServer) then {setdate PublicServerTime; if (rundebug) then {diag_log text format["timekeeper.sqf - Client - Time sync completed with server"];};}; _ct = 0; }; }; };Relevant description.ext entries.
class E_starttime { title="Time Of Day"; values[]={6,12,18,0}; texts[]={"Sunrise","Noon","Sunset","Midnight"}; default = 6; }; class E_fasttime { title="Fast Time"; values[]={0,4,8,24,48}; texts[]={"Disabled","6 Hour days","3 Hour days","1 Hour days","Half hour days"}; default = 8; }; -
Purepassion - The M107 anti tank is going to be used as a special ability for a sniper in one of my game modes. He will be limited to firing a sabot round from his gun once every so often.
Rydygier - Thanks! I will give it a quick test soon and let you know of the outcome!
---------- Post added at 06:13 ---------- Previous post was at 05:06 ----------
Given I made a few modifications, Its working!
The following code, when applied to a units init scrip, will replace the end result with the one specified.
In the example of the KSVK, bullet maintains its standard trajectory and ricochet properties. Upon impact it changes into the desired effect. In this case, a tank SABOT round.
this addeventhandler ["fired",{ _btype = _this select 1; if (_btype == "ksvk" or _btype == "m107") then { _velo = velocity (_this select 6); _dir = getdir (_this select 6); _pos = getpos (_this select 6); _vect = vectorDir (_this select 6); deleteVehicle (_this select 6); _dX = 1 * (sin _dir); _dY = 1 * (cos _dir); _px = (_pos select 0) + _dX; _py = (_pos select 1) + _dY; _bullet = "Sh_120_SABOT" createVehicle [0,0,50]; _bullet setpos [_px,_py,(_pos select 2)]; _bullet setvelocity _velo; _bullet setvectordir _vect; };}];By no means is this script made to be ran in a production environment as is. This snippet is simply a doorway into what you can expand upon.
---------- Post added at 06:27 ---------- Previous post was at 06:13 ----------
Okay, more questions!
Is there a way to detect if a players binoculars are being looked through? How can I get the position he is looking at?
-
Well, I am still stumped.
I have used "this addeventhandler ["fired",{_this set [6, "Sh_120_SABOT"]}];" with no success, and no errors.
Considering that the bullet is spawned as a vehicle, I think this may be much harder. Here is the process I am currently thinking of. If someone knows an easier way, let me know.
1. Get bullets position, speed, direction, etc.
2. Delete bullet.
3. Create "Sh_120_SABOT"
4. Apply position, speed, direction, etc.
---------- Post added at 19:35 ---------- Previous post was at 18:12 ----------
Okay, I have made some progress, not much though.
My current issue with this, is that the player firing dies instantly.
It looks like the round is impacting the unit that fires, that or recoil is killing him.
Help?
this addeventhandler ["fired",{ _velo = velocity (_this select 6); _vect = vectordir (_this select 6); _pos = getpos (_this select 6); deleteVehicle (_this select 6); _bullet = "Sh_120_SABOT" createVehicle _pos; _bullet setpos _pos; _bullet setvelocity _velo; _bullet setvectordir _vect; }];---------- Post added at 20:30 ---------- Previous post was at 19:35 ----------
I figured out that problem, but a new one arrises.
Is there any way to get the position of a player, plus one meter to his front? I know how to move it in accordance with the poles, but I need it in accordance with the players direction.
-
Okay, I messed up on providing instructions...
For all intents and purposes, you should not be modifying the storage array for any real reason. The storage array works as an array inside an array, first segment being the players ID and the second being the saved value. You simply can not subtract an integer from a whole array, containing nothing but arrays.
For situations that you have to add or remove score, use "player addScore 10;" or "player addScore -10;". The script currently saves the local players score every two minutes, then pushes it out on a public variable for recovery later.
The below script is set up to read the variable "mymoney" every two minutes, and upon reconnect it should restore your score.
Note on storage of variables. Variables to be stored can not be local/private variables due to the fact that upon restoration, the data will not leave the script.
You can store any global variable or object specific variable quite easily. On another note, if you were saving how much cash a player has, it would be recommended to use "player setVariable [mymoney, 1000]" and "player getvariable "mymoney";".
//Wyatt's score management script /* This script saves players scores every 2 minutes. When players reconnect to the game, their score is recovered. */ //Create the array if it does not already exist. private ["_id","_present","_s","_debugcount"]; if (isnil "DataStorageArray0") then {DataStorageArray0 = []; if (rundebug) then {diag_log text format["scoresave.sqf - DataStorageArray0 array created."];};}; _present = false; //Declare variable false _id = getPlayerUID (vehicle player); //Get player ID and add to variable //Lets check and see if the player is currently in our array! If he is in our array, we will give him his data back. { if ( (_x select 0) == (_id) ) exitWith { _present = true; //If the _id is found in the array, then set the _present var to true! mymoney = (_x select 1); if (rundebug) then {diag_log text format["scoresave.sqf - %1 data has been recovered with ID %2 - %3", player, _x, (_x select 1)];}; Hint "Welcome back! \nYour data has been recovered."; sleep 2; Hint ""; }; } foreach DataStorageArray0; //If the player is not in the array, add him to the array then broadcast! if (!_present) then { DataStorageArray0 = DataStorageArray0 + [ [_id, mymoney] ]; publicVariable "DataStorageArray0"; if (rundebug) then {diag_log text format["scoresave.sqf - New player, %1, has been added to the score save array with ID %2 and has been pushed public.", player, _id];}; }; //Score save loop! for [{_s=0},{_s<1},{_s=_s}] do { sleep 100+(random 40); //Wait approx. 2 mins +/- 20 seconds { if ( (_x select 0) == (_id) ) exitWith { _x set [1, mymoney]; //Put the player's current data in the array if (rundebug) then {diag_log text format["scoresave.sqf - %1 score has been UPDATED with ID %2 and score %3", player, _x, score player];}; }; } foreach DataStorageArray0; publicVariable "DataStorageArray0"; if (rundebug) then { if (isnil "_debugcount") then {_debugcount = 0}; _debugcount = _debugcount + 1; diag_log text format["scoresave.sqf - Infinite loop in script has reached its goal. Loop has reached a count of %1", _debugcount];}; }; if (rundebug) then {diag_log text format["scoresave.sqf - DANGER! The script should have not made it here due to the infinite loop. This is the end of the script."];};To run this script, place the following in your init.sqf.
if (!isDedicated && !isServer) then { if (rundebug) then {diag_log text format["Init.sqf - Is client returns true."];}; _nil = [] execvm "Client\scoresave.sqf"; //You can use additional lines here for other client only scripts. };I have not tested this variant of the script, however it should work in the same nature as my score save script.
---------- Post added at 15:47 ---------- Previous post was at 15:46 ----------
Note! This script is made to be ran in a dedicated server environment!
---------- Post added at 16:01 ---------- Previous post was at 15:47 ----------
Another note, if you need more data stored, expand upon the interal arrays.
//Expand upon the recovery portion mymoney = (_x select 1); //Your money player addscore (_x select 2); //Your score player setVariable [These_pewpewpoints_are_in_player_namespace, (_x select 3)]; //Whatever you want, etc!
//Expand upon the new player portion _pewpewpoints = player getvariable "These_pewpewpoints_are_in_player_namespace"; DataStorageArray0 = DataStorageArray0 + [ [_id, mymoney, score player, _pewpewpoints] ]; _pewpewpoints = "";
//Expand upon the frequent variable save function _pewpewpoints = player getvariable "These_pewpewpoints_are_in_player_namespace"; _x set [1, mymoney, score player, _pewpewpoints]; //Put the player's current data in the array _pewpewpoints = "";
I suggest you nil out any extra variables you have to place for housecleaning purposes.
-
Thanks Rydygier, I will definitely implement this in my game.
-
Hello everyone!
Just for the hell of it, I wanted to create my own fast time script. At the time of this posting, I have not tested it yet, but I will have it tested in a hour or so.
If anyone sees any issues, please let me know!
//[AWG] Wyatt's time management script /* Disambiguation: This script is made to manage a few key game play features. - Game starting time - Fast time (We will use setdate to avoid clouds skipping around) Start time: I want to keep this option simple. I will give them the options of sunrise, noon, sunset, midnight. Fast time: I know there has to be over a dozen different published ways to forward through time. This script uses the more complex setdate wich in contrast to skiptime, advances players through time without the lower clouds jumping around. Forecast and clouds stay the same. Important notes and operation methodology: This script must be started via the global init file as it must be ran on the server as well as the client. Clients will check with the server every 10 minutes to make sure that the client time is correct and to avoid dsync. */ private ["_run","_startdate"]; _run = true; _startdate = date; //Set game time in accordance to parameters. setdate [(_startdate select 0),(_startdate select 1),(_startdate select 2),E_starttime,(_startdate select 4)]; _startdate = ""; //Fast time private ["_date","_tm","_ct","_min","_hour","_day","_month","_year"]; if (E_fasttime == 0) then { /*Parameters requested no fast time. 24 hours in real life, 24 hours in game. This if statement is here for good coding practices and debug log purposes.*/ if (rundebug) then {diag_log text format["timekeeper.sqf - Fasttime parameter returned %1. Fast time will not run.",E_fasttime];}; } else { if (rundebug) then {diag_log text format["timekeeper.sqf - Fast time is running with a modifier of 1 to %1.",E_fasttime];}; _tm = E_fasttime; /*Set time multiplier into local variable.*/ _ct = 0; /*loop counter. Used for counting the minutes since last server sync.*/ while {_run} do { sleep 60; /*Sleep one minute*/ _date = date; /*Get the date/time*/ _min = _date select 4; /*Turn the date array into something we can easily manipulate.*/ _hour = _date select 3; _day = _date select 2; _month = _date select 1; _year = _date select 0; _min = _min + _tm; //The following are setdate syntax checks. if (_min > 59) then {_min = _min - 60; _hour = _hour + 1;/*If minutes added go out of date range, modify hours as needed.*/ if (_hour > 23) then {_hour = _hour - 24; _day = _day + 1;/*If hours go out of date range, modify days as needed.*/ if (_day > 31) then {_day = _day - 30;_month = _month + 1;/*If days go out of date range, modify months as needed.*/ if (_month > 12) then {_month = _month - 12; _year = _year + 1;/*If months go out of range, modify year as needed.*/ }; }; }; }; /*If statement, inside if statement, etc. Thought process is, if we don't have to fix minutes, we don't have to fix hours and so on.*/ setdate [_year,_month,_day,_hour,_min]; /*Use setdate to set the manipulated date.*/ /*everything from this point on is to prevent clients from dsyncing too much.*/ _ct=_ct+1; /*This is the master sync control counter. Adds 1 every cycle.*/ if (_ct >= 10) then { if (isDedicated && isServer) then {PublicServerTime = date; publicvariable "PublicServerTime"; if (rundebug) then {diag_log text format["timekeeper.sqf - Server - Time sync has been pushed to clients."];};}; sleep (random 15); if (!isDedicated && !isServer) then {setdate PublicServerTime; if (rundebug) then {diag_log text format["timekeeper.sqf - Client - Time sync completed with server"];};}; _ct = 0; }; }; }; -
Sneakers, if your goal is to save the variable so that the player can recover it on reconnect, here is a script I have that can help.
The following script should be ran by all clients. It will save their data to a public variable array and will load it back to the client when they reconnect.
Replace the score portion with the variable you would like saved/restored.
This script has not been tested yet. Please let me know if you encounter any issues. Squint2 shows no errors.
NOTE: If something is not working right, add "rundebug = true;" at the beginning of the script for a detailed debug log.
//[AWG] Wyatt's score management script /* This script saves players scores every 2 minutes. When players reconnect to the game, their score is recovered. */ //Create the array if it does not already exist. private ["_id","_present","_s","_debugcount"]; if (isnil "PlayerScores") then {PlayerScores = []; if (rundebug) then {diag_log text format["scoresave.sqf - PlayerScores array created."];};}; _present = false; //Declare variable false _id = getPlayerUID (vehicle player); //Get player ID and add to variable //Lets check and see if the player is currently in our array! If he is in our array, we will give him his score back. { if ( (_x select 0) == (_id) ) exitWith { _present = true; //If the _id is found in the array, then set the _present var to true! player addScore (_x select 1); if (rundebug) then {diag_log text format["scoresave.sqf - %1 score has been recovered with ID %2", player, _x];}; Hint "Welcome back! \nYour score has been recovered."; sleep 2; Hint ""; }; } foreach PlayerScores; //If the player is not in the array, add him to the array then broadcast! if (!_present) then { PlayerScores = PlayerScores + [ [_id, score player] ]; publicVariable "PlayerScores"; if (rundebug) then {diag_log text format["scoresave.sqf - New player, %1, has been added to the score save array with ID %2 and has been pushed public.", player, _id];}; }; //Score save loop! for [{_s=0},{_s<1},{_s=_s}] do { sleep 100+(random 40); //Wait approx. 2 mins +/- 20 seconds { if ( (_x select 0) == (_id) ) exitWith { _x set [1, score player]; //Put the player's current score in the array if (rundebug) then {diag_log text format["scoresave.sqf - %1 score has been UPDATED with ID %2 and score %3", player, _x, score player];}; }; } foreach PlayerScores; publicVariable "PlayerScores"; if (rundebug) then { if (isnil "_debugcount") then {_debugcount = 0}; _debugcount = _debugcount + 1; diag_log text format["scoresave.sqf - Infinite loop in script has reached its goal. Loop has reached a count of %1", _debugcount];}; }; if (rundebug) then {diag_log text format["scoresave.sqf - DANGER! The script should have not made it here due to the infinite loop. This is the end of the script."];};
Texturing the Civi's Box truck
in ARMA 3 - MISSION EDITING & SCRIPTING
Posted
I am having this same issue with the Civi box truck, HEMTT Covered transport and HEMTT Box.
The HEMTT Box is the only one that uses a proxy model, so I can understand why there is no hiddenselection for it, but the others are not in the same situation.
Maybe a dev could tell us if were missing something?
---------- Post added at 07:37 ---------- Previous post was at 07:31 ----------
I may be able to do a work around, but I have no idea how its going to impact performance. I could texture "usertexture" and "attachto" the vehicle. Id rather not do that though...