SaveBank

Active Member
Reaction score
13
Author
SaveBank
Contributors
RedAlert
Quickbar Entry
javascript: $.getScript('https://cdn.jsdelivr.net/gh/SaveBankDev/fakeListGenerator@main/src/coordListGenerator.js');
Public?
Public
Years ago I wrote a private discord bot to generate fake lists and other coordinate lists for me and my tribe. Now I wrote a script that has the same features so that more players can use it.

It has 5 different main functionalities:
1. Fakelist: Creates a list of fake target coordinates for players for a frontline between 2 parties.
2. Frontline : Provides just the frontline coordinates between two parties. If no "enemies" are selected, the enemy villages will be barbarian villages.
3. Village List: Provides a list of villages. If no players or tribes are selected, the villages will be barbarian villages.
4. Player List: Provides a list of players. Can be used to create lists of players that can be saved elsewhere and used as input for the other features.
5. Coordinate Filter: Filter coordinates based on certain criteria.

clg.png

First you can select which of the feature you want to use. If you want to reset the inputs you have made in your current feature to their default values/states click the red Reset Input button.



Fakelist:
Generates a list of target coordinates assigned to each recipient that can be posted in the forum.

fakelist.png

Fakelist Recipients: Enter the players/tribes you want to make the Fakelist for. Each entered player or tribe member will get coordinates assigned.
Allied Players/Tribes: Enter the players/tribes for the first party (the attacking side).
Enemy Players/Tribes: Enter the players/tribes for the second party (the defending side).
(Multiple Entries can be separated by a ',' . Duplicates or empty entries will be filtered.)

Min/Max Distance: Enter how far away the enemy villages should be from the allied villages.
Min/Max Village Points: Enter how many points the enemy villages should have.
Fakes per Player: How many target coordinates should each individual player get.

Filter Deep Villages?: Select if you want to filter allied villages that are deep in enemy territory. This is recommended if the frontline is not clean.
Radius: Enter the radius around the allied villages that is to be checked for other allied villages.
Number of Ally Villages in Radius: How many allied villages do have to be in the radius for it to not get filtered.

Image?: Select if you want to see an image of the result. An example picture and an explanation can be seen at the end of the post.
Show Target Coordinates?: Select if you want to get the every enemy coordinate of the calculated frontline.
Raw Coordinates?: Select if you want the output formatted or not. The fakelist output is always formatted but in different styles.
With Counts?: Select if you want the fakelist to be sorted by how often a village is assigned to a player.


Frontline:
Generates a list of frontline coordinates as in Fakelist without creating a Fakelist.

frontline.png

The input fields are the same as with Fakelist without those needed only for Fakelist generation.
The only difference is that if you leave Enemy Players/Tribes empty, the enemy villages will be barbarian villages.


Village List:
Generates a list of coordinates.

villagelist.png

Players/Tribes: Enter players/tribes that you want the village coordinates of. If you leave this empty it will get you the coordinates for barbarian villages.
Min/Max X Coordinate: Enter the minimum and maximum X Coordinates of the villages.
Min/Max Y Coordinate: Enter the minimum and maximum Y Coordinates of the villages.
Min/Max Village Points: Enter the minimum and maximum points of the villages.
Image?: Select if you want a image highlighting the resulting coordinates.
Raw Coordinates?: Select if you want a counter in front of each coordinate.


Player List:
Generates a list of players with a certain separator. Can be used to generate input for the other feature that can be saved elsewhere and reused.

playerlist.png

Players/Tribes: Enter the players/tribe you want the player names of.
Exclude Players: Exclude certain players that may be in a tribe you entered.
Min/Max Player Points: Enter the minimum and maximum number of player points.
Min/Max Villages: Enter the minimum and maximum number of villages the players should have.
Separator: Enter a separator between the player names. The default ',' is useful for the other features and ';' can be used for mails.
Coordinates: Enter Coordinates you want the players that own the villages of.


Coordinate Filter:
Filter coordinates based on certain criteria. Automatically removes coordinates that dont exist on your server and anything that is not a coordinate by default.

filtercoordinates.png

Players/Tribes: Enter the players/tribes if you want their village coordinates to be removed.
Min/Max Village Points: Enter the points you want the resulting village coordinates to have.
Max Occurrences Per Coordinate: Removes excess coordinates. If you for example want to remove all duplicates, set it to 1.
Remove barbarian villages?: Removes all the coordinates of barbarian villages.
Number Coordinates?: Returns the filtered coordinates numbered.

Exclude Coordinates: Enter coordinates that you want removed from your coordinate list.
The coordinates to be filtered: Enter the coordinate list you want to filter.


Image:
This is an example of how a generated image might look like.

image.png

Yellow: Those are the coordinates that the script calculated. In Fakelist and Frontline they are the coordinates of the calculated frontline. In Village List they are the calculated villages.
Blue: Allied Player/Tribe coordinates from Fakelist or Frontline.
Red: Enemy Player/Tribe coordinates from Fakelist or Frontline.

Performance improvements:
With large datasets Frontline and Fakelist calculation time can be quite long (Worst case I was able to test was 20-30 seconds).
The biggest impact, aside from the number of players and tribes, is from Min Distance being above 0 and Filter Deep Villages being active with a large Radius and Number of Ally Villages in Radius.
To improve calculation time those can be reduced or deactivated.
Another way to decrease calculation time is to only input Ally Players and Enemy Players that are on the frontline instead of entering whole tribes that may have players far on the edge of the map.
If you are not sure if the script is still running you can open the console. The script logs the total calculation time every second while calculating Frontline or Fakelist.


This script has mainly been tested on the de servers and the beta server. If there are any issues like exceptionally long loading/calculation times let me know by replying to this thread.
 
Changelog
v1.2 Added option to get a Player list from coordinates and to number filtered coordinates

Attachments

  • playerlist.png
    playerlist.png
    11.3 KB · Views: 51
  • filtercoordinates.png
    filtercoordinates.png
    16.1 KB · Views: 46
  • filtercoordinates.png
    filtercoordinates.png
    17.4 KB · Views: 7
Last edited:
Upvote 0

RedAlert

Senior In-Game Staff
Tribal Wars Team
Senior
Team
Script Moderator
Reaction score
672
Converting this script to be a publicly approved script based on script author request.
 

SaveBank

Active Member
Reaction score
13
Small update:
- added option to get a Player list from coordinates
- added option to number the filtered coordinate output

You may need to clear your cache if you dont have the updated version yet.
As there are new input options, the script will clear your saved settings once when updated.
 
Top