• 🏆 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!

Ward of helper v1.2

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
Summons an immovable ward that heals <Aoar,DataA1,%>% of a nearby friendly non-mechanical unit's hit points per second and summons 10 sight spirit 2000 AOE around ward |nLasts <Ahwd,Dur1> seconds.

my first spell! yey!!
enjoy!


Keywords:
help, ward, heal, helper, sight, far, seer, sight, scout
Contents

Ward of helper (Map)

Reviews
15:41, 6th Oct 2009 TriggerHappy187: Sorry but this spell is far to simple to be approved at hive. First of all the actual coding is only like 5 lines long. Aside from that it leaks. You also statically create the unit for player 1 (red)...

Moderator

M

Moderator

15:41, 6th Oct 2009
TriggerHappy187:

Sorry but this spell is far to simple to be approved at hive.

First of all the actual coding is only like 5 lines long. Aside from that it leaks.

You also statically create the unit for player 1 (red) all of the time, even if the caster is another player.

As for the leak, your currently storing the location but never removing it. At the end of your trigger add;

Custom script: call RemoveLocation(udg_pointx[GetPlayerId(GetTriggerPlayer())+1])

You did half of the work by storing the location.

You also use TriggerSleepAction (waits) which are bad because they are inaccurate and also still run while a player is lagging.
 
Level 12
Joined
Jul 27, 2008
Messages
1,181
Medium review:

I: Triggerring

  • For each (Integer A) from 1 to 10, do (Actions)
    • Loop - Actions
      • Unit - Create 1 Sight spirit (Level 1) for Player 1 (Red) at (pointx[(Player number of (Triggering player))] offset by 2000.00 towards ((Real((Integer A))) x 36.00) degrees) facing pointx[(Player number of (Triggering player))]
      • Unit - Add a 7.00 second Unknown expiration timer to (Last created unit)
A) You set the location but never remove it.
B) "Unknown" expiration timer is error, and it causes WE to crash.
C) Is not even MUI.
D) The unit is always created for Player 1.
E) Point With Offset leaks too.

II: Originality


Not original, this is just a Spirit Ward with a few more summons.

III: Documentation


Absolutely no documentation.

IV: Description


The description is just your spell's description, nothing more.

V: Generally


Not enough stuff edited, also could be done better. Improve your triggers most of all, and everything else too.
 
Level 6
Joined
Jun 15, 2008
Messages
175
Hi, this spell is too easy, it leaks. Improve your spell and add it again.:ned:

Have fun
Bl4d3

Don't "add it again" use the update button.
This seems as a very simple spell. I'd recommend posting stuff in the triggers and script forum for feedback. I don't think this is a spell that is ready to be approved.
You should probably also look at the spell rules, and the tutorial section on how to remove leaks etc. Start with the essentials tutorial.
Sincerely Foopad

Spell Section Rules

Compliance
No map may violate any Hive workshop general or specific site rules.
Original Work
Spells should be entirely the work of the creator, although libraries (systems) are allowed.
Compatibility
Currently, spells are allowed in Vanilla GUI (No third party GUI modifications), JASS, or vJASS. All spells must be 1.24 compatible.
Third Party Material
Spells should avoid using third party material (other than systems). If it is absolutely necessary, then the creators of those resources must be credited in the spell map and the spell description. Pirated or stolen content is not permitted.
Originality
Submissions should be at least somewhat unique, except in cases where they greatly improve on an existing spell in terms of performance, cleanliness (of code), visuals, or otherwise.
Description
Submissions must have a title relevant to their function, an ingame screenshot, and a description which adequately describes them.
Specifications
Submissions must specify any libraries they use as well as whether they are made with GUI, JASS, or vJASS.
Performance
Submissions must be bugless, leakless, lagless on a computer that runs Warcraft III smoothly, and fully multiinstanceable. Spells using non-recycling "indexing systems" will not be accepted.
Usefulness
Submissions must be useful; extremely simple and uncreative work will not be accepted, and nor will cinematic spells or other spells which have no place in a game.
Genuinity
Submissions must mimic ingame mechanics; for example, damaging spells must "pull" enemies and give bounty when they kill enemies.
Implementation
Submissions must be easy to configure (change their stats) and implement into a map. Documentation should be provided if the spell is not implemented with a simple copy and paste.
Use
The spells section should not be used to get feedback or help on your coding--please use the Triggers and Scripts forum for that. It should also not be used to send spells to friends and then delete them--please use the Pastebin for that.
Approval
Submissions not meeting the above criteria may be approved in rare circumstances. Spells may be rejected at any time for any valid reason given by the moderator who rejects them. Spells/systems need not meet criteria unapplicable to them. Resource moderators will decide on a case-by-case basis which spells will be approved.
Enforcement
Repeatedly ignoring one or more of these rules may result in negative reputation, infraction points, or even being banned from the site.
Contact
If you wish to request that your submission be reviewed, whether for the first time or after fixing problems outlined by a moderator, feel free to post in Spell Resource Moderation with a detailed request and a link to the spell in question. If you wish to complain about the actions of a moderator, please post in Admin Contact with a detailed request and a link to the issue in question.

Links:
Essentials tutorial by Deuterium
MUI Tutorial by wyrmlord
The Triggers and Script Forum
 
Sorry but this spell is far to simple to be approved at hive.

First of all the actual coding is only like 5 lines long. Aside from that it leaks.

You also statically create the unit for player 1 (red) all of the time, even if the caster is another player.

As for the leak, your currently storing the location but never removing it. At the end of your trigger add;

Custom script: call RemoveLocation(udg_pointx[GetPlayerId(GetTriggerPlayer())+1])

You did half of the work by storing the location.

You also use TriggerSleepAction (waits) which are bad because they are inaccurate and also still run while a player is lagging.
 
Level 6
Joined
Aug 26, 2009
Messages
221
fix it, but im not sure it's done. help me!!
  • ability cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Ward of Helper
    • Actions
      • Custom script: local location udg_pointx
      • Set pointx = (Target point of ability being cast)
      • For each (Integer A) from 1 to 10, do (Actions)
        • Loop - Actions
          • Unit - Create 1 Sight spirit (Level 1) for (Owner of (Triggering unit)) at (pointx offset by 256.00 towards (36.00 x (Real((Integer A)))) degrees) facing pointx
          • Set spirit = (Last created unit)
          • Set apointx = (pointx offset by 2000.00 towards ((Real((Integer A))) x 36.00) degrees)
          • Unit - Set spirit movement speed to 400.00
          • Unit - Order spirit to Move To apointx
          • Unit - Add a 5.00 second Generic expiration timer to spirit
          • Set spirit = No unit
      • Custom script: call RemoveLocation(udg_pointx)
      • Custom script: call RemoveLocation(udg_apointx)
 
Level 17
Joined
Mar 17, 2009
Messages
1,349
Ok apparently you don't really know what you're doing :p

First of all, shadowing globals (ie creating the local like you do) doesn't work anymore in 1.24b...

So as simple as it gets, delete this line:
  • Custom script: local location udg_pointx
it would still be MUI cause it's an instant spell ;)

  • For each (Integer A) from 1 to 10, do (Actions)
Don't use integer A, instead use an integer variable of your own.

You still leak a point here:
  • Unit - Create 1 Sight spirit (Level 1) for (Owner of (Triggering unit)) at (pointx offset by 256.00 towards (36.00 x (Real((Integer A)))) degrees) facing pointx
Remember, polar offsets leak twice ;) you removed only the first leak :p
 
Level 6
Joined
Aug 26, 2009
Messages
221
Ok apparently you don't really know what you're doing :p

First of all, shadowing globals (ie creating the local like you do) doesn't work anymore in 1.24b...

So as simple as it gets, delete this line:
  • Custom script: local location udg_pointx
it would still be MUI cause it's an instant spell ;)

  • For each (Integer A) from 1 to 10, do (Actions)
Don't use integer A, instead use an integer variable of your own.

You still leak a point here:
  • Unit - Create 1 Sight spirit (Level 1) for (Owner of (Triggering unit)) at (pointx offset by 256.00 towards (36.00 x (Real((Integer A)))) degrees) facing pointx
Remember, polar offsets leak twice ;) you removed only the first leak :p

Ok, so I must learn much. How I can fix its all? Help me!
 
Top