New KZ Plugin

Discussion in 'General Discussion' started by Klyve, Jan 21, 2016.

  1. Klyve

    Klyve CAN HAS STDIO? Staff Member Developer

    Joined:
    Nov 24, 2015
    Messages:
    38
    Likes Received:
    4
    Some of you may know, that im writing a plugin for hoc, i get a lot of questions about when its done, when will it be released etc. So i thought i would make this post so i have something to link instead of explaining the reasoning behind the delay to every one who asks for it.
    I also write this to get some input from the community to see what you guys would like to see in a plugin like this. Maybe there is something i should add?

    So lets start out with the reason behind the delay. I can make as many excuses as i want, but the truth is I cant devote my full attention to sourcemod development, and as this is the first time i have ever done anything for sourcemod, getting started was the hardest part. I do have a background in software development but sourcepawn just straight up suck. So i decided yesterday that i would rewrite the plugin. But this time making it better, faster and more modular. The reasoning behind this is every time i added a new feature i would bang my head against the wall for hours trying to figure out why some other thing that had nothing to do with what i added stopped working(Thanks sourcemod).


    KZSplits
    Some screenshots

    What is KZSplits? KZSplits is a plugin that will show you the split times at certain points in the map. If you have ever watched rally or any type of time-based sport, you know that whenever an athlete passes a checkpoint they will be compared to the person in the lead (+ or -) KZSplit does exactly this, whenever you pass certain areas on the map, it will give you information based on your settings. It can compare your time to the replay bot or to your fastest time at that "checkpoint".

    Functions currently implemented
    • Compare time to yourself
    • Compare time to replay bot ( Both protime and tp depending on your run-type )
    • Compare time between checkpoints (This means you can practice certain areas of the maps instead of whole runs)
    • Compare time to your challenge opponent.

    Where and why does this benefit me?
    This can benefit you mostly in medium to long maps. Agitation is a good example of a long map, where checkpoints could be placed between every stage, you would get a message in chat or in your center panel how you are doing compared to your fastest run.
    "But i know when i should be where", maybe you do and thats great, but what if you are going for a local or a global record? Then you will have the option to compare yourself to the local bot record as well.

    This sounds good, does it work?
    Yes i have a working example on my test server. But it will not be pushed to the hoc test servers because i feel its not in the shape it should be.

    The future

    Im currently in the process of rewriting this plugin into several smaller ones.
    • KZSplits will be renamed to SplitsTimer
    • KZZones will contain checkpoints and zones (zones is what makes the whole thing work.)
    • KZRace ( This will be used for !challenge and other fun stuff:) )
    • KZRoutes ( A new and improved routes plugin / Still thinking about this one )

    So this is where i need the help from you guys. What would you like to see being added to this? is there any features you would like?
    Just come with ideas and if its a good one i'll make sure to add it in the final release.

    I will be updating this post as the development continues, so the ones that are interested in it will get to check the status.
    And thanks to Danvari and sfn(and Jeff) for spending countless hours finding ways to break everything over and over again.
     
    #1 Klyve, Jan 21, 2016
    Last edited: Feb 17, 2016
  2. Potts

    Potts I offer good suck. Staff Member KZ Admin EU

    Joined:
    Sep 1, 2015
    Messages:
    225
    Likes Received:
    22
    This seems like a sick idea. It could be be made even better to be able to compare to a specific user
     
  3. carugo

    carugo New

    Joined:
    Aug 10, 2015
    Messages:
    20
    Likes Received:
    0
    Just some ideas:

    As a player, I want my last jump stats to be available as overlay instead of chat messages.
    As a player, I want to be able to see what's further in the map (even behind the next corner) without having to pause my run, spec someone, etc
    As a player, I want an option in the mod allowing me to deactivate any map music permanently
    As a player, I want to be able to put a visual marker on walls as a point of reference for jumps
    As a player, I want an option to auto save my position while I'm on the ground; allowing me to teleport back to my last known location after a fail. There would only be one last known position, since this teleport action would not be correlated to the usual teleport action.
    As a player, I want to mesure a distance between 2 blocks (like !measure, or !ljblock) any time when possible (on block) just by shooting to the target block
    As a player, I want to be auto-crouched when teleporting to a place where I can't stand up.
     
  4. Crash

    Crash Assistant to the Regional Manager Staff Member KZ Admin US

    Joined:
    Oct 6, 2015
    Messages:
    199
    Likes Received:
    17
    I'm excited. What a well-written post.
     
  5. MMZ_Kask

    MMZ_Kask I am CS:GO KZ Staff Member Administrator

    Joined:
    Oct 31, 2014
    Messages:
    1,105
    Likes Received:
    109

    I'll take these in order:

    1) Needs to come from the KZTimer plugin, so only 1nut can add that.
    2) Interesting idea. I'll look into it what can be done there, but nothing comes to mind.
    3) I've been looking for this, but as of yet haven't found a permanent solution to stopping map music.
    4) Coming soon*
    5) This is possible, but resource-intensive. The best place for it would be inside KZTimer, but would cause it to lag more in its current state.
    6) Interesting idea, but would need to come from the KZTimer plugin again for LJblock.
    7) This would be a godsend, but I'm not sure that map-clipping can be determined at the plugin level.
     
  6. Klyve

    Klyve CAN HAS STDIO? Staff Member Developer

    Joined:
    Nov 24, 2015
    Messages:
    38
    Likes Received:
    4
    You can do that, and it will be a part of the race plugin. It will also give you a message when the person you are compared to passes a zone. No picture of this forgot to take one, my bad.

    @carugo
    Kask is pretty spot on with everything, some of your ideas will be hard to do/impossible because of how plugins within sourcemod works. Thanks for your feedback, i will look into some of these.
     
  7. Potts

    Potts I offer good suck. Staff Member KZ Admin EU

    Joined:
    Sep 1, 2015
    Messages:
    225
    Likes Received:
    22
    Nice Brudda
     
  8. Salty Doge

    Salty Doge Scrub VIP

    Joined:
    Nov 4, 2015
    Messages:
    41
    Likes Received:
    2
    I'm glad klyve left the deleting drama out :D OK jokes aside, the plugin is sick as hell. Cant wait to use it for real
     
  9. Danvari

    Danvari Scrub Official Tester

    Joined:
    Jan 6, 2016
    Messages:
    56
    Likes Received:
    1
    This is your plugin and it should be fine for you to take however much time you want to perfect it, but I doubt it will take you too long to make a new build since you're such a fast worker. KZSplits was pretty sick as it was and I think it would've been alright to release it, but whatever your choices are I will fully support them. Other than that, I will be (im)patiently waiting for the test build so I can somehow help you out!
     
  10. carugo

    carugo New

    Joined:
    Aug 10, 2015
    Messages:
    20
    Likes Received:
    0
    I realize some of my propositions are hard to implement or more relevant to KZTimer. I just wanted to make a quick christmas wishlist.
    I can come up with other stuff if you want/need
     
  11. ^Kato^

    ^Kato^ New

    Joined:
    Jan 22, 2016
    Messages:
    1
    Likes Received:
    0
    Everything looks awesome so far, I really cannot wait to play it. I hope it changes things up, keeps things from getting stale. Plus it was about time someone brought something new to KZ :)
     
  12. Klyve

    Klyve CAN HAS STDIO? Staff Member Developer

    Joined:
    Nov 24, 2015
    Messages:
    38
    Likes Received:
    4
    I'm thankful for all ideas, it's better to get lots of ideas than none :)
     
  13. Aux

    Aux Scrub VIP

    Joined:
    May 1, 2015
    Messages:
    79
    Likes Received:
    4
    Any chance this will make its way onto the bhop servers?
     
  14. Klyve

    Klyve CAN HAS STDIO? Staff Member Developer

    Joined:
    Nov 24, 2015
    Messages:
    38
    Likes Received:
    4
    It might actually work fine without any changes on the bhop server, don't take my word for this. Will need some testing, but i can't see why it wouldn't.

    Edit:
    Seems like i have to make some changes in the core to make it work on the bhop server. But it's possible to do that.
     
  15. sfn

    sfn New Staff Member Developer

    Joined:
    Aug 15, 2015
    Messages:
    22
    Likes Received:
    3
    I agree with a lot of this, and I'd like to see a lot of it implemented, however #5 I do not agree with. First of all, as Kask said I think it'd be too resource intensive. Secondly it would be insanely unreliable on a LOT of maps. Fall off one block and hit a different one on your way down? That block is now your last known location. Hit the floor before you can TP? Nothing happens. Lastly I honestly think checkpoints and teleports add a small extra dimension of depth to the gameplay. To me, placing checkpoints is a liability, it is distracting and causes me to fail things I shouldn't fail just because I'm more focused on hitting my checkpoint bind than jumping before I run out of block to run from. This leads to a sort of mini-game where I'm balancing my amount of checkpoints against how confident I feel about upcoming jumps. Going through the crouchjumps on grass_hard? CP every block. Doing a map I know well and need to be fast on, try to checkpoint often enough that I can fail without losing my time, but not so often that the act of placing checkpoints causes me to fail or have to stop too much.

    I think some of your ideas are kind of unnecessary, like the auto-crouch on tp especially - I'm not gonna put effort into a problem that small. Just hit pause and crouch if you have to. Most of the time you know you're TPing into a crouch area and should just hold crouch automatically.

    I really like the idea with allowing you to see what's behind the next corner etc. Like a toggleable wallhack. I wonder how hard that'd be to implement.
     
  16. carugo

    carugo New

    Joined:
    Aug 10, 2015
    Messages:
    20
    Likes Received:
    0
    That's exactly what I wanted to address with #5. I have the exact same "problem" and I believe a lot of people do.

    The idea behind #5 was to prevent that issue by providing a reliable "auto-save" functionnality; but keeping at the same time the current save/tp system.
    Consider this :
    - everytime I jump my last known location is updated to the coordinates I jumped from (way less resource consuming than autosaving at each tick obviously).
    - I have a second teleport bind that only tp to the last known location.

    This would cover 95% of the aforementioned -I love this word, sry- issue.

    There are cases that could cause problems with this system, but ut would help most of the time.

    Wait, I just realized I could do this with a simple alias, but it wouldn't allow me to have two teleport locations "buffers".

    Last, yes some of what I ask is not really necessary, but again, this was kind of a joke at first ...
     
  17. hAven

    hAven Scrub Staff Member KZ Admin US

    Joined:
    Feb 4, 2015
    Messages:
    44
    Likes Received:
    3
    Question: Does it work on a similar functionality to the !ljblock command where you point at a block and hit 1 to set point A for example and hit 2 on a different block to set point B then it takes the time in between? I guess I'm just curious as to how "A specific section" of the map is detailed since many maps have sections that overlap etc.

    This sounds really cool though I was thinking about this the other day didn't realize it was a reality in progress.
     
  18. Klyve

    Klyve CAN HAS STDIO? Staff Member Developer

    Joined:
    Nov 24, 2015
    Messages:
    38
    Likes Received:
    4
    You have to take falling into account, saving your position is not really resource intensive, KZTimer is already doing this.

    To elaborate on what sfn said, this will not be added, and should not be added to KZTimer. Placing checkpoints is a big thing when it comes to fast runs. You should be punished for not setting a checkpoint and you should be punished for having to stop to checkpoint instead of combo the blocks, this is the difference between good players and amazing players.
     
  19. Klyve

    Klyve CAN HAS STDIO? Staff Member Developer

    Joined:
    Nov 24, 2015
    Messages:
    38
    Likes Received:
    4
    No not at all, what it does is that it allows admins to set "zones" around the map that will act as checkpoints. On the VIP server players will be able to set their own zones as well and just track the progress on those.

    It's actually more or less done. What im doing now is im baking some of the kztimer functionality into it, just stuff to stop recording etc to reduce the lag spikes we are currently getting on the servers.
     
  20. hAven

    hAven Scrub Staff Member KZ Admin US

    Joined:
    Feb 4, 2015
    Messages:
    44
    Likes Received:
    3
    Oh okay wow, that shit looks dope man. Nice job!

    Also KZ_REACH HNGGGGGGGGGGGGG