HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

CS16.0 [For wc3 1.23b or later]

02-16-2006, 04:10 PM#1
Vexorian
The caster system is a pack of functions, a model and a unit that simplify many aspects of making maps, but specially spells.

Click image for larger version

Name:	castersystem139.jpg
Views:	3874
Size:	193.8 KB
ID:	12826 Features
- Casting functions: Cast abilities whenever you want, in the way you want by just using a function (mass AOE / group casting possible)
- Damage over time functions : Create 'flames' that do periodic damage or add damage over time with just a function.
- Damage Options : You can easily choose what units to affect and how to affect them.
- CSCache : Must have storage system includes Attacheable Variables, Pools, Tables, Dynamic arrays, location exploiting and CSDatas.
- Projectiles : Create projectile effects with curve movement, you can also use them to do damage or other things.
- CollisionMissiles : Object oriented method for making missiles that can detect collisions with units.
- Special Events: Easier and faster way of setting common events like spell effect / learn / cast
- A way to hide items without all the issues the native SetItemVisible arises.
- Utility functions: calculations with angles, detect if a point is above water , Show an interface error , rotate models and more.

Version History:
16.0
CasterSystem:
* Changed some return bug giberish into better things.

CSCache
* As it was deprecated in the past, it has now been removed completely
since it will not work in 1.23b+ and is not trivial to port it.

CSData:
* Removed return bug usage, it now uses a hashtable instead of a big vJass array.

CSSafeCache:
* Still works, not recommended though, I suggest not using this library
unless there are compatibility reasons.

CSSafety:

TimerUtils included in the map updated for the post 1.23b world.
Uses a hacked GroupUtils so that H2I is replaced with GetHandleId, this is
not an official version, I recommend you to update from the official
thread if you wish to implement the caster system...

Demo map:
* Is compatible and playable in wc3 1.23b or later.
15.3
Version 15.3:
CasterSystem:
- TimerUtils and GroupUtils are in use

CSDamagers:
- Uses TimerUtils instead of CSSafety
- Now Damagers use their damage options argument correctly.

CSSafety:
- This library is not used anymore by caster system, but a dummy one
has been included for compatibility with old stuff that might explicitely
require this library.

CSSafeCache:
- Documentation now includes an explanation of what the older module,
CSCache is and why you shouldn't use its functions as well as a recommendation
not to use CSSafeCache.
15.2
CSSafety:
- NewGroup actually works.
- ReleaseGroup is able to correctly recognize when the group stack is full.

CasterSystem:
- CSSafety bug fix should have fixed issues with many of the CS functions, confirmed: DamageUnitsInAOEEx

Demo map:
- Queltallas revenge now uses the correct damage options variable.
- It actually works.
Attached Images
File type: jpgcastersystem139.jpg (193.8 KB)
Attached Files
File type: w3xcs15.3.w3x (166.1 KB)
File type: w3xcs16.0.w3x (162.0 KB)
05-25-2006, 05:36 PM#2
moyack
I'm going to test this system in my map when I get home. Do you have any recommendation for users (like me) that don't know many jass?
05-25-2006, 05:58 PM#3
Chuckle_Brother
Learn
05-25-2006, 06:40 PM#4
moyack
Quote:
Originally Posted by Chuckle_Brother
Learn
Hey, I'm learning, I just want to know if I have to do something special in the adding process, that's all.
05-25-2006, 09:57 PM#5
Vexorian
Just the classic trial and error, with patience and that kind of things.
05-25-2006, 10:01 PM#6
moyack
Quote:
Originally Posted by Vexorian
Just the classic trial and error, with patience and that kind of things.
Okidoki, if I have any issue, I PM you.
06-21-2006, 06:34 AM#7
TGhost
When i copy paste all the CsChace text, as the instructions say, into the custom script of my map, it crashes when i try to save?

EDIT: After trying a few things out i found what the error possibly was (it works now), when i copied all the text, there was no empty line between the endfunction and the start of the next function, after looking abit at your code i saw that you did that between all your ends and starts, so after correcting this and making the empty line myself (didnt get copied in the first place, maybe i forgot to copy it together with the rest), it didnt crash when i saved, just thought i would let everyone know if anyone else is having the same problem.
07-17-2006, 08:36 PM#8
shadow1500
Quote:
but please I recomend that any table name that is not
acquired with this function is used between "(" ")" or "[" "]"
Why? Using names like "ClassName_Misc" or "ClassName_#" is fine, as NewTable returns an integer in string format.
07-17-2006, 09:23 PM#9
Vexorian
nope because names that are not between () and [] are used by other stuff of the caster system, besides that [] is a good way to point out they are special
07-17-2006, 11:56 PM#10
emjlr3
y does the caster model require any size at all, y do u even use a model? jsut curious
07-18-2006, 02:49 AM#11
Vexorian
Ok, Ask yourself how could I get so many different missile fx without creating a different unit type.
07-18-2006, 03:59 AM#12
emjlr3
what i figured
07-18-2006, 06:23 PM#13
BertTheJasser
If you get around, you could open a thread or PM and explain how the list converter works and the lists itself and why...

GJ. Would Rep you if I could.
07-18-2006, 06:44 PM#14
Vexorian
Quote:
Or how you're changing the z-axis orientation. I opened the model up thinking "why the hell is a model that should amount to little more than an attachment point 30k?" Needless to say, I highly approve of your solution. 181 animations, heh.

It is funny, I thought about that on saturday then Asked Mc! he said "yeah I am gonna make it *soon*" So I would have had to wait 3 months, but suddenly I figure out that INFraNE made that model a while ago. It was strange.

I think that the model could be compressed by removing empty space/comments, still it is a text file that would be compressed by mpq compression itself so it maybe does not matter

Quote:
If you get around, you could open a thread or PM and explain how the list converter works and the lists itself and why...

GJ. Would Rep you if I could.

what?
07-18-2006, 08:14 PM#15
BertTheJasser
Just forget it, I *guess* I got it myself. My brain seems to be very exhausted this evening.