Jump to content

Gameobjects not appearing, but they do if I delete/insert them???


rumpa

Recommended Posts

Hello!

Revision 1994

DB patched up to 11773, based on complete UDB + UDB patches up to 401 + additional mangos patches

Hopefully can some helpful soul shed some light on a rather obscure issue!

Quite a lot of gameobjects are simply missing in the game after startup. MaNGOS starts without problems, and reports for gameobjects:

>> Loaded 101586 gameobjects

There are LOTS of items in the game, but one item that is missing almost overall is gameobject with id = 1731, that is based on gameobject_template entry = 1731. Minerals overall are sorely lacking...

Tried in-game adding an object with id 1731 (.gobject add 1731) and it appears without problem, respawns also. So just to test... in the db, I deleted all gameobjects with id = 1731 and then re-inserted all rows without specifying guid, having the db create new guid for all rows. So as an example for one row:

delete from gameobject where id = 1731;

insert into `gameobject` (`id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`) values('1731','0','1','1','-392','-1775','113.071','5.827','0','0','0','0','60','255','1');

All inserts are based on the original id = 1731 rows, given guids > 200000 (default I guess).

Now every object with id 1731 appear as wanted after startup! But not a good solution of course this will mess upp guids and table dependencies, not to mention future patching will be a mess. :D

Any ideas or thoughts???

Link to comment
Share on other sites

I'm having the same problems, minerals and herbs are way too low with no real clear way of increasing the # of spawned pools. As a guess I tried running around some of the other zones that I don't normally frequent and there are a few spawns, but not nearly as many as their should be.

Any help would be greatly appreciated.

btw

WOW - 3.3.5A

Mangos - 11743

UDB - Up to Date

Link to comment
Share on other sites

I have a query (use at own risk!) that increases the pool size.

However this overall increase is rather a bad way, but easy to get on with:

UPDATE pool_template SET max_limit=ROUND(max_limit*1.5) WHERE description LIKE "%master%mineral%";

btw, this topic belongs to database forums, and at least on udb there are already some topics including better queries; however as it is closed currently I guess it is ok to post this here, too

Link to comment
Share on other sites

Hello again!

Schmoozerd, thanks. I tried that, but am still seeing very few minerals. Is it OK to mention specific game areas in here...? In this case is the checking area G@rrison Armory. ;)

Very few even after the query. Also tried another approach, and it did increase a little, but not much there either:

UPDATE pool_gameobject SET chance = chance + 50 WHERE description LIKE 'Mineral%';

Current MAX chance was 40, so above is easy to revert. Don't know if the chance field is % though and my coding skill is way to low to go into digging C++, so your assistance and suggestions are appreciated!

Link to comment
Share on other sites

btw, this topic belongs to database forums, and at least on udb there are already some topics including better queries; however as it is closed currently I guess it is ok to post this here, too

If you're talking about the UDB Forum thread I think you're talking about, these may be the queries you're referring to. If not, please excuse the intrusion.

update pool_template pt join (select pgo.pool_entry, count(1) zone_total from pool_gameobject pgo join pool_template pt on pgo.pool_entry=pt.entry where pt.description like "MASTER%" or pt.description like "%MASTER" group by pool_entry) tpgo on pt.entry = tpgo.pool_entry set pt.max_limit=ceil(tpgo.zone_total/3);

update pool_template pt join (select pp.mother_pool, count(1) pool_total from pool_pool pp join pool_template pt on pp.mother_pool=pt.entry where pt.description like "MASTER%" or pt.description like "%MASTER" group by mother_pool) tpp on pt.entry = tpp.mother_pool set pt.max_limit=ceil(tpp.pool_total/3);

These set the number of "active" spawns of each category in each zone to 1/3 of the total number of available spawns for that category in that zone, rounding up. This fraction was chosen arbitrarily, and it isn't thoroughly tested, but may be an improvement; YMMV. If you can come up with a better way of deciding what fraction of spawns to activate, please share.

To preview the changes these updates will make, use these queries:

select pt.description, pt.max_limit, ceil(tpgo.zone_total/3) new_limit from pool_template pt join (select pgo.pool_entry, count(1) zone_total from pool_gameobject pgo join pool_template pt on pgo.pool_entry=pt.entry where pt.description like "MASTER%" or pt.description like "%MASTER" group by pool_entry) tpgo on pt.entry = tpgo.pool_entry order by description;

select pt.description, pt.max_limit, ceil(tpp.pool_total/3) new_limit from pool_template pt join (select pp.mother_pool, count(1) pool_total from pool_pool pp join pool_template pt on pp.mother_pool=pt.entry where pt.description like "MASTER%" or pt.description like "%MASTER" group by mother_pool) tpp on pt.entry = tpp.mother_pool order by description;

Link to comment
Share on other sites

Very few even after the query. Also tried another approach, and it did increase a little, but not much there either:

UPDATE pool_gameobject SET chance = chance + 50 WHERE description LIKE 'Mineral%';

Of course that didn't help, it just screws the chances for selecting the type of mineral that will spawn, which happens after that location has already been selected.

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use