Jump to content
  • 0

Unknown Mob Protection


Peopleperson49

Question


  • Group:  Members
  • Topic Count:  218
  • Topics Per Day:  0.05
  • Content Count:  1180
  • Reputation:   141
  • Joined:  01/27/12
  • Last Seen:  

I request that somebody make a source mod that prevents sprite errors for mobs when they have an unknown mobs. It will work in the same way as the apple for unknown items. I suggest that it always shows a poring or something instead of getting the gravity error. This would benifit a lot of players expecially if they fail to obtain the latest lua files and such.

Peopleperson49

Edit: I meant this to be more of an addition of to the svn the same way the apple is for items.

Edited by Peopleperson49
Link to comment
Share on other sites

10 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

I request that somebody make a source mod that prevents sprite errors for mobs when they have an unknown mobs.
if they have error with gravity error, then its completely client issue,

the server side couldn't detect the player's client having error or not

It will work in the same way as the apple for unknown items.
its not same, I guess

unknown item as apple is detected with item_db.txt file or `item_db` table if SQL

as the server itself has no known way to detect a client side error

the only way that I can think of doing this with source modification is control partially with scripts

a menu pop-up with OnPCLoginEvent let the player choose to which version their client file is

and anything above the revision, temper with clif.c file send an exclusive default packet to those outdated clients

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  218
  • Topics Per Day:  0.05
  • Content Count:  1180
  • Reputation:   141
  • Joined:  01/27/12
  • Last Seen:  

Thanks for the reply. I had this issue a while ago when I updated my files and I had no data files for the new mobs, and I just had somebody else PM me the same question (not sure why they PMed me though). So when you went to the map you would gravity error. I used to use a client that showed a poring if no mob data was found. This was like 2008 and before LUAs were widely used. So looking back I guess it was just a mod with the client then. I wonder if the apple for missing item data is also client controlled?

Peopleperson49

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

So when you went to the map you would gravity error. I used to use a client that showed a poring if no mob data was found. This was like 2008 and before LUAs were widely used. So looking back I guess it was just a mod with the client then.
yeah,

I remember there was a client mod call xray ... which has been discontinue for quite some time

its goal was not displaying any gravity error while having unlimited viewID

I wonder if the apple for missing item data is also client controlled?
nope, its different
//Use apple for unknown items.

#define UNKNOWN_ITEM_ID 512

this is actually do-able with source modification ...

but might be more practical to do with client hexing, I guess

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  17
  • Topics Per Day:  0.00
  • Content Count:  754
  • Reputation:   186
  • Joined:  05/22/12
  • Last Seen:  

#define UNKNOWN_ITEM_ID 512

This would only work if the item is not in the database(item_db). You would still error out if the item is in the database but no sprite files in the client.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  218
  • Topics Per Day:  0.05
  • Content Count:  1180
  • Reputation:   141
  • Joined:  01/27/12
  • Last Seen:  

I think you have that backwards Clyde. I have several items that are in my item_db2 that I havn't assigned any sprites or data to because I never used them. But I can still create them ingame and every one of those items use the apple sprite. The only time I error is if I have a sprite for the items that is bad, which seems to happen to me almost everytime I try to make one. Its detecting a sprite so it doesn't use the apple sprite, and my sprite doesn't work either. Then you get the error. I dont see why we can't make a #define UNKNOWN_MOB_ID thats sends a poring sprite if none is specified. The server specifies which mobs to show the client and then the client picks the appriote sprite for it. If the server shows the poring sprite then it will display a poring sprite. The trick is to get it to detect when there is no mob sprite like it does when it detects there is not item sprite. Annie if it was added in the SVN then any user with any client takes the advantage, there are so many different clients out there that most people wouldn't be able to make a client mod like that, weediffgen only goes so far and for specific clients... It would prevent a lot of server errors, and make it easier to realize there was a problem. I remember when I didn't have the data files for the big wolf looking mob (name starts with a T but cant remember what it is). Had it had a poring sprite instead of erroring I would have been able to see its name and look for why there was no sprite. I had no clue which monsters kept erroring me, until I went through the mob spawn tables for that map. It only takes 1 dev to agree to make it and the others to agree its a good idea! At one point in time somebody had the same question about defaulting the apple for items. Now people wouldn't live without it!

I remember there was a client mod call xray ... which has been discontinue for quite some time its goal was not displaying any gravity error while having unlimited viewID

I used xray at one point in time and all you had to do was just add your stuff to each tab. It worked good for adding mobs, items, classes, etc... However, that was not the client I was refering to. I had a custom made client a friend made, I would still use it today if I could get a hold of it again! Even after all this time I think it was more advanced, completely in english, and was so easy to customize alot of the features we now use the weediffgen for.

Peopleperson49

Edited by Peopleperson49
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

the reason that we have unknown apple with item database, but doesn't have unknown mob ID

is because the data can be left over in player-side

if a player is carrying an itemID with 21111,

but then the GM removes it from item_db,

when that player login, the map-server will display an error

-> unknown itemID - 21111 ... something like that

[Warning]: itemdb_search: Item ID 500 does not exists in the item_db. Using dummy data.

if the gm create a monster with mobID 2345

then the admin removes it from mob_db,

when the server attempt to spawn, it will display an error

-> unknown mobID .... the monster is only created/load/read in the server

[Warning]: buildin_monster: Attempted to spawn non-existing monster class 1003

I dont see why we can't make a #define UNKNOWN_MOB_ID thats sends a poring sprite if none is specified.

....

Annie if it was added in the SVN then any user with any client takes the advantage, there are so many different clients out there that most people wouldn't be able to make a client mod like that

because if you want to make a custom mob without playing with client-side, we have mob_avail for it

so there is no need to do any more modification for it

in fact, I have release several scripts that play around with mob_avail.txt

I do think you have misunderstood what I'm saying though

when I say its possible with source modification

I mean do a modification with something like

if ( pc_readreg("client_date") < 20101231 )

clif_send <poring ID sprite>;

else

clif_send <normal mobID sprite>;

.. which should be located somewhere in the clif.c file

It would prevent a lot of server errors
the correct way of saying it should be

it would prevent a lot of client errors

the server has no way to detect the client having the sprite or not

@clydelion is actually right

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  218
  • Topics Per Day:  0.05
  • Content Count:  1180
  • Reputation:   141
  • Joined:  01/27/12
  • Last Seen:  

It not for custom mobs as much as new mobs added. They always seem to get added faster than their data files. The item_db is the exact same way. Every once in a while I still see and item that has korean data or even an apple sprite. Mobs are no different, but when their is not data for them then they gravity error. Mob_avail only works when you know what the mob actually is and if you have the sprite for it. I guess once you figure out the mob you could use a poring sprite for it in Mob_avail. People should always use the latest data files, but we all know thats not always possible since new items and mobs may not be added yet. I remember when items used to gravity error when their was no data for them, when I had my first private server those many years ago. Somebody fixed that and now its a standard! Mobs not erroring and showing a poring would be the exact same way!

Peopleperson49

Edit: I also use Mob_avail heavly for my custom mercensaries and WoE guardians:

post-1850-0-18760500-1359817689_thumb.jpgpost-1850-0-45387800-1359817695_thumb.jpgpost-1850-0-23230700-1359817700_thumb.jpg

Edited by Peopleperson49
Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10015
  • Reputation:   2348
  • Joined:  10/28/11
  • Last Seen:  

i believe unknow item work differently from the mob ...

the unknown item only appear when an "un-registered" monster database was found in the database of players...and it's not exist in the server database ( item_db.txt )

the server will just simply match the server database and player's database for the item..if not found...then assign it as "Unknown Item".

it only happen when the item doesnt not exist in the server database...

for Mob....same thing...but it doesnt assign it as "Unknown Monster" but disabled it if it's not exist in server..

and for your problems... i think it's impossible...( dunno for xray since i never used it )

for this to work....you have to check the grf file that the players using...and ensure the specific files is located / exist in their GRF...

you cant do this unless you able to do some sort of packet send / receive to check it... like Harmony check the GRF contents or etc...

and usually..mob error should be fixed when they updated their KRO client...just ask your players update the KRO frequently...

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  218
  • Topics Per Day:  0.05
  • Content Count:  1180
  • Reputation:   141
  • Joined:  01/27/12
  • Last Seen:  

Just updating KRO doesn't matter anymore. If the mob data that assigns the sprite isnt in the lua files it will error no matter if you have it or not. So everytime a mob is added to the mob spawn files it will error if a sprite is not assigned in the players lua files.

i believe unknow item work differently from the mob ...

the unknown item only appear when an "un-registered" monster database was found in the database of players...and it's not exist in the server database ( item_db.txt )

the server will just simply match the server database and player's database for the item..if not found...then assign it as "Unknown Item".

it only happen when the item doesnt not exist in the server database...

for Mob....same thing...but it doesnt assign it as "Unknown Monster" but disabled it if it's not exist in server..

and for your problems... i think it's impossible...( dunno for xray since i never used it )

for this to work....you have to check the grf file that the players using...and ensure the specific files is located / exist in their GRF...

you cant do this unless you able to do some sort of packet send / receive to check it... like Harmony check the GRF contents or etc...

and usually..mob error should be fixed when they updated their KRO client...just ask your players update the KRO frequently...

I think one of us is confused and its probably me. I kind of see what you saying about how it detects the item, but I'm not sure that completely accurate. When it show the apple it is because its in the item_db, but there is no sprite data assigned (which is done client side). Somehow the game sees theres an error and compensates. If this can be done for items then I have hope it can be done for mobs! I believe what your talking about is when the game sees the player has an item and its not in the item_db then it can automatically remove it from the players inventory. But as for the unknown item apple that is difinately in the item_db, not the other way around. For example a light epsilon (id# 1390) gives the unknown item apple because its in the item_db, but I have no data files for it. Now if I have data file for an item, but no entry in the item_db it will error like crazy!!!

Peopleperson49

Edited by Peopleperson49
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

For example a light epsilon (id# 1390) gives the unknown item apple because its in the item_db, but I have no data files for it.

nope, if your client doesn't have a sprite for it in idnum2itemresnametable.txt

it just show empty, -> Custom_weapons

if it is showing an apple, you must already hexed your client

btw, I think you got your hexed client differently from ours

what you are talking seems to be client modification, not source modification

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...