Fehler #10244
offen[Sonstiges] Spawns der Kräuter und Erze in ein Pool System verpacken
Beschreibung
Derzeitiger Zustand:
Alle Kräuter und Erze eines Typs (z.B. alle Friedensblumen oder alle Eisenvorkommen) sind in einem Pool ein getragen und mit einem sehr hohen max. spawn versehen. Als beispiel thorium 550 positionen von denen 500 spawns gleichzeitig maximal da sind.
Daran ist Buggy:
Kräuter und Erze sollten (je für sich (also nicht kräuter zusammen mit erzen, sondern alle Erze in einen pool und alle kräuter in ein anderen Pool)) mit allen anderne kräutern bzw. Erzen innerhalb eines Gebietes gepoolt sein. Dabei sollte die maximal gleichzeitigen Spawns deutlich geringer sein.
Was mein Fix ist:
Mein Fix packt alle Kräuter pro gebiet und alle Erze pro gebiet in einen Pool. Die alten und fehlerhaften Pools werden gelöscht und durch die neuen ersetzt. Die maximalen Spawns pro gebiet (und für erze und kräuter getrennt) sind im derzeitigen Zustand an die Erfahrung von TrinityCore angepasst, welches jede 3,5. Position mit einem Spawn belegt.
Was mein Fix nicht ist:
Absolute blizzlike ist dies dann immer noch nicht. Ich habe kein weiteren Spawn hinzugefügt oder entfernt, obwohl einige falsch sind und viele fehlen. Außerdem müsste viel intensiever ein spawnpunkt als Position gesehen werden, während derzeit es vor allem ein gespawntes GO ist.
was noch zu tun ist:
Es muss noch entgültig entschieden werden, wie viele spawns pro gebiet vorhanden sein müssen. Derzeit ist der max spawn durch einen dividenten von 3,5 entstanden, wobei auf die nächste natürliche Zahl gerundet wurde.
Viel wichtiger sind die respawnzeiten. Meine empfehlungen sind, dass alle erze und Kräuter zwischen 10 - 15 Minuten eingestellt werden sollten. Höchstens ganz spezielle Vorkommen, wie Khorium etwas höher. Aber wenn der derzeitige Zustand beibehalten werden würde mit der respawnzeit, aber dennoch nur ein 3,5 divident, würde das farmen erheblichst erschwert werden.
Siehe auch http://paste2.org/hxEP0hCZ
Was zu testen ist:
natürlich sollte in so vielen wie nur möglich gebieten rein geschaut werden, ob die richtigen kräuter oder Erze da sind und auch die Anzahl ungefähr stimmt. Pro gebiet kann dies natürlich noch erhöht oder erniedrigt werden.
Wie bin ich auf meine Gebiete gekommen:
Ich habe in einem Core in dem Startup folgendes mit durchlaufen lassen:
void World::LoadGoContent() { TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, "Loading Go Data"); QueryResult result = CharacterDatabase.Query("SELECT guid, map, position_x, position_y, position_z FROM mangos_dev_mangos.gameobject WHERE id IN (183043,176640,176586,3730,1622,2042,183046 ,142143,181166,176588,3726,1619,2866,181276,1618, 3724,142144,2046,176638,176583,1628,142145,176637, 2043,1624,2041,142140,3727,1620,181281,181279, 176587,176641,3725,1617,176636,142142,181277,183044,181270, 176639,176584,183045,181271,181272,3729,1621,1623,2044,2045,181275,176589, 181280,142141,176642)"); if (!result) { TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, "Nooooooooooooooooooooooooooooooooo"); return; } // uint32 zoneId = sMapMgr->GetZoneId(MapId, x, y, z); do { Field* fields = result->Fetch(); uint64 guid = fields[0].GetUInt64(); uint32 map = fields[1].GetUInt32(); float mx = fields[2].GetFloat(); float my = fields[3].GetFloat(); float mz = fields[4].GetFloat(); if (guid != 16780 && guid != 4004 && guid != 86047) if (uint32 zoneId = sMapMgr->GetZoneId(map, mx, my, mz)) TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, "(%d, %d, 0, 'herb - '),", zoneId, guid); } while (result->NextRow()); TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, "Loaded"); }
bzw mit den IDs
(
123309, 2047, 150081, 3764, 1732, 103711,
2054, 1734, 73941, 150080, 181557, 181570,
181556, 181569, 165658, 1735, 1733, 73940,
324, 123848, 150082, 176643, 175404, 177388,
181555, 176645, 2040, 123310, 150079, 1731,
103713, 3763, 2055
)
Dies gibt dann im startfenster entsprechend die GUIds+ ZonenIDs. Diese Ausgabe wurde dann noch von hand bearbeitet, in dem alle Treffer aus einer Zone raus getragen wurde und diese in ein Pool gesetzt. Die Zonenzuordnung hat man aus der worldmaparea.dbc erhalnte.
Dateien
Zugehörige Tickets
Von erimioa vor mehr als 10 Jahren aktualisiert
- Kategorie wurde auf Sonstiges gesetzt
- Zugewiesen an wurde auf fgreinus gesetzt
Von itslovelol vor mehr als 10 Jahren aktualisiert
062 - Duplicate entry '73586' for key 'PRIMARY'
Von jadihasi vor mehr als 10 Jahren aktualisiert
- Thema wurde von Spawns der Käruter und Erze in ein Pool System verpacken zu [Sonstiges] Spawns der Kräuter und Erze in ein Pool System verpacken geändert
Von asmodan42 vor mehr als 10 Jahren aktualisiert
- Status wurde von Neu zu Bestätigt geändert
- Priorität wurde von Normal zu Niedrig geändert
Von B2B-SannerKek vor etwa 8 Jahren aktualisiert
- Beziehung mit Fehler #21364: [Kräuterkunde/Bergbau]Eventuelle fehlende Kräuter (Erze?) wurde hinzugefügt
Von B2B-SannerKek vor etwa 8 Jahren aktualisiert
- Beziehung mit Fehler #12077: [Sonstiges] Spawnpunkte Goldener Sansam in Sümpfe des Elendes wurde hinzugefügt
Von B2B-SannerKek vor etwa 8 Jahren aktualisiert
- Beziehung mit Fehler #9209: [Sontiges] zu viele Zinnvorkommen in Westfall ("Der Jangoschacht") wurde hinzugefügt
Von b2b-jose87 vor 12 Monaten aktualisiert
- Datei Screenshot_3.png Screenshot_3.png wurde hinzugefügt
Meines Erachtens würde es reichen, wenn man selber geographische Pools festlegt.
Das Bild im Anhang erklärt es ganz gut. Wie aufwändig das wäre, kann ich leider nicht einschätzen. Theoretisch müsste man "nur" 4 Punkte als Eckpunkte eines Vierecks bestimmen und alle Spawns innerhalb gehören zu diesem Pool.
Wie ist denn hier der Stand?
Von b2b-jose87 vor 12 Monaten aktualisiert
- Datei Screenshot_4.png Screenshot_4.png wurde hinzugefügt
- Datei Vorkommen Schattenmondtal.png Vorkommen Schattenmondtal.png wurde hinzugefügt
Ich habe mal eine Runde auf dem offi in wotlk gedreht. Es waren maximal 2 andere Spieler da. Das dürfte die Anzahl also kaum verändern.
Ich habe Gathermate angeschmissen, die Vorkommen angehauen und folgendes war vorhanden (siehe auch Anhang):
8 Teufelseisenvorkommen (von 96 Spawns laut wowhead)
9 Adamantitvorkommen (von 115 Spawns)
3 reiche Adamantitvorkommen (von 100 Spawns)
2 Khoriumvorkommen (von 19 Spawns)
Von b2b-jose87 vor 12 Monaten aktualisiert
Nachtrag:
15-16 Netheritvorkommen in der Mine war ich jetzt nicht.