Comments (6)
The limited arsenal variant is slightly different. ACE Arsenal takes array of all Classnames without categorization. I think BI arsenal does things differently in that regard.
You definitely should not modify a static variable that is computed at gameStart.
https://ace3mod.com/wiki/framework/arsenal-framework.html#11-adding-virtual-items
from domination.
First of all, uiNamespace variables are getting recreated each time a player connects to a server (because of security concerns, was changed during A2/OA times).
Second, BI does it correctly and puts the virtual arsenal classes into a variable in mission namespace (ace does the same just not mission namespace).
It is never a good idea to just hope that third party users do not change those public variables.
from domination.
First of all, uiNamespace variables are getting recreated each time a player connects to a server (because of security concerns, was changed during A2/OA times).
Nope. Not at all. missionNamespace yes. But none of the other namespaces.
Second, BI does it correctly and puts the virtual arsenal classes into a variable in mission namespace (ace does the same just not mission namespace).
ACE arsenal does it so it doesn't have to rescan items each mission restart. Allowing for instant arsenal open without any preloading.
The ACE thing is completly different. It's a list of all existing Items in config. Selecting which items should be displayed is done later.
It is never a good idea to just hope that third party uses do not change those public variables.
Yeah sorry. Oversight by me. I already notified the arsenal author to decide if we should compileFinal that variable in the next update.
from domination.
Believe me, uiNamespace gets deleted when a player connects to a server otherwise one could change whatever he likes in uiNamespace in the single player editor, change scripts or whatever and do nasty things once connected.
It was a major security issue during OA times and BI changed it back then.
Compilefinal is also not a solution.
The extDB3 author added a compileFinal to the only public variable the mod has and broke all missions using it because it was no longer a boolean variable but code.
Anyway, if there is an easier solution to clean the ace arsenal array let me know.
Best solution would be to make the variable a normal mission namespace variable, that would only be filled if needed once per mission.
from domination.
The extDB3 author added a compileFinal to the only public variable the mod has and broke all missions using it because it was no longer a boolean variable but code.
Not a concern. no-one should be accessing that variable. And if someone does... His fault.
Believe me, uiNamespace gets deleted when a player connects to a server
I will believe you if you tell me why ACE arsenal works at all if the variable that only get's created once at gameStart gets deleted before being accessed.
Or how all my mods variables are always in uiNamespace although I only set them once at gamestart. If uiNamespace gets deleted like you say. Explain me how the variables keep existing.
Best solution would be to make the variable a normal mission namespace variable, that would only be filled if needed once per mission.
https://ace3mod.com/wiki/framework/arsenal-framework.html#11-adding-virtual-items That is how it works. And works about the same as BI arsenal.
It might very well be like that in OA. But not in A3.
from domination.
Believe me, uiNamespace gets deleted when a player connects to a server otherwise one could change whatever he likes in uiNamespace in the single player editor, change scripts or whatever and do nasty things once connected.
This is demonstrably wrong. In fact, this not being the case is the only reason compileFinal
exists: to cache the functions library in ui namespace while at the same time be unable to inject arbitrary code.
from domination.
Related Issues (20)
- Players spam main targets with non steerable AT weapons
- If main target is done and the player task was the main target move the task to the new main target and not the side mission HOT 1
- If a player loads a saved Virtual Arsenal layout from a dropped ammo box and was lying he is immediately put into standing stance
- If a AT rocket is removed on a client because of cooldown the projectile is not deleted on remote clients
- number of maintargets is not set by d_MainTargets_num HOT 6
- Error message "Bad vehicle C_man_p_beggar_F_tanoan" HOT 1
- Add more than one flare when it is night at main targets
- problems creating a custom Domination map HOT 5
- Playing at night the spectating dialog turns on night vision automatically but the button shows the wrong state
- SPE: Side mission tanks can't be destroyed with SPE satchels/charges
- Check A3 sling load, maybe it can be controlled better now and is an option for non wreck lift choppers HOT 1
- 为什么其他都是中文的字幕还是英文的啊 HOT 8
- maintarget immediately goes green HOT 5
- I have a problem. I can't lift Tank with Huron. I can lift a vehicle but not a tank. And an another player can lift tank with Huron. I don't inderstand... HOT 2
- Why is adding a score not reacting HOT 2
- SPE: Remove anything related to UAVs HOT 2
- some mods do not work with Domination on dedicated MP server HOT 1
- The gas leak mission is not working properly. HOT 7
- AI Recruit sign falls over HOT 1
- Rank does not change HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from domination.