Jump to content

Zipper5

Former Developer
  • Content Count

    5418
  • Joined

  • Last visited

  • Medals

  • Medals

Everything posted by Zipper5

  1. Zipper5

    Join In Progress Tasks

    Check out the Functions Viewer in the Editor, new to Arma 3. Under the MP category you will find BIS_fnc_MP which you can use to accomplish this, if you use it with the functions under the Tasks category.
  2. For that, you'll probably want to look into Event Handlers. Specifically, the Respawn variant. Here's the modified code to make it work using your loadout: changeLoadout = { private ["_unit"]; _unit = _this; // Remove the unit's default weapons removeAllWeapons _unit; // Add rifle with suppressor and 1x 100-round magazine _unit addMagazine "100Rnd_65x39_caseless_mag_Tracer"; _unit addWeapon "arifle_MX_Hamr_point_grip_F"; _unit addPrimaryWeaponItem "muzzle_snds_H"; // Add handgun with suppressor and 1x 30-round magazine _unit addMagazine "30rnd_9x21_mag"; _unit addWeapon "hgun_rook40_f"; _unit addHandgunItem "muzzle_snds_L"; // Add Binoculars and Night Vision Goggles _unit addWeapon "Binocular"; _unit addItem "NVGoggles"; _unit assignItem "NVGoggles"; // Add backpack _unit addBackpack "B_FieldPack_blk_DiverTL"; // Change the backpack's loadout private ["_backpack"]; _backpack = unitBackpack _unit; clearMagazineCargoGlobal _backpack; _backpack addItemCargoGlobal ["U_B_CombatUniform_mcam_vest", 1]; // 1x multicam uniform _backpack addItemCargoGlobal ["V_PlateCarrier2_rgr", 1]; // 1x plate carrier vest _backpack addItemCargoGlobal ["H_HelmetB", 1]; // 1x helmet _backpack addMagazineCargoGlobal ["100Rnd_65x39_caseless_mag_Tracer", 6]; // 6x 100-round magazines }; // Doesn't need to be run on the dedicated server itself if (!(isDedicated)) then { // Wait for JIP waitUntil {!(isNull player)}; // Change the player's loadout initially player call changeLoadout; }; // Apply to all units set to Playable { // Change loadout upon respawn _x addEventHandler [ "Respawn", // Respawn event handler { // Find the newly-respawned unit private ["_unit"]; _unit = _this select 0; // Change loadout _unit call changeLoadout; } ]; } forEach playableUnits;
  3. Detecting an ammo crate's destruction would be just as easy. Detecting if an object placed in the Stratis map itself is destroyed is bit more complicated, but still possible. If, for example, you wanted to make the object to destroy the radio tower on the northern part of Agia Marina, you'd want to do something like this: Define the tower itself using the nearestObject command, e.g. ZP5_tower = [3063.95,6187.42,0] nearestObject "Land_TTowerBig_1_F". Change the Set Task Destination module's Destination to Module position and place it over the target. Change the Trigger's Condition to !(alive ZP5_tower).
  4. As the guy who designed their current implementation, I must apologize for the confusion. This was one of the first proper frameworks I worked on when I began work on Arma 3. :p It will be improved in the future, hopefully accompanied by some more general documentation of how modules now work. So, to give a basic tutorial of how it currently works: Let's say we have a mission where the objective is to destroy an enemy vehicle. It's a 4-player coop, all players have the same objective and they're all in the same squad. Insert the Create Task module, fill in the details as desired. Change Apply to to Synchronized objects only. Synchronize the module to each of the player units. Insert the Set Task State module, set the State to Assigned. Synchronize to the Create Task module. Insert the Set Task Destination module, set the Destination to Synchronized object. Synchronize to the Create Task module and the enemy vehicle. Insert a Trigger, change it's Condition to !(alive truck1) (change truck1 to the name of the vehicle) Insert another Set Task State module, set the State to Succeeded. Synchronize to the Create Task module and the Trigger. This should create the task for all players, set it as current, set the vehicle as its destination, wait for the vehicle to be destroyed and then mark it as succeeded. Hope that helps!
  5. I'd first recommend you check out the following pages describing the usage of each of the commands in your script: player removeAllWeapons addWeapon addItem addMagazine removeBackpack addBackpack unitBackpack clearMagazineCargo addItemCargoGlobal addMagazineCargoGlobal You can also find a list of commands available since Arma 2 here, as well as new ones introduced in Arma 3 here. A couple of things to note: playable is not a command in Arma 3, and will return nothing. When using addItem, you will only add it to the unit's inventory. To equip it, use the assignItem command. To add an attachment automatically to a weapon, use the addPrimaryWeaponItem, addSecondaryWeaponItem and/or addHandgunItem commands. As of Arma 3, there is no need to remove the backpack via removeBackpack before adding a new one via addBackpack. As a rule of thumb, add magazines for weapons before adding the weapons themselves, otherwise you will have to manually load them. Currently, you are only adding one magazine to both the rifle and pistol. Arma 3 has a new command, addMagazines, that will allow you to add multiple. It's probably best for you to look over these commands and their usages, as then you'll be able to understand it. However, if you want to just make this exact loadout definition work for everyone in your multiplayer mission, this is what you'll have to do: Save your mission in the editor. Open a new file in Notepad, or the text editor of your choice. Save this file as init.sqf into your mission's folder. It will be located under: C:\Users\<your Windows name>\Documents\Arma 3 Alpha Other Profiles\<your Arma 3 name>\missions\<mission name>.Stratis Inside this init.sqf file, paste the following: // Do not run on the dedicated server itself if (isDedicated) exitWith {}; // Remove the player's default weapons removeAllWeapons player; // Add rifle with suppressor and 1x 100-round magazine player addMagazine "100Rnd_65x39_caseless_mag_Tracer"; player addWeapon "arifle_MX_Hamr_point_grip_F"; player addPrimaryWeaponItem "muzzle_snds_H"; // Add handgun with suppressor and 1x 30-round magazine player addMagazine "30rnd_9x21_mag"; player addWeapon "hgun_rook40_f"; player addHandgunItem "muzzle_snds_L"; // Add Binoculars and Night Vision Goggles player addWeapon "Binocular"; player addItem "NVGoggles"; player assignItem "NVGoggles"; // Add backpack player addBackpack "B_FieldPack_blk_DiverTL"; // Change the backpack's loadout private ["_backpack"]; _backpack = unitBackpack player; clearMagazineCargoGlobal _backpack; _backpack addItemCargoGlobal ["U_B_CombatUniform_mcam_vest", 1]; // 1x multicam uniform _backpack addItemCargoGlobal ["V_PlateCarrier2_rgr", 1]; // 1x plate carrier vest _backpack addItemCargoGlobal ["H_HelmetB", 1]; // 1x helmet _backpack addMagazineCargoGlobal ["100Rnd_65x39_caseless_mag_Tracer", 6]; // 6x 100-round magazines
  6. I've got a scenario where having an intensive camera shake would add a lot to the immersion of a specific event, but it doesn't happen automatically unfortunately. Therefore I'm wondering if the camera shake is possible to be controlled by scripts? I'm guessing it'd be used via ppEffects, but how does it work in particular? :confused:
  7. When you introduce sleeps, the code needs to be executed in a script or a spawn. onMapSingleClick only calls the code. That, however, is now unnecessary. After debugging the issue, it appears to be down to your code not using createUnit array. I would imagine the two variants are handled slightly differently. Remove the sleeps, change your code so that it uses createUnit array and it will work, or feel free to use this rewritten version I wrote to test it:
  8. There often needs to be a small sleep between creating a helicopter and moving any unit inside it. Obviously, this will require the code to be executed in a script or spawn but it would appear you're doing that anyways. Something like this: [] spawn { private ["_pos"]; _pos = your_position_here; private ["_h1", "_p_1_1"]; _h1 = createVehicle ["Mi24_V", _pos, [], 0, "NONE"]; _p_1_1 = group player createUnit ["RU_Soldier_Pilot", [10,10,0], [], 0, "NONE"]; sleep 0.05; _p_1_1 moveInDriver _h1; }; Note that I've also changed createUnit and createVehicle to their array variants (createVehicle array createUnit array). The benefit of this is mainly in case you are wanting to start the Mi-24 already flying with its engine on. Just replace the last element of the createVehicle array with "FLY". Hope that helps!
  9. Zipper5

    GamesCom meet & greet

    I'd be happy to join if I can pull myself away from the booth. :)
  10. Zipper5

    [CAMP] Blood On The Sand

    Thanks for the nice comments, guys! I'm not surprised there are some bugs appearing now as I haven't had any time to update the campaign in quite a while, whereas there have been many changes to Arma 2 in the meantime. Maybe I'll have time in the future to make an update to this and Operation Cobalt since I've learned so much since releasing them but, for now, the next work you'll see from me will be in Arma 3. :)
  11. More or less. At its core, it's a for do loop with 90 steps that rapidly calls different silent hints: for "_i" from 0 to 89 do { private ["_pic", "_string"]; // Filenames need to be handled differently if single or double digit if (_i < 10) then {_pic = format ["pic_0000%1.paa", _i]} else {_pic = format ["pic_000%1.paa", _i]}; // Don't display the instructions for the first 30 frames if (_i < 30) then { _string = format ["<t size = '2'>EGLM</t><br/><img image = '%1' size = '10' shadow = '0'/><br/><t size = '1.25'> </t>", _pic]; } else { _string = format ["<t size = '2'>EGLM</t><br/><img image = '%1' size = '10' shadow = '0'/><br/><t size = '1.25'>PRESS [H] FOR MORE INFO</t>", _pic]; }; // Use a silent hint to display it hintSilent parseText _string; // Display at 30 FPS sleep 0.03; };
  12. Zipper5.com Mirror Filefront Mirror Credits: - Celery, Cole, Rellikki, Binkowski, OFPEC & the BI Forums for their help & support. - All of the many beta testers for their excellent feedback. - savedbygrace for writing the exceptionally detailed and very helpful review of the campaign over at OFPEC. - Kronzky for his Urban Patrol Script. - Bohemia Interactive Studios for the ever-amazing Arma 2. v1.01 OFPEC Review (8/10) Story: Set during the events of Harvest Red, the player takes on the role of Peter Novak, a Private in the CDF. Akula Lopotev has seized command of the Chernarussian Communist Party in a violent coup and renamed it to the Movement of the Chernarus Red Star. He has declared war on the current Democratic government of Chernarus, and began a campaign of 'ethnic-cleansing' to rule out his competition. At first the CDF could contain it, but the ChDKZ slowly grew until they were overwhelmed. The President sent out a call for help, to which the United States sent the 27th MEU to Chernarus aboard the USS Khe Sanh. Features: - 9 missions long. - Dramatic and interesting story-driven campaign. - Small and scripted coupled with large and dynamic missions. - Infantry-centric. - Play as the Chernarussian Peter Novak, the Russian Vasilly Derevenko, the American Mark Reynolds, and the Chernarussian Karel Svoboda. - Grunt, leading and special forces missions. - Custom field dressing healing mechanic. - Custom music and sounds. Feedback: As always, I appreciate any and all constructive criticisms/feedback you guys give me. This was mostly a 1 man project, so I'm sure there will be bugs or other issues. Don't hesitate to notify me about them! Enjoy! This campaign is a product of months of hard work and restarts/redesigns, and was a greater effort than anything else I've ever done for the community. I want to thank again all the people who helped me out with it. Without you, it would not have seen the light of day. So, with that, I hope you enjoy the campaign! Changelog:
  13. Zipper5

    [CAMP] Blood On The Sand

    Thanks for the kind words everyone, glad to see people still enjoying BOTS along with my other work! It's unlikely there will be any updates anytime soon for any of them rather, the next time you'll see my work will be in Arma 3. :cool:
  14. Well, after a long time I finally got a chance to update this. See the first post for more details!
  15. I'm actually surprised people still use that addon as I have yet to update it for the weapons OA added! Maybe I'll do that now... :cool:
  16. Each of the new Scripted - Helicopters waypoints are a function that is simply called by the waypoint when it is completed, and the parameters of the waypoint are passed to the function. In the case of attaching and detaching slingloads, the functions involved are: BIS_fnc_wpSlingLoadAttach and BIS_fnc_wpSlingLoadDetach. You can also call all functions in a MP compatible format through use of the BIS_fnc_MP function. Unfortunately, rope simulation is currently not MP compatible. If it is a hosted server, the host will be the only one the system will work on. The rope and cargo will be invisible for the clients. It won't work at all on dedicated servers.
  17. I do indeed have Windows 7 installed on the same SSD as TKOH.
  18. My home PC is pretty much the same as yours, only slightly better in terms of clock speeds and the presence of a SSD: - Windows 7 Ultimate 64bit SP1 - Intel Core i7 2600k overclocked to 3.70GHz - EVGA Superclocked GTX 580 running 290.53 - 8GB of Corsair 1600MHz DDR3 RAM - 500GB Western Digital HDD - 120GB Corsair SSD (where TKOH is installed) The game runs perfectly smooth for me on pretty high settings. Usually, I've found that any such stuttering issues are related to the hard drive and the delayed streaming of terrain and objects, usually down to either a hard drive severely in need of defragging, or the speed of the hard drive being inadequate. My SSD for example made a huge difference in the smoothness of gameplay because of its speed and lack of a need to defrag. So, as DnA says, defrag your HDD if you have not already. I would highly recommend a SSD myself, as well. However, it can also be down to issues with every other part of your rig that you mentioned so, again, as DnA says: be sure you're running the latest drivers. Finally, make sure you are running the latest version of TKOH. If these problems persist despite these troubleshooting efforts, perform some tests on your hardware to see if there are any faults occurring within them. Obviously, if worst comes to worst, formatting is always an option, but that really is the worst-case scenario.
  19. The purpose of the [5] Argument is explained in this section of the wiki article, Basically, all that the [5] is doing is making it so the cargo does not attach to the helicopter instantly, which is the default setting of the so-called "posLimit". Rather, it will take 5 seconds.
  20. You got us, it was a simple mistake of putting 6 into the Placement radius line and not the Completion radius line for that screenshot. Easy mistake to make when one's just above the other. Apologies. The issue is not present in the downloadable mission. However, having the Completion radius set to 6 does still work on my end. You just need to fly low enough and close enough for the attaching sequence to initiate. Then you need to wait for it to finish before taking off again. Setting the Completion radius to 0 meant you could pick it up from higher and further away. The 6 in this case means 6 meters from the crate to the center of your helicopter. Hope that helps! :cool:
  21. Yes, that's right folks: OFPEC The Editing Center in cooperation with Bohemia Interactive Studios is officially announcing its next Mission Editing Competition! This contest will challenge editors to focus their skills on creating a fully immersive mission that draws the player in and leaves them thirsting for more. The Rules The entry must be constructed from any of the the Arma 2 titles All Community members are welcome Each entry must be single-player and contain a proper Overview, Briefing and cinematic Intro and Outro You may submit more than one entry Only missions that have not yet been released by 30 June 2011 are eligible for entry! (includes Beta releases) All entries MUST contain a Readme file in the download, crediting content from others, be it original or modified scripts etc. Failure to disclose or deliberate false representation is automatic disqualification Community addons are welcome, up to 1 GB. That's an upper limit, NOT a minimum limit! If you think a vanilla unit/island can do the job instead of an addon, go with vanilla. Only use addons if you really feel it is necessary and adds to the experience! No automatically/globally activated mods, e.g. AI mods, sound mods. Feel free to suggest using them, but do not make it a requirement (judging will be done without the mods loaded) No Total Conversion Mods, e.g. ACE, SLX. Feel free to make them compatible or optional, but not required (judging will be done without the mods loaded) You will be penalized for mistakes the addon maker has made! If the addon throws up error messages, causes havoc in the .rpt, is unoptimized, ugly, sounds bad or doesn't work properly, this will reflect in your score. So choose wisely if you decide to use addons! The Deadline The competition begins today, 1st July 2011, 00:00 GMT with a deadline of 1st September 2011, 00:00 GMT. Entries submitted after this time will not be accepted. Should you wish to already submit an entry please read this post. The Judging The entries will be judged by a panel of four anonymous Community members. The categories which entries will be judged on are as follows: Originality - How fresh and creative the mission is Immersion - How captivating the mission is Technical framework - How well the mission design works Replayability - How freely the player can adopt his own tactics Overall - How the mission fits together as a whole All entries that are found complete and free of bugs will be uploaded to OFPEC's Mission Depot Archives to stand alongside the greats from the past. The Prizes You'll be competing for prizes provided to us by Bohemia Interactive Studios. 1st Place Arma2 : Reinforcements and an Arma2 backpack 2nd Place Arma2:OA tshirt, Arma2 wallet and a Takistan or Chernarus map 3rd Place Arma2:OA tshirt and a Takistan or Chernarus map Further Discussion For questions or comments, feel free to post them in the MEC 2011 sticky thread. Think you have what it takes to weave the magic of storytelling with the ferocity of teeth-clenching game play? Submit your entry at the OFPEC forums by September 1st. We'll see you there!
  22. Zipper5

    BattleField 3

    Or even better, don't play on Metro at all. :p Absolutely terrible map...
  23. Zipper5

    BattleField 3

    Actually, it is the somewhat obsessive postprocessing that is stopping me from enjoying the game as much as otherwise possible at the moment. I think it's this whole "war through the lens" design decision DICE made. Constant camera shaking from constant explosions, thanks much in part to AAV grenade launchers and shotguns with explosive rounds, as well as constant blur (not the suppression effect) despite motion blur being disabled, and constant monotone colors where, in this case, monotone means blue. It's a good art style for a cinematic single player campaign, I think, but it is quite poor for competitive multiplayer. Though perhaps not the best example, I remember a MP map for CODBlOps that took place in a launch facility. The rocket would launch part way through that map every time and would shake the screen of everyone on the map. It was a neat cinematic idea in principle, but absolutely horrible in practice and pissed everyone off. Needless to say, such a feature has not resurfaced in a map for CODBlOps or MW3 since. I'm glad to see they're toning down things like the flashlights. Hopefully they'll decide to tone down the "war through the lens". If not, I can live with it, but I don't know for how long. Probably until the game itself stops being fun. :)
  24. Nope, it is compiled at the start of the mission each time you run it. To use it, you must use the call command. The same will go for the other functions you find there, though sometimes it will be better to use the spawn command. In this case, the syntax for this function is as follows: _nul = ["task_name",destination] call BIS_fnc_taskSetDestination; "task_name" - the string ID you have given to your task destination - the object or position you wish to use as the destination However, to use these commands you must first use BIS_fnc_taskCreate to create the task. Have a poke around the functions viewer and experiment. Explanations as to the use of the functions included in TKOH are being added here, so that may be something you wish to bookmark for future reference. :) Here's an example of managing tasks using TKOH's functions: //First, wait for all functions to be initialized waitUntil {!(isNil "BIS_fnc_init")}; /* Now we'll create our player unit's task using BIS_fnc_taskCreate, 1st parameter - the unit(s) that have the task assigned to them 2nd parameter - the string ID for the task. This will be used to reference this task from now on 3rd parameter - an array containing the text for the task. It goes in the order: [task description,task title,task GUI title] (Optional) 4th parameter - the destination of the task, i.e. where the waypoint will point to (Optional) 5th parameter - set to true to make it the current task (Optional) For now, I'll include just an example that adds the description & destination for the task, and makes it the player's current task: */ [player,"ExampleTask",["This is an example task.","Example Task","EX TSK"],position ExampleDestination,true] call BIS_fnc_taskCreate; /* Now that we have the task created, we can manipulate it during the mission. Let's say we receive an update from HQ and need to change its description, so we'll use BIS_fnc_taskSetDescription, 1st parameter - the string ID for the task. In this case, "ExampleTask" 2nd parameter - the new description for the task still following [task description,task title,task GUI title] */ ["ExampleTask",["This is a NEW example task.","NEW Example Task","NEW EX TSK"]] call BIS_fnc_taskSetDescription; //Let's wait for a condition to be turned true upon the completion of the task TaskCompleted = false; waitUntil {TaskCompleted}; /* Since we have succeeded with the task, we need to update its state. To do this, we use BIS_fnc_taskSetState, 1st parameter - the string ID for the task. In this case, it is still "ExampleTask" 2nd parameter - the task state. Can be either "SUCCEEDED", "FAILED", "CREATED", "CURRENT", or "CANCELLED" 3rd parameter - set to true to save the game (Optional) 4th parameter - set to true to show the GUI hint displaying the updated task state (Optional) Let's set it to "SUCCEEDED", save the game, and show the hint: */ ["ExampleTask","SUCCEEDED",true,true] call BIS_fnc_taskSetState; //And there we have it. We have created & changed a task, as well as changed its state upon the completion of the task. Hope this helps! This example can be executed in any .sqf script, should you wish to try it out for yourself.
×