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

[GUI] Paintball Map Starter Kit by PippoKiller

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
  • Like
Reactions: calex3 and Aspard
This is a GUI, MUI PAINTBALL STARTER KIT!!!...
but... what means that?
That means that you can take items (missles) and shot them with an ability.
When you cast the ability, it shot the first missle it find in your inventory.
Casted the spell, the missle will go toward the point you casted the spell, and it explode after some time (i will explain it later), or if it it took a ground unit.
It is very simple to use it, here is the "guide":
HOW TO CREATE YOUR OWN MISSLES:
1.COPY AND PAST THE (MISSLE) ITEM, YOU ONLY NEED TO CHANGE THE ICON AND THE ITEM NAME
2.COPY AND PAST THE ACTION INDICATED IN THE TRIGGER CASTMISSLE
3.CHANGE THE ITEM IN THE CONDITION AND THE UNIT TYPE IN THE VARIABLE, ACCORDING THE TWO THINGS.

SETTINGS:
(with this settigns you can choose easilty varius things)
-MISSLE MAX LIFE=SPEED
-ACQUISITION RANGE=DURATION (1xSEC) (don't put less than 1.0 seconds or it won't probably work)
-POINT-VALUE=DAMAGE

It is usefull as a paintball startkit...alright?
I think (and I hope) I made that spell with completely 0 leaks.
This spell contains too:
-Item stacking system
-Camera System
-Multiboard^^

Have fun to use my spell system and remember to give credits to PippoKiller (me) if you use it!!!

UPDATED: Removed some point leaks, changed hotkey from I to X...

UPDATED: Added Shadow Missle...

UPDATED: Added camera system, removed some leaks, changed (a little) terrain.

UPDATED: Removed more leaksand laggy things, changed screenshot, and now you can chose the missle to shot by clicking on the item!!! Have fun!

UPDATED: REMOVED ALL LEAKS REMAINING...PLS NOW APPROVE :D

UPDATED: NOW ALL IS REMOVED...GOD...xD...NOW YOU CAN APPROVE...

UPDATED: Attached the Dead trigger with the SpecialMissles trigger...

UPDATED: Now only trees can be destroyed by missles and not other destructibile...

UPDATED: Fixed the leaks caused by the destroying of the trees... WAITING FOR APPROVE :D

UPDATED: Removed laggs caused by camera...

Keywords:
missle missile system shot shoot spare gun fire ice GUI MUI gui mui items orb damage missles missiles launch attack paintball pinball pin paint ball
Contents

Missle System by PippoKiller (Map)

Reviews
17:05, 23rd Sep 2009 The_Reborn_Devil: Woops. I missed some of your leaks. Mainly polar projection in the trigger "CastMissle". Hanky: There are so many missile systems. And most of them do much more than your system. So please add more...

Moderator

M

Moderator

17:05, 23rd Sep 2009
The_Reborn_Devil:

Woops. I missed some of your leaks. Mainly polar projection in the trigger "CastMissle".

Hanky:
There are so many missile systems. And most of them do much more than your system. So please add more possibilities to your system otherwise it's just to simple to get approved. Also you have to learn to trigger more efficient. It isn't efficient to have a trigger all the time running if it's not needed.
 
Level 6
Joined
Jun 15, 2008
Messages
175
Hi, I'll check this out. Though the amount of missile systems have been alot recently.
[Edit]
This system is all in all what it says it is. I for one is thinking that it is lacking creativity, I hardly see any difference between the missiles you've created. Besides this I found a few leaks and I diddn't go through the coding very well.
The hotkey diddn't work and I was unable to test if this really is MUI. A good try though, I'd say improve what I mention and maybe add a personal touch and creativity to this.
Improvements:
Get rid of leaks and "Do Nothing"
  • SpecialMissles
    • Special Effect - Create a special effect at (Position of (Picked unit)) using Abilities\Spells\Undead\DeathCoil\DeathCoilSpecialArt.mdl
    • Special Effect - Destroy (Last created special effect)
You destroy the effect okay, but that point will leak.
You're using "Do Nothing" That's not very effecient, as I recall it takes 2.4 seconds to "Do Nothing" rather than doing nothing.
 
Level 11
Joined
Jul 2, 2008
Messages
601
What about SmallArena trigger and stupid points in it? :D

  • Set Caster = (Casting unit)
You should use (Triggering Unit) instead.
Also you should avoid using Integer A, create your own integer variable.

I looked through all missile systems here and came up with an idea, that Kingz's missile system is better cause it's more configurable + it's possible to use arcs in it. ;)

I'm not the one to tell you that the rules say that "no spell/system should be uploaded, if it's not original or at least doesn't have some minor improvements". So for me this just should be rejected...

Edit: And learn how to use loops better, your If/Then/Else actions just fuc* up my brain, I'm not in mood to look through this useless lines, sorry...
 
Level 6
Joined
Jun 15, 2008
Messages
175
So what do i have to do to make it better?
I will remove the leaks you said and then update it...but then?

Well I guess this catagory hard to do something new in. Make it easier to customize as Aspard mentions. But maybe also make something more different about each missile. I woulden't continue in this catagory if I were you though. The rules state that unless you have something really revolutionary about a already existing spell/system, it should not be uploaded.
Here are some ideas:
Shadow Missile, gives a damage over time effect.
Ice Missile, gives a slow effect.
Light missile heals a unit.
 
Level 13
Joined
Mar 6, 2008
Messages
525
What about SmallArena trigger and stupid points in it? :D

  • Set Caster = (Casting unit)
You should use (Triggering Unit) instead.
Also you should avoid using Integer A, create your own integer variable.

I looked through all missile systems here and came up with an idea, that Kingz's missile system is better cause it's more configurable + it's possible to use arcs in it. ;)

I'm not the one to tell you that the rules say that "no spell/system should be uploaded, if it's not original or at least doesn't have some minor improvements". So for me this just should be rejected...

Edit: And learn how to use loops better, your If/Then/Else actions just fuc* up my brain, I'm not in mood to look through this useless lines, sorry...


I saw the missle system of Kingz, and that is COMPLETELY ANOTHER THING...
Anyway i'm adding the shadow missle...Hope some1 like it...
 
Level 11
Joined
Jul 2, 2008
Messages
601
That's a marketing step you've taken, this should attract more interested spell/system reviewers and help novices to find the correct system they are looking for. Ha-ha :D Even the name itself looks better and more attractive now :p

I'll look at the codding more clearly this evening and then tell my final opinion.

Btw, why can't it be, that units in Paintball map can't be on the one side? I mean, why did you tell, that they are always enemies? What about teams? So I don't think light bullet is such a crucial idea. :)
 
Level 13
Joined
Mar 6, 2008
Messages
525
That's a marketing step you've taken, this should attract more interested spell/system reviewers and help novices to find the correct system they are looking for. Ha-ha :D Even the name itself looks better and more attractive now :p

I'll look at the codding more clearly this evening and then tell my final opinion.

Btw, why can't it be, that units in Paintball map can't be on the one side? I mean, why did you tell, that they are always enemies? What about teams? So I don't think light bullet is such a crucial idea. :)

I don't like the light idea, but if you want, i can do it... :D
Anyway, have you done the triggers more cleany?...sorry i didn't undertood what you mean, i thougt you want make it more clean...

Anyway when you looked for triggers, i will make it little more for paintball...alright?
 
Level 11
Joined
Jul 2, 2008
Messages
601
Well... that's not a Deuterium's brief review, lol, but much bigger =)

What about changing the map name? :D

If your "SmallArena" trigger consdired to be a part of the system, than it leaks. It leaks anyway, but that's not a matter, if that's not a part of the system.

I told you in my first post, that you should use Triggering Unit instead of Casting Unit, you didn't change it. Also I told you not to use Integer A, but create you own Integer variable and use it, you didn't listen again.

  • Unit - Create 1 ItemMissle for (Owner of Caster) at ((Position of Caster) offset by 5.00 towards (Angle from Point1 to Point2) degrees) facing Point2
Leak at (Position of Caster). You already have a Point1 variable for it, just put it here instead.

  • Set Caster = No unit
  • Set ItemMissle = No unit
Unit variables shouldn't be cleaned. :)

  • Unit Group - Pick every unit in MissleGroup and do (Unit - Move (Picked unit) instantly to ((Position of (Picked unit)) offset by (Mac health of (Picked unit)) towards (Facing of (Picked unit)) degrees))
Max health? Wtf? Nevermind, you leak at Position of (Picked unit). Every 0.02 seconds multiplied by the number of missiles -> that's very much! :)

Then, you leak twice here:

  • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
      • (Number of units in (Units within 50.00 of (Position of (Picked unit)) matching (((Owner of (Matching unit)) not equal to (!=) (Owner of (Picked unit))) and ((((Matching unit) is air unit) equal to (==) False) and ( greater than (>) 0
    • Then - Actions
      • Unit Group - Pick every unit in (Units within 50.00 of (Position of (Picked unit)) matching (((Matching unit) is in MissleGroup) equal to (==) True)) and do (Unit - Kill (Picked unit))
    • Else - Actions
Unit groups leak also. In actions just put Custom Script: set bj_wantDestroyGroup = true. As for the conditions, I think, you should remake it a bit like picking units into a group around the missile and only then checking If/Then/Else this (variable group) has needed unit. Like:

  • Set VariableGroup = Unit within 50 and bla-bla-bla
  • If/Then/Else
    • If number of units of type in unit group >1 ...
Got it?

Again leak:

  • Destructible - Pick every destructible within 100.00 of (Position of (Picked unit)) and do (Desctructible - Kill (Picked destructible))
In this trigger you should AT LEAST remove units from UnitGroup. But I'd destroy it as the leaking variable and create at the beggining of the trigger once again then.
 
Level 13
Joined
Mar 6, 2008
Messages
525
Well... that's not a Deuterium's brief review, lol, but much bigger =)

What about changing the map name? :D

If your "SmallArena" trigger consdired to be a part of the system, than it leaks. It leaks anyway, but that's not a matter, if that's not a part of the system.

I told you in my first post, that you should use Triggering Unit instead of Casting Unit, you didn't change it. Also I told you not to use Integer A, but create you own Integer variable and use it, you didn't listen again.

  • Unit - Create 1 ItemMissle for (Owner of Caster) at ((Position of Caster) offset by 5.00 towards (Angle from Point1 to Point2) degrees) facing Point2
Leak at (Position of Caster). You already have a Point1 variable for it, just put it here instead.

  • Set Caster = No unit
  • Set ItemMissle = No unit
Unit variables shouldn't be cleaned. :)

  • Unit Group - Pick every unit in MissleGroup and do (Unit - Move (Picked unit) instantly to ((Position of (Picked unit)) offset by (Mac health of (Picked unit)) towards (Facing of (Picked unit)) degrees))
Max health? Wtf? Nevermind, you leak at Position of (Picked unit). Every 0.02 seconds multiplied by the number of missiles -> that's very much! :)

Then, you leak twice here:

  • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
      • (Number of units in (Units within 50.00 of (Position of (Picked unit)) matching (((Owner of (Matching unit)) not equal to (!=) (Owner of (Picked unit))) and ((((Matching unit) is air unit) equal to (==) False) and ( greater than (>) 0
    • Then - Actions
      • Unit Group - Pick every unit in (Units within 50.00 of (Position of (Picked unit)) matching (((Matching unit) is in MissleGroup) equal to (==) True)) and do (Unit - Kill (Picked unit))
    • Else - Actions
Unit groups leak also. In actions just put Custom Script: set bj_wantDestroyGroup = true. As for the conditions, I think, you should remake it a bit like picking units into a group around the missile and only then checking If/Then/Else this (variable group) has needed unit. Like:

  • Set VariableGroup = Unit within 50 and bla-bla-bla
  • If/Then/Else
    • If number of units of type in unit group >1 ...
Got it?

Again leak:

  • Destructible - Pick every destructible within 100.00 of (Position of (Picked unit)) and do (Desctructible - Kill (Picked destructible))
In this trigger you should AT LEAST remove units from UnitGroup. But I'd destroy it as the leaking variable and create at the beggining of the trigger once again then.

Fixing...:ugly:
Hope it will work anyway :D
 
Level 13
Joined
Mar 6, 2008
Messages
525
Well... that's not a Deuterium's brief review, lol, but much bigger =)

What about changing the map name? :D

If your "SmallArena" trigger consdired to be a part of the system, than it leaks. It leaks anyway, but that's not a matter, if that's not a part of the system.

I told you in my first post, that you should use Triggering Unit instead of Casting Unit, you didn't change it. Also I told you not to use Integer A, but create you own Integer variable and use it, you didn't listen again.

  • Unit - Create 1 ItemMissle for (Owner of Caster) at ((Position of Caster) offset by 5.00 towards (Angle from Point1 to Point2) degrees) facing Point2
Leak at (Position of Caster). You already have a Point1 variable for it, just put it here instead.

  • Set Caster = No unit
  • Set ItemMissle = No unit
Unit variables shouldn't be cleaned. :)

  • Unit Group - Pick every unit in MissleGroup and do (Unit - Move (Picked unit) instantly to ((Position of (Picked unit)) offset by (Mac health of (Picked unit)) towards (Facing of (Picked unit)) degrees))
Max health? Wtf? Nevermind, you leak at Position of (Picked unit). Every 0.02 seconds multiplied by the number of missiles -> that's very much! :)

Then, you leak twice here:

  • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
      • (Number of units in (Units within 50.00 of (Position of (Picked unit)) matching (((Owner of (Matching unit)) not equal to (!=) (Owner of (Picked unit))) and ((((Matching unit) is air unit) equal to (==) False) and ( greater than (>) 0
    • Then - Actions
      • Unit Group - Pick every unit in (Units within 50.00 of (Position of (Picked unit)) matching (((Matching unit) is in MissleGroup) equal to (==) True)) and do (Unit - Kill (Picked unit))
    • Else - Actions
Unit groups leak also. In actions just put Custom Script: set bj_wantDestroyGroup = true. As for the conditions, I think, you should remake it a bit like picking units into a group around the missile and only then checking If/Then/Else this (variable group) has needed unit. Like:

  • Set VariableGroup = Unit within 50 and bla-bla-bla
  • If/Then/Else
    • If number of units of type in unit group >1 ...
Got it?

Again leak:

  • Destructible - Pick every destructible within 100.00 of (Position of (Picked unit)) and do (Desctructible - Kill (Picked destructible))
In this trigger you should AT LEAST remove units from UnitGroup. But I'd destroy it as the leaking variable and create at the beggining of the trigger once again then.

It all works, but i didn't understand how do i do "my own Integer variable"...You only mean make for example:
set MinNumber=1
set MaxNumber=6
For each integer from [MinNumber] to [MaxNumer] do actions:
 
Level 11
Joined
Jul 2, 2008
Messages
601
Just create "Integer" variable, not "unit" variable, "location" variable etc
And then make it as Reaper2008 said, instead of using "For each Integer A" just "For each Integer_Created_by_You" from 1 to 6. :)
 
Level 13
Joined
Mar 6, 2008
Messages
525
Just create "Integer" variable, not "unit" variable, "location" variable etc
And then make it as Reaper2008 said, instead of using "For each Integer A" just "For each Integer_Created_by_You" from 1 to 6. :)

Ah, alright...and it is needed to clar it?
(for example: call RemoveLocation(udg_blabla) and call RemoveInteger(udg_IntegerBlabla)????
 
Level 6
Joined
Jun 15, 2008
Messages
175
Only this variables should be removed or destroyd: PlayerGroup, UnitGroup, Location, Special Effect. That's all, if I'm not mistaken. :) No units, integers, reals etc ^^

I'm not sure playergroups should always be destroyed. Players never change in a game, and when the game is over, who cares about memory?
Good luck with the review Pippo :)
 
Level 11
Joined
Jul 2, 2008
Messages
601
Heh, yes, you did, but you made new ones :p

For example:

  • Set DamagedGroup = (Units within 50.00 of (Position of Missle) matching (((Owner of (Matching unit)) etc... )))
Position of Missile should be set into a variable :)

  • Unit - Create 1 Caster (Dummy Caster) for (Owner of Missle) at (Position of Missle) facing (270.0) degrees
The same here. (That's from special missiles here)

  • Unit - Create 1 Caster (Dummy Caster) for (Owner of Missle) at (Position of Missle) facing (270.0) degrees
From "Cast Missile" trigger.

This one is rather irritating leak, but you should know about it. Offset points should be set into variable too:

  • Unit - Create 1 ItemMissle for (Owner of Caster) at (Point1 offset by 5.00 towards (Angle from Point1 to Point2) degrees) facing Point2
I mean, (Point1 offset by 5.00 towards (Angle from Point1 to Point2) degrees) should be set into a seperate variable also!

Checking your camera system :p

EDIT: I checked it in-game. The only minuse I've found with it is that sometimes I can definetily see, that some missiles fly higher than the ground units :(

I suggest adding some kind of command, adding a bit ammos to the inventory of the hero in testing purposes.

About coding: You shouldn't use Integer A, did you forget about it? There is much of it in your camera system ;(


Make this final dash against damned leaks and possible bugs and get this system approved! :D
 
Level 13
Joined
Mar 6, 2008
Messages
525
Heh, yes, you did, but you made new ones :p

For example:

  • Set DamagedGroup = (Units within 50.00 of (Position of Missle) matching (((Owner of (Matching unit)) etc... )))
Position of Missile should be set into a variable :)

  • Unit - Create 1 Caster (Dummy Caster) for (Owner of Missle) at (Position of Missle) facing (270.0) degrees
The same here. (That's from special missiles here)

  • Unit - Create 1 Caster (Dummy Caster) for (Owner of Missle) at (Position of Missle) facing (270.0) degrees
From "Cast Missile" trigger.

This one is rather irritating leak, but you should know about it. Offset points should be set into variable too:

  • Unit - Create 1 ItemMissle for (Owner of Caster) at (Point1 offset by 5.00 towards (Angle from Point1 to Point2) degrees) facing Point2
I mean, (Point1 offset by 5.00 towards (Angle from Point1 to Point2) degrees) should be set into a seperate variable also!

Checking your camera system :p

EDIT: I checked it in-game. The only minuse I've found with it is that sometimes I can definetily see, that some missiles fly higher than the ground units :(

I suggest adding some kind of command, adding a bit ammos to the inventory of the hero in testing purposes.

About coding: You shouldn't use Integer A, did you forget about it? There is much of it in your camera system ;(


Make this final dash against damned leaks and possible bugs and get this system approved! :D

I will do it!!!
Damned leaks...xD

Edit: I fixed...dunno what to do about missle height...but it nvm...
 
Level 11
Joined
Jul 2, 2008
Messages
601
Seems like you didn't get the point of setting locations and groups into variables :p

After using it in order to destroy it (location of unit group) and only THEN prevent leaking you should make a line with a custom script:

For locations:
  • Custom script: call RemoveLocation(udg_<Needed location variable>
For groups:
  • Custom script: call DestroyGroup(udg_<Needed group variable>
I'll show you as an example:

  • DeadMissle
    • Events
      • Unit - A unit dies
    • Conditions
      • ((Dying unit) is in MissleGroup) equal to (==) True
    • Actions
      • Set Missle = (Dying unit)
      • Set MisslePosition = (Position of Missle)
      • Set DamagedGroup = (Units within 50.00 of MisslePosition matching (((Owner of (Matching unit)) equal to (!=) (Owner of Missle)) and (((Matching unit) is air unit) equal to (==) False)))
      • Unit Group - Pick every unit in DamagedGroup and do (Actions)
        • Loop - Actions
          • Unit - Cause Missle to damage (Picked unit), dealing (Real((Point-value of Missle))) damage of attack type Spell and damage type Common
      • Custom script: call RemoveLocation(udg_MisslePosition)
      • Custom script: call DestroyGroup(udg_DamagedGroup)
      • Trigger - Run SpecialMissles <gen> (checking conditions)
I see you've removed leaks somewhere, on what does it depend: removing or not? :) And you didn't get rid off "Integer A".
 
Level 13
Joined
Mar 6, 2008
Messages
525
Seems like you didn't get the point of setting locations and groups into variables :p

After using it in order to destroy it (location of unit group) and only THEN prevent leaking you should make a line with a custom script:

For locations:
  • Custom script: call RemoveLocation(udg_<Needed location variable>
For groups:
  • Custom script: call DestroyGroup(udg_<Needed group variable>
I'll show you as an example:

  • DeadMissle
    • Events
      • Unit - A unit dies
    • Conditions
      • ((Dying unit) is in MissleGroup) equal to (==) True
    • Actions
      • Set Missle = (Dying unit)
      • Set MisslePosition = (Position of Missle)
      • Set DamagedGroup = (Units within 50.00 of MisslePosition matching (((Owner of (Matching unit)) equal to (!=) (Owner of Missle)) and (((Matching unit) is air unit) equal to (==) False)))
      • Unit Group - Pick every unit in DamagedGroup and do (Actions)
        • Loop - Actions
          • Unit - Cause Missle to damage (Picked unit), dealing (Real((Point-value of Missle))) damage of attack type Spell and damage type Common
      • Custom script: call RemoveLocation(udg_MisslePosition)
      • Custom script: call DestroyGroup(udg_DamagedGroup)
      • Trigger - Run SpecialMissles <gen> (checking conditions)
I see you've removed leaks somewhere, on what does it depend: removing or not? :) And you didn't get rid off "Integer A".

Ok, I fixed the first thing, but SHIT I ALREADY RID OFF THE INTEGER A!!!!!!!!:pird:
 
Top