-
-
Notifications
You must be signed in to change notification settings - Fork 176
added resource: Chemical Ladder v2.0 (ladders)#547
added resource: Chemical Ladder v2.0 (ladders) #547ChemicalCreations wants to merge 1 commit intomultitheftauto:master from
Conversation
jlillis
commented
Sep 4, 2024
Looks pretty cool. This is going to take a while to code review, but the first step would be to look at what the linter has flagged and address those issues.
Just to confirm on the record - are you the original author of the resource?
ChemicalCreations
commented
Sep 4, 2024
For the record yes.
Fernando-A-Rocha
commented
Sep 5, 2024
Awesome scripts! Looking forward to this
Nico8345
commented
Oct 12, 2024
Any updates on this?
AlexTMjugador
commented
Nov 14, 2024
Any updates on this?
[...] the first step would be to look at what the linter has flagged and address those issues.
This step was not done as far as I can see, so no, there are no updates.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is unnecessary, because the anims table is a global variable, so it is accessible in this script from the global namespace
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This can be implemented much more simply, how about this solution?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, don't see why not as long as it works.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wouldn't recommend that. nil and false aren't the same, they are done like that for a reason.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wouldn't recommend that. nil and false aren't the same, they are done like that for a reason.
In this case, it will not change how it works, and the change I suggested is a better solution
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do realize this is supposed to return true when it's nil.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this do block necessary?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not a good idea
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not used for anything
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do realize this is supposed to return true when it's nil.
Xenius97
commented
Feb 8, 2025
This resource is very unoptimized.
5 debug hooks?? Are you serious? RIP server performance
ChemicalCreations
commented
Feb 8, 2025
This resource is very unoptimized.
5 debug hooks?? Are you serious? RIP server performance
Is debughook really that heavy? Even with specifying the function/event???
Is debughook really that heavy? Even with specifying the function/event???
Yes, we used just one in the past for logging a single function, and the server performance dropped by about 60%. And you have 5 hooks.
ChemicalCreations
commented
Feb 8, 2025
And you got the same result with this resource??? Or is it something you haven't tried.
Xenius97
commented
Feb 8, 2025
No i've didnt use this resource, just noticed this. But this can cause problem on bigger servers.
ghost
commented
Feb 8, 2025
And you got the same result with this resource??? Or is it something you haven't tried.
The debug part is there for a reason.
obraz
This resource is very unoptimized.
5 debug hooks?? Are you serious? RIP server performanceIs debughook really that heavy? Even with specifying the function/event???
Its heavy depending on how many times you use those functions but yeah, it's heavy. You really should change your hooks to events and timers that check new objects. How many times would you actually create an object thats a ladder? Not that many, so either you check them every minute or so with a timer, you check them after other resource starts or you expect the server owner to communicate to ladders that a new ladder has been added.
Rule of thumb, if you are using debugHook for something other than anticheat you are probably doing something wrong. Even then its not recommended. For example onElementDestroy shouldnt be on a debugHook, just add an event and check there if the object of a ladder has been destroyed.
ChemicalCreations
commented
Feb 8, 2025
Rule of thumb, if you are using debugHook for something other than anticheat you are probably doing something wrong. Even then its not recommended. For example
onElementDestroyshouldnt be on a debugHook, just add an event and check there if the object of a ladder has been destroyed.
That's great but MTA doesn't offer element creation event Sooooo....... what's the next best thing yk. like you said, on resource start check, and probably checking elements type index if it changes etc, would be a better implementation
Rule of thumb, if you are using debugHook for something other than anticheat you are probably doing something wrong. Even then its not recommended. For example
onElementDestroyshouldnt be on a debugHook, just add an event and check there if the object of a ladder has been destroyed.That's great but MTA doesn't offer element creation event Sooooo....... what's the next best thing yk. like you said, on resource start check, and probably checking elements type index if it changes etc, would be a better implementation
You don't need element creation event, simply use stream-in/out event, this is when an element gets rendered (created) for client.
https://wiki.multitheftauto.com/wiki/OnClientElementStreamIn
76eb9c6 to
31a4311
Compare
ghost
commented
Sep 15, 2025
@ChemicalCreations are you planning to work further on it?
ArranTuna
commented
Sep 17, 2025
Although it looks good in the video I don't think it should be added to the official resources for the same reason all the other amazing scripts that are on community.mtasa.com are not official resources because then there would be too many. ccw made a load of shaders like detail_shader that makes the game look better but didn't add them to official resources and instead they are on community.mtasa.com
ChemicalCreations
commented
Sep 20, 2025
@ChemicalCreations are you planning to work further on it?
Yes, I do. My plan is to add the ability to jump upwards ladders (faster climbing), more checks for getting smacked off a ladder (say if you've got a ladder on a moving platform and lastly go over the concerns for the linter to begin with.
For the debug hook case, I get it can be slow, but I I've tested with /ipb and had no performance issues, but I don't own a big server so someone would have to tell me. Is it really the case that looping over all the elements on a timer has a lower performance impact that a onetime check?
ChemicalCreations
commented
Sep 20, 2025
Although it looks good in the video I don't think it should be added to the official resources for the same reason all the other amazing scripts that are on community.mtasa.com are not official resources because then there would be too many. ccw made a load of shaders like detail_shader that makes the game look better but didn't add them to official resources and instead they are on community.mtasa.com
I suppose the difference with this one is because it fits with the base game in such a non intrusive way that it could be a vanilla feature, but that's not my call at the end of the day.
Although it looks good in the video I don't think it should be added to the official resources for the same reason all the other amazing scripts that are on community.mtasa.com are not official resources because then there would be too many. ccw made a load of shaders like detail_shader that makes the game look better but didn't add them to official resources and instead they are on community.mtasa.com
I suppose the difference with this one is because it fits with the base game in such a non intrusive way that it could be a vanilla feature, but that's not my call at the end of the day.
I suppose it is only 92 KB and some maps are as big as that. So I think adding it would be fair, if you really can just do 'start ladders' and all the ladders in the default map become functional, then that is useful.
I wouldn't want to review the PR though because I really don't like looking at cramped up stuff like blah==true
Uh oh!
There was an error while loading. Please reload this page.
Adds a resource that allows you to climb various ladders across SA map. Default ladders can be added or disabled via exported functions. This also allows you to add ladders to elements based on modelID (vehicle and object supported).
https://youtu.be/K3JhbzGyQto?si=84lkPPM4I3R189mh