Spellpack Bowling Bash, Terror, Chop and Pull

mr-death

Acolyte
Reaction score
51
Try with

Code:
Custom script:   call RemoveLocation(udg_[Variable])

:banghead: I have a traumatic experience with custom script code :banghead:

And now I'm alergic to them, whatever I'll try

Set Point = Position of (No Unit)

Edit: When I reset all of the Variables, the game will be so freaking LAG, so I decide to reset some of the main Variables. Then, I found new bugs, so I will post the new upload map again. What a mess.
 

Ryuu

I am back with Chocolate (:
Reaction score
64
Haha, mr-death, even though I have created for than 20 incomplete maps helping me to gain experience, I'm still no match for your powerful capability.
_________________________________________________________________

Making maps is like that, mr-death, just take some time editing it, and then I will gurantee a 100% success :p
 

mr-death

Acolyte
Reaction score
51
Okay the third edit is done, check on the #1 post
__________________________________________________

Ah what a mess... :banghead:
 

~GaLs~

† Ғσſ ŧħə ѕαĸε Φƒ ~Ğ䣚~ †
Reaction score
180
Sorry but i will test ur map later coz busy rite now...sorry
____________________________________________________________
Now you will need to delete leaks by using custom script...ALWAYS SAVE BEFORE HAVING TROUBLE !!
Code:
Custom script - call RemoveLocation(udg_your_variable_name_here)
This script will remove the location.
Code:
Custom script - call DestroyGroup(udg_variable_name)
This will destroy your group..not destroying the whole variable but remains the variable empty...
Special effects leaks too...Fix it with this by setting them to variable then
Code:
Custom script - call DestroyEffects(udg_variable_name)

I think this will help...sry for the free handed writting :p
 

Ryuu

I am back with Chocolate (:
Reaction score
64
> call RemoveLocation(udg_your_variable_name_here)

Isn't that just another way of writing my post?

> Custom script - call DestroyEffects(udg_variable_name)

Thought it was DestroyGraphics? I have always used that when I needed to, and so far I found no leaks :banghead:
 

~GaLs~

† Ғσſ ŧħə ѕαĸε Φƒ ~Ğ䣚~ †
Reaction score
180
> call RemoveLocation(udg_your_variable_name_here)

Isn't that just another way of writing my post?

> Custom script - call DestroyEffects(udg_variable_name)

Thought it was DestroyGraphics? I have always used that when I needed to, and so far I found no leaks :banghead:


sorry for accidently copied your thread...but did u wrote out how to destroy group? or effects?
And...sorry for the mistake...special effect can be straight destroy in action:
Code:
Special Effect - Destroy (Last created special effect)
 
S

Sunny_D

Guest
actually, its "call DestroyEffect (udg_YourVariable)" - not DestroyEffects...

EDIT: should really refresh my browser more often... =P
 
S

Sunny_D

Guest
not that i know of ^^ the only other thing that is kinda related, is "DestroyLightning"
 

Arkan

Nobody rides for free
Reaction score
92
There is no DestroyGraphics function, I doubt WE will compile the map if you try that.
 

mr-death

Acolyte
Reaction score
51
Okay-okay no more custom scripts please.

It is enough! :banghead:

I might understand by now, I'll remove the memory leaks, thanks for those who help me.

I will give an edit on this post if I already upload the newer version.

Hey Wait!

When testing, the Editor gives compile:

line 154: Expected a name

What was it anyway?

Wait Again!

Wrong typo! :banghead:

Edit: The newest version (no memory leaks, at least lesser) is ready, check on #1 post
 

Sim

Forum Administrator
Staff member
Reaction score
534
> Probably just your computer.
> Works 99% for me, with that 1% being the bug I found.

Congratulations. There are leaks nonetheless.

-----------------------------------------------------------

> Can you give me the leak source, just the actions that make it leaks.

Alrighty then!

> Set TerroredUnits[(Player number of (Owner of (Casting unit)))] = (Random 0 units from (Units in (Playable map area)))

Useless action.

> Set TerroredUnits[(Player number of (Owner of (Casting unit)))] = (Units within (200.00 + (100.00 x (Real((Level of Terror for TerrorCasting[(Player number of (Owner of (Casting unit)))]))))) of (Position of TerrorCasting[(Player number of (Owner of (Casting unit)))]) matching (((Matching unit) belongs to an enemy of (Owne

(Position of TerrorCasting[(Player number of (Owner of (Casting unit)))]) leaks.

> Set TerroredUnits[(Player number of (Owner of (Casting unit)))] = (Random 0 units from (Units in (Playable map area)))
> Set TerrorCasting[(Player number of (Owner of (Casting unit)))] = No unit

No need to null global variables.

> Custom script: call RemoveLocation(udg_TerrorRunPoint[GetForLoopIndexA()])

TerrorRunPoint is set to a value inside a loop. You must remove it inside that loop.

> Set TerrorRunPoint[(Integer A)] = ((Position of (Picked unit)) offset by 500.00 towards (Angle from (Position of TerrorCasting[(Integer A)]) to (Position of (Picked unit))) degrees)

The 2 last (Position of (Picked unit))s leak. You must set them to a variable too.

> Set Knockbacktargetpointcheck[(Integer A)] = ((Position of Knockbacktarget[(Integer A)]) offset by 200.00 towards (Angle from Knockbackpoint[(Integer A)] to Knockbacktargetpoint[(Integer A)]) degrees)

A point with polar offset leaks 2 times. Since you set the "new" point to a value, it leaks only once: the first (Position of...). Set it to a value and remove it.*

> Special Effect - Create a special effect at (Position of Knockbacktarget[(Integer A)]) using Abilities\Spells\Human\FlakCannons\FlakTarget.mdl

(Position of Knockbacktarget[(Integer A)] leaks.

> Set Knockbacktargetpoint[(Integer A)] = ((Position of Knockbacktarget[(Integer A)]) offset by 10.00 towards (Angle from Knockbackpoint[(Integer A)] to (Position of Knockbacktarget[(Integer A)])) degrees)

The second (Position of...) leaks, along with the polar offset leak.*

> Set Knockbackedunits[(Integer A)] = (Units within 90.00 of ((Position of Knockbacktarget[(Integer A)]) offset by 50.00 towards (Angle from Knockbackpoint[(Integer A)] to (Position of Knockbacktarget[(Integer A)])) degrees) matching ((((Matching unit) belongs to an enemy of (Player((Integer A)))

The 2 (Position of...) leak.

> Set Knockbackedunitspoint[(Integer A)] = ((Position of (Picked unit)) offset by 10.00 towards (Angle from (Position of Knockbacktarget[(Integer A)]) to (Position of (Picked unit))) degrees)

Out of 4 leaks you set a variable to only 1 of them. Fix that.*

> Special Effect - Create a special effect at (Position of (Picked unit)) using Abilities\Spells\Human\FlakCannons\FlakTarget.mdl

(Position of (Picked unit)) leaks.

> (Distance between (Position of (Picked unit)) and ChopandPullpoint[(Integer A)]) Greater than 100.00

(Position of (Picked unit)) leaks.

> Set ChopandPullPoints[(Integer A)] = ((Position of (Picked unit)) offset by 20.00 towards (Angle from (Position of (Picked unit)) to ChopandPullpoint[(Integer A)]) degrees)

1 leak set out of 3.*

> Special Effect - Create a special effect at (Position of (Picked unit)) using Abilities\Spells\Human\FlakCannons\FlakTarget.mdl

(Position of (Picked unit)) leaks.

> Set ChopandPullDegrees[(Player number of (Owner of (Casting unit)))] = (Angle from ChopandPullpoint[(Player number of (Owner of (Casting unit)))] to (Target point of ability being cast))

First leak is set, (Target point of ability being cast) leaks.

And that's about it for leaks :) Remember that since many of them are inside loops, that's why I gave you that tremendous number of leaks.

Also remember to clean every leak you set accordingly to where it has been set. If it is set inside a loop, it must be destroyed somewhere in that loop.

-------------------------------------------

*: Here's how polar offset works:

Code:
Set somevariable = (Position of (Picked unit))
Set somevariable2 = (somevariable offset by x towards y degrees)
-------- Later on --------
Custom script:    call RemoveLocation(udg_somevariable)
Custom script:    call RemoveLocation(udg_somevariable2)
 

Ryuu

I am back with Chocolate (:
Reaction score
64
mr-death, another list of custom scripts :)
_________________________________________________________________

> Congratulations. There are leaks nonetheless.

Yep, I know there are leaks, but I guess I'm blind. Couldn't spot them earlier, but now that you said it, I re-checked the map, and sorry if I offended anyone :(
 

Void

New Member
Reaction score
16
Wow mr-death nice spells! I like Chop-n-pull and Terror because they're really like something from WC3 or WoW, but bowling bash is teh pwnz :D cuz it's fun to see them go sliding everywhere :D It should be called MagnetSlide though because the units don't go flying away from the target they kinda stick to it... :p

"Short time no see", probably referring to me? :p

And WOW! mr-death, you're really an expert. It's quite hard to believe (in other words, its a miracle) that such a proffesional could really exist. This spellpack alone overwhelmed me :)eek:) and I really look forward to your future spells. Anyways, good job!

Hmm do you think he's as good as Tinki3?
 

mr-death

Acolyte
Reaction score
51
Thanks, Big Thanks

Thanks Daxtreme! You gave me a lot of information in the leaks..

However I've just known Custom Script codes by this month. I usually ignore them and find the trigger actions in GUI, THATS MY PROBLEM until now!

:D The #5 Edit will be Leak Free!

I will edit this post when the edit is done!

I hope there will be no more headbanging in the future, so this is the last :banghead:

Big Thanks to Daxtreme +rep! :cool:

Edit: No More Memory Leaks! MUI! GUI! :cool: DL on #1 post.
 

Sim

Forum Administrator
Staff member
Reaction score
534
> MUI, (multiplayer playable, all variables have 12 arrays took 2 hours to create)

That is MPI. Multiplayer Instanceable.

-------

Tooltips are awful. They don't describe the spell. Use generic and simple words. We don't need the whole formula in the tooltip too :p

--> Terror

Code:
For each (Integer A) from 1 to 12, do (Actions)
    Loop - Actions
        Unit Group - Pick every unit in TerroredUnits[(Integer A)] and do (Actions)
            Loop - Actions
                Set Terrorcastingpoint[(Integer A)] = (Position of TerrorCasting[(Integer A)])
                Set Terroredunitspoint[(Integer A)] = (Position of (Picked unit))
                Set TerrorRunPoint[(Integer A)] = (Terroredunitspoint[(Integer A)] offset by 500.00 towards (Angle from Terrorcastingpoint[(Integer A)] to Terroredunitspoint[(Integer A)]) degrees)
                Unit - Order (Picked unit) to Move To TerrorRunPoint[(Integer A)]

Everytime you set a variable to a new value, it has to be nulled.

I suggest you keep "Run" turned off always, except when the player casts Terror at which point you turn it on.

--> Bowling Bash

Remove the point variables inside that loop but outside the if-then-else condition to make sure they get removed.

> Special Effect - Create a special effect at (Position of Knockbacktarget[(Integer A)]) using Abilities\Spells\Human\FlakCannons\FlakTarget.mdl

Position leaks.

> Special Effect - Create a special effect at (Position of (Picked unit)) using Abilities\Spells\Human\FlakCannons\FlakTarget.mdl

Position leaks.

Keep the trigger Knockback more turned off. Turn it on only when the player casts the ability.

--> Chop and Pull

> Set ChopandpullFreshTargets[(Player number of (Owner of (Casting unit)))] = (Random 0 units from (Units in (Playable map area)))

Why bother setting a variable to null?

> Set ChopandPullDegrees[(Player number of (Owner of (Casting unit)))] = (Angle from ChopandPullpoint[(Player number of (Owner of (Casting unit)))] to (Target point of ability being cast))

(Target point of ability being cast) leaks.

Code:
For each (Integer A) from 1 to (20 x (Level of Chop and Pull  for (Casting unit))), do (Actions)
    Loop - Actions
        Set Chopandpullcastingpoint[(Player number of (Owner of (Casting unit)))] = (ChopandPullpoint[(Player number of (Owner of (Casting unit)))] offset by (10.00 x (Real((Integer A)))) towards ChopandPullDegrees[(Player number of (Owner of (Casting unit)))] degrees)
        Set ChopandpullFreshTargets[(Player number of (Owner of (Casting unit)))] = (Units within 125.00 of Chopandpullcastingpoint[(Player number of (Owner of (Casting unit)))] matching (((Matching unit) belongs to an enemy of (Owner of (Casting unit))) Equal to True))
        Unit Group - Pick every unit in ChopandpullFreshTargets[(Player number of (Owner of (Casting unit)))] and do (Unit Group - Add (Picked unit) to ChopandPulltargets[(Player number of (Owner of (Casting unit)))])

Each time you set a point or group variable to a new value you need to remove/destroy it before you set it to a new value again.

In short, remove/destroy the variable inside the loop.

----------------

You're going to make it, don't worry ;) Just takes time.
 

mr-death

Acolyte
Reaction score
51
I'm just an awful idiot newbie on creating no-leaks :(

Thanks for giving hints again, anyway

And for Terror, if it's not on everytime, it will become non-MPI

Set ChopandpullFreshTargets[(Player number of (Owner of (Casting unit)))] = (Random 0 units from (Units in (Playable map area)))

about this, I already deleted it before, and the ability only work once, so I create it again
 

Void

New Member
Reaction score
16
I'm just an awful idiot newbie on creating no-leaks :(

Thanks for giving hints again, anyway

And for Terror, if it's not on everytime, it will become non-MPI

Set ChopandpullFreshTargets[(Player number of (Owner of (Casting unit)))] = (Random 0 units from (Units in (Playable map area)))

about this, I already deleted it before, and the ability only work once, so I create it again


I share your pain. ><
 

mr-death

Acolyte
Reaction score
51
Thanks, Void :)

Anyway i've uploaded the #6 edit.

Hope this one is leak free.

Download on #1 post
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Monovertex Monovertex:
    How are you all? :D
    +1
  • 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

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top