Jump to content

Recommended Posts

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 by Scott_NZ

Share this post


Link to post
Share on other sites
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 by [KH]Jman

Share this post


Link to post
Share on other sites
Jman;2143774']Our server runs Windows server 2003

The 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

How about if you defined an optional startup switch for server admins rather like:

-arma2netrpt=E:\Server-Public

Edited by [KH]Jman

Share this post


Link to post
Share on other sites
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

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

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

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 by [KH]Jman

Share this post


Link to post
Share on other sites
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

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
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.

That would be great, I've been needing people to help with example code.

Share this post


Link to post
Share on other sites
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 by Scott_NZ

Share this post


Link to post
Share on other sites

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

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

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 by nuxil

Share this post


Link to post
Share on other sites

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

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

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
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

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

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×