This would be my dream feature: scripted laws
In this script you would write several functions for events related to the law or what the law is about.
onLawCreate() - this function you implement gets executed when you finish writing up the law
onLawAccept() - this function gets executed when the law is accepted and put into working. in this function you bind the event handlers to events like vote or place block or accept contract.
This system would allow players that are able to script to create much more complex laws and even do complicated math to determine the outcome of certain actions.
This would be a HUGE feature to implement is there is a lot of concern for the voters:
People who cannot script cannot understand exactly how the law works. they will have to rely on the reasoning provided by the player who created the law (often a reason is not provided I find). So these players will not be able to make an educated decision.
And on top of that you have the concern of technical security. basically if this feature is not implemented properly it might allow for skilled programmers to created hacks that will grant them free resources for example.
These are more custom laws. When these laws are active these can be Enacted / Invoked, they can basically be executed on command.
These types of laws are able to take in custom parameters. for example the law could be setup to use a player as an input or a location. The law can then execute a series of instructions using these parameters.
- This law can only be invoked / enacted by the mayor / president, and is used to fine players money for things like parking tickets or destruction of public roads
- Using my system of player variables you could make a law that anyone can enact that will vote for the current mayor / president to be kicked out of office. in this example the current mayor would hold a variable that states how many votes he has and if the amount of votes uppon a citizen voting for him or her to be kicked out is greater than 75% of players who have played for more than 2 hours on the server then it triggers another law that kicks them out.
There are many other possibilities for the law system, if you wanted to you could define every rule in the game (down to the behaviour of the animals) in laws if the system was general enough.
I really think that the laws and contracts system has much more potential if some of these programmatic features were implemented
Technical details related to programming:
The current Law system is an event driven system, you basically write and add a new event handler when you make a new Law. Enact-able laws / invoke-able laws would be like global functions you could call whenever you wanted.
Using the law and government system you should be able to use custom variables on players (numbers mainly, maybe strings also).
More specifically these actions should be possible:
Player variable set
Player variable get (for comparisons)
Player variable add number / remove number / add 1 / remove 1
This allows for sharing data between laws and government systems
One big application I could see for this is that you could create user groups / permission systems. For example you can use the system to make someone a part of the government (police for example), giving them access to certain laws (numeric comparison)
Here is a concrete example on how I would use this proposed system (plus enact-able laws):
An enact-able law is setup that only the mayor / president can use. This law is used to promote another player to police officer by setting a police officer variable to "1" or boolean true
Then a law that checks if youre allowed to build or destroy blocks checks if the player is on own property or if the player is a police officer.
The same could be done for many systems.
I mean seriously guys, just document how stuff works because the wiki is simply useless at the moment. especially for overarching game systems that dont physically exist in the world of eco. for example, the economy, the government systems and informations on long term effects of certain actions in the world of eco.
Construction posts in relation to contracts are now all that usefull at the moment. That is because you can only select construction posts that are placed within your borders (on your claimed land).
I wanted someone to make a road connection between two places and since I didnt want to do it I though that I would use the contract system, this road was going to be a bigger road between a future town hall and bank building and the shopping district. But when I wanted to select the construction posts I placed I wasnt able to do it. this was a project to benefit all of the community and I was willing to pay for it in my credits but couldnt because of that restriction.
So I suggest you can also select every construction post that you placed down.
Another way to tackle this problem would be to allow you to claim a construction post as if it was on your property
Followers 0 Following 0 Joined Last Online