Jump to content

kenoxite

Member
  • Content Count

    560
  • Joined

  • Last visited

  • Medals

Everything posted by kenoxite

  1. kenoxite

    OFPr.info / ofp.gamepark.cz

    I'm on the same boat. I am not able to download anything by changing the ftp server name, as suggested. In fact, not even the example link works for me.
  2. Quick fix for MAP_Rucksack.pbo Download: http://www.mediafire.com/download/01gkao29j83w0da/MAP_Rucksack_v08fix.zip Installation Replace the MAP_Rucksack.pbo file with the one found in the linked compressed file. What does it fix Allows units to use the multicam, green and desert assault packs. They were missing from the function that checks for allowed backpacks, so nothing occurred when you used them.
  3. Uncompressed models, textures (xcf -Gimp- and tgas), configs, etc from v0.8: http://www.mediafire.com/download/vlmzw7xd3zfyth7/WW4EXT_v08_addonsRaw.zip Those of bundled 3rd party units and vehicles not included. Use at will.
  4. WW4 EXTENDED updated to version 0.8. More info and download link in the first post. This should be the last update, at least for a good while. Check the update notes in the first post for more info.
  5. WW4 EXTENDED updated to version 0.7. More info and download link in the first post. It took me a while going back to normal schedule, but here's the new update. I'll try to finish the BIS west vehicles and other stuff I mentioned for the next update, so I can wrap this up, at least for the time being.
  6. kenoxite

    OFP Addon request thread

    Thank you very much, sir.
  7. kenoxite

    OFP Addon request thread

    Does anybody have Locke's Material Definitions Addon?
  8. Just a heads up to let you know that I'm working on the next update. If everything goes as planned there should be something worth releasing next weekend.
  9. You can see it by yourself. Feel free to edit, adapt, distribute, etc my stuff, all . As you can't access my google sites page, here's what the section about permissions says: That stance includes anything released by me in this community. Now, for the good stuff: kInfoshare v1.0 kInfoshare.sqs You'll also need this function: in2Darray.sqf ---------- Post added at 17:48 ---------- Previous post was at 17:40 ---------- WGL AI RUCKSACK v1.0 Readme: Place the files below in a folder named "WGL_scripts". WGL_AIrucksack_check.sqs WGL_AIrucksack_take.sqs WGL_AIrucksack_mags.sqf And this in a directory inside "WGL_scripts" named "eh". WGL_AIrucksack.sqf
  10. Somewhat disappointing news: there's an update, but it's not the update you were expecting (nor me, for the case). Due to some "technical difficulties" my work on this update was halted just a couple days after I started. As this isn't a proper update I've decided to provide the link here, instead of the first post. You more than likely want to read the readme linked below first, if only for the "Update Notes" section: If you still want to download this half a version, go ahead: Download version 0.6.5: https://docs.google.com/file/d/0By2CaodBQ84GeU1wX2syZkZKNWM/edit?usp=sharing
  11. It's quite unlikely. For the reasons stated above.
  12. Too bad Mediafire is blocked there. Here's a mirror using multiupload.nl. Tell me if you can download from there: - kInfoshare: http://www.multiupload.nl/YVM3LULGCK - WGL_AIrucksack: http://www.multiupload.nl/O2YYE9S5ND Alternatively, you can also download them from my OFP site. It was basically created to have mirrors for some of my files.
  13. As Rellikki says, just placing a pause between the setOvercast and setFog should solve this. Something like: 0 setOvercast 0.5 ~0.1 0 setFog 0.7 Remember to make the pause higher than the transition time set for setOvercast. So if it's 5 setOvercast 0.5 place a pause of 5.1 or so. The important thing is that the fog must only start once the overcast has been fully processed. Also, as the wiki mentions:
  14. Note that the goal of this expansion wasn't to create new vehicles, but to implement existing ones in a way that they fit well with the rest of WW4 units. So, if there's any around (which I'm afraid not) and I get the permission, yes, why not. BTW, the inclusion of the MEV was totally unexpected, and it's in thanks to the generosity of Macser, who thought it'd be a nice addition (and AFAIK it was never released before).
  15. Sure thing. I love that bird. -- WW4 EXTENDED updated to version 0.6. More info and download link in the first post. Once I get the US spec ops, BIS west vehicles and some configs for 3rd party vehicles I'll take a break. That might happen either in the next version or the one after. I'll try to at least expand one of the russian branches (probably VDV). -- As promised, this is the version of the multicam texture I'm using. It's edited from the original by Sanctuary, and available publicly (so use it at will): http://www.mediafire.com/download/jnzht275rpp2yp1/multicam_v2.zip Also, the new 5t trucks retextured by Macser are available for download separately here: - http://www.sendspace.com/file/gyo1zb - http://www.mediafire.com/download/5z5c78z8qtp8j7v/ww4ext_des5t.7z Here's the readme:
  16. kenoxite

    Nikiller's scripts pack

    Good stuff. Coincidentally, I was finally going to script some IED stuff for WW4 EXT but this might save me some work.
  17. Thanks. Sure, if I get to focus on eastern units I'll definitely have a look. -- WW4 EXTENDED updated to version 0.5. More info and download link in the first post. The next version will be published next weekend, as usual. On related news, I haven't been granted permission for the littlebird and a couple specop black hawk choppers, so I'll have to provide custom configs at a later date. I intended to include those along with the delta units. This and any further config file for not bundled vehicles will be provided as separate downloads.
  18. I obtained permission from bn880 to include a custom repackage of CoC NS v2.0 (the permission was given a few months back, but because of a series of unfortunate embarrassing circumstances I haven't being aware until recently). This is exactly the same as CoC NS 2, with the only difference that all the files and directories are now inside a single folder, named CoC_NS. All the paths have been updated accordingly. This was done mainly to facilitate the installation and use of the script version, while also offering a mirror for this great tool. You might be familiar about this, as I've been using this version in a lot of my script packs. DOWNLOAD CoC NS v2.0 - repacked: http://www.mediafire.com/download/pvi0gkp88akxs9o/CoC_NS_v2_-_repacked.zip Just remember to update your paths accordingly, if you plan on using this. So: call loadFile "Network\init.sqf" would become call loadFile "CoC_NS\Network\init.sqf" etc.
  19. Chain of Commands Network Services 2 (CoC NS2) How the hell does it work? Why use it? Because: Automatically generates and updates a list of all the players in a MP mission It’s able to broadcast strings, sides, arrays and multi-dimensional arrays globally, and virtually any data type including those supported by publicVariable (number, boolean, object, group) Can send data to all, specific clients, all clients or just the server Allows you to execute calls or functions sent from the server to clients and viceversa It’s able to share global arrays among server and clients Reduces the amount of global variables needed for clients in MP Eliminates the need of looped scripts and other synchronization methods Getting it The last version can be found here: http://www.ofpec.com/forum/index.php?PHPSESSID=h0tkc4h997vpefijgf0tc5el21&action=dlattach;topic=30650.0;attach=5472 If you get it from somewhere else make sure it's version 2.0, not 1.1. The latter should be avoided, as it's inferior in all aspects. Read the included Intro_to_CoC_NS_D2.pdf file, by the main coder of Sinews of War. It's short and simple, and good to have a general sense of this tool. Note that all his examples are focused on the exclusive use of fnRemoteCall, disregarding other methods. Setting it up For the addon version: NOT NEEDED IF YOUR MISSION USES COC UA: Place the CoC-SERVER logic in the editor (found in Game Logic -> CoC Utilities) For the script version: Copy the contents of CoCNS_2_0_ScriptTemplate.intro to your mission folder. It can be found inside the CoC NS 2 zip file. ONLY IF YOUR MISSION DOESN'T USE COC UA: Place a game logic in the editor and name it CoC_Server. Stuff you should know The official documentation can be found here: http://web.archive.org/web/20060112070534/http://www.thechainofcommand.com/docs/ Nodes: Nodes are connected sessions, listed in CoC_ClientList. That means that nodes actually refer to players, except for the case of the server when dedicated, which refers to a logic instead. Node index 0 is always the server (can be a player or a logic), node index 1 is the first player client, node 2 the second, etc. CoC_ClientsReady: Use this to check if CoC NS 2 is fully loaded before executing anything related to it. You'll probably just use it once, in an init script or somewhere along those lines. CoC_ClientList: 2D array listing all connected nodes. There's another equivalent global var, CoC_PeerList, so you can use whichever you like most. It has this format: [player object, player name, reserved var, connected]. The server is always at index 0. To retrieve the player object of the first client you would do something like this: (CoC_ClientList select 1) select 0. CoC_ClientChannel: It contains the index of the local node in CoC_ClientList. It’s stored locally, so its value will be different for each machine. fNSend: Use this to send stuff to specific nodes. Append "NO_NQ" if you want to send it ASAP, as it avoids the queue, and "NO_DISC" to ignore disconnected nodes. fNSendAll, fNSendClients and fNSendServer: Use them to send stuff to all nodes, just the clients or just the server, respectively. All of them share the same syntax and can use the "NO_NQ" and "NO_DISC" tags. fNSendGlobal: This seems to be the most optimized function to send data, so use it to send stuff to all or specific nodes when you aren't sending strings or sides, and if you don't need the "NO_DISC" and "NO_NQ" tags. Otherwise use either fNSend or fNSendAll. fNRemoteCall: Use this to execute calls on all or specific nodes. It only works with boolean, number, string, array and multi-dimensional array data types, though. CoC_isClient, CoC_isServer, CoC_isServerClient and CoC_isServerDedicated: Use them to know if the specific node is a client, a server (without specifics), a listen server or a dedicated server, respectively. Run the checks either locally or via fNRemoteCall. CoC_PublicArrays: Contains a list of all the arrays publicly shared. CoC_NSFunTable: Array containing all the custom functions you want to use in CoC NS2 There are way more interesting global vars and built-in functions, but those listed here are the ones I actually found more useful so far. So, how do I use all this? You have two main ways to share data. The one you'll probably use more often is by sending petitions to execute one of the custom functions referenced in CoC_NSFunTable, via fNSendAll, fNSendClients, etc. The other one is by using the public array system. You can also use fNRemoteCall, although it has more limitations than the both mentioned before. Custom functions Before getting into custom functions let me tell you that there's a few built-in ones present already, like: fNPing: Sends a ping request to the specified nodes fNPrint: Prints the specified data in the specified nodes. For debugging, mainly All the ones included are: "fNPing","fNPingr","fNCS","fNUP","fNPrint","fNBlank","fNClearQ","fNCall". Don't create new functions with any of those names, or you'll overwrite them and break all this. For other specific tasks you'll need to create and load the functions yourself and add them to the CoC_NSFunTable array. Before anything, you'll need to init the CoC_NSFunTable array if you are using the script version. It's initialized automatically in the addon one or if you use CoC UA in your mission. Anyway, I think it's good practice to check if this array exists before touching it: _null=format["%1",_nullstring]; ? (format["%1",CoC_NSFunTable]==_null) : CoC_NSFunTable=[] Then you load and add the functions to be used by CoC NS2, like this: ? (format["%1",fPlayAnim]==_null) : fPlayAnim = preprocessFile "fu\fPlayAnim.sqf", CoC_NSFunTable set [count CoC_NSFunTable,"fPlayAnim"] ? (format["%1",fSay]==_null) : fSay = preprocessFile "fu\fSay.sqf", CoC_NSFunTable = CoC_NSFunTable set [count CoC_NSFunTable,"fSay"] ? (format["%1",fClientChat]==_null) : fClientChat = preprocessFile "fu\fClientChat.sqf", CoC_NSFunTable = CoC_NSFunTable set [count CoC_NSFunTable,"fClientChat"] Those are just examples. You can add any function you want. Also, note that I make sure those functions aren't defined already. That's to avoid problems when two script packs which both use CoC NS2 are running together. Otherwise it'd add unneeded entries of functions to the CoC_NSFunTable array. Alternatively you could have done this: fPlayAnim = preprocessFile "fu\fPlayAnim.sqf" fSay = preprocessFile "fu\fSay.sqf" fClientChat = preprocessFile "fu\fClientChat.sqf" CoC_NSFunTable = ["fPlayAnim", "fSay", "fClientChat"] It actually doesn't matter, one way or the other. But if you want to avoid double entries the former method is preferred. What it does matter is to init all that in all clients and that the functions listed in CoC_NSFunTable are in the same order everywhere, so a good place for that would be in the init.sqs of your mission. Public Arrays You can share arrays publicly, so they can be automatically updated in all nodes and can also be edited by any of them. The public arrays are stored in the CoC_PublicArrays global var. It must be initialized manually in all nodes and all of them must be identical, so a good candidate is the init.sqs. To init CoC_PublicArrays you’d do something like this: globalArray1 = [] globalArray2 = [<stuff>] CoC_PublicArrays = ["globalArray1","globalArray2"] As you can see, CoC_PublicArrays is actually a reference to the arrays you want to be global. The arrays themselves can be either empty or not. You can always change their contents later and broadcast them via fPublicArray. To add a new array to CoC_PublicArrays after it's been initialized you'd need to do something like this: [[],{myNewGlobalArray = []; CoC_PublicArrays set [count CoC_PublicArrays, "myNewGlobalArray"]}] call fNRemoteCall And to remove one: [[],{NameOfTheArrayToDelete = nil; CoC_PublicArrays = CoC_PublicArrays - ["NameOfTheArrayToDelete"]}] call fNRemoteCall To modify a global array you'd use the built-in fPublicArray function, like this: oneOfTheGlobalArrays = oneOfTheGlobalArrays - [unusedObject] "oneOfTheGlobalArrays" call fPublicArray This way all the nodes will receive the request to update their respective versions of the oneOfTheGlobalArrays array with the content of the one of the node that is sending the request. Examples Killed EH The killed eventhandler is local to the computer the unit belongs to. That means that the server won't be aware of when a player is killed unless some looped scripts and global vars are used (which can be dozens depending on the amount of players). CoC NS2 allows to simplify all this by sending the message from the client to the server when the player is killed, so the server can act accordingly. This is a way of doing so: Initialize the CoC_NSFunTable global var: _null=format["%1",_nullstring]; ? (format["%1",CoC_NSFunTable]==_null) : CoC_NSFunTable=[] Create a custom function that will serve as a parser for the sent killed EH. For this example we'll name it fKilled.sqf and will place it in a directory named fu. The code of the function would look like this: private ["_unit","_killer"]; _unit = _this select 0; _killer = _this select 1; [_unit,_killer] exec "eh\killed_server.sqs"; Note that we'll be sending the unit and killer vars to a script named killed_server.sqs in the eh directory, but we could as well run our killed EH code here. Now we load the function this way: ? (format["%1",fKilled]==_null) : fKilled = preprocessFile "fu\fKilled.sqf", CoC_NSFunTable set [count CoC_PublicArrays, "fKilled"] The killed EH should have been added to the player's unit somewhere, like this: this addeventhandler ["killed", {_this exec "eh\killed.sqs"}] And in killed.sqs we put this: _unit = _this select 0; _killer = _this select 1; [[_unit,_killer],"fKilled"] call fNSendServer So, when a player client is killed this would happen: The player's killed EH script would run on his computer, and send a petition to the server to execute the fKilled function with the _unit and _killer vars passed. The server would receive the notification and execute the fKilled function, which in turn would execute the killed_server.sqs script locally This same system can be used to handle the hit EH, which is also local. Strings in global variables Strings are one of the data types not supported by publicVariable. With CoC NS2 we can update and synchronize its value to all nodes with something like this: [[],{myStringGlobalVar = "Some text here"}] call fNRemoteCall By using fNRemoteCall we'll execute the content in brackets in all nodes, including the server. We could have sent this to specific nodes by specifying the nodes, like: [[1,4],{myStringGlobalVar =... While we used a string in this example, this same system would work with global vars that contain any of the other data types supported by fNRemoteCall (booleans, numbers, arrays and multi-dimensional arrays). Notes Be aware that you won't be able to send objects as parameters with a fNRemoteCall. The call executed needs the object to be either local to the receiver or known globally. Something like this, where _unit is defined locally on the server, won't work: [[],"format [{%1 say %2},_unit,_what]"] call fNRemoteCall. By formatting _unit you will actually send the reference of the unit, not the unit object (the client will try to execute something like WEST 1-1-A:1 say phraseWhatever, which obviously won't work). So, if you want to execute something on a unit use a custom function instead, like this: [[_unit,_what],"fSay"] call fNSendAll. The fSay function must have been previously added to the CoC_NSFunTable array, and it would contain something like: _unit say _what; Alternatively, you could make use of the CoC_ClientChannel and CoC_ClientList vars, as shown in the examples in the Intro_to_CoC_NS_D2.pdf file. Drawbacks CoC NS2 can take a long time to load, particularly for the script version. Conflicts with CoC UA in the scripted version if a CoC_Server logic is manually placed in the editor -- Online PDF version of this guide: https://docs.google.com/file/d/0By2CaodBQ84GUTJfSVFyYW54alE/edit?usp=sharing -- Feel free to contribute to this guide and point out any wrong information or coding that could be improved. This guide will be updated in that respect as seen appropriate.
  20. I'll try that later then. -- WW4 EXTENDED updated to version 0.4. More info and download link in the first post. Vehicle tweaking and standardization will continue in the next version. I'll also tweak BIS resistance vehicles and probably some of the western ones. The existing infantry units will be expanded with new classes, mainly for National Army and Delta units. Probably some new vehicles too. The next version will be published next weekend, as usual.
  21. Thanks. After some tweaking and testing I've managed to make MGs to fire at the damn Kamov. I had to make it inherit the helicopter class directly for this to work, and recreate everything from the kamov one. While I was at it I also added the rest of east air vehicles (also tweaking the existing WW4 versions of BIS mi24 and mi17), so they all will be targeted by both infantry and vehicle MGs. They'll be available in the next update. While waiting for good model replacements for existing vehicles to come (if ever) I'll also start to create WW4 EXT versions of the existing ones, updating the crew, weaponry, armor values, etc. Same as with the rest of vehicles. So at least you guys will be able to use the original BIS vehicles with this expansion without too much worries. I'm not sure about the SU-34, but if what you're most interested in is in a retexture I can do that as an aside. But, again, there's the problem of permissions. And that vehicle, plus others I'd like to implement (such as WW3 bmps, by AALEX) are from the russian forum (BTW the SU-34 is by Evgeni). Maybe you or anyone who knows russian and is registered there could send those two authors a PM requesting permission on my behalf? That would be sweet. If so, remember to be as courteous as possible and link to this thread, so they can see what's all about.
  22. Thanks, professor! -- WW4 EXTENDED updated to version 0.3. More info and download link in the first post. For the next version I'll focus on the existing vehicles, continuing the balancing and tweaking. Probably fixing some of the existent problems too. I'll also add some new ones I just got the permission to use, this time for East side. Yes, that side needs some loving too! I might also start adding US army special forces. As always, feel free to comment on this update, the mod in general, etc. As I'm going to start tweaking the vehicles feedback and suggestions related to that will be particularly welcomed. And, in general, if you find any bug, please report it. -- BTW, something I always forget to ask: Does anybody have the sounds pbo from OPGWC? I've downloaded the whole mod several times (from ofpr.info), but I simply can't decompress that file. It seems to be corrupted.
  23. Preview of some of the stuff that will probably make it for v0.3, coming this weekend:
  24. kenoxite

    Vietnam: The Experience v0.4

    Indeed, it's an excellent mod. Every aspect is top notch, but some of the islands are particularly amazing (Dak Seang, etc).
×