Jump to content

rocket

Former Developer
  • Content Count

    652
  • Joined

  • Last visited

  • Medals

  • Medals

Everything posted by rocket

  1. rocket

    ArmA 2 Glass .rvmat

    Don't rebinarize the RVMATs. Just use unbinarized ones (so add *.rvmat to the exceptions in BinPBO)
  2. The invalid crew message will probably be because you're referencing classes that don't exist in ArmA2. Check the config file to see what the parent types are.
  3. rocket

    Island Panthera (WIP)

    I'm very excited, excellent job!
  4. I use Vista 64bit Ultimate, with 8gb of RAM, and I run the tools fine. I do get crashes sometimes using the texture viewer, but I use the command line prompt or the Adobe plugin to convert my textures anyway.
  5. Try this: this addEventHandler ["killed", "if (!(Jim in (list trigger1))) then {'1' objStatus 'DONE'} else {'1' objStatus 'FAILED'};"]; You had quote marks inside quote marks. In that case, you need to either double up the quote marks (ie. ""Hello"") or use apostrophies (ie. 'Hello').
  6. Not to mention, they might run out of fuel.
  7. Have confirmed this works in ArmA2, but only if you load the aircraft empty (no crew).
  8. Lowest res LOD as follows (still a WIP, plan to have it right down for next release): - Points: 1945 - Faces: 3332 - Sections: 8
  9. The current download listed is 1.0.1. The initial version was 1.0, but it was unsigned. To get the mod to work on multiplayer servers, you will need to ensure you have 1.0.1.
  10. Place a trigger, BLUFOR, set it to "Detected by OPFOR". Then have the trigger execute a script that creates a helicopter, and a crew, and flies it to the location.
  11. rocket

    Generating Voices in Arma

    Audacity is a free tool that allows you to record and edit sound. I haven't found an effective method for creating sounds via text. The ones that exist are usually very complex and difficult to use. Personally, I recruit friends and family members for any voice work I need - or I do it myself. Always throw out the first few takes, but you'll soon find that people get the hang of it really fast and you can get some great results. You can either have sound files as WAV, OGG, or WSS files. WSS is the most efficient for the engine, I believe. OGG is more useful for music and such, because it reduces filesize substantially but does place some strain on the CPU. Once you have your file, be sure to save a WAV version of it, then drag and drop it onto the WaveToLIP programme. This will produce a LIP file that contains lipsyncing information! Add the following to your description.ext or config.cpp file: class CfgSounds { sounds[] = { m1_Convo1,m1_Convo2 }; class m1_Convo1 { name = "m1_Convo1"; sound[] = {\sound\Convo1.ogg, db+10, 1.0}; titles[] = {}; }; class m1_Convo2 { name = "m1_Convo2"; sound[] = {\sound\Convo2.ogg, db+10, 1.0}; titles[] = {}; }; }; Then, to get a unit to play that. You simply use the "say" command together with the unit you wish to speak, and the name of the speech you want them to say, for example: This would make the player say the "m1_Convo1" file.
  12. In that case, I'd go about it a different way. I'd add a Killed eventhandler to Jim, and have the trigger still, but just checking jim is Not Present. On Jim add the following init: this [url="http://community.bistudio.com/wiki/addEventHandler"]addEventHandler[/url] ["killed", "if (!(Jim in (list trigger1))) then {hint 'You've won!'} else {hint 'too late!'};"]; That make sense?
  13. Edit: I see what you're trying to do (I read the topic heading!), try this: - change the Precense type of the trigger to NOT PRESENT - then have the following in the condition: this&&!(alive Jim)
  14. rocket

    Generating Voices in Arma

    I use Audacity for modifying my files, then I save it as a WAV file, drag n drop it onto the WaveToWSS file, and then either include it as a: - Radio Message (engine adds mic clicks) - Spoken voice (requires an actor ingame) If I'm doing a radio message, I use the equalizer to reduce the high and low end frequencies (so it sounds like a radio message). The game automatically adds mic clicks and static, so no need to worry about that. Radio Message file definition (put in the description.ext file for a mission, or the config.cpp if in an addon): class CfgRadio { sounds[] = {}; class Radio_C130_1 { name = ""; sound[] = {"\sound\Radio_C130_1.ogg", db+1, 1.0}; title = "ROGER, THIS IS TALON ONE, ADVISE SUPPLIES FOR DROP, OVER"; }; }; Then in game: Player groupRadio "Radio_C130_1"; For speech, its a little different. I can post some examples here if needed.
  15. rocket

    Island Panthera (WIP)

    This is looking excellent. A mountaineering guide I used in the past was from Slovenia, and he shows me photos of outstanding and amazing terrain there. This is looking extremely promising and I can't wait to try it out.
  16. Yes, nested arrays work fine. Have you checked out the post I linked? There I provided an example for how to alter a nested array. Any variable you create is already dynamic, what you're asking is how you alter a nested array, which is what that topic is explicitly about :) Alternatively, try this post.
  17. Don't really know what you're trying to achieve. I think you're trying to change components of the Array? In which case, you use the set command ie _array set [0,"weeee"]; Or are you trying to add additional arrays containing the above? If so, you don't add arrays - you concatenate them, again using the set command. Try to think of arrays as like "divided variables". They're variables inside variables. We've been talking about tips around that in this thread also, which might be useful reading.
  18. rocket

    PC Gamer U.S.A. STILL Hating OFP1

    I work at a gaming studio of about 100 people. When ArmA came out, nobody really cared there. But I showed the ArmA2 videos at our Show and Tell the other day, and a large number of us are now eagerly awaiting for our copies of ArmA2 to show up! Also, google trends offers an interesting picture.
  19. rocket

    Snow

    The NIM Mod worked extremely well for ArmA, most of that was done via scripting. I'm not aware of any broad changes to the "drop" function in ArmA2, so it should be extremely straightforward. Add the following *.sqs file to a mission: [b]; dynamic snowing 1.41 by Sentinel[/b] ; resource from Kegetys ; [logic,obj,density] for constant non-changing snow ; [logic,obj,ChangeTime,[Range]] for changing snowing density ; density: 0 - no snow, 5 - max value ; Range is densityvalue [min,max] _logic = _this select 0 _server = false _snow = true ?(local _logic):_server = true; _snow = false ?((missionstart select 0) == 0):_snow = true _obj = player NIM_SnowDens = _this select 1 _ChgTime = 0 ?(count _this > 2):_ChgTime = (_this select 1) * 60; _dMin = (_this select 2) select 0; _dMax = (_this select 2) select 1; NIM_SnowDens = _dMin + (random (_dMax - _dMin + 1)) ?(_server):publicvariable "NIM_SnowDens" _i = 1 ~1 _d = 35 _h = 15 _ai = 0 _wait = 0.001 ?(!_snow):_ai = 100; _wait = 10 #top ~_wait _pos = position player 10 setfog (0.54 * (NIM_SnowDens/15)) _a = _ai while { _a < NIM_SnowDens } do { _dpos = [((_pos select 0) + (_d - (random (2*_d))) + ((velocity vehicle _obj select 0)*6)),((_pos select 1) + (_d - (random (2*_d))) + ((velocity vehicle _obj select 1)*6)),((_pos select 2) + _h)]; drop ["\ca\data\cl_water", "", "Billboard", 1, 8, _dpos, [0,0,-1], 1, 0.000001, 0.000, 0.7, [0.07], [[1,1,1,0], [1,1,1,1], [1,1,1,1], [1,1,1,1]], [0,0], 0.2, 1.2, "", "", ""]; _a = _a + 1; } ?( (_ChgTime > 0) && (_time > (_i * _ChgTime) && !_server) ):_i = _i + 1 ?( (_ChgTime > 0) && (_time > (_i * _ChgTime) && _server) ):_i = _i + 1; NIM_SnowDens = _dMin + (random (_dMax - _dMin + 1)); NIM_SnowDens = NIM_SnowDens - (NIM_SnowDens % 1); publicvariable "NIM_SnowDens" ?(NIM_SnowDens < 16):_wait = 0.001 goto "top" Then add a logic with: [this,0] exec "NIM_Snow.sqs"; Then alter the snowing amount by changing NIM_SnowDens (0 to 4 for amount of snow). The NIM guys did some fantastic work, I'd recommend downing their full NIM weather mod and trying it out in ArmA2. My copy hasn't arrived yet, but I'll be doing this when it does.
  20. Problem one: The animation you have specified is a transitional animation, you want a fixed animation. Problem two: You haven't defined the animation for use as an action: class CfgMovesBasic { class DefaultDie; // External class reference class ManActions { AH1Z_Pilot = "AH1Z_Pilot"; AH1Z_Gunner = "AH1Z_Gunner"; AH6_Pilot = "AH6_Pilot"; AH6_Gunner = "AH6_Gunner"; MH6_Cargo01 = "MH6_Cargo01"; MH6_Cargo02 = "MH6_Cargo02"; MH6_Cargo03 = "MH6_Cargo03"; UH60_Pilot = "UH60_Pilot"; UH60_Gunner = "UH60_Gunner"; UH60_Cargo01 = "UH60_Cargo01"; UH60_Cargo02 = "UH60_Cargo02"; AV8B_Pilot = "AV8B_Pilot"; KA50_Pilot = "KA50_Pilot"; Mi17_Pilot = "Mi17_Pilot"; Mi17_Gunner = "Mi17_Gunner"; Mi17_Cargo01 = "Mi17_Cargo01"; Mi17_Cargo02 = "Mi17_Cargo02"; Camel_Pilot = "Camel_Pilot"; Para_Pilot = "Para_Pilot"; [b] usec_maule_pilot = "usec_maule_pilot"; usec_maule_pax = "usec_maule_pax";[/b] }; } class CfgMovesMaleSdr: CfgMovesBasic { class States { class Crew; [b] class usec_maule_pilot : Crew { file = "\usec_alpine\anim\usec_maule_pilot.rtm"; interpolateTo[] = {"KIA_AH1Z_Gunner", 1}; }; class usec_maule_pax : usec_maule_pilot { file = "\usec_alpine\anim\usec_maule_pax.rtm"; interpolateTo[] = {"KIA_AH1Z_Gunner", 1}; };[/b] }; }; class CfgVehicles { ... class USEC_MAULE : Plane { scope = public; model = "\usec_alpine\usec_maule.p3d"; displayName = "Maule"; side = TCivilian; transportSoldier = 3; crew = "Civilian4"; driverAction = "usec_maule_pilot"; cargoAction[] = {"usec_maule_pax", "usec_maule_pax", "usec_maule_pax"}; [b] getInAction = GetInMedium; getOutAction = GetOutMedium;[/b] ... }; }; If you want to see how the animation will look in O2 (to help with proxy placement), do the following: Open up any default soldier (unbinarized) file in O2 Make sure you have the animations window up (SHIFT + F2). Right click in the animation window (it has keyframe time and phase written in it). Select "From Matrices (all Lods)". Navigate to the animation you want for your proxy (AmovPsitMstpSlowWrflDnon.rtm) Delete any extraneous animations from it (the first animation, probably -0.5) by right clicking and selecting delete. Character should now be in correct pose. Save the file. Now open your vehicle, and select "create proxy", then select "show proxies" and you'll see your object. Make your proxy a defined class. If you simply copy + paste one of BIS's proxy's in, and have done the step above, then you don't need to do this:
  21. Ah I see, have you made sure the proxy is created in all LODs (not just the main resolution LOD). I believe it has to be in the Fire Geometry and Geometry LOD.
  22. This was covered pretty well with ArmA, has been around a while. Since the latest ArmA patch you've even been able to publish them across multiplayer clients. Check out the wiki for the toString and toArray commands. A nested array is very simple, i.e: If I wanted to set "one_two" to "blaa", I could go: Biki has heaps on this if you're interested in that area.
  23. I'm a bit lazy when it comes to proxies, so I've tended to go your rout. CAVEAT: My ArmA2 copy is still in transit from the UK to little ol' NZ... so I am not sure how different proxy implementation is, but I suspect it will be more or less along the same lines as ArmA. For the B1B i defined the proxies as follows: Make sure the model is defined correctly in the Ammo config section: And then, importantly, make sure it is defined in the section for proxies as follows: From what I can guess, the engine needs to know that the proxy object is for special simulation use. Therefore, you define here how the proxy is used. Hope that helps.
  24. The argument passed to the "camera.sqs" script simply tells the camera what to *target*. It doesn't tell it what clients to fire the script on. So you could create an init.sqf file in the mission folder with the following text: if (player == cameraman) then {[cameraman] exec "camera.sqs]}; That's all you'll need to do, then the script will only fire if the player is the unit cameraman, and the camera will spawn targeting the cameraman.
  25. 1. name one of the characters "cameraman" 2. if (player == cameraman) then {[] exec "camera.sqs]}; 3. profit!
×