Scott_NZ 10 Posted May 5, 2012 (edited) Here is an unmanaged dll which has been modified to simply return what you send to it, without crossing to managed code. Other than that, it is the same as the release version. Rename it to Arma2Net.Unmanaged.dll (it's to avoid a filename clash with the first modified dll). https://bitbucket.org/Scott_NZ/arma2net/downloads/Arma2Net.Unmanaged-2.dll I am very interested to know if this works or not. Edit: Maybe try running it with elevated privileges? Edited May 5, 2012 by Scott_NZ Share this post Link to post Share on other sites
[kh]jman 49 Posted May 5, 2012 (edited) jayarma2lib is not a reference for this case. Arma2Net is working with a new internal funtion "callExtension".Jayarma2lib is working with a modified dsound.dll. 2 very diffrent approaches! This is from Jayarma2Lib dev heaven site: So you can't draw a conclusion that the problem is within Arma2Lib. HeliJunkie, with the greatest of respect and I'm glad for any advice offered, however I suggest that you make sure of your basic facts first. It does not really help matters. Thank you for the new dll Scott but I'm afraid it's still not returning anything. Could you write an output to the RPT when the dll is loaded by Arma2 rather like jayarmalib does? i.e 2012/05/05, 21:33:49 "JayArmA2Lib: ACTIVE" Edited May 5, 2012 by [KH]Jman Share this post Link to post Share on other sites
Scott_NZ 10 Posted May 6, 2012 Jman;2143774']Our server runs Windows server 2003The closest directory path to your example on our server is: C:\Documents and Settings\Administrator\Local Settings\Application Data There is no "Arma2NET Logs" directory at that location or any other. Arma2server does not create or save any data to that "ArmA 2 OA" folder path since all server logs are stored at the paths specified in the server's startup switches. i.e in our server arma2oaserver.RPT' date=' ArmA2-Public.cfg, Server-Public.cfg, Server-Public.log, mpStatistics.log are all stored in C:\Server-Public[/quote'] That makes things a little bit more difficult since I'd have to write code to figure out where the rpt file is, rather than just jumping straight to the AppData\... folder. Share this post Link to post Share on other sites
[kh]jman 49 Posted May 6, 2012 (edited) How about if you defined an optional startup switch for server admins rather like: -arma2netrpt=E:\Server-Public Edited May 6, 2012 by [KH]Jman Share this post Link to post Share on other sites
sickboy 13 Posted May 6, 2012 That makes things a little bit more difficult since I'd have to write code to figure out where the rpt file is, rather than just jumping straight to the AppData\... folder. Perhaps BI could provide an interface to the startup parameters? Alternatively, you could perhaps support your own location, say appdata\local\arma2net? Share this post Link to post Share on other sites
Scott_NZ 10 Posted May 6, 2012 If the new dll doesn't work then I'm skeptic of this rpt idea working, but anyway you can just change fileName="${specialfolder:LocalApplicationData}/ArmA 2 OA/Arma2NET Logs/Arma2NET.log" to fileName="${specialfolder:LocalApplicationData}/Arma2NET/Arma2NET.log" in NLog.dll.nlog using your favourite text editor to have it log to wherever you want. Share this post Link to post Share on other sites
nuxil 2 Posted May 6, 2012 Requesting python support. not ironpython :p it would be nice if you extend the python support a bit more so we could run our own moduls/scripts. this would allow us to do fast prototyping/development of things. can be anything thing really. from a simple ingame rssfeeder to whatever you want. im not femilliar how you use ironpyton as a plugin. but i assume you use something like "PyRun_SimpleString" to execute py code. what i had in mind was more embeding. http://docs.python.org/extending/embedding.html http://docs.python.org/c-api/ so lets say we have this this. @Arma2NET\addon\pyscript\test.py @Arma2NET\addon\pyscript\rss.py @Arma2NET\addon\pyscript\lib\*.py|pyc|pyo then ingame we could do something like "Arma2Net" callExtension "python [import, mymodule]"; res = "Arma2Net" callExtension "python [mymodule.myclass().myfunc,arg1,arg2,arg3]"; example: "Arma2Net" callExtension "python [import, test]"); res = "Arma2Net" callExtension "python [test.HelloWorld]"); hint str(res); test.py def HelloWorld(): return "A Hello World from Python" just an idea. i managed to do pure python emedding with myown exstension. but my c/c++ skill are limited and it caused me more headic than fun :p Share this post Link to post Share on other sites
[kh]jman 49 Posted May 6, 2012 (edited) I agree Scott but the fact remains that Arm2NET's dll does not seem to load on Windows dedicated server unless someone else can prove otherwise. From my testing, I'm afraid I'm out of ideas right now. Without serverside calls the usefulness becomes quite hadicapped imho. If you consider it as worthwhile overcoming as I do and would like you use our dedicated to run further test builds of your own please do contact me via pm Scott. To those that were vocal in requesting the dedicated test mission I posted, have to tried it yet and what are your results? Edited May 6, 2012 by [KH]Jman Share this post Link to post Share on other sites
Scott_NZ 10 Posted May 7, 2012 Requesting python support. not ironpython :p Just curious, what's wrong with IronPython? I can do what you described very easily with what I've already got, and no embedding needed. The plugin I wrote hasn't received much attention lately so I'll have to update it. Share this post Link to post Share on other sites
nuxil 2 Posted May 7, 2012 Hi Scott_NZ Well nothing really wrong with it. it was more meant as a ""irony"". ;) i see you do alot of .net so i understand why you use ironpython since its native. i dont do .net development so vanilla python is enough for me. but anyway, it wouuld be cool if you did something like in my post. i could even help you out provde python example scripts to users if thats wanted. Share this post Link to post Share on other sites
Scott_NZ 10 Posted May 7, 2012 Hi Scott_NZWell nothing really wrong with it. it was more meant as a ""irony"". ;) i see you do alot of .net so i understand why you use ironpython since its native. i dont do .net development so vanilla python is enough for me. but anyway, it wouuld be cool if you did something like in my post. i could even help you out provde python example scripts to users if thats wanted. That would be great, I've been needing people to help with example code. Share this post Link to post Share on other sites
[kh]jman 49 Posted May 7, 2012 Issue resolved. The Windows Server box was missing a required MSVCR100.dll file from windows/system32 https://dev-heaven.net/issues/31028 Share this post Link to post Share on other sites
HeliJunkie 11 Posted May 7, 2012 Jman;2146134']Issue resolved. The Windows Server box was missing a required MSVCR100.dll file from windows/system32https://dev-heaven.net/issues/31028 Glad to hear! Share this post Link to post Share on other sites
Scott_NZ 10 Posted May 8, 2012 (edited) Requesting python support. I just implemented this and it works flawlessly, including user .py files and the standard library, as well as the basic interpreter available from Arma 2. There will be a Python folder inside @Arma2NET, and inside there will be the .py files and a Lib folder for the standard library. Then you can do "Arma2Net.Unmanaged" callExtension "Py import test" and it'll import test.py from the Python folder. Then "Arma2Net.Unmanaged" callExtension "Py test.HelloWorld()" to call a HelloWorld() function in test.py. It goes without saying that this will not be ideal for use on servers, what with the security issues and all :) Edited May 8, 2012 by Scott_NZ Share this post Link to post Share on other sites
Scott_NZ 10 Posted May 9, 2012 1.8 changelog: - Added a utility application which can be used to explore addins. - New function 'VersionOfAddIn' which will return the version of the specified addin. - Logging directory moved to AppData/Local/Arma2NET by suggestion. - Improved PythonPlugin to use the standard library and user-provided .py files. See the wiki for more details. - Fixed a minor logic error in returning the result back to Arma 2. - Fixed an issue where SQF arrays inside other SQF arrays weren't being converted properly. - Fixed an issue where the 'Functions' function wasn't actually returning a list of functions. ZIP archive: https://bitbucket.org/Scott_NZ/arma2net/downloads/Arma2NET-1.8.zip Installer: https://bitbucket.org/Scott_NZ/arma2net/downloads/Arma2NetInstaller-1.8.msi VersionOfAddIn usage: _ver = ("Arma2Net.Unmanaged" callExtension "VersionOfAddIn 'DateTime'") New PythonPlugin documentation: https://bitbucket.org/Scott_NZ/arma2net/wiki/PythonPlugin The new PythonPlugin can be downloaded here: https://bitbucket.org/Scott_NZ/arma2net/downloads/PythonPlugin-1.8.zip The utility application can be found in the modfolder. This can be used to see if your plugin is being detected properly etc. Click Find AddIns to populate the list, and click Export if you want to save the list somewhere. Share this post Link to post Share on other sites
Guest Posted May 9, 2012 New version frontpaged on the Armaholic homepage. Arma2NET v1.8.NET Framework 4 Client Profile Share this post Link to post Share on other sites
nuxil 2 Posted May 9, 2012 Just started to play around with the Python plugin. i think this can come verry in handy. one note to people who tries this out. you will need to reload your script/module on changes. you could use reloade(Foo) or del Foo - if you del it you need to re-import it. _reload = ("Arma2Net.Unmanaged" callExtension "Py reload(module)") or _del= ("Arma2Net.Unmanaged" callExtension "Py del module") going to try and put in some time to get some basic examples done. Share this post Link to post Share on other sites
Scott_NZ 10 Posted May 10, 2012 IronRuby added to the Downloads page for you Rubyists out there :) https://bitbucket.org/Scott_NZ/arma2net/downloads/RubyPlugin-1.8.zip It basically works the same as IronPython, but Rb instead of Py. Share this post Link to post Share on other sites
nuxil 2 Posted May 10, 2012 (edited) Playing around with the Python plugin. made a unitcap with 2 sqf functions and 2 python functions. will give example out later when i got more to show. Edited May 10, 2012 by nuxil Share this post Link to post Share on other sites
gammadust 12 Posted May 10, 2012 sry if drifting a bit off here... Playing around with the Python plugin.made a unitcap with 2 sqf functions and 2 python functions. will give example out later when i got more to show. ... interesting, are you somehow capturing key events and replaying them? whichever way you're doing it, that would be a great extension of BIS_fnc_ Play and Replay which are too limited (afaik they only record unit positions in a timeline) Share this post Link to post Share on other sites
nuxil 2 Posted May 10, 2012 gammadust its recording position,vectordata and animation. its not meant to replace/extent BIS_fnc_ Play and Replay.i was only doing it as a fun experiment with the python plugin for @Arma2Net. i'll release the example files soon. so people can modify/enhance it if they like to. just got some cleant up to do 1st. Share this post Link to post Share on other sites
dialektiikka 10 Posted May 11, 2012 Sorry for breaking into the thread with total technical ignorance, but I promised to ask a question for a friend of mine about this thing, so please bear with me :) Could Arma2net be used to import short range geo-location data into the game from moving locators? The idea is that about half a dozen people in a largish room wore locator units. The units would transfer their pre-set grid locations into ArmA2, moving their avatars around a similar sized space in the game environment in real time. Is this even theoretically possible with arma2net and how to start developing a system like that? Share this post Link to post Share on other sites
gossamersolid 155 Posted May 11, 2012 how to start developing a system like that? If you need to ask that, you're not going to be able to do it. Plus I don't think there's a real good way via scripts to make your character move fluently. Share this post Link to post Share on other sites
dialektiikka 10 Posted May 11, 2012 Fortunately, _I_ don't have to do that ;) From what I gather (this was after a couple of pints), the person/s involved want to try to implement some sort of Kinect and/or Glowpie + geolocator interface for an art school final or something. They got coders who might be able to pull this off, but don't necessarily want to reinvent the wheel. Tricky but intriguing, I admit. Share this post Link to post Share on other sites