
ffm2
Community Members-
Posts
131 -
Joined
-
Last visited
-
Days Won
3
Everything posted by ffm2
-
In a very enduring and extreme way. This script is very young, although I checked games of good players and haven't seen it this extreme. There's also hardware that send multiple commands with very few delay on one click, but that would not explain the change of targets. It could also be some way to play the game other players don't know. With this kind of lag @borg- or @borg_ must be very frustrated and remember this. In the team games that I checked one can see lag a bit that multiple people have the chance to cramp in a lot of commands in one turn.
-
I've been playing with the script a bit more. Some user recomended me to check a suspicious game between borg_ and stockfish. Here we see the attack commands (not queued). Stockfish has a time between turn 5300 and 5400 where he reaches over 20 commands in a turn multiple time while borg_ never gets over 4. Looking at these commands in the file one sees: turn 5325 200 cmd 1 {"type":"leave-turret","entities":[]} cmd 1 {"type":"unload-all","garrisonHolders":[150,2374,2740,2883,2923,3057,3140,3229,3351]} cmd 1 {"type":"leave-turret","entities":[]} cmd 1 {"type":"unload-all","garrisonHolders":[150,2374,2740,2883,2923,3057,3140,3229,3351]} cmd 1 {"type":"leave-turret","entities":[]} cmd 1 {"type":"unload-all","garrisonHolders":[150,2374,2740,2883,2923,3057,3140,3229,3351]} cmd 1 {"type":"leave-turret","entities":[]} cmd 1 {"type":"unload-all","garrisonHolders":[150,2374,2740,2883,2923,3057,3140,3229,3351]} cmd 2 {"type":"attack","entities":[2472,2483,2533,2701,2732,2735,2749,2781,2790,2806,2815,2825,2826,2846,2847,2848,2849,2851,2852,2853,2864,2872,2873,2874,2875,2876,2889,2896,2897,2912,2947,2960,2971,2973,2975,2977,2985,2995,2997,3022,3029,3030,3031,3032,3034,3035,3036,3040,3042,3055,3068,3069,3071,3083,3084,3085,3088,3100,3105,3120,3122,3123,3134,3145,3160,3171,3181,3193,3200,3209,3214,3223,3224,3226,3227,3245,3247,3254,3281,3287,3292,3294,3308,3309,3311,3313,3314,3316,3329,3330,3331,3346,3347,3348,3360,3361,3363,3365,3366,3367,3373,3376,3379,3390,3391,3392,3393,3421,3422,3425,3429,3431,3435,3440,3444,3445,3451,3467,3468,3469,3471,3509],"target":2963,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2472],"target":2963,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2483],"target":2963,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2533],"target":2963,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2701],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2732],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2735],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2749],"target":2446,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2781],"target":3050,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2790],"target":3050,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2806],"target":3050,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2815],"target":3050,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2825],"target":3342,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2826],"target":3342,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2846],"target":3342,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2847],"target":3342,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2848],"target":3342,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2849],"target":3342,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2851],"target":3342,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2852],"target":3342,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2853],"target":3342,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2864],"target":3342,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2872],"target":3342,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2873],"target":3342,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2874],"target":3342,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2875],"target":3050,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2876],"target":3050,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2889],"target":2446,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2896],"target":2446,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2897],"target":2446,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2912],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2947],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2960],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2971],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2973],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2975],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2977],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2985],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2995],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2997],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3022],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3029],"target":2963,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack-walk","entities":[3030],"x":535.4337768554688,"z":222.9183349609375,"targetClasses":{"attack":["Unit","Structure"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} cmd 2 {"type":"attack-walk","entities":[3031],"x":535.2202758789062,"z":222.64129638671875,"targetClasses":{"attack":["Unit","Structure"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} cmd 2 {"type":"attack-walk","entities":[3032],"x":535.2202758789062,"z":222.64129638671875,"targetClasses":{"attack":["Unit","Structure"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} cmd 2 {"type":"attack-walk","entities":[3034],"x":535.2202758789062,"z":222.64129638671875,"targetClasses":{"attack":["Unit","Structure"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} cmd 2 {"type":"attack-walk","entities":[3035],"x":535.2202758789062,"z":222.64129638671875,"targetClasses":{"attack":["Unit","Structure"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} cmd 2 {"type":"attack-walk","entities":[3036],"x":535.2202758789062,"z":222.64129638671875,"targetClasses":{"attack":["Unit","Structure"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} cmd 2 {"type":"attack-walk","entities":[3040],"x":535.3624267578125,"z":222.36502075195312,"targetClasses":{"attack":["Unit","Structure"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} cmd 2 {"type":"attack-walk","entities":[3042],"x":535.3624267578125,"z":222.36502075195312,"targetClasses":{"attack":["Unit","Structure"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3055],"target":3015,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3068],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3069],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3071],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3083],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3084],"target":2446,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3085],"target":3050,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3088],"target":3183,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3100],"target":3183,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3105],"target":2385,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3120],"target":2545,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3122],"target":3475,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3123],"target":3475,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3134],"target":3475,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3145],"target":3475,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3160],"target":3475,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3171],"target":3475,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3181],"target":3475,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3193],"target":3475,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} end So stockfish gives each unit there a individual command. Not as a group. Each command he would need to select the unit and select the target if I'm not mistaken. And the first 3 attack the same target. He'd rather select 3 units individually and attack one target instead of selecting them to a group. The game is from: https://replay-pallas.wildfiregames.ovh/Replays/ReplayDetails/9E145F4901E161F4 load_replay.py
-
I made some script to load game data in to python to plot it as I'm more familiar with python for plotting and analysis. Also it's much nicer to view all the variables in a variable explorer like the one from spyder. Commands per seconds or turn (0.2 s) have the disadvantage that during lag (or later in the game) a player is able to do a lot of commands in one turn. Here is me doing 10 commands in one turn: turn 5455 200 cmd 2 {"type":"walk","entities":[10472,7963,8997,10619,11200,10735,9713,8881,10288,10455,10152,11198,6126,10820,9851,9287,10734,10641,10289,8975,9333,9008,9220,9281,9355,9356,9451,9453,9471,9561,9562,11199,9706,9712,9734,9838,9852,10620,10745,9926,10016,10151,10153,10575,10576,10291,10454,10574,10703,10775,10819,10830],"x":368.4579772949219,"z":944.2227783203125,"queued":false,"pushFront":false} cmd 2 {"type":"walk","entities":[10472,7963,8997,10619,11200,10735,9713,8881,10288,10455,10152,11198,6126,10820,9851,9287,10734,10641,10289,8975,9333,9008,9220,9281,9355,9356,9451,9453,9471,9561,9562,11199,9706,9712,9734,9838,9852,10620,10745,9926,10016,10151,10153,10575,10576,10291,10454,10574,10703,10775,10819,10830],"x":374.57586669921875,"z":970.2582397460938,"queued":false,"pushFront":false} cmd 2 {"type":"attack","entities":[10472,7963,8997,10619,11200,10735,9713,8881,10288,10455,10152,11198,6126,10820,9851,9287,10734,10641,10289,8975,9333,9008,9220,9281,9355,9356,9451,9453,9471,9561,9562,11199,9706,9712,9734,9838,9852,10620,10745,9926,10016,10151,10153,10575,10576,10291,10454,10574,10703,10775,10819,10830],"target":6368,"allowCapture":true,"queued":true,"pushFront":false,"formation":"special/formations/null"} cmd 6 {"type":"walk","entities":[11159,10853,10854,10963,10965],"x":233.2589111328125,"z":647.6427001953125,"queued":false,"pushFront":false} cmd 6 {"type":"walk","entities":[11159,10853,10854,10963,10965],"x":289.00238037109375,"z":808.5845336914062,"queued":false,"pushFront":false} cmd 6 {"type":"walk","entities":[11159,10853,10854,10963,10965],"x":289.2769470214844,"z":809.2060546875,"queued":false,"pushFront":false} cmd 6 {"type":"walk","entities":[11159,10853,10854,10963,10965],"x":289.27691650390625,"z":809.2093505859375,"queued":false,"pushFront":false} cmd 6 {"type":"walk","entities":[7228,7882,7883,8114,8943,11225,11230],"x":309.6015625,"z":795.3712158203125,"queued":false,"pushFront":false} cmd 6 {"type":"walk","entities":[7228,7882,7883,8114,8943,11225,11230],"x":309.6015625,"z":795.3712158203125,"queued":false,"pushFront":false} cmd 6 {"type":"walk","entities":[7228,7882,7883,8114,8943,11225,11230],"x":309.6001281738281,"z":795.1552734375,"queued":false,"pushFront":false} cmd 6 {"type":"walk","entities":[7228,7882,7883,8114,8943,11225,11230],"x":297.7958984375,"z":817.514892578125,"queued":false,"pushFront":false} cmd 6 {"type":"walk","entities":[7228,7882,7883,8114,8943,11225,11230],"x":297.3807067871094,"z":812.8035278320312,"queued":false,"pushFront":false} cmd 6 {"type":"walk","entities":[7228,7882,7883,8114,8943,11225,11230],"x":297.3807067871094,"z":812.8035278320312,"queued":false,"pushFront":false} end Notice player 6 (me) just does actually do 2 commands with 2 unit groups as these walks are not queued. If your familiar with python / matplotlib go ahead and tinker with the script and analyze some games.
-
Also on the topic of idle time of barracks (or any building). I was just watching the video shared by @real_tabasco_sauce on proGUI, the day after (which indeed is very much on point of this topic). There is a overlay that has a nice counter that runs when buildings are idle.
-
It seems mod.io also handle mods more restrictive because of abuse. This rule would be a problem as I see it atm. New rules can also come any day. This is not a exclusive option and I think a good change. Players could also be made aware of mods they don't know and check them out because of the popularity. Also in the team set up one could put one proGUI user in each team to balance it. Some mods are big and if the host does not use them he should not download them. This seems a good additional approach to #2. I would add to this some appearing option for the host "ffm tries to enter your game with ffm_4k. Description: 'This mod increases the font by 2 sizes. Better suited for high res displays.' Add the key XX to your keyring?" And if the host gets tired of this mod he can remove this key. This would of course not prevent cheating and be a hurdle for new modders but necessary as proGUI users show no awareness at all that it is cheating. It's verbosely described in proGUI, the day after and here by RangerK yet again. If a proGUI user then enforces these features another way, at least they are made aware that they cheat.
-
All parties in the know = not cheating Using it secretly = cheating Is it that complicated? The current state of the multiplayer lobby just shows that this is not the case. Players just download proGui through mod.io and just use it. Even Atrik just assumes everyone knows by now that he is using it. One day Chrstgtr tells him he should not do it in his games, next game he does it again. When I or RangerK return to this game after a break and join a 4vs4 game no ProGUI user tell them that he automates unit commands and unit production beyond human capabilities. Instead some even tell it is just a GUI. Please report players cheating by using mods or other means. Without reports there is little we can do. If some official sign were there, like a mod ban Atrik for a day or at least say that -proGUI's autotrainer -proGUI's quickstart is considered officially as a cheat in regular use (not announced). But we have this situation where the proGUI users just use it like great mods like autociv and feldmap. And then users tell in lengthy discussions about how it is ok and not a cheat. Can we have a adult jumping in saying: -The autotrainer of vanilla is intended to work that way (turning of if there's no res., don't automate adjusted batches), for this alpha -Don't give units commands via makros / mods etc. If you like the vertical panel or what that's ok for me. Maybe split it up in 3 mods and have one of them signed or accepted by the community. One can automate everything away, but then it is a different game. Afaik DotA focused their game to play just playing the hero of Warcraft 3. That's ok. But you can't automate things away and play with the others that still do another part of the game in a way they never can reach you. People will still cheat, but we can end this "is considered by some" discussion. Even if the advantage were small or however it is downplayed. Or start a poll before or something.
-
Don't be confused because some consider it not cheating. It is very clear cheating. It disables game penalties: In game auto-batching gets disabled when the player don't have the resources. It's not on pause (like proGUI) because the programmers lack the capability to program it otherwise, it is a draw back to use this automated way. Do that in the dedicated place, hand in the patches and wait for the next alpha. The topic here is cheating. You can discuss new features for future versions else where. You disable penalties for yourself while playing with players that have these enabled in their game. I had games recently, after the game I get mocked "lol, ffm only 60 kills". I check the replay and see the opponent was a proGUI user. Other games I get a clear win with a ally over decent players, check the replay and see my ally uses proGUI. Also I happen to play in rounds with known cheaters, because the host tolerates it and the better players are already there. The motivation for the cheaters I assume is because they can join rounds of better players and compete with them. The easiest way to identify cheating with proGUI is the quickstart part. It sends 7 commands in one turn, at about turn 12. cmd 6 {"type":"set-rallypoint","entities":[400],"x":200.843017578125,"z":647.5227661132812,"data":{"command":"gather","resourceType":{"generic":"food","specific":"fruit"},"resourceTemplate":"gaia/fruit/berry_01","target":419},"queued":false} cmd 6 {"type":"unload-template","all":true,"template":"template_unit_support_female_citizen","owner":6,"garrisonHolders":[400]} cmd 6 {"type":"set-rallypoint","entities":[400],"x":208.0706787109375,"z":558.1127319335938,"data":{"command":"gather","resourceType":{"generic":"wood","specific":"tree"},"resourceTemplate":"gaia/tree/oak_hungarian","target":411},"queued":false} cmd 6 {"type":"unload-template","all":true,"template":"units/rome/infantry_swordsman_b","owner":6,"garrisonHolders":[400]} cmd 6 {"type":"unload-template","all":true,"template":"units/rome/infantry_javelineer_b","owner":6,"garrisonHolders":[400]} cmd 6 {"type":"set-rallypoint","entities":[400],"x":168.57574462890625,"z":588.1920776367188,"data":{"command":"gather","resourceType":{"generic":"food","specific":"meat"},"resourceTemplate":"gaia/fauna_chicken","target":425},"queued":false} cmd 6 {"type":"unload-template","all":true,"template":"units/rome/cavalry_spearman_b","owner":6,"garrisonHolders":[400]} A mod that warn users in game about a amount of commands that is beyond the best player (plus a threshold) could be a idea. But I don't know where to start with it at the moment. Hardening the game against abuse is one front to fight. But this is absolutely ridiculous to defend and pretend "is it really a cheat if a 1200 player don't win 10 out of 10 vs a 1800 elo player", "it's just a few commands at the start". It's another thing that the cheats are so easy available, widely used and pretended it wouldn't be a cheat.
-
Couldn't find it in a reasonable time. It's maybe feasable, maybe hard with extra code. I don't see the benefit with all subtypes like pikemen, slingers of each civ. You have to dig through the code, that's why I've written my procedure to grep above.
- 455 replies
-
- hotkeys
- autoassign civ
- (and 9 more)
-
It's number of houses, barracks, fields and civilizations and has nothing to do with the second line. In the second line are only the gather rates (incl. way) lined under and attached debugging info for me. The last % is the gather rate in relation to the maximum of 5.8. The replay file is written instantly. When spectating a live game I regularly use it to check out the replay to see which player uses quickstart, which some players use in even in rated 1v1s. I think it would be a great analysis tool, like a chess engine (although this wouldn't cover all strategies). But chess engines are also used for cheating. So I'd rather have no analysis and no more added cheating than more analysis incl. more cheats.
- 455 replies
-
- 2
-
-
- hotkeys
- autoassign civ
- (and 9 more)
-
I messed with autociv stats too. I calculated extra statistics for the currently selected player. Here is the actual gather rate for wood shown incl. the way to the storehouse and collisions. 4 woman + 4 inf have 4*0.7 + 4* 0.75 = 5.8 wood gather rate at 100% set. No upgrades. I made some snapshots to show how the actual gather rate drops with longer distance. Tbh I expected it to be worse. With this value I wanted to make a mod with recommendations on the game play as spectator or in the replay. Like now would be the time for the ax upgrade. But now I am reluctant to share. A) Because of the bad state of abuse of cheats in the community. I don't want to add fuel to the fire. Some would just automate the upgrade. B) It's still a buggy sketch, and because of A i don't know if I continue this. It's not too hard to do if someone wants to, but still a bit more than getting another value from the current statistics. The results are quite interesting though. Also I don't know if it's even intended to know the game so well.
- 455 replies
-
- hotkeys
- autoassign civ
- (and 9 more)
-
/gui/session/objectives/autociv_statsOverlay.js gets states from /simulation/components/GuiInterface~autociv.js you need to add something like "unitsLost": cmpPlayerStatisticsTracker?.enemyUnitsKilled.total ?? 0, to ~line 210 except you now don't want enemyUnitsKilled.total but something like unitsLost. What does cmpPlayerStatisticsTracker offer next to enemyUnitsKilled? rg enemyUnitsKilled and find public/simulation/components/StatisticsTracker.js look and find this.unitsLost = {}; this.enemyUnitsKilled = {}; so your gues of the name was right. Just add it to /simulation/components/GuiInterface~autociv.js too. I didn't test it actually but thats the way I gues. Hard for me too to grep the right value.
- 455 replies
-
- 2
-
-
-
- hotkeys
- autoassign civ
- (and 9 more)
-
"What do you mean there's a wrong-way driver on the highway? There's dozens of them!!" Here is one information that 3 people try to convey to you over month, yet you fail to understand it or want to justify your cheating to hang on to your mod in regular games: "rush is how he exploit cheat" - Breakfastburrito_007 @Dunedan I report Artik_III for repeated violation of terms of use and he shows no effort to stop in the future: 8. Not to undermine the intended gameplay or purposefully gain unfair advantages in multiplayer matches (for example cheating, using exploits or bugs). Here is a replay if there is any doubt and here is the expressed wish that proGUI or quickstart should not be used by chrstgtr: 2024-10-13_0018.zip
-
This is not the first cheat mod and wont be the last, here's just my opinion on this tedious discussion. So everyone has to draw his line where cheats begin on about this spectrum: -Map revealed -Chat revealed -Let ranged units automatically back up if mellee come too near, make them follow if melee goes away (cav in a ~22 were like this and broke game mechanics) -Automatic aim at most wounded units -Army shoots the exact number of projectiles at one unit necessary to kill it. -Automatic dodge arrows -Automatic wounded units run to next temple -Automatic deleting structures at 55% capture rate -Automatic set houses according to resources and demand -Automatic queue units according to resources -Automatic start with instant command to move women to berry's, men to wood, cavalry to chicken with perfectly executed cc-teleport (Quickstart mod) -Make more contrast for better visibility -Disable fog for better view -Increase zoom.max = 500.0 (this should be standard anyway btw.) There has already been cheaters/modders that enabled 1. and 2.. Most optimize their settings for the better in some way. This has gone way too far for me. I would rather have a complete vanilla setting and disable all mods for all players than this state. To me proGUI is a clear cheat and I know a lot (clear majority) that also consider it a cheat. You set your line maybe else where, where cheats begin, but that's not up for the individual player to decide. Atrik at least has some fairness sense that map revealed is a cheat. If I get raided by Atrik get demotivated because he doesn't have to watch his base and can focus only this raid. Usually you can stick arount, make his units waste time and be sure the player only has that much APM. But he doesnt have to spread that amount of APM across a bigger map. He plays a different game than me. I don't accept this as a loss at a fair game. a) is not an option. If it were next comes the map revealed mod (or one of the other suggested cheats above) and we all do that. b) same argument. Some have map revealed. Not a sane option. Quickstart is also a cheat and AFAIK incorporated in proGUI. It could at least emulate a good player. But it sends does all these commands instantly. Ungarrision from the cc in 3 different directions with different units instantly is just silly. chrstgtr is a opponent of proGUI yet Artik and knight002 used at least quickstart in a game hosted by chrstgtr. The wishes of other players do not get respected. It's clear that many users dislike the use of these mods. It does not get stated each host. But chrstgtr made it clear here and Atrik knows it. I just saw another rated 1v1 with quickstart (at least) enabled for one player with no anouncement. If quickstart were no cheat, why doesn't the game just start a few seconds later with the woman already gathering berrys etc.. It is not intended that way and playing it down won't convince me. On Grautvornix: Why isn't this a real competition? Because there's no money involved? People gather together and want to play a game with even odds and give it some effort. Good performances earn recognition of other players and bad performances gets .. lets say reactions too. People care and the game is in a good state so that one can put in some effort and it's fun to rise in the leaderboard and also optimize ones skill regardless of how useful this skill might be. It's also annoying to me that this gets cited like a dogma to automate everything: "Repetition - If you find yourself doing the same action over and over without thought, then we need to either eliminate or automate such an action. Linear repetitious procedures are meaningless and boring." If you take it that serious over every other argument, next time you close the game, leave it closed. Don't open 0ad again. It's a really sad state and critics get shouted at like in the attached snippet. I don't know what to tell you Atrik what hasn't been better formulated by others already better. It's either a lost cause or needs time for you to reflect on the matter.
-
Yeah, I don't mind ... Just being lazy atm. and don't want to assign to some sites to promote. I don't mind if anyone does it or carbon-copys this (or ffm_visibility) mod.
-
Updated this mod (just like ffm_visibility)
-
I updated it as I play a bit again. Other mods do too much changes for me.
-
I will not update this mod as I think boonGUI mod can replace it.
-
The feet movement of many units and their speed are not synchronised. Like a forward moonwalk. Can be seen best on a low speed setting, but its visible with normal settings too. The woman seem fine, on first glance. Maybe the animation speed should be coupled with the unit speed?
-
I dont know the balance of your fork, but i'd compare it to the 0ad a23 balance, I'd say it only reflects the strategies the bot uses. Persians can be very strong in the late game using cav and the according hero. This of course requires the bot to build his game accordingly from the start towards that strategy. Mace had the advantage to get siege fast in their workshops. Your analysis is good, but I think this should be generated from real games from players over 1400. On lichess for example all games are recorded and are open available, I don't see a problem why 0ad shouldn't collect at least some data, like the civ. With this https://trac.wildfiregames.com/ticket/4376 you could generate it out of the logs.
-
No intention, i just did the majority with what i had problems. Langbarts stuff looks good, just include that or change in that style whatever you like. Tbh. i didn't even play one game in a24 yet, just did a bare minimum a24 update here.
-
good catch, will include it later
-
Intelligence then maybe? Since its some kind of measurement unit, it doesn't fit on a different scale.