Jump to content

rga_noris

Member
  • Content Count

    22
  • Joined

  • Last visited

  • Medals

Everything posted by rga_noris

  1. rga_noris

    Tanks DLC Feedback

    BUG: Group will not follow waypoint after entering vehicles assigned using addVehicle. I've added a task in the feedback tracker with a repro mission, but I wanted to check to see if anyone else has noticed this either: If any group is given a waypoint and has a vehicle in either "Wheeled_APC_F" or "Tank_F", they will not complete their waypoint. The vehicle has been assigned to the group using (group) addVehicle (vehicle). They will enter the vehicle appropriately, but they will never move to the waypoint. Any vehicle of any other class will work just fine. Note, this is not due to the commander position, as not all of the vehicles in those classes have a commander position. I first noticed this when going from Main Branch to the Tanks Update (not RC, official update). EDIT: One work around is to wait until after the units have entered the vehicle. Then change their group (steps below) and reassign the waypoint. They will behave as normal. Bug Report: https://feedback.bistudio.com/T128274
  2. Video of problem: https://youtu.be/sdLyEm3NNRM Feedback tracker: https://feedback.bistudio.com/T125385 Hello! I've been using kbTell for some time now with solid success, however I recently noticed a bug. I'm actually not certain if this bug has always been present, or if I am just now noticing it. The reason for this post is to make sure it isn't my usage that's creating the issues. I am going to throw this into the feedback tracker as well. To sum up the video above, when kbTell is used on units that are not local to the person observing the conversation, only one person will speak at a time. So if player A is next to Bob and Bill, and Bob is supposed to talk at the same time Bill is, Bob will need to wait until Bill is done speaking, but Bob will lip sync on time. Now you might think this isn't a bug, in that they are having a conversation. The problem will be if Bob is miles away from Bill, talking about two different topics, Bill would still not say a darn thing until Bob is done, or vice versa. Now, if the units speaking are local to the observer, there is no issue. They will speak over each other if required. The video does a better job, showing both scenarios, so please take a gander if you have time. Here is the code used in the video: In game script: Ermy linkItem "ItemRadio"; Carl linkItem "ItemRadio"; Ermy kbAddTopic ["testTopic", "sentenceDB.bikb", "", ""]; Carl kbAddTopic ["testTopic", "sentenceDB.bikb", "", ""]; [] spawn {Carl kbTell [Carl, "testTopic", "Carl1B", ["",{},"",[""]], false]; sleep 0.5;Ermy kbTell [Ermy, "testTopic", "ErmyHelpPlane", ["",{},"",[""]], false];}; SentenceDB.bikb (located in the missions root) class Sentences { class ErmyHelpPlane { text = ""; speech[] = {"\BND\sound\Ermy\ErmyHelpPlane.ogg"}; variant = ""; variantText = ""; class Arguments {}; }; class Carl1B { text = ""; speech[] = {"\BND\sound\Missions\G01\Carl1B.ogg"}; variant = ""; variantText = ""; class Arguments {}; }; };
  3. To change it, you would need to define a new class that is essentially that class, but with a different side. You would need to do this in a mod which you would pack into a pbo. The easier way is to simply place the units in the editor. Then place an OpFor unit. Open up the OpFor units attributes and set his probability to 0. Then, select your BluFor guys and right-click on one. Click connect and then group them all to the OpFor guy. Now they will all turn red and be OpFor. You can even delete the OpFor guy, but if you leave him there it the zero chance of probability will make sure he never shows up. Super quick and easy.
  4. Since grp returns the created group by that function, just run the same loop on all units in that group (which is represented by the global variable grp in the script you provided). Since grp is overwritten by the most recent group created, as long as the forEach loop comes immediately after you should have no issues. Should look like this: grp = [getmarkerpos "M1", independent, 6] call bis_fnc_spawngroup; { _x removeAllEventHandlers "HandleDamage"; _x addEventHandler ["HandleDamage",{ _damage = (_this select 2)*1.5; _damage }];}forEach units grp;
  5. Add the triggered waypoint for your vehicle just a few feet in front of it, making your intended waypoint the second waypoint. The truck will budge a few feet, and then wait for the trigger.
  6. Well, that is how call works, fairly certain I'm not mistaken on that bit. I suppose I'm not certain exactly what you mean. Call is unscheduled, which essentially just means that it is a priority to the engine, so it will be run immediately as opposed to in line with the scheduler. It will, however, delay scheduled items until it is done, which I think is what you want to avoid... maybe?
  7. So this is a tough question, as I'm not sure exactly what you mean, but here it goes. There are two ways to call a function. call and spawn. Let's say you have a simple function: CM_simpleHint = { hintSilent "A hint!"; }; There are two ways we could run this function. The first is call: [] call CM_simpleHint; In this manner, the script would run, however the game would essentially stop until it is done. I think this is what you mean. Because of this, certain things are a bit different. 1) You cannot suspend the script with sleep or waitUntil functions. If you could, the script could easily and indefinately freeze the game. Second, while loops are limited to 10,000 iterations for the same reason. A while loop halts the script until it is done, meaning that if a while loop is in a called function, it halts the game until it is done. That said, a called script is run much faster than its spawned cousin, and can also return a value. For example: _randoVar = [] call CM_funcAlwaysReturnsTrue would be the same as _randoVar = true, provided true is what the function returns. The function can return anything. Next is spawn: [] spawn CM_simpleHint A spawned script will not stop the game, it will run along side any other script. You can suspend this script as well for as long as you would like, and while loops are not capped. The disadvantage is that it will be slower, and you cannot return a value from the script in the same way as you can with call. _randoVar = [] spawn CM_funcAlwaysReturnsTrue would NOT equal true, instead _randoVar would be the scripts handle, for usage with commands like scriptDone. Additionally, you can run things via an FSM. FSM's are much the same as call, except they do not halt the game and run along side. They are their own topic in and of themselves, however, and are more suited for constantly looping tasks and AI stuff. I can help you with these as well if you think they would fit your need. Finally, whether called or spawned, any script can slow down game performance if written ineffeciently or with errors.
  8. rga_noris

    Random pos in trigger area

    I'm not familiar with that particular function, however there is another way you could get a random position within a circle. As long as the trigger is a perfect circle, you could do something like this: _random_pos_in_trigger = (trigger getRelPos [(random ((triggerArea trigger) select 0)), random(360)]); I just tested this and it works without issue. Let me know if you need something a bit more complex for different shapes. EDIT: I figured I would show how this works: trigger is the name of your trigger, obviously. getRelPos is script command that gets a position relative to the location of an object. So trigger is our object, and then the array we pass after the getRelPos command is [distance, direction]. So if you put in trigger getRelPos [90,180], that would return a pos that is 90m to the direct south of the object. So, we want the distance and direction to be random. The distance needs to not exceed the radius of the trigger. We can get the radius of the trigger by using this: ((triggerArea trigger) select 0). triggerArea returns this array: [a, b, angle, isRectangle, c] . Since we have a perfect circle, selecting the first element of the array will work as it is the same as the second, so we use select 0 (arrays elements are like so [0,1,2,3.....,15,16]). We then add random in front of that, as this will return a random whole number from 0 to the stated value, which in our case would be the radius of the trigger. Next, we need a random direction. Since headings in Arma are 0-360, we simply need a random number from 0 to 360. Tada!
  9. rga_noris

    Say3D help

    https://feedback.bistudio.com/T125385 Ok, give it a shot!
  10. So recently I decided to play with Say3D. I have several sounds in a mod, which I added to the description.ext via adding to CfgSounds. I also tried to set it up in the mods config.cpp. Initially, the sounds worked using say3D with no issue. The characters lip synced just fine. Then, seemingly for no reason, the characters started mumbling (like the sounds we're spoken incredibly fast, but no change in pitch). This was after adding more voices, so I reverted back to what worked... Except now it no longer works. These sounds work with playSound and playSound3D just fine. I even tried some vanilla sounds, and some of those worked while some exhibited the behavior I mentioned. I have made no changes to my files that worked. I do not want to use kbTell for reasons I outline in this video: Please help!
  11. rga_noris

    Say3D help

    It was made with WinRar... I'll try just making it a zip
  12. rga_noris

    Say3D help

    https://feedback.bistudio.com/T125385 There is the ticket with the repro mission attached. Directions for Repro Mission: Run the mission on a dedicated server and join (mission is done quickly with only one player in mind). Use your radio menu (press 0, by default), and use 1 to make Ted Talk, 2 to make Bill talk, and 3 to make them attempt to talk at the same time, reproducing the bug. Let me know if you have any questions!
  13. rga_noris

    Say3D help

    To be clear, you're looking for a repro mission for the kbTell bug, correct? Although I'll still put up the mission, what's on your mind as a possible cause? Just curious, I've done a ton of looking around and general fiddling about with no luck.
  14. rga_noris

    Say3D help

    I put the kbTell issue in the bug tracker. I'll make a repro mission tonight and place it in there. Had anyone put the say bug in the bug tracker? There are bugs for the say command in there, but I couldn't find the specific one.
  15. Video of problem: https://youtu.be/sdLyEm3NNRM Hello! I've been using kbTell for some time now with solid success, however I recently noticed a bug. I'm actually not certain if this bug has always been present, or if I am just now noticing it. The reason for this post is to make sure it isn't my usage that's creating the issues. I am going to throw this into the feedback tracker as well. To sum up the video above, when kbTell is used on units that are not local to the person observing the conversation, only one person will speak at a time. So if player A is next to Bob and Bill, and Bob is supposed to talk at the same time Bill is, Bob will need to wait until Bill is done speaking, but Bob will lip sync on time. Now you might think this isn't a bug, in that they are having a conversation. The problem will be if Bob is miles away from Bill, talking about two different topics, Bill would still not say a darn thing until Bob is done, or vice versa. Now, if the units speaking are local to the observer, there is no issue. They will speak over each other if required. The video does a better job, showing both scenarios, so please take a gander if you have time. Here is the code used in the video: In game script: Ermy linkItem "ItemRadio"; Carl linkItem "ItemRadio"; Ermy kbAddTopic ["testTopic", "sentenceDB.bikb", "", ""]; Carl kbAddTopic ["testTopic", "sentenceDB.bikb", "", ""]; [] spawn {Carl kbTell [Carl, "testTopic", "Carl1B", ["",{},"",[""]], false]; sleep 0.5;Ermy kbTell [Ermy, "testTopic", "ErmyHelpPlane", ["",{},"",[""]], false];}; SentenceDB.bikb (located in the missions root) class Sentences { class ErmyHelpPlane { text = ""; speech[] = {"\BND\sound\Ermy\ErmyHelpPlane.ogg"}; variant = ""; variantText = ""; class Arguments {}; }; class Carl1B { text = ""; speech[] = {"\BND\sound\Missions\G01\Carl1B.ogg"}; variant = ""; variantText = ""; class Arguments {}; }; };
  16. rga_noris

    Revive Feedback

    Has anyone actually tested that Basic Mode works like this, as advertised? I have ReviveUnconsciousStateMode set to 0 in description.ext, however the damage model seems to be the Advanced mode.
  17. rga_noris

    AI Helo won't attack?

    I know you gave up, but this seems excessively complex. You should just be able to assign a way point to the helicopter itself (not it's crew) at the players vehicle and it will handle the rest. Arma is often smarter then people give it credit. When scripting, try the simplest solutions first.
  18. Are you set on using the unit capture function? Could you try writing a script that tells the plane to land, and then when it activates a trigger on the runway, immediately takes off again? That's all I got.
  19. You could put a rectanglular trigger that is activated by the chicken. Then when the chicken leaves, on deactivate issue a doMove back to a waypoint in the middle of the trigger.
  20. Thanks for the information, i'll see if it helps. Based on those links you sent me, I do have a Q; if I am editing the mission and then testing it with myself as the only human player, shouldn't all variables be utilized on my machine, as I qualify as local and server? I think I am going to have the radio trigger exec a script that will create the Warfare module, as opposed to changing its presence condition. I'll be sure to post my results here. Thanks again for your help thus far.
  21. ..or more specifically, the Warfare module. Let me start by explaining my goal, as there could be more than one way to do this. Essentially the map is a custom map for me and a friend. We typically play Warfare maps, allied on the same side. I've made a few custom Warfare maps, but this time I wanted to make something special, as well as learn some scripting. Essentially I now have a map set on Isla Duala. Each player starts out with a small squad and can complete various objectives around the map, such as locating a working SCUD launcher by intercepting a convoy and capturing a VIP. Essentially there are several goals around the map that me and the friend can complete, but what I would like to happen is this: The players can run about the map completing covert objectives BEFORE the Warfare actually starts. Currently the way I have it set up is, at any time, either player can use a radio trigger that will change the global variable GoToWar to equal 1. The condition of the modules presence is GoToWar == 1; GoToWar is set to equal 0 in the Init.sqf. When the radio is used, however, nothing happens. What does appear to happen is that respawn is set up for all players, however this occurs no matter what, even before the radio trigger is used. As a point of trouble shooting, I also made the condition for presence true for the module and tested the mission... it started like a normal Warfare mission, with money, HQ's, and the works. Any ideas on how to achieve a two phase mission like this? Thanks in advance for any help.
  22. Hadn't really considered that... Would it make a difference on the local machine though?
×