Welcome to the Builder Academy

Question TBA-2020 Bug Fix Request

More
01 Mar 2020 11:48 #8599 by thomas
Replied by thomas on topic TBA-2020 Bug Fix Request
Well, yes, this is what happens if you actually purge inside the script.

But we need this extract_obj to happen when the script returns 0. This means "disallow drop".

Consider what would happen if the script didn't purge the object - when dropping a coin, a "coin" object is created for this explicit purpose. If we don't extract it, it will become a memory leak.

Please Log in or Create an account to join the conversation.

More
01 Mar 2020 11:50 #8600 by thomas
Replied by thomas on topic TBA-2020 Bug Fix Request
I think I have a solution - have a look at github: github.com/tbamud/tbamud/issues/83

Please Log in or Create an account to join the conversation.

More
01 Mar 2020 18:27 - 01 Mar 2020 19:17 #8601 by Castillo
Replied by Castillo on topic TBA-2020 Bug Fix Request

Consider what would happen if the script didn't purge the object - when dropping a coin, a "coin" object is created for this explicit purpose. If we don't extract it, it will become a memory leak.

I need to learn the scripts system. I got to understand that drop_wtrigger not only
process action "purge", but also "nodrop". That makes sens, the issue raise because the function is "multi purpose".

I think I have a solution - have a look at github: github.com/tbamud/tbamud/issues/83

Cool,

Thanks, for your explanation.

Bob
Last edit: 01 Mar 2020 19:17 by Castillo.

Please Log in or Create an account to join the conversation.

More
02 Mar 2020 01:00 #8602 by Sapphire
Replied by Sapphire on topic TBA-2020 Bug Fix Request
I read through the github post you made, but I'm not sure where I should begin. Is this a definitive fix? It appears to be in a patch format at first, but then there are alternate solutions offered. Which would you say is the best path to a crash free mud?

Please Log in or Create an account to join the conversation.

More
02 Mar 2020 01:07 #8603 by Sapphire
Replied by Sapphire on topic TBA-2020 Bug Fix Request
One thing I'm also considering because it was brought up among my administration team is the wait state included in the drop_gold function within act.item.c. This is totally separate from the purge issue, but I was tinkering with gold coin drops and realized that each separate instance of a coin drop produces its own in-room pile of gold rather than combining. With Cedit it's possible to stack them, but they never actually combine. It just seems like strange behavior considering a mort with 1,000,000 coins can produce 1,000,000 instances of gold piles if they are given enough time.

Please Log in or Create an account to join the conversation.

More
02 Mar 2020 02:05 #8604 by Castillo
Replied by Castillo on topic TBA-2020 Bug Fix Request

With Cedit it's possible to stack them, but they never actually combine. It just seems like strange behavior considering a mort with 1,000,000 coins can produce 1,000,000 instances of gold piles if they are given enough time.


(35) One miserable gold coin is lying here.
Stacking look good, but if each coins is having an object structures it use memory. Reaching 100k, or 1M should takes lot of times, though.

What looks bad is when you get all:

18H 100M 84V (news) (motd) > get all
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.
You get a gold coin.
There was 1 coin.


I don't know. Making a unique coins pile per room that combine shouldn't be too hard,
but is that what it should be?

Bob

Please Log in or Create an account to join the conversation.

Time to create page: 0.373 seconds