Author Topic: Fill Can v2  (Read 830 times)

Disclaimer: Just want to make clear that this is a modification of an old add-on I do not own. All credits go to their respective owner. This add-on is released only because the old one was restricted to how many bricks it could paint before it hung the server. This update will only make it more stable by fixing this restriction.

Fill Can v2.0
From its predecessor, this tool will do everything that its previous version could do: Paint all near bricks that is the same color, to a different picked color. All other functionalities have not been touched at all. The update contains a more stable way to paint a ludicrous amount of bricks.

Technically all bricks next to each other, even on the edge, will be painted, as shown here. This animation also shows that after the gathering, it will only take one second to paint over 7k bricks.

Additionally I added so one can set the max bricks preference to 0 to remove the max brick limitation. Previously one needed to set a really high value to dodge this. (Keep in mind that it is not recommended to paint more than 5000 bricks anyway, which is the new default limit.)

Update: An another bug was fixed, which was fixed year ago, but actually was quite hard to find the topic for it. Mr.No▀ody provided with a fix for this issue, which was painting on players.

Update2: Max Bricks limit bug was fixed.

Thanks to Trinko for the suggestion and Misterlegodude for beta testing. Thanks to Mr.No▀ody for telling about an another fix for an another issue.

Technical jargon

The update includes a more stable way to locate the related bricks, and a much faster way to paint them and undo it. Keep in mind that this is not faster, but only made so it is much harder to hang the server in a case of what feels like eternal waiting period. Due to how it originally was intended, it is quite hard to make it faster than it currently is. Box searches are quite slow, and in worst case scenarios it has to look over 30 times more bricks than there actually are.

In comparison, in the alpha version of this update, it was made to work like the original. Note that the video above contains over 176k bricks which is painted in the course of about the same time as the original, but the video was cut down to make it shorter. That was changed in the beta, where it will now tell you it will gather all the bricks before it paints them, taking double the time but puts less strain on the server. While this is happening, removing the tool, dying or disconnecting from the server will stop the ongoing process. The beta version made it possible to undo this task in seconds on the same amount of bricks.

Also keep in mind that I took my time to make sure it looks like I didn't do anything to the source at all, as the code style is kept intact. That includes one(1) space indentation and no spaces anywhere where it normally should be spaces to make the code readable.

tl;dr

Download (mirror.aposoc.net)

Old download:
Discord (My fix, but without fix of face paint)
RTB
Glass
« Last Edit: Yesterday at 03:36:54 AM by mctwist »



I approve

(Note: Do not actually do this, Blockland can not handle thousands and thousands of FX paints at once)

Did you fix the face decal bug with the random default function when fillcanning players?

Did you fix the face decal bug with the random default function when fillcanning players?
I actually forgot about that, and therefor did not ask about it during testing, but i assume since McTwist only modified how the filling mechanics worked, that it still happens

Did you fix the face decal bug with the random default function when fillcanning players?
It shoudn't be removed, it's a funny glitch.

Did you fix the face decal bug with the random default function when fillcanning players?
I was not aware of all extra Easter Eggs that Fill Can had. When I found out about them I did not care as I was only set to fix the main feature of the add-on. So I will not fix the other issues, and will leave them to someone else to finish that job.

Actually, it is quite easy to rip that part out if it is really bothersome for you. Can also mention that there's this feature with vehicles as well, but I am not sure what it does.

This is great, thank you.

...
 Can also mention that there's this feature with vehicles as well, but I am not sure what it does.

When you are using your fillcan on a vehicle with FX paints you can paint it in colours which are not in the colourset. 

It shoudn't be removed, it's a funny glitch.

What? It breaks player face decals.
It should be fixed

What it does it essentially sets your face decal to one of the default faces every time you change your face.
I had already released a fix for this bug as well.
It was an issue with the outdated '$face'. Replacing it with '$randFace' would fix the face bug and console spam.

Edit: This updated version doesn't seem to have the issue though, so it may be fine. Ill keep testing just incase
Okay so it does break faces, but only the first 20 on your decal list. I'm assuming the fillcan is expecting the first 20 faces on the list to be the games default and gets confused when they aren't. Ill try and fix this... again
« Last Edit: March 03, 2019, 07:29:46 PM by Mr.No▀ody »

Alright, Ive fixed the face glitch. I'm linking it here just in case. puu.sh/CUJX6/8bbeedc702.zip
Ive kept the new code and description the same and only fixed the face thing. You can update the OP with the edit if you like mctwist

Id rather not deal with a bunch of new help topics

Sure, I can do that.

I checked your edit, and it looks like you only changed the name of $face to $randface. Does $face inflict some compatibility issue with Blockland, or is there any other reason for this issue to be "faced"?

From what I could gather, the $face function was outdated a long while back and replaced with $randface. Where as $face would only cover the games default faces, it would cause any custom faces that take the first 20 slots to not work and would instead replace them with the default face it expects to be there.

The only problem the outdated function posed was it would break custom face decals and potentially spout some console spam.

Seems I stumbled upon an old bug that surfaced after I added the schedules. This results in people overcome the max bricks limit. Link has been updated to fix this bug, so please redownload.

I didn't actually mention that I added one feature before that made it easier to remove the max brick limit by setting the preference to 0. Previously you had to set a relative high number to remove it. This is much safer. However, the new default limit was raised tenfold, to 5000. Keep in mind that normally one don't need to paint more than this at the same time.
« Last Edit: March 06, 2019, 12:04:01 PM by mctwist »

is there an image of the said face glitch

is there an image of the said face glitch
The original fill can would just change the player's face decal when you try to paint players