*DELETED*

Release your plugins here!
Sam
Senior Member
Posts: 100
Joined: Tue Jul 03, 2018 3:00 pm
Location: *DELETED*
Contact:

[(TF2)/ANY] Advanced BunnyHop

Postby Sam » Sat Aug 03, 2019 8:57 pm

AdvancedBunnyHop

Ver: 2.0


@Info

Auto BunnyHop with boosting (Boost only with Space+Duck and if velocity >= 150)


@CVars

sv_advbhop_enable - Advanced BunnyHop - State switch

sv_advbhop_velocity_boost - Advanced BunnyHop: Velocity Boost value (Default: 350)

sv_advbhop_velocity_boost_enable - Advanced BunnyHop: Velocity Boost - State switch

sv_advbhop_jump_boost - Advanced BunnyHop: Jump boost value (Default: 56.6)

sv_advbhop_jump_boost_enable - Advanced BunnyHop: Jump Boost - State switch

sv_advbhop_deviation - Advanced BunnyHop: Jump deviation value (Default: -5)

sv_advbhop_deviation_enable - Advanced BunnyHop: Jump deviation - State switch


@Notes

TF2: Doesn't work when hook grabbing.

AdvancedBunnyHop.7z
Last edited by Sam on Sun Jul 19, 2020 8:11 pm, edited 5 times in total.
Sam
Senior Member
Posts: 100
Joined: Tue Jul 03, 2018 3:00 pm
Location: *DELETED*
Contact:

Re: [(TF2)/ANY] Advanced BunnyHop

Postby Sam » Sun Jul 12, 2020 12:02 am

Update!
Version: 2.0
News:
  1. New algorithm!
Last edited by Sam on Sun Jul 12, 2020 12:02 am, edited 1 time in total.
Reason: Original post version
InvisibleSoldiers
Senior Member
Posts: 114
Joined: Fri Mar 15, 2019 6:08 am

Re: [(TF2)/ANY] Advanced BunnyHop

Postby InvisibleSoldiers » Sun Jul 19, 2020 7:07 pm

Hint: Auto bunnyhop can be implemented simply as follows:

Syntax: Select all

p.set_datamap_property_int('m_Local.m_nOldButtons', p.get_datamap_property_int('m_Local.m_nOldButtons') & ~PlayerButtons.JUMP)

in pre PlayerRunCommand

Another hint:
You can 'boost' player in more native way as follows:

Syntax: Select all

@Event('player_jump')
def on_player_jump(gevent):
# Move data pointer.
move_data = (game_movement + 0x8).get_pointer()
# Velocity object from pointer
v = make_object(Vector, move_data + 0x40)
# Change velocity vector...


This is how the game itself process movement. This velocity is always copied in FinishMove to get the final velocity vector. And you can manipulate it here yourself since 'player_jump' event is called during ProcessMovement.
game_movement pointer can be accessed through core.get_interface

And I really advise you to write in python style(snake_case) because your code is very difficult to read, especially since it does not match Source.Python API.
Last edited by InvisibleSoldiers on Wed Jul 22, 2020 10:20 pm, edited 1 time in total.
Sam
Senior Member
Posts: 100
Joined: Tue Jul 03, 2018 3:00 pm
Location: *DELETED*
Contact:

Re: [(TF2)/ANY] Advanced BunnyHop

Postby Sam » Sun Jul 19, 2020 8:06 pm

InvisibleSoldiers wrote:Hint: Auto bunnyhop can be implemented simply as follows:

Syntax: Select all

p.set_datamap_property_int('m_Local.m_nOldButtons', p.get_datamap_property_int('m_Local.m_nOldButtons') & ~PlayerButtons.JUMP)

in pre PlayerRunCommand

Another hint:
You can 'boost' player in more native way as follows:

Syntax: Select all

@Event('player_jump')
def on_player_jump(gevent):
# Move data pointer.
move_data = game_movement + 0x8
# Velocity object from pointer
v = make_object(Vector, move_data + 0x40)
# Change velocity vector...


This is how the game itself process movement. This velocity is always copied in FinishMove to get the final velocity vector. And you can manipulate it here yourself since 'player_jump' event is called during ProcessMovement.
game_movement pointer can be accessed through core.get_interface

And I really advise you to write in python style(snake_case) because your code is very difficult to read, especially since it does not match Source.Python API.

I didn't understand what you wanted to say and... Lol. Do you advise me to write readable code? I didn't plan for someone to read it xD
If I'm not saying that you can read it freely, then it is. If you don't like something, then fix it for yourself, I am not closing the source code (This may change soon). (And yes. Next time, check the information because player_jump is not present in TF2.)

And yes. Do me a favor. No need to write me your advices. (I myself know what to do without your help, and I love clean code, not lazy code.)
Last edited by Sam on Sun Jul 19, 2020 8:06 pm, edited 1 time in total.
Reason: Original post version
Sam
Senior Member
Posts: 100
Joined: Tue Jul 03, 2018 3:00 pm
Location: *DELETED*
Contact:

Re: [(TF2)/ANY] Advanced BunnyHop

Postby Sam » Sun Jul 19, 2020 8:13 pm

Update!
Version: 2.1
Fixes + Small changes:
  1. Fixed bug with PlayerClass on L4D2.
Last edited by Sam on Sun Jul 19, 2020 8:13 pm, edited 1 time in total.
Reason: Original post version
User avatar
L'In20Cible
Project Leader
Posts: 1533
Joined: Sat Jul 14, 2012 9:29 pm
Location: Québec

Re: [(TF2)/ANY] Advanced BunnyHop

Postby L'In20Cible » Sun Jul 19, 2020 8:30 pm

Sam wrote:(This may change soon).

Plugins are considered derivative work, therefore must be open-source as per our license.

Sam wrote:And yes. Do me a favor. No need to write me your advices. (I myself know what to do without your help, and I love clean code, not lazy code.)

No need for hostility. He simply provided free advice in an effort to be constructive. Take it or not, but there is absolutely no reason for toxicity. Swallow your pride, nobody knows everything and you can always learn something from someone else offering alternatives. :wink:
Speed0x
Member
Posts: 84
Joined: Sun Feb 05, 2017 4:55 pm

Re: [(TF2)/ANY] Advanced BunnyHop

Postby Speed0x » Mon Jul 20, 2020 8:41 pm

L'In20Cible wrote:No need for hostility. He simply provided free advice in an effort to be constructive. Take it or not, but there is absolutely no reason for toxicity. Swallow your pride, nobody knows everything and you can always learn something from someone else offering alternatives. :wink:

lincible, YOU are prideful. you take your perspective as the highest in the same sentence as you call someone else prideful when the issue may be about something else ? the guy may just have felt pushed by the other guy to force him to adapt in a certain way that he didn't want to go to. and that issue would not be in being prideful. lazy people often attack those who come with new methods or ideas. and i believe the issue here too may be between being creative vs being conformative. everyone can learn by copying ideas, ways and code from someone else and adapt to the current standard. but if you want to walk your own way, it is much harder and more effort, but only then you can achieve different results in the end, that lead to new paths or fullfil your ideas. that is how it has always worked. those are just two different methods. calling either one prideful is not just bad manners but shows the lack of understanding and lack of respect you have not just towards others opinions, but especially towards true creativity and the people who created the ideas, ways and perspectives, you yourself, simply conform to. it's easy to take a bat and hit those who don't agree with you. but that isn't humility or carying, it's the opposite. THAT is pride. pride IS forcing others to adapt int your way. and i understand to address conformity. that is a valid point.. but then people should decide themselves if they discard or take it. otherwise THAT would be pride. so please, don't come with terms like toxicity etc. when you have pride and often shed your conformed perspective into almost every topic
User avatar
L'In20Cible
Project Leader
Posts: 1533
Joined: Sat Jul 14, 2012 9:29 pm
Location: Québec

Re: [(TF2)/ANY] Advanced BunnyHop

Postby L'In20Cible » Mon Jul 20, 2020 10:32 pm

Speed0x wrote:lincible, YOU are prideful. you take your perspective as the highest in the same sentence as you call someone else prideful when the issue may be about something else ? the guy may just have felt pushed by the other guy to force him to adapt in a certain way that he didn't want to go to. and that issue would not be in being prideful. lazy people often attack those who come with new methods or ideas. and i believe the issue here too may be between being creative vs being conformative. everyone can learn by copying ideas, ways and code from someone else and adapt to the current standard. but if you want to walk your own way, it is much harder and more effort, but only then you can achieve different results in the end, that lead to new paths or fullfil your ideas. that is how it has always worked. those are just two different methods. calling either one prideful is not just bad manners but shows the lack of understanding and lack of respect you have not just towards others opinions, but especially towards true creativity and the people who created the ideas, ways and perspectives, you yourself, simply conform to. it's easy to take a bat and hit those who don't agree with you. but that isn't humility or carying, it's the opposite. THAT is pride. pride IS forcing others to adapt int your way. and i understand to address conformity. that is a valid point.. but then people should decide themselves if they discard or take it. otherwise THAT would be pride. so please, don't come with terms like toxicity etc. when you have pride and often shed your conformed perspective into almost every topic

First of all, I had no problem with his code and I never said one was better than the other or that he should absolutely follow a certain coding style. I haven't given my opinions on any of those matters. I simply stood up after he jumped at his throat simply for offering alternatives. As I said, take it or not, but that is no reason to indirectly tell someone that obviously had good intentions to piss off. Discussing alternatives and opening your mind to other perspectives is much more productive in general than thinking you know it all and that your ways are the only way. Not only it breeds conversation, but allow you to learn something or teach something if you think your original implementation is more suitable for the task for whatever valid reasons. Discussions, constructive criticism and dialogue should be welcomed.

In conclusion; nobody forced anyone to adapt to anything. Someone offered alternatives in an effort to be constructive and helpful, was indirectly told to piss off, and now accused of attacking creativity because of laziness and I'm the bad guy for saying that is hostile and toxic behaviours? Fine by me.

Anyways, since you seem to want my opinions, here they are:

  • Readability is subjective. No matter the coding style you chose, as long as you stick to it and consistently follow your own rules I see no issue with it. In that regard, the original code was fine by me and perfectly readable.
  • Implementation. I think the original code was better because it doesn't requires hard-coded offsets. Other than that, I could certainly point out some optimizations but, if the results are there, that your plugin works as intended and doesn't suffer performance issues; I'm fine with it.

So yeah, don't take me standing up because of how he was treated for me agreeing with what was suggested because I wasn't. Regardless, childish edit tantrums are getting old; and I'm done with it.

Best of luck. o/
Speed0x
Member
Posts: 84
Joined: Sun Feb 05, 2017 4:55 pm

Re: *DELETED*

Postby Speed0x » Wed Jul 22, 2020 8:13 pm

i agree with you, although you have a sneaky way of writing. but i don't want to keep this thread going, so i don't reply in adressing it specifially but generally:

i believe the main issue in the forums still is the impaired method of communicating. there should be a community. and that original poster probably had the same frustration that comes naturally when investing into the project and all that fundamentally came back was after a long time "some info" ( he may already knew ) mixed with "you should adapt more" and "you should change your way of thinking/coding".

that is how i would have taken it. but different intentions with the use of this project/forums create different perceptions of given issues.
Sam
Senior Member
Posts: 100
Joined: Tue Jul 03, 2018 3:00 pm
Location: *DELETED*
Contact:

Re: *DELETED*

Postby Sam » Wed Jul 22, 2020 9:25 pm

It's nice to see someone give their opinion on all this. And I will tell why I decided to leave and delete everything I did and showed on this forum.

The first reason: People here live in their own world and believe that narcissistic attitudes towards others is normal. Do ​​you really think I will react normally to someone who has shown their narcissistic behavior and directly gloating to me. Seriously? xDDDDD

The second reason (Why I decided to delete everything): I think it's not fair that you get my work for free and at the same time I have to listen to people who want to deliberately degrade my work (Yes, you did not understand this? It is a pity that you live in their world and did not understand it).
rautamiekka
Junior Member
Posts: 11
Joined: Mon Feb 15, 2016 6:53 pm
Location: Ulvila, Finland
Contact:

Re: *DELETED*

Postby rautamiekka » Wed Jul 22, 2020 9:41 pm

Sam wrote:The second reason (Why I decided to delete everything): I think it's not fair that you get my work for free and at the same time I have to listen to people who want to deliberately degrade my work (Yes, you did not understand this? It is a pity that you live in their world and did not understand it).

An interesting view to 'deliberately degrade my work'.

You won't be making any SourceMod things with that mindset.
Sam
Senior Member
Posts: 100
Joined: Tue Jul 03, 2018 3:00 pm
Location: *DELETED*
Contact:

Re: *DELETED*

Postby Sam » Wed Jul 22, 2020 9:53 pm

I think Pawn and Python are different languages.
(I don't understand what you meant to say)
Sam
Senior Member
Posts: 100
Joined: Tue Jul 03, 2018 3:00 pm
Location: *DELETED*
Contact:

Re: *DELETED*

Postby Sam » Wed Jul 22, 2020 9:56 pm

And I see that they are starting to restore my posts. There is little sense in this. It would be easier to delete account.
User avatar
satoon101
Project Leader
Posts: 2697
Joined: Sat Jul 07, 2012 1:59 am

Re: *DELETED*

Postby satoon101 » Wed Jul 22, 2020 10:02 pm

Warning: If there is any further discussion in this thread unrelated to the actual topic (Advanced BunnyHop), it will be removed. Thank you..
Image
InvisibleSoldiers
Senior Member
Posts: 114
Joined: Fri Mar 15, 2019 6:08 am

Re: *DELETED*

Postby InvisibleSoldiers » Wed Jul 22, 2020 11:19 pm

I don't understand what happened here, really. :confused:

I just presented literally the one of the best way to implement auto bunnyhop without blocking the buttons in weird way as it is unreasonable because the buttons is actually pressed and other plugins may not see it.
What you do is adjustment the player for advance by simple blocking jump buttons in air (its lazy, not enough knowledge of what autobunnyhop is in general and where it should happens).
You can check CGameMovement::CheckJumpButton for more info.

What about player_jump event, did not know that it was not in TF2, but anyway point is to avoid again lazy teleport who still needs to understand what it does and just using internal velocity buffer which CGameMovement is working on.

Then as for the code style, I said it in general seeing a lot of your projects. I don't think it's subjective. Just give it a try.
Last edited by InvisibleSoldiers on Thu Jul 23, 2020 1:30 am, edited 1 time in total.
InvisibleSoldiers
Senior Member
Posts: 114
Joined: Fri Mar 15, 2019 6:08 am

Re: *DELETED*

Postby InvisibleSoldiers » Wed Jul 22, 2020 11:49 pm

And if you really indeed to leave Source.Python and wondering to try other alternatives now or later, look at native C++ plugins as VSP, it's really easy, at least not more complicated than SourceMod but gives great opportunities and rewards.

Return to “Plugin Releases”

Who is online

Users browsing this forum: No registered users and 17 guests