• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Combo - Complete

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
It is a spell where you rapidly hit a target, not much to describe...
You should press F1 instead of attempting to click with your mouse.
Not much I could do for a better screenshot as well this is MPI and I am now sure it will be MUI.


Also, this is my first attempt at using hashtables instead of indexing.


I request this to be rejected until further notice and all ratings removed from it if nobody minds since it got a one for no reason...

Keywords:
combo, rpg, warmanta, war, i like to break my f1 key
Contents

Combo (Map)

Reviews
12th Dec 2015 IcemanBo: For long time as NeedsFix. Rejected. Bribe: Set leak = ((Position of (Picked unit)) offset by KBDistance towards KBAngle degrees) Not witholding any irony, this leaks. Instead of "Elapsed game time is 0.00 seconds"...

Moderator

M

Moderator

12th Dec 2015
IcemanBo: For long time as NeedsFix. Rejected.

Bribe:

Set leak = ((Position of (Picked unit)) offset by KBDistance towards KBAngle degrees)

Not witholding any irony, this leaks.

Instead of "Elapsed game time is 0.00 seconds" use "Map Initialization" as it doesn't consume as much RAM or map file size.

"Selects a unit" is not a very good event to have in a practical-application, public spell.

This is only MPI, but a spell needs to be MUI in order to be approved.

Efficiency needs a bit of work. (Key (Picked unit)) should be stored into a variable before repeat-referencing, so should (Key (Casting unit)) and (Casting unit) should be (Triggering unit).
 
Level 16
Joined
Jun 24, 2009
Messages
1,409
RaijinSpark that is why you download and test...

Marsal2000 pausing is required for what it does and what do you mean it won't be approved since it can't be MUI? Did you even test?

There is no way for it to be MUI...

I also do not know how to post the triggers.

trigger->copy as text-> paste between these=>
JASS:
[TRIGGER][/TRIGGER]
I am not sure if it could be MUI.
pausing is required
why? it's never required
do you mean it won't be approved since it can't be MUI?
yes... read the rules dude
 
Last edited:
Level 19
Joined
Feb 4, 2009
Messages
1,313
you can make it mui
just replace this weird selection event with "unit starts effect of ability" and add an ability to your hero
did you test this with shared units in multiplayer?
I think some weird things might happen (which could be solved with an ability instead of selection)

spell does not work for player 10, 11 and 12 by the way
you can create events more easily with:
for each integer i from 1 to 12
add to <trigger> the event: player(i) select a unit

better turn the triggers of instead of using conditions (so the trigger does not have to run at all if the spell is not cast)

use a real variable to store the time instead of an integer so you can run the loop trigger more often than once per second (at worst the casting time will be 1 second shorter)

you are using many unnecessary variables where you could have used the hastable values directly

don't run the knockback trigger 100 times per second
every 0.03 sec will look smooth enough

using units to create special effets is a huge waste of performance
either recycle the units or create special effects directly

you really should not use "pause unit" because it will overwrite other "pause unit" effects
either make a custom system to handle the pause state properly or stop the unit every 0.0x seconds or disable attack damage and movement

also I would recommend a better spell desciption so you know that you have to select your hero again and again in order to make the spell work

and I got 748 hits
it is very easy to abuse this spell with clickspamming tools
if you were using a spell to fire this instead you would have casting delay and therefore an inbuilt protection against that

nice idea and not too bad coding
but keep on improving it ;)
 
Level 19
Joined
Feb 4, 2009
Messages
1,313
I made it F1 key for a reason because I wanted it to be that as well making it MPI only...

why don't you want to make it better if you can?

Just tested with shared units and there is no problem because I use the correct event to fix this... no need for a ability..
The units seem to be fine and don't get perma paused as well after 10 seconds they unpause as well so it seems fine.

just that you can't press F1 to select your mate's hero so you have to click manually
cmon...just use a spell event
also you can't always simulate the behavior online with shared units

What do you mean you got 748 hits? Could you show me a replay or a screenshot of this and what clickspamming tool?

these few lines of c code are enough to screw it (compiled with wxDev-C++)
Code:
#include <windows.h>

int main(){
    while(1){
        if (GetAsyncKeyState(VK_TAB)){
            keybd_event(VK_F1, 0, 0L, 0L);
            keybd_event(VK_F1, 0, KEYEVENTF_KEYUP, 0L);
        }
        Sleep(1);
    }
    return 0;
}
every time you create a unit you will leak a little memory and it is not possible to clean this leak (but "Remove unit" is way better than "Kill unit" or using an expiration timer which kills the unit after some time)
special effects have a similar problem so the best way is to create a unit which has a certain effect as a model, play it's death animation (or any animation you like) and hide it after a desired duration next time you don't have to create a new unit but you can use the old one, unhide it and play its animation instead of leaking again

I've attached the executable and the code so you can try yourself
 

Attachments

  • keyspam.zip
    3 KB · Views: 41
Level 5
Joined
Oct 8, 2010
Messages
134
WarManta,
at the hive we try to help the other warcrafters to improve their work that's all.
so no offence but just stop being a "smart-ass" and accept that people like D4RK_G4ND4LF
try to help you by providing feedback.
Also if you would just post your triggers, then other people can check your work and look for leaks and mistakes, just to help you improve your work.
People do not always have the time (or the space) to download, that's why we've got the preference of posting triggers.

This is just to help:wink:
Vlad727
 
You must be the stupidest person of all in the Spell Section.
Everything can be made MUI.
wiki.thehelper.net said:
MUI stands for Multi-Unit Instance-ability, that is, whether or not code can be run with multiple units at the same time without bugging. Contrary to popular belief, there isn't really any specific way of defining a code as 'MUI'. Instead, code is deemed not-MUI when it bugs with multiple instances of the code running, usually caused from variables being overwritten. When it is said that a script or trigger is MUI, it means that multiple instances can be running at a time with no bugs. Any code that is executed instantly is automatically MUI.

I'll help you out here, actually, I could even redo this rejected spell in MUI.

~ Here is a examble of how this system would be done MUI with ease and in your method;
Player selects a unit.
Unit is in a group, do actions. ( Can be done of hashes or indexing )
 
Level 12
Joined
Apr 4, 2010
Messages
862
easy.jpg


Just post the triggers, it's really simple and easy.

Edit: WarManta, take advice from other people, nobody is perfect, and there is always somebody better than you.

To the others, stop being so not nice, use a nicer tone.
Having so much caps won't help, you need patience, quit raging.
 
Top