Bashing script: Testers wanted

edited November 2014 in Tech Support
I am currently in the works of opening my bashing script (http://forums.achaea.com/discussion/1533/mudlet-another-denizen-targeting-script) up to other queueing systems and started with wundersys.

But as I am currently not active and use svo anyways, I have no way to test the changes. And that is where you come into play:
I need people, who use wundersys to different degrees of customization to test for me. Those people should not be afraid of things breaking though I did some cursory tests...

The current state of the wundersys implementation is NOT feature complete and hardcoded against wundersys. You will NOT flee at certain health levels nor will you change attacks on the denizen shielding. This will come in a later update.

If you want to help me (and the broader playerbase), please use https://github.com/keneanung/Bashing/releases/tag/v1.4-pre-b3d55de-SystemlessSupport

Once again: this is a pre-release and some things are probably broken.

Comments

  • So... like.. an automated bashing system..?
  • No? All it does is prioritizing the denizen in your room, kill them in that order snd move into the room before if your health falls under a certain threshold.
  • I want to tell you all my support. Your bashing script is wonderful, and it was a shame I could not share it with other non-svo users.

    image
  • edited November 2014
    Since I got no feedback (not sure if it is a good or bad sign) I moved on into that direction and have a new pre-release ready now. It is also suitable for svo users and should recognise the correct system automagically.

    This new release adds support for razing shields for wundersys users and changes the way targetting works. It will now set the IG target, so you can see the targets health on the prompt.

    Please download the new release here: https://github.com/keneanung/Bashing/releases/tag/v1.4-pre-905c695-SystemlessSupport

    I appreciate every feedback, even if it's "everything works as expected" ;)

    ETA: wundersys users can put this snippet into a script to see the target name and health at the prompt:


    sys.prompttags.igTarget = function() if gmcp.IRE.Target.Set == "" then return "" else return " " .. gmcp.IRE.Target.Info.short_desc end end sys.prompttags.igTgtHealth = function() if gmcp.IRE.Target.Set == "" then return "" else return " " .. gmcp.IRE.Target.Info.hpperc end end

    and use @igTarget for the target name and @igTgtHealth for the health percentage in the prompt string
  • Random question,  how do you check if svo is on the profile?  Just do an if svo? I don't want to download the entire script just to figure this one out, and I think it could help my occasional public scripts. 
  • @Austere: Pretty much that, yes. I can't imagine anybody else is creating an svo variable from their scripts, so just "if svo then do something that requires svo end" would work.
  • I had started keying that into all my scripts and using gmcp to check race for dragon,  but I wanted to make sure it was not going to explode.  I don't have a lot of time for live testing now days and I worry about these things.  Thank you for quick response, forums really ARE useful for more than my daily laugh. 
  • You could always just register the gmcp modules yourself, using the built in 'gmod'.
  • edited November 2014
    The target at prompt stuff up there does not seem to work correctly... Try this version instead:


    sys.prompttags.igTarget = function() if not gmcp.IRE or not gmcp.IRE.Target then return "" else for _, thing in ipairs(keneanung.bashing.room) do if thing.id == gmcp.IRE.Target.Info.id then return " " .. thing.name end end return "" end end sys.prompttags.igTgtHealth = function() if not gmcp.IRE or not gmcp.IRE.Target then return "" else for _, thing in ipairs(keneanung.bashing.room) do if thing.id == gmcp.IRE.Target.Info.id then return " " .. gmcp.IRE.Target.Info.hpperc end end return "" end end
  • Aaaand... A new version for testers is out.

    This version fixes some issues I noticed in the last version (including some issues for svo users),

    But most importantly: Autofleeing is now supported for wundersys users. Simply configure it (to be careful, you should use a little higher thresholds than default, you can go lower at any time) and have fun!

    The new version can be found here: https://github.com/keneanung/Bashing/releases/tag/v1.4-pre-eeb6017-SystemlessSupport
  • Installed Wundersys, installed the Systemless. For now, all seems to work but I have not extensively tested.

    image

  • Not to be negative, but with the new WALK TO command, in-game TARGET system, in-game QUEUE system, and in-game CURING system, why is this necessary?

    Seems to me like you could make a single alias/hotkey that'd bash out entire areas at a time as is, using nothing more than a simple table containing a list of NPC names.  For this reason, I personally think WALK TO <denizen> shouldn't even be possible, except for specific, important NPCs, on an individual basis.

    With that said, please feel free to shoot me any coding questions you have, either in-game or via PM. I'm always happy to help as long as everything you're doing is strictly legal and non-profit.

  • Oh it is not necessary at all. But neither are client side curing scripts, mappers, limb counters, affliction trackers, GUIs and all that other stuff. So why do people use them? Because they are useful and enhance the things you get from the game.

    So is this USEFUL? I think so and some others seem to agree. If you disagree, don't use it. (And I am not THAT stupid to put time, energy and thought into something I'd deem useless)

    Why is it useful? I created this script, because of multiple reasons. I didn't want to manually switch targets if I didn't use a blanket target, but wanted to prioritize aggressives before passives or if I was in an area with multiple target types. Take Morindar for for example. It then got expanded to use svo's DOR, because I got even more tired having to press enter every few seconds. Then the fleeing got added because sometimes I missed the opportunity to leave the room with DOR.

    Another reason I created this was to play around with gmcp and have a look how much you could actually do without using as few triggers as possible.

    And why am I publishing it? Because I want people to use it. And I want to show some techniques I used. Maybe someone finds a snipped useful. Or needs an example how to use certains gmcp messages. I don't know. And a hird reason: I want to give people the chance to take part in the development. There are people with so many ideas (@Pathers comes to my mind) that I can't implement myself because of time restrictions. For open source software it's easy to hand in an additional feature. I'd be happy to integrate it.

    I hope this answers you questions :)
  • I have a question: what is wundersys
    I like my steak like I like my Magic cards: mythic rare.
  • ShirszaeShirszae Santo Domingo

    And you won't understand the cause of your grief...


    ...But you'll always follow the voices beneath.

  • Xith said:
    I have a question: what is wundersys
    It's the girl you bring home after a night at the wunderbar. Who happen's to be the humongous doorman's sister.

    image
  • Oh I wonder wonder what's in a wundersys!
    [spoiler][/spoiler]
    I like my steak like I like my Magic cards: mythic rare.
  • Another week, another update for testing. https://github.com/keneanung/Bashing/releases/tag/v1.4-pre-c09a5b7-SystemlessSupport

    This release changes the flee output of wundersys and svo to their "boxDisplay" implementations, so the warning messages should be more visible and better distinguishable.

    You may also spcify the warn and flee values as either a percentage of the max health (those values end with a % sign) or as a factor for the average damage you have taken (ending with a "d"). An example: if you want to have room with double the damage you have taken in the room, use "kconfig bashing fleeat 2d". If you take an average damage of 500 health between 2 attacks, the bashing system will flee if you have less than 1500 health left (500 damage > 1499 - 1000).

    That's it for today. And if there is no feedback or change request anymore, this will be the final feature list for version 1.4
  • The final 1.4 release can now be found here: https://github.com/keneanung/Bashing/releases/tag/v1.4

    I will remove all pre-releases now, so they don't clutter my release page :)
  • This looks awesome, man.

    I'm having a little trouble with it though. It seems to be registering targets and prioritizing them correctly, but the function keneanung.bashing.attackButton() does nothing.

    I've disabled the SVO F2 keybinding and I've added an echo to the new F2 keybinding so I know it is firing, but the attackButton function isn't doing anything.

    Also, the alias kconfig bashing attackcommand <your command> that is listed on the support page doesn't exist in the actual download. When entering it IG it just shows the "I have no idea what you mean" text. I've tried it with just kconfig bashing attackcommand kill and I've tried it by copy and pasting your example directly (kconfig bashing attackcommand battlefury focus speed/kill) and I still get the same result, it isn't registering as an alias at all.

    Am I doing something wrong or forgetting a step?
  • Since you are posting here in a thread that doesn't have the most current version... Are you sure you use the correct version. Currently we are at 1.6, where the attackcommand config was introduced.

    Also 1.4 had a bug which might explain what you are seeing.
  • "LUA: ERROR running script keneanung.bashing.vitalsChangeRecord (keneanung.bashing.
    vitalsChangeRecord) ERROR:...t\.config\mudlet\profiles\Talroth\Bashing\script.lua:1238: attempt to 
    index field '?' (a nil value)"

    Hmm any ideas how to solve this?
  • Nevermind it was my bad.
Sign In or Register to comment.