rombau / osext2

Online Soccer Extension based on Chrome API
MIT License
1 stars 0 forks source link

Zuordnungsproblem mit gescouteten Spielern #39

Closed rombau closed 2 years ago

rombau commented 2 years ago

Weil die Jugendspieler keine Nummer haben, wird die Zuordnung beim Aktualisieren per Index durchgeführt. Werden neue Spieler nicht am Ende hinzugefügt (beim Saisonwechsel), sondern irgendwo in der Mitte der Liste (durch Scouting), wird die Position des ursprünglich mit diesem Index gespeicherten Spielers übernommen.

Eselce commented 2 years ago

Beim Jugendscript (OS2.jugend.user.js) gibt es in der Klasse PlayerRecord (OS2.class.player.js) eine kleine Funktion für fast eindeutige Fingerprints:

        'getFingerPrint'        : function() {
                                      // Jeweils gleichbreite Werte: (Alter/Geb.=>Monat), Land, Talent ('-', '=', '+')...
                                      const __BASEPART = padNumber(this.birth / __MONATZATS, 3) + padLeft(this.land, -3);
                                      const __TALENT = '-=+'[this.talent + 1];

                                      if (this.skills === undefined) {
                                          return __BASEPART + getValue(__TALENT, "");
                                      } else {
                                          const __SKILLS = this.skills;
                                          const __FIXSKILLS = getIdxFixSkills().slice(-4);  // ohne die Nullen aus FUQ und ERF
                                          const __FIXSKILLSTR = __FIXSKILLS.map(function(idx) {
                                                                                    return padNumber(__SKILLS[idx], -2);
                                                                                }).join("");

                                          // Jeweils gleichbreite Werte: Zusaetzlich vier der sechs Fixskills...
                                          return (__BASEPART + getValue(__TALENT, '?') + __FIXSKILLSTR);
                                      }
                                  },

Sowas ähnliches ließe sich sicherlich konstruieren...

Beispiele für Fingerprints in meinem Team:

----------------------
586UKR+72337182
587UKR=95179546
----------------------
589CIV=93082592
590GER=84117526
593UKR+63328942
596UKR=12948303
598UKR-53223253
----------------------
601DEN-77533024
602UKR-33532584
602NIR=32471147
612UKR=85090512
----------------------
...

Meiner U19 fehlen 2 Spieler, einer bereits gezogen, der andere weggescoutet. Dafür habe ich in der U18 jetzt 5 Spieler. Die U17 und weitere sind dann "normal" mit 4 Spielern besetzt...

rombau commented 2 years ago

Leider hat sich noch ein Fehler bei der Positionszuordnung eingeschlichen. Beim Einlesen wird die Position nur bei TOR neu übernommen, somit bleibt die Position nach Listenindex erhalten.