System CommandParser

Jesus4Lyf

Good Idea™
Reaction score
397
>don't even talk about auto-recycling or something... :p
You mean this?
JASS:
module Magic
    private static method callThing takes Args X returns nothing
        call thistype.onCommand(X)
        call X.destroy() // OMG autodestroy.
    endmethod
    private static method onInit takes nothing returns nothing
        call YourSysInitializerThingie(thistype.callThing) // use function interface, call with .execute when event fires, passing Args.
    endmethod
endmodule



struct MyStruct extends array
    private method onCommand takes Args args returns nothing
        call TriggerSleepAction(1.0)
        call DoThingsAndStillWorkAndAutomaticallyDestroyLaterAsWell(args)
    endmethod
    implement CallThing // must be below your onCommand method.
endstruct

Oops. :D
 

quraji

zap
Reaction score
144
I think I like it as an event response best :D

v1.31 (man I'm really kicking these out...)
-Now uses .execute to call command functions (thus allowing use of waits)
-Now can register multiple functions to one command
 

quraji

zap
Reaction score
144
v1.32
The system should now match player colors ("red", "green", etc.) to the proper players even if player colors are changed in-game.
 

quraji

zap
Reaction score
144
Can you match part of a player's name? :p

You know it doesn't :p

I thought of adding that at first but decided I was too lazy and I didn't want the system doing everything (you can easily get the string argument yourself and call your own get player argument). But, I suppose I should since I've already got it returning players based on name..

I'll add it sometime.
 

quraji

zap
Reaction score
144
Oh, I knew it didn't. I think this is one of those wonderful functionalities which really rocks. Like I said, pinch Fett's algorithm or somethin' (credit it). :)

To be honest I didn't really like Darth's Advanced Strings stuff very much, it was kinda sloppy and I spotted a few errors (that I was too lazy to mention, I should post them), so I stopped looking at it and wrote my own player color thing. I already have my own string library (I believe I posted it even) for finding strings and that stuff so I'll just steal one of my own for matching a portion of a player's name :p

(no offense meant to Darth)
 

Darthfett

Aerospace/Cybersecurity Software Engineer
Reaction score
615
To be honest I didn't really like Darth's Advanced Strings stuff very much, it was kinda sloppy and I spotted a few errors (that I was too lazy to mention, I should post them), so I stopped looking at it and wrote my own player color thing. I already have my own string library (I believe I posted it even) for finding strings and that stuff so I'll just steal one of my own for matching a portion of a player's name :p

(no offense meant to Darth)

None taken, and you're right. I have just been having small spurts of free time, and trying to get whatever I can done in that amount of time. The result.. is updates with long breaks in-between.

I'm planning on breaking up the Advanced Strings library into snippets. Since I have competition, it no longer makes sense to group them all together.

However, to be really honest with you, the S2P and S2PI functions are pretty solid. The only real problems with them right now, is the lack of efficiency in support for changing colors (it works, but it's not optimal speed). I plan on changing the algorithm to use hooks.
 

quraji

zap
Reaction score
144
>I'm planning on breaking up the Advanced Strings library into snippets. Since I have competition, it no longer makes sense to group them all together.

I think there should be a post that contains all string functions (independent if possible) that would be commonly used. Or something.

>However, to be really honest with you, the S2P and S2PI functions are pretty solid. The only real problems with them right now, is the lack of efficiency in support for changing colors (it works, but it's not optimal speed).

Yeah it seems like I came up with the same thing you did. I guess I could have just used yours but the function itself isn't system independent and I would rather not require the whole thing for the one function.

Speaking of those functions being pretty solid, I know they contained one of the issues I saw, so I'll point it out before I forget it :p

>I plan on changing the algorithm to use hooks.

I originally was going to try this (much simpler than the search), but me and hooks have had a falling out...guess I should see if it works fine.
 

quraji

zap
Reaction score
144
Bump.

Note to self:
-Make .getPlayer() match player name substrings instead of whole strings.
 

quraji

zap
Reaction score
144
Bump. Any more input?

v1.33
-Now matches substrings of player names (if they start the string). Ex: "qur" matches player "quraji".
-Renamed some functions and added a couple others.
-Other stuff.
 

quraji

zap
Reaction score
144
>Also had a 3,000 word essay to write.

Excuses.

>Approved! Fantastic. :)

"Beautiful", "Fantastic"...I know it's a pretty good thing, but to leave you on the verge of speechlessness.. :p
No other comments?

Thanks for the approval.
 

Narks

Vastly intelligent whale-like being from the stars
Reaction score
90
Is there a way I can modify this, so I can emulate commands by other players?

e.g. I simulate Red typing something
 

quraji

zap
Reaction score
144
Is there a way I can modify this, so I can emulate commands by other players?

e.g. I simulate Red typing something

What do you mean exactly? Do you want to use the args[x].whatever interface for something else? Or you want to be able to make a command fire for a player even if they didn't type it?
 

Azlier

Old World Ghost
Reaction score
461
The only reason he needs that is to make his map even more messed up than it already is, by the way. He likes to annoy the public. :p
 

Narks

Vastly intelligent whale-like being from the stars
Reaction score
90
@ Azlier: Fade filter.

I managed to do this myself (inconsistencies between vJASS and Zinc = :mad:), but its kind of limited to this strange format:

JASS:
 Command["-gold"].emulatePlayer(Player(4), "-gold 40")



also how to do jass tags without a box?
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Ghan Ghan:
    Howdy
  • Ghan Ghan:
    Still lurking
    +3
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?
  • The Helper The Helper:
    Happy Thursday!
    +1
  • Varine Varine:
    Crazy how much 3d printing has come in the last few years. Sad that it's not as easily modifiable though
  • Varine Varine:
    I bought an Ender 3 during the pandemic and tinkered with it all the time. Just bought a Sovol, not as easy. I'm trying to make it use a different nozzle because I have a fuck ton of Volcanos, and they use what is basically a modified volcano that is just a smidge longer, and almost every part on this thing needs to be redone to make it work
  • Varine Varine:
    Luckily I have a 3d printer for that, I guess. But it's ridiculous. The regular volcanos are 21mm, these Sovol versions are about 23.5mm
  • Varine Varine:
    So, 2.5mm longer. But the thing that measures the bed is about 1.5mm above the nozzle, so if I swap it with a volcano then I'm 1mm behind it. So cool, new bracket to swap that, but THEN the fan shroud to direct air at the part is ALSO going to be .5mm to low, and so I need to redo that, but by doing that it is a little bit off where it should be blowing and it's throwing it at the heating block instead of the part, and fuck man
  • Varine Varine:
    I didn't realize they designed this entire thing to NOT be modded. I would have just got a fucking Bambu if I knew that, the whole point was I could fuck with this. And no one else makes shit for Sovol so I have to go through them, and they have... interesting pricing models. So I have a new extruder altogether that I'm taking apart and going to just design a whole new one to use my nozzles. Dumb design.
  • Varine Varine:
    Can't just buy a new heatblock, you need to get a whole hotend - so block, heater cartridge, thermistor, heatbreak, and nozzle. And they put this fucking paste in there so I can't take the thermistor or cartridge out with any ease, that's 30 dollars. Or you can get the whole extrudor with the direct driver AND that heatblock for like 50, but you still can't get any of it to come apart
  • Varine Varine:
    Partsbuilt has individual parts I found but they're expensive. I think I can get bits swapped around and make this work with generic shit though
  • Ghan Ghan:
    Heard Houston got hit pretty bad by storms last night. Hope all is well with TH.
  • The Helper The Helper:
    Power back on finally - all is good here no damage
    +1
  • V-SNES V-SNES:
    Happy Friday!
    +1

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top