(Keeps Hive Alive)
Browse Spells  Pending Spells
Spell Details for Spell - Chain Frost - Ultimate
Image
Spell - Chain Frost - Ultimate
by Dark Dragon [Dark_Dragon]

Final version of my map Chain Frost whit no bugs and ultimate code for any map. This is one of the best Chain Frost maps in world.Have Fun!

Download Chain Frost Ultimate.w3x (95 KB, 3216 Downloads)

Rate:

Submitter's Description:
One of greatest Chain Frost spells, contains:

Spell -Chain Frost
Spell- Dark Ritual(Trigger)
Item - Scepter
Other - Frost Hands

Version 1.01 - Fixed a bug whit geting nearest unit and air missile rate at hight.

Version 1.02 - Now it does not effect invisuable and invulnerable units, added few more comments in code and added non-undead unit - (footman) for Dark Ritual.

Version 1.03 - Fixed bug that can cause less jumps, little slower spell so that missile is seen more often.

Version 1.04 - Fixed bug that causes first AI target to run, variables cleared and lol "2 x Do Nothing" action removed in else function + comments and welcome stuff.

Version 1.05 Final - Now points are stored in variables and cleared as ' variables ', also few new comments and minor additions.

Version 1.06 - Now maded in jass. So now people can take jass or GUI. Jass is better because the stuff is maded much better and if spell is casted more times (at same time) it will no leak in jass while in GUI it will but in jass I did not include the custom sound system. My advice to you is to use jass instead of GUI but its your choice.

Version 1.06b - Fixed a leak whit a GUI location when first target is attacking lich.

Version 1.07 - I dont think I will update this spell any more times but if I will to edit the graphics. This version totaly transforms this spell from pro style to ultimate total using natives as much as posible, coordinates coded functions DamageFactorEx adds new check for invulnerable units so the invulnerable unit cannot be effected, RawCode functions which allowes GUI-ers simply edit reading "readme", included special coded sounds + graphics which creates a little terrain deformation and more nova effect. There is also many more code fixes which whos never been detected. You can set in code do you want to use sounds or graphics. I think enough comments are writed to help users do what they want. If you have future questions email me at: <darkdragon_hr@yahoo.com>

Version 1.07b - Thanks a lot to jareph for finding a bug when one unit stays that missile is headed to mid of map. That did not happen every time to me but at last it did so bug where in that target is not null when is dead. So now is fixed + some more details code fixes. Again thanks a lot jareph.

Version 1.08 - Last update, spell is now fully MUI, optimized a bit + as sad the graphics are updated. If you dont like graphics you can easily disable them by using function UsingGraphics to false. Missile also now starts at last been height.

Version 1.09 - Heavy GUI fix (optimizations) + mass group leek fix. Jass many optimizations + first lag fix.

Rating:
8.75 (36)

Uploaded:
Jul 20, 2007

Updated:
Jun 26, 2008

Spell Type:
Target Object


Comment on Spell - Chain Frost - Ultimate


Comments on Spell - Chain Frost - Ultimate
Resource Moderator
Approved
PurplePoot:

Enough of the leaks are fixed (1 left, 17 fixed), so (approved). I advise you try to fix the last one, but it's your choice.
Sep 6, 2008 - Dark_Dragon
No you dont have to, you only need world editor.
Sep 6, 2008 - bringerofpain12
wow i have to install winzip do i have to?
Aug 6, 2008 - Dark_Dragon
You edit damage simple, go to object editor (F6) then find "Frost Nova Damage Level n" where n is level of spell you want to edit. Then find the "Specific Target Damage" text and double click to edit value. Press ok.

About jumps its harder but here it is: Find next lines of code:

//Get jumps and max_jumps
    if ( GetSpellAbilityId() == CF_RawCode() ) then
        set jumps = 6
    else
        set jumps = 7
    endif

Here this jumps = 6 means the jumps of non-upgraded ability and jumps = 7 means when ability is upgraded.

Change that to your value.
Aug 5, 2008 - fico
MAN tx very very much,but i need to ask more ting
how to edit the jumps of the Chain Frost
and the dmg of Chain Frost.
Aug 5, 2008 - Dark_Dragon
Here for people who dont know how to install this spell read this:

1.) Open this map (Chain Frost Ultimate.w3x)
2.) Go to object manager (F6)
3.) Copy last three units (Missile, Dummy and Glacier Effect)
4.) Copy abilities (Chain Frost Damage lvl 1 to lvl 4, Chain Frost and Chain Frost (Upgraded) and last Chain Frost Upgrader).
5.) Go to trigger editor (F4)
6.) Copy "Chain Frost jass" trigger.
7.) Make sure you copied all of above to your map.
8.) Go to object editor (View\Display Values As Raw Data) make sure that is enabled.
9.) Find all pasted units and spells and for each of them check there code you will see example: "u000:ushd (Dummy)" well in your map this first part "u000" will maybe change to "u04G" example and that is what you need.
10.) For each ability and unit go to trigger editor and do next find comments example for dummy:

//--- Dummy Raw Code --- Needed raw code ---
constant function Dum_RawCode takes nothing returns integer
    return 'u000'
endfunction

You see this line of code 'u000' then change it to return 'u04G'
11.) Make sure you do change all of this raw code all other then locust raw coda and generic timer raw code which are written // constant raw code

//--- Generic Timer Raw Code --- This is constant raw code ---
constant function GT_RawCode takes nothing returns integer
    return 'BTLF'
endfunction

You may see this:

//--- Generic Timer Raw Code --- This is constant raw code ---

This means you dont need to change this raw code as for dummy you need:

//--- Dummy Raw Code --- Needed raw code ---

It says Need raw code so you need to change that.
12.) Basically just find this line of code:

//--- Raw Codes ---

Start editing from here. Until you find constant raw codes, then you are done whit raw codes.
13.) Go to Variables Editor (Ctrl+B) Note: make sure your trigger editor is current window.
14.) Create New Variable (Ctrl+N) or click green "+X" button. Variable Window will open.
15.) Now under names type names i give you and under types select type i give you as well as array check box. Initial Value will be needed only at one variable.
16.)

Variable Name: LastTarget
Variable Type: Unit

Variable Name: StoredTimer
Variable Type: Timer
Array: Enable It

Variable Name: StoredTimerData
Variable Type: Integer
Array: Enable It

Variable Name: maxTimerStored
Variable Type: Integer
Initial Value: -1

17.) Save your map!
18.) Give Chain Frost ability to your unit and enjoy!
19.) Special: This spell contains special options for you. You'll be able to disable graphics and sounds very easy if your computer is slow or you dont like sounds or graphics. Note: Graphics requires a lot of CPU.
20.) So to disable them or enable back find next for sounds:

//Boolean type function which returns shuld chain frost use custom sounds
constant function UseSounds takes nothing returns boolean
    //Set TRUE to use custom sounds or FALSE to disable custom sounds
    //Note: You can use this even if you have slow computer
    //Default: TRUE
    return TRUE
endfunction

You see last line in function return TRUE change TRUE to FALSE

About graphics find next:

//Boolean type function which returns shuld chain frost use custom graphics
constant function UsingGraphics takes nothing returns boolean
    //Set TRUE to use custom graphics or FALSE to disable custom graphics
    //Note: You can use this even if you have slow computer
    //Default: TRUE
    return TRUE
endfunction

Again change return TRUE to return FALSE.
About shuld it is supposed to mean should but i missed a letter. Dont need to update spell coz of that. And graphics where low before but now are requiring a lot of CPU so ignore this comment for graphics.


~Tutorial by Dark Dragon, have suggestion to improve it, comment thank you.
Aug 5, 2008 - fico
yes man i did all and stil noting,man tell me exatly what to copy i dont know man there is to many to copy and i dont what to copy can you send me just the spell to fi4_fi4o@yahoo.com?
Aug 3, 2008 - Dark_Dragon
Ofc you need to open my map (this spell), copy code, custom units and abilities. Then dont close my map but use shortcut Ctrl+O. Select your map and past the stuff. And so one by one. Last simple is only to select your units and abilities in code. So if you dont know jass use 1x jass trigger and 1x GUI to setup that jass just read readme!

I guess i helped you out!
Aug 1, 2008 - fico
man is there a way to open 2 world editors is hard just to open map copy close map open map paste close map.....is there a way that copy all and paste all pls tell me Update:man i paste all and noting of that spel and the jass script is whit X.so man can you tell me what to copy and paste PLZ.and tell me can i open 2 world editors or somting to make more easy Love fico :)
May 30, 2008 - Dark_Dragon
Well if you don't know send me your map to <darkdragon_hr@yahoo.com> and i will import it!
May 26, 2008 - cHeRoL
I wish I know how to put these ability into my map. :(
May 9, 2008 - Dark_Dragon
Ok this spell is coded in jass and GUI. The only thing you need to do is just copy units and abilities from object editor (you will see them "custom units and spells") after that just go to trigger editor (F4), and find code in jass which is far more better then GUI. Copy it and past it in your map. Now go to object editor in your map find so called "raw codes" of units and abilities in your map and just change them in code its all.

Note if you are new and cant rely do that or dont understand you can mail me your map and I will send you whit imported spell in your map <darkdragon_hr@yahoo.com>

Good Luck!
May 8, 2008 - Kingdragun
Hi i am a new member and i am doing a map. i really need new skill, but download the magics is not enaught. so plizz tell me how works importing skilles. do i need JASS??? where i can download?
Apr 6, 2008 - Dark_Dragon
it is idea from dota but this is fare more better coded spell then in dota, dont get me wrong in dota this spell is coded well because it is optimized but not visual and spell well made because its only a missile move to current point not constant and graphics are not anything special + no air missile move and many more. As I sad its good enough as it is in dota but as this is my fav spell I wanted to make it a pro spell.
Apr 6, 2008 - eWs.Azure
n1 :D is it just like the ulti of lich in dota ? :P
Feb 8, 2008 - Dark_Dragon
This trigger dark ritual can be cast on any unit that is the difference.

All groups work fine and are local variables and are of course initialized.

Don't know what do you mean that I am arrogant I did not say its best chain frost spell but one of the best and that is true, I changed name to ultimate only because it has Jass and GUI.

Last I am not using caster system, don't know where you see any of this functions I coded all by myself. Its not enough to say something when you don't look very well first.
Feb 7, 2008 - Bobo_The_Kodo
First.. WTF is with the triggered Dark Ritual... did you know that lich already has an ability called Dark Ritual that does EXACTLY the same thing?

Second, one of the groups is not initialized

Third, try not to be so arrogant.

Fourth, give credit to Vexorian for caster system functions?
Dec 16, 2007 - Herman
I already uploaded it ><
http://www.hiveworkshop.com/resources_new/spells/1214/
Dec 15, 2007 - Dark_Dragon
The frost hands are the sphere effects on lich. If you want you can upload your spell here or send me on my mail <darkdragon_bx@yahoo.com>
Dec 14, 2007 - Herman
Sorry about the delay Dark_Dragon (was workin on height + special effect for flying), how would you like it sent???

____________________________
Update #1

Ahhh, nevermind I'll just put it up

____________________________
Update #2

I didn't add an item ultimate, but that could be done easily

Unrelated: What do you mean "Other - Frost Hands" in your spell pack???
Dec 14, 2007 - Dark_Dragon
y something like that just in jass is better to use only timer for running other function, other then creating new trigger and using timer which is non-native. Other than that there is no big difference
Dec 14, 2007 - jareph
oh thx

that mean there got no difference for GUI ^^
Dec 13, 2007 - Dark_Dragon
You can make a unit movement speed goes to any kind of speed by using timer which runs some code and code is that you move the unit to his point offset by angle between 2 points and setting move to your speed * timer speed. Here example:

function YourCode takes nothing returns nothing
local location l = GetUnitLoc( yourUnit )
local location offset = PolarProjectionBJ( l, speed*0.01, AngleBetweenPoints(l, targetPoint))
call SetUnitPositionLoc( yourUnit, offset )
call RemoveLocation( l )
call RemoveLocation( offset )
endfunction

call TimerStart( whichTimer, 0.01, true, function YourCode )

this should look something like this


Ok herman send me your map
Dec 13, 2007 - jareph
sry here 1 more question,
i m not understand how set a units movement speed more than 522 in jass...
is that like this?
call SetUnitMoveSpeed( <Unit>, 800.00 )
Dec 12, 2007 - Herman
O wait a second, i just re-read your post that you made after mine

Yeah I just learned what a loop was

(putting the wait at the end of the trigg to make it start over + a wait action)

Whenever I do any kind of trigger in GUI that involves an "over time" condition, (usually only with moving units) I always make a unit group global, and a trigger that fires at every .01 secs
That same trigger has a condition that checks for the unit group to be empty, if it is, the trigger basically doesn't exist (if you wanted to make damned-sure it is disabled when it needs to be, there are other methods)

Anyway, add the unit to the unit group (the dummy unit), and make an action that moves the unit (using polar coordinates) a small distance

This way, all you need to do is remove the unit from the unit group after its function is complete (I usually kill it, and in another trigger specify what happens when it dies, makes it less ugly)

Thats how you make any speed of a projectile you would like in GUI (I made a grenade spell recently, I personally love it cuz it uses everything I know in GUI, but its ignored because somebody beat me to it ><)

Looking at that map would explain how I would do it in GUI very effectively (and it would definitely take less coding than what you made)
__________________________
Update #1

If you'd like, I could make my own MUI + GUI chain frost, and give it/show it to you
__________________________
Update #2

I finished my own GUI version of this spell, there aren't any leaks (that i know of) and it can be edited with fair ease (although some parts of it could be difficult) there is only one bug "I think" happens when the units target dies + decays, the frost flies off the map, but I fixed it with a distance check
___________________________
Update #3

Yup, that was the problem
There is a tracking "thing" (thing being a series of actions) that makes the nova follow the target unit, but sometimes, the nova flies out, a long distance, and the returns

This allows enough time for the unit to decay and dissappear, making the nova fly continually

I added two conditions, one if the nova flies 2000+ away from the point, or the target is dead (the trigger fires fast enough so you don't need to worry about decaying)

Just ask me for the map n ill send it to you, anyway you'd like (b.net, epicwar, THISSITE, aim, xfire, etc.)
Dec 12, 2007 - Dark_Dragon
yes this spell is MUI, and about doing that in jass is much more easy than in GUI because you can use local variables which is much better then globals, other if you need a global variable for another trigger then use global or make handle function + you can make your own functions which can be used to any kind of your coding skills. If you don't understand something than just ask
Dec 12, 2007 - jareph
sry for so long reply,
all question i think have been explained >.<
swt...
your chain frost can can be multiple casted in same time? and i wan to ask will JASS can easy make a skill can be multiple casted in same time?
Nov 30, 2007 - Dark_Dragon
thank you :)
Nov 30, 2007 - Herman
o, ok

By the way, this spell is really cool :)
Nov 29, 2007 - Dark_Dragon
I understand what you want to say jareph but using global whitout my system UserTimerData i cant get which array i need to use in other function. Sry but i just cant get this bug i kill all units leave only one, cast chain frost and it jumps once the spell ends. I just cant get missile go to center of map. And about loop, blizzards TriggerSleepAction min precision is 0.1 sec which means i cant use loop. When you use that function you can set to wait 0.10 but it will sometimes wait 0.15, 0.20, 0.13, 0.10,... you cant knowe that is why many programesrs ignore this function. Timer is precius but you cant make sleep action of it. So if you use loop whitout wait in it it will move missile instantly to target units location. And so sry jareph i just cant get this bug.

Herman I only tried to explain how can people who dont knowe jass use it in there map. Only read Readme in jass code. You only need to edit rawcodes, thats all. It is writed in code how to do it. And I dont have problems whit GUI ^^ I use it to when the time is right for GUI. But coding spells and such things I think its better in jass. I also started my programing knowledge on GUI. About invulnerable filters i did not undersand exactly what did u mean but if you code in GUI u can check if units level of Invulnerable(neutral) is 0 or does he has buff devine shield. I maded my own function which checks can unit be damaged. That works even if programer makes unit invulnerable in trigger way. And dont worry about long code in jass, its much shorter then in GUI if you will do all that i did (when you convert it) + this code does not lag a lot coz i used natives as much as possible :-) Gues u guys are having fun using this spell and one last thing, thanks for comments and downloading
Nov 28, 2007 - Herman
Uhhh, I don't know how JASS is used, and you were talking about "BJ-s's" and "Natives" and in JASS that might be very simple, but for me

(I learned GUI without any other programming knowledge, hence i didn't have a clue what leaks and other things are)

I don't understand such things

You might have problems with GUI because you don't use it... (without practice your skills deteriorate)

Also, only using one trigger per spell might be just peachy in JASS, but most good (good meaning here, not worthless) GUI spells utilize more than one trigger

Otherwise,(generally speaking) they are as horrible as you described

One last thing, you can specify a unit-group to NOT filter away invulnerables (even use the integer check for the ability if necessary)

Just saying that the missile speed max is 522 is just asking to get attacked on all sides

Lastly, you can do ALOT with the unit groups and arrays, all it takes is a little clever thought and you can work it out with fairly small amounts of coding (much less than all the JASS writing I have seen)

There is another version of the Grenades spell that I had made, that i personally thought was pretty clever because it was simple (it was ignored because somebody beat me to it)
Nov 28, 2007 - jareph
that was a easy way to make global spell , u juz nid put a "array" to ur variable.
if u wan see the bug , u kill all nearby units but leave only 1 , and use chain frost , see where the frost going , it was center of map.
yes, sry the movespeed cant over 522 , but u can use trigger to move it(it wont cause any lag, if it was doing in every 0.01seconds) , it was no maximum.By my was to do , is open up new trigger ,but u can use loop to make it up without open new trigger.
And urs chain frost is good ^^
Nov 28, 2007 - Dark_Dragon
I dont knowe how that happen to u but I tested it and it works as suspected. PS WEU users may suspect bugs in any code. Also I never say that in GUI cant be done unit speed of 800, but I sad that my trigger is maded like that coz I am not planing to make a lot of triggers for my spell -.- It looks stupid and you have to use global triggers which generates code for them (its a global variable). The way I like it only one trigger for one spell. And I never sad that GUI sucks, its only in jass can be done much more and better...
Nov 28, 2007 - jareph
1st your frost nova was wrong function when there only got 1 unit....the frost was moving to the center of the map, this is because u order it to move to a Variable(point) that have empty.
2nd GUI can make all the thing that can make in JASS , GUI can make the frost nova that can used by many player in a game and the movespeed can over 522 If u wan !!!!!!
Nov 25, 2007 - Dark_Dragon
Uhh. I made GUI yes but, plz dont use it GUI makes pathatic lagy code + spell will not work if many players cast it in same time. As you can see I can make this spell in GUI and in Jass, but Jass makes spell the real spell when in GUI is everything done so bad, like GUI uses BJ-s functions which call native of it and there is no point using it. Each If , then, else, uses (creates) a function even if you did used it before. I cant make my own functions and that is very bad coz If you will use GUI the filter for unit group will filter only Invulnerable unit if her has ability Invulnerable(Neutral). Jass uses GetDamageFactorEx so that it works on anything. In Jass missile moves exactly from caster to target (800 ms) and blows target. In GUI missile speed (522 ms) and goes to last position of target it calculates not when missile gets the target but when polledwait ends (using distance). In GUI are used locations which leaks even if I remove them, while in Jass are used coordinates and coded other functions for them. Wow I sad to much, there is a lot more to say but I think this is enough.
Nov 25, 2007 - Herman
Wow that is a fancy spell, i like it alot

Thank you for converting it to GUI, I love to use GUI just cuz i know anything can be done in it
Nov 25, 2007 - Dark_Dragon
That whos not any special math, now this version is uploaded (created) at last. This is many more math and better preformance. It taked me a lot of time to make this but I think you people will have fun using it.
Nov 21, 2007 - Diehard@Azeroth
heh alright, gj on ur spell ^^
btw howcome your so good with math ;D
Nov 19, 2007 - Dark_Dragon
I knowe in chain spells it shuld get closest unit but the chain frost is looking cool when i dont knowe which target it will hit and if it gets closest unit the missile will not be seen so often :( So i think ill let it stay this way

However ty for comment
Nov 15, 2007 - Dark_Dragon
Geting nearest unit is a nice system but in Chain Lightning, Chain Frost uses missile which chooses random unit. I dont like this spell gets neares unit, if you did read Description you will see that in laiter ver it gets nearest unit, but now I dont like this spell to get nearest unit. If you want you have right to modify this spell for your own needs.
Oct 26, 2007 - Diehard@Azeroth
there is one leak left just so you know..

If (((Owner of (Target unit of ability being cast)) controller) Not equal to User) then do (Unit - Order (Target unit of ability being cast) to Attack-Move To (Position of (Casting unit))) else do (Do nothing)

~~ point leak >>

Also instead of getting a random unit, get the closest unit.

If you want your resource to be more valuable, take in the effort to eliminate every leak/bug.

i dont really download stuff that i can create, yours is good no offence or anything, its just that i dont need it >>
hmm just so you know when it gets closest unit it becomes more realistic though ur choice ^^
Sep 9, 2007 - Need_O2
Hey this one is good congratulations
Aug 3, 2007 - Dark_Dragon
Ok its finaly all fixed and now its working well whit no lag, thank you for teaching me this I did not knowe I cant remove pos of unit. :)
Aug 3, 2007 - PurplePoot
Oh, sorry, too used to JASS projectiles where it would be easy for the caster to damage them x.x

No problem, then.

Ugh, about the locations though, sorry, but I don't think you understand how to deal with them

You can't just

Do something at Somewhere
Remove Somewhere

you have to do (assuming TempPoint is a point variable)

set TempPoint = Somewhere
Do Something at TempPoint
Remove TempPoint

(same goes for your other spell)
Aug 3, 2007 - Dark_Dragon
Ok I think u will be happy whit this now ^_^.
Aug 3, 2007 - Dark_Dragon
Ok look the dummys doesnt attack they cast spell and becasue they have locus enemys canot attack him. That is why enemys run when dummy cast spell, but only first target because this spell is maded from sleep which pauses target for .01 sec. Ok so target whont attack me because it is treated like it sleeps and then dummy casts spell and he run away. Now ok i fix this i will add that target attack pnt on lich and loc remove. Ok ok i will do that.
Aug 2, 2007 - PurplePoot
1) the dummy shouldn't damage enemies, you should (so they attack you instead of running away)

2) Still leaks Locations and Groups

Oh, and you can remove all the DoNothings.
Aug 1, 2007 - Dark_Dragon
Ok I fix this. Thank you for your comment it realy helped me. Bug whas in geting nearest target so that it will get more or less units.
Execution Time: 0.015161 (vBulletin Backend: 0.022918)
All times are GMT. The time now is 11:20 PM.






WoW Gold Guide Cheap WoW Gold World of Warcraft Gold 
Pay Day Loans | Loan | Web Advertising | Loans | Myspace Layouts
Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright©Ralle