Jump to content

Generic GO Use() errors in Server logs?


Recommended Posts

Hi all,

I want to implement a new feature to allow GO type generic(5) despawn, and I need some information ;)

IF any of you has a rather large logfile (or archive) could you please post the result of

grep "GameObject::Use unhandled GameObject type 5 (entry" <YOUR logfile(s)>

(with win I think there should be a grep inside the git-bash)

If you haven't any of these errors in your log, and it is a rather big log then please post also

Why:

We have approx 4000 type5 GOs, and I know yet of 4 which have to be despawned, but I only can see "allow despawn for all gos" or "allow despawn by entry" yet as possibilites, with the error information from you, I think it will be possible to say if "all" is acceptable

--

First information: 500pl 2weeks -> only Beacon Torch used

Link to comment
Share on other sites

  • 2 weeks later...

as it seems noone is really paying attention to this problem,

and the only information about actual using of type-5 GOs are yet the Beacon Torch for All along the watchtowers quest, I conclude my thoughts as follows:

+ /* Generic GO despawn

+ ** GOs that shall despawn: 179511, 179563, 183771, 190094(maybe UpdateEntry - could also be used by 179485(type 2))

+ ** GOs that shall not despawn: 176093

+ ** 176093 and 190094 have both data1=1, the rest of the GOs is all 0 => no information possible

Surely to be despawned are 179511, 179563, 183771, 164729(wrongly type in DB, should be 5)

GOs 190094, 179485(type 2) would rather need an UpdateFunction() call I think - is open

The Beacon Torch 176093 shall not despawn. (used by Player)

Differences:

these GOs have in most cases 0s in all data fields, so in short: There is nothing in common

By player will be used 176093 and (extremely likely - depends spell and event system) 164729 so this is also no way to decide what to do.(no-despawn and despawn by player)

However, 176093 will have to get a SD2 script, so with this there can be the Player-Use part skipped.

This is why (without further information) I think it is save, to Implement the Use -> Despawn for all Type5 GOs;

The other possibility would be to implement it by hardcoded entries (which would need adaption every time we find a new to-be-despawned GO)

Code sketch:

+        case GAMEOBJECT_TYPE_GENERIC:                       // 5
+        {
+            /* Generic GO despawn
+            ** GOs that shall despawn: 179511, 179563,  183771, 190094(maybe UpdateEntry - could also be used by 179485(type 2))
+            ** GOs that shall not despawn: 176093
+            ** 176093 and 190094 have both data1=1, the rest of the GOs is all 0 => no information possible
+            */
+            SetLootState(GO_JUST_DEACTIVATED);
+            return;

or hardcoded:

+        case GAMEOBJECT_TYPE_GENERIC:                       // 5
+        {
+            /* Generic GO despawn
+            ** GOs that shall despawn: 179511, 179563,  183771, 190094(maybe UpdateEntry - could also be used by 179485(type 2))
+            ** GOs that shall not despawn: 176093
+            ** 176093 and 190094 have both data1=1, the rest of the GOs is all 0 => no information possible
+            */
+            if (GetEntry() == 179511 || GetEntry() == 179563 || GetEntry() == 183771)
+                SetLootState(GO_JUST_DEACTIVATED);
+            else
+                sLog.outError("GameObject::Use unhandled generic(5) GameObject (entry %u).", GetEntry());
+            return;

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