Greasy Fork is available in English.

Empire Overview

Script for Ikariam 0.7.x, Overview tables for resources, buildings and military inspired by Ikariam Empire Board

< Valutazione su Empire Overview


Pubblicato: 29/06/2019

Feature suggestion: add city coordinates

I'd like to propose to add the coordinates of each city in the table displayed. It could be aside of the name, or aside of the action points, for example. It would be useful, so you can have a quick view of the coordinates of every city.

I guess it's quite easy to add it, but my knowledge of JavaScript and of the script itself is not enough to modify it by myself, although I've seen that the coordinates are part of the city parameters.

Pubblicato: 10/11/2019

Adding extra info (as the coordinates) on the board, it would expand the table too much I think. Space + brackets + coordinates is max 7 characters and I think is too much. On the other hand, this can be added as a tooltip on the name of the city. Another option would be to add this as an option, so the player can decide, if he wants to display it or not.

Pubblicato: 17/05/2020
Modificato: 20/05/2020

I would be totally in to add this as an option, as many others already exist. Even though it might expand the table, I still think it would be an useful option to have.

Pubblicato: 03/10/2020
I have just added the coordinates features you have suggested.
The problem is that the script has more than 200 changes + I cannot upload it here (they don't allow js file to be uploaded) + I cannot isolate the this new feature changes.
Pubblicato: 06/12/2020
Modificato: 07/12/2020
Hello, sorry for the late reply, I haven't seen it till now :(

That looks great!! To upload it, why don't you try to zip de file, or put it in a simple txt, and upload it that way? Or maybe upload it to some other platform as or whatever?

Looking forward to see it!!
Pubblicato: 07/12/2020
The zip files are not allowed too.
As simple text, the code is more than a 1MB and it cannot be uploaded.
Free cloud services delete the files after some time, so I don't think it's a good idea.
I will try to figure out some other way.
If I find anything, I will send info.
Pubblicato: 07/12/2020
What about splitting it into 2-3 smaller text files?

Btw, does not delete files as long as they are in your account... and you have 50GB for free so 1MBish is manageable I think ;)
Pubblicato: 10/12/2020
Well, I don't have an account in any cloud service and I don't intent to create one to the near future, sorry.
Splitting the code in smaller text files is not a good way to deal with code.
Furthermore, text files cannot be uploaded here either and just coping the code in here usually it is scrambled.
Pubblicato: 10/12/2020
Well, I'm trying to give you any solution that comes up to my mind... Maybe you could create a fork as another script here in greasyfork, or upload it to a code sharing site like GitHub or similar (there can be contributor, push requests,... which is cool for future improvements)...

I honestly don't know which option is better or which suits you better to share it, but I'd appreciate if you could share it anyhow soon :(
Pubblicato: 10/12/2020
I know that you try to help and I really apreciate it.
I have already made a suggestion on the feedback of the GreaseFork.
For me, this is the only place, where I can upload sth, as I used to do it in the past.
If this feature come back in action, I will upload it here.
Pubblicato: 10/12/2020
If there is no update of the script based on your suggestion let's say in the next week, I would appreciate if you could at least upload it to any free cloud services, even if it's temporary. If needed, I have an account in the one I suggested before (, so I wouldn't mind uploading it there myself. And if you prefer not to be uploaded there, I won't, but I'd appreciated to be able to have access to it, so I can implement it for myself :)
Pubblicato: 10/12/2020
We will see what we can do.
Pubblicato: 02/01/2021
Is there any update on that? :)
Pubblicato: 02/01/2021
Happy New Year.
No, unfortunately!
Pubblicato: 23/02/2021
Pubblicato: 23/02/2021
That's nice! Thanks @lokurapc! :))

@panos78, would you mind uploading the last changes, including the coordinates (and if there is any other), to the GitHub repository? :)
Pubblicato: 23/02/2021
I tried to upload but Uploads are disabled
Pubblicato: 23/02/2021
I don't really know how to use Github.
Anyway, I tried to create a new file with the code I have created.
Furthermore, I applied for a pull request.
I hope this is the right way to do it.
Pubblicato: 23/02/2021
The correct way is to:
- clone the repository into you PC (git clone
- create a new branch for development: git checkout -b development (only this time, next times it won't be necessary)
- modify whatever you want in your local cloned files (you can copy/paste your own script in the original one, or just copy/paste the changes, whatever you prefer)
- commit the changes:
git add .
git commit -m "new feature: coordinates" (or whatever message between " ")
git push --set-upstream origin development (only the 1st time, after creating the branch. Next ones, just git push)

- finally, go to the github repository, and create a pull request as you did, merging the development branch into the master branch

It seems hard but it's not so much, it's quite mechanic :). And I guess @lokurapc can help you out (I say him cause he's the owner of the repository)
Pubblicato: 23/02/2021
But thank you anyway for trying! :)

I hope @lokurapc can merge both versions :)
Pubblicato: 23/02/2021
The process looks a bit complicated for me...sorry!
Pubblicato: 28/02/2021
@panos78 I just wrote you down the commands you have to put and everything step by step... 😅

@lokurapc, if you can check at the pull request and merge it, to help panos with it, it would be great :)
Pubblicato: 28/02/2021
@jabatrox You are right but it is a process I hadn't done before and I am not in the best condition to consentrate and complete it.
Let's hope @lokurapc will look it through.
Have a look at the code here:
Pubblicato: 13/03/2021
@jabatrox I am not the original author, a user call IkariamPro of gitgub only can accept the Pull request
@panos78 the new script dont work ...
Pubblicato: 13/03/2021
@lokurapc I have more than 10 accounts in various worlds and it works for me.
Anyway, @jabatrox asked me, if I could add an extra feature.
Since the development has stopped, for quite some time now, I have decided to customize the script for my needs.
Just think that since I have made the request, I have done several changes in the code.
Also, as long as I am not the developer of the script, and don't intent to become one, I will continue to customize the script for my needs.
If someone wants to test my customized script and has a privite server where I can upload it there for him/her, I can do it but that's as far as I can go with all this.
Pubblicato: 13/03/2021
@lokurapc I thought it was your account. Maybe we could fork the script into another GitHub account, and keep developing there. That way, @panos78 could also upload his changes and future versions without problem.
@panos78 in the meanwhile, while we fix having a new repo, you could either keep doing pull requests (removing the previous ones, if possible) with the changes, as you did for the last one. Or, as I suggested some time ago, you could upload it to a free cloud service, where no account creation is required (, for example), and you post the link here. Then, I upload it myself to the account I have, and I share the link here, so everyone can download and use it. From your side, @panos78, it'd be just uploading the script to totally free and with no account required, and paste the link here. I have the notifications turned on, so it'd be less than 24h until I have a permanent link with my account.
Pubblicato: 14/03/2021
@jabatrox I have uploaded the latest here: is not working!
Pubblicato: 14/03/2021
Thanks @panos78!! I just said filebin cause it was the 1st one I saw in a Google search haha.
That's the permanent link to the script :)
Pubblicato: 17/03/2021
Modificato: 17/03/2021
@panos78 you use Greasemonkey, Tampermonkey, or Violentmonkey ?? Chrome or Firefox ??; I'm use Tampermonkey in Chrome.
Pubblicato: 17/03/2021
Tampermonkey in Chrome.
Pubblicato: 09/04/2021
I found little bugs in your script, I modified it and now it works for me.
Please check this version:
I await your comments.
Pubblicato: 09/04/2021
I know there are many bugs and I try to fix them from time to time.
Please send me two files...
1. The file you used before the modifications
2. The file you created after the modifications
By doing this, I will be able to isolate the changes you made.
Pubblicato: 09/04/2021
I managed to implement most of the modifications you suggested.
I have seen you have added as the third language adn I would like to thank you for it.
As long as there are 3 languages now in the script, I suggest to follow the rules below:
- The languages should be sorted, in the script, based in the 2-letter abbreviation ascending alphabetically
- English remains the default language
- Where there is a list of languages, visible to the player, like the select dropdown list in Settings, the list should be sorted based on the full name of the language, as this is translated, based on the currently selected language.
To give an example:
Now we have 3 languages: English, Greek and Spanish
These languages have the abbreviations: en, el and es, respectively.
So, anything that is written in the script and refers to these languages, should be sorted as: el, en, es.
The English list of full names of languages should be: English, Hellenic, Spanish.
The Greek list of full names of languages should be: Αγγλικά, Ελληνικά, Ισπανικά.
The Spanish list of full names of languages should be: Español, Griego, Inglés.

If you agree with all these, I would to suggest to a more private message board and not discuss such things publicly.
Pubblicato: 10/04/2021
Hello panos78, I have taken your file from origin: rev2 :)
You can use a program like WinMerge to compare the files. (link:
I agree, there are more bugs in the script; we are going to set up private chat/board; to be able to exchange ideas.
Regards ;)
Pubblicato: 10/04/2021
From what I have seen, most of your changes are small syntax corrections, missing semicolons, spaces and so on.
One of your corrections, though, gives no results.
The one with function funcs, the way it is written, it produces nothing.
Pubblicato: 10/04/2021
Yes are a litles changes, we have to coordinate a chat !
Pubblicato: 11/04/2021
Modificato: 11/04/2021

Hi @lokurapc and @panos78

I've just tried the new script, so I'd like to give some feedback:

  1. generally I like the changes and improvements to the table itself, I think they're pretty cool :)
  2. you have removed the keycodes for most of the languages :(. I added them myself back from the previous script, as the worked perfectly before.
  3. I personally don't like so much the huge "intrusion" it has now in the in-game windows, replacing the text even by the same one. For me, it was quite neat and clean when everything was in the table that you could either display or not. Replacing elements in-game makes the game slower to load some windows (especially to change between pages in the same window) and, especially, it requires to put it for every language. For example, I have the game in Spanish, and I had to comment all the 'embassytxt', 'troopstxt', 'barrackstxt', etc. variables to get back the original windows. I don't really see the point of copy/pasting the text that the in-game window already has. It might be useful to add other stuff, but then in that case I'd suggest to add an option of "Do not modify in-game windows" in the setting tab, even not having those additional stuffs. And talking about that, in the Spy building, in the Spanish version, there is text like "ΑνεπαÏκήÏ". Checking the code, I saw that, in the array, everything after "Maximum number of spies has been reached!" is text like that... and it's only correctly written in Greek.
  4. the Temple name is not displayed correctly in the table (it always says "no temple!")
  5. the city names are not displayed in the table on the island/world views
  6. I am not sure of how the Happiness is calculated, but I have a +4.00 or +5.00 when my happiness in the town hall is 0. Not sure either what is the "Available Happiness".
  7. In the Academy, for show the investigation points per hour, the in-game number make the round up (494,32 -> 495), while the table keeps displaying 494. Maybe it would be better to just display the in-game number, but it's not a big deal either.
  8. Talking about the code itself... what is the point of having the date formatting set for every language? Wouldn't it be better to just set one and the same for all languages?

With all that said, as I said at the beginning, I think the improvements are generally cool and useful, and it's a pretty good work :)

I have translated a lot of additional text to Spanish from the new things added, so I've uploaded an updated version of it here: Origen File: My new file:

I haven't finished the translation because there is a lot of new things, and I don't even know where some of them come from or what is the exact meaning. So, I would like to help with the remaining translation, but if you have set some kind of chat, it'd be great if you include me in it, so we can schedule some moment to ask you about the translation, and we can be done with everything in 15-30min max.

Unfortunately, I barely know JavaScript, so I cannot correct all those things myself, but I'd be glad to help with the feedback and the translation, as I said/did :)

Pubblicato: 11/04/2021
Thanks @jabatrox for your good words and feedback.
Let me explain why some things are nappening...
1. The language keycodes were removed because, at first, I had decided to have the script for personal use.
2. From this moment on, if there are going to be users of the script with more native languages, we will add them one by one and if and ONLY if the added language is updated with ALL the new strings. In any other case, the language won't be supported from the script.
3. The translation issue started when I found a huge amount of spelling and grammar mistakes on the English and Greek interface. And even if I have reported them, they were never corrected by GF, I decided to translate anything that is readable in the interface and translation is not yet finished.
4. Another thing about the translation is that many users play in worlds where the language interface differs from their native language. That's wny, all these strings were added and there are several more to come.
5. As I have said from the beginning, this script has a lot of bugs that should be fixed. The texts you find only in greek happens because I am greek and when I start writing code, I write the strings in greek and I translate them to English, if I have the time. Some of them have probably been forgotten.
6. The Temple code had been made and checked from someone else who uses temples (I am not the one) and unfurtunately I cannot reproduce the bug.
7. About the world and island view, the city names are visible on my table, so, provide us a screenshot of the problem and probably a screenshot of the console of the Developers tools (keyboard F12), that might say what blocks the code to run smouthly.
8. About the Happiness, there are two main values, the happiness rate and the available happiness. The rate is activated when you have empty population places. Available happiness tells you how many more citizens, you city can support and make them happy if you upgrade your town hall.
9. For the Academy think, send screenshots, so that I figure out where is the problem.
10. Date format, thousand separator and decimal separator are language dependant everywhere in the world. GF decided to keep the german format for all the servers, including the time zone of the worlds (thst's a bit crazy!!!!).I find it a bit irrational, as a developer, to play in a chinese world as a greek and the tize to be german. Total chaos. Especially, if the date format is in the language the players decides by selecting the language, what is visible is more user-friendly and the strategy each of us has can be easily implemented.
Thanks for your offer to translate in Spanish.
At the moment, I try to finish sth, let's say, big for the code, and the translation is not a priority at the moment.
I am waiting for @lokurapc to answer to an email I sent him a couple of days ago.
When we will have the chat, we will let you know.
Pubblicato: 12/04/2021
Modificato: 12/04/2021

Thanks for your quick and detailed reply! Let me answer you :)

  1. Keycodes: I understand. Anyway, as I have added them back in the version I updated, I suggest to put them back... I can understand to remove the unused translations, but this is only a few more line codes ;)
  2. Translations: I understand as well. Same as I said, I have translated many of the new strings to Spanish, but not all of them since some I didn't even know what they were referring to, so it is hard to get the meaning. As for the grammar and spelling mistakes, I understand then that you decided to translate everything, but then again I would suggest to have a "enable/disable custom texts" setting for those who don't want/need it. In Spanish, for example, the in-game text is good, so there is no point in overloading the browser and the script with the same text. I have fixed it by just commenting the variables I saw that related to that, but as you may agree it's rather a "quick fix" than a proper solution. At some poing in the code you replace the original text by those variables, so it would be as easy as adding an "if (customTranslation) {...} else {// leave original text}. That could also be used by the people playing in servers with a different language than their native one... there is a language selector for that, so with the "enable/disable custom texts" setting, everything would work out, and it'll make the script much faster for those who don't need it ;)
  3. Bugs of the Spies building: I know, I totally understand that you make it 1st in Greek as this is your native language, but I was more meaning the fact that there are "weird characters" like "ΑνεπαÏκήÏ" instead of proper text. Not sure if it's an encoding error or the reason, but it only happens for that building.
  4. Bug of the temple: ok. Could you contact the person who did it, and tell him/her to please have a look? Also, the image for the wonder in the table is not found so it displays a weird default green one. I have provided a screenshot (see below)
  5. Bug of the city names in island/word views: @panos78 actually it happens randomly, sometimes it works and sometimes it doesn't. I have provided a screenshot (see below).
  6. Happiness: I understand the differences, the point is that my town hall has still space left, but my happiness rate is 0 cause I am not producing extra happiness... however, on the table, I get a +4.00 in many cities, and a +2.00 or available happiness. I have provided a screenshot (see below).
  7. Bug of the Academy: I have provided a screenshot (see below)
  8. Date format: The problem is that you are using momentjs for that, and then inputting the string to the table, and that gives "issues" like that, for example, in spanish we say "13 de abril" for "april 13th", and there is no way of putting this "de" in the middle.

Here is the image for all the above stuffs (check the text next to each picture):

As for the Spanish translation, I understand it's not a priority haha, I am just saying that it'd be great if you could add the changes I've made to that part to the code of your next version.

We just created a chat with @lokurapc, so hope you'll join soon :)

Pubblicato: 12/04/2021
1. The languages that will be in the code are just en, el and es. As long as you maintain the Spanish language, there will be no problem to keep it in. Nothing else for now. Unfortunately, the keycodes are not the only code lines that should be changed but also the respective language strings, so when a language is about to be added, it is not just a few lines of code to change or add to the script.
2. Translations. The effort so far of the translation, is mixed with the rest of the code and for this, at least for me, it is too difficult to separate it from the rest of the code. Because of this, implementing a setting to enable/disable the translation is not possible from me at least. Furthermore, on my pc there is not any delay to load any window not even an overload, so I cannot reproduce what you have experienced. By commenting language strings are not a quick fix at all. As I said, language strings and their structure is used in many cases to rebuild the structure and contents of windows. So, if you comment them, the code stops working. To end with translation, I cannot do what you suggest. If @lokurapc can handle all this, he is free to do it.
3. Hideout looks with no weird characters to my browser, so I cannot reproduce what you see in yours.
4. Temple: Unfortunately not. I am not in contact with him, any more. From the screenshot, I have seen that you haven't visited the moment of the island. Try to visit the momement, refresh the page, and probably you will see the correct text.
5. From I have seen, this happens because of the commenting of the language strings, sorry.
6. It looks as if you are using the script without reseting the database. Try to reset the script and probably it will be solved.
7. Academy: Both numbers are handled by the script, when it is activated. The one in the tooltip has a 2 digit precision, the one in window is rounded up.
8. momentjs format are customizable, so I believe that this type of format you mentioned can be implemented.

I have suggested to @lokurapc, some of the Messengers, I have already an account and the suggested one from him is not one of them.
Unfortunately, I don't intend to install one more messenger on my PC, just for this script.
If you both agree on one of the apps, I have suggested, there will be no problem to start chating.
Pubblicato: 14/04/2021
Modificato: 14/04/2021

Answers as well:

  1. I don't see why the keycodes should be related to the rest of the strings. One can have to use the French keyboard (for example), while having the table in English because the default strings are in English when the remaining language strings are not available (basically, the default of a switch/case structure).
  2. The point here is that the original spirit of the script was to keep it separate from the game itself, not to modify the in-game windows (for 99% of it), and tbh I think it was one of its biggest strengths compared to other scripts. It's light, neat and clean, everything is condensed in the table, that you can hide or show. The updating of the table is heavier now, and the transition between some windows in-game, as I said specially between pages, is slower due to the full rebuild that you mention. So I think that the issue with the translation to Greek, which I understand is annoying, shouldn't be the reason for such a big change in the integration of the script. For most users, it just makes the script slower/heavier, since the texts would be exactly the same as the in-game ones. The only "solution" so far, is to comment the language strings that affect the in-game windows, which takes them back to their normal appearance, but as you mention it's not even something that can be considered a "quick fix", as it partially breaks the code. As for the translation to Spanish specifically, I have no problem in maintaining it, although I think it'd be better, and that also can be a solution to the language strings stuff, to have a setting that says "use default descriptions", and it automatically takes the in-game texts. In other words, have a separate dictionary of in-game strings, automatically taken from the game itself, that would be used if the previous setting is enabled. Therefore, there would be no need of modifying the script as you have it now, besides adding something like:

    // parse strings from the game, using the same variable names currently in use
    // for ex:
    defaultStrings = {
     researchtxt: take that string from the game,
     branchOfficetxt: take that string from the game,
     dipladvtxt: take that string from the game,
     embassytxt: take that string from the game,
     ... --> do it for everything
    // }
    if (useDefaultSetting) {
    // add that dictionary to the LanguageData dictionary, for the languague selected

    By doing so, we would have some kind of compromise solution... You (and anyone) can have a custom translation if wanted and the windows would be remade with the additional stuff you add, but at the same time we wouldn't have to select every single text and description from all over the interface for the most common languages, where those strings are already correct. Of course the additional info that you add would have to be translated... but only that, not the whole interface ;). And, in the future, we can study a way of having an on/off setting for all the in-game modifications. I will copy paste this idea in our chat :)

  3. Hideout: Try to put the table in Spanish and go to the hideout, it's something that only affects the Spanish version since it's in the Spanish language strings. It appears in the button to make new spies (when you don't have the maximum number of them).

  4. Temple: Too bad :(. You were right about visiting the monument, it took the Faith data (only part of it though, the maximum faith is still always 0%), although it still says "no temple" for every city.

  5. Hmmm, not sure of that... I've only commented the variables that affect the in-game windows (building descriptions, etc.), not the table itself. The island/world views are not modified by those strings (I think...), and the error of not seeing the city names happens randomly.. but it's true that it might create a runtime error at some point.

  6. I did, even undoing the commenting of the language strings, and I still get the same weird values.

  7. Academy: hmm ok. I don't really see the point of a 2-digit precision (same with happiness), but I guess it's a matter of tastes.

  8. I have checked for it and I found the way: basically, you can put whatever text anywhere in the string to be converted, if you put it between brackets. For example, fulldatelong: 'ddd D [de] MMMM [de] YYYY H:mm:ss', would give, for May 1st (Saturday), "sáb. 1 de mayo de 2021 a las X:YY:ZZ". By the way, I'd suggest to use the "ddd" format (3 letters for the day, as in mon., sat., sun.), instead of the "dddd" (full word for the day), as it makes the string shorter and it fits better.

Finally, for the chat, we have finally agreed on using one haha, so @lokurapc will contact you to add you to the room :)

Pubblicato: 14/04/2021
I will try to explain for the last time.
When you have a website or any kind of presentation, the correct way is to have everything in the same language.
As long as there are players that play in worlds with interface in different language than the one the script uses, I decided to start the translation of ALL the strings of the interface and it is not yet finished.
I decided that because I don't like having the script table in one language and the rest of the interface in another language. This is NOT correct development.
This is a fundamental principle of the script as it is today and this is how I intent to continue to develop it.
I understand you don't like it, but that's how I intent to keep it.
If you want, feel free to customize the script to follow your needs.
Besides, any change I had made for the script, so far, it was motivated by my needs and for that just for my own use.
As far as I know, the script was never separated from the game itself. The script is attached to the gameplay and interacts with it.
When you already have 1.5MB of code and it is not finished yet, with just 3 languages active, you can't say it is a light script but exactly the opposite. Furthermore, the future says that it will get bigger.
The suggested solution implies that:
- Retrieve the original text from all the windows of the game.
- Put all that text, probably, in database
- Call this respective text for each specific case.
I think this will overload, even more the hole process.
The best solution would be to handle each implementation of the translation in the code to be switched related to the setting the player has selected.
To achieve this, the next steps should be followed:
- create the switch setting, so the interface language can be handled from what the player want.
- go on each implementation of the translation strings and apply the ternary statement or even sth more complicated, if necessary.
But this solution requires many hours of work on the script, that I don't have and there are other things that have priority at the moment.

About the Hideout...
This line controls what is frustated in the window:
Look for the safehousetxt key in the spanish language.
There, for some reason that I don't the strings are scrumbled.

For the date format, do as you please for the spanish version. I don't have an argument for that.
the rest I will leave it as it is because I like it this way.

So, no more conversation here.
The rest in chat.

Pubblica risposta

Accedi per pubblicare una risposta.