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

Easy Multicast Spell System with Integers

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
Just the easy multicast spell system with two integers I created. One example spell Time Walk is included. Please let me know if u find mistakes of bad things in this system.

Keywords:
multicast
Contents

Easy Multicast able spell system (Map)

Reviews
12th Dec 2015 IcemanBo: Too long as NeedsFix. Rejected. Easy Multicast Spell System with Integers | Reviewed by Maker | 18th Mar 2013 NEEDS FIX The system does not support aborting spells in different order that they were...

Moderator

M

Moderator

12th Dec 2015
IcemanBo: Too long as NeedsFix. Rejected.


Easy Multicast Spell System with Integers | Reviewed by Maker | 18th Mar 2013
NEEDS FIX


126248-albums6177-picture66522.png


  • The system does not support aborting spells in different
    order that they were created. Any instance should
    be abortable at any point
    We already have a spell instance indexer system
    in the spell database that does this
126248-albums6177-picture66524.png
[tr]
 
Level 3
Joined
Mar 14, 2013
Messages
15
  • Untitled Trigger 001
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Bye Bye!
    • Actions
      • -------- To set the number of casters --------
      • Set number_of_casters = (number_of_casters + 1)
      • Set caster[number_of_casters] = (Triggering unit)
      • -------- integer of spell, nothiing concern with the system --------
      • Set spell_integer[number_of_casters] = 0
      • -------- integer of spell, nothiing concern with the system --------
      • -------- If the next triggers is turned off --------
      • Trigger - Turn on Untitled Trigger 002 <gen>
  • Untitled Trigger 002
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • -------- to determine the functions belong to each caster --------
      • -------- the value fo finished casting casters need to set +1 not to do the functions for finished casting casters --------
      • For each (Integer A) from (finished_casting_casters + 1) to number_of_casters, do (Actions)
        • Loop - Actions
          • -------- integer of spell, nothing concern with the syster --------
          • Set spell_integer[(Integer A)] = (spell_integer[(Integer A)] + 1)
          • -------- integer of spell, nothiing concern with the system --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • spell_integer[(Integer A)] Equal to 100
            • Then - Actions
              • Unit - Kill caster[(Integer A)]
              • -------- integer variable for finished casting units --------
              • Set finished_casting_casters = (finished_casting_casters + 1)
              • Game - Display to (All players) the text: (number of finished casting casters= + (String(finished_casting_casters)))
              • Game - Display to (All players) the text: (number casters= + (String(number_of_casters)))
            • Else - Actions
          • -------- if the number of casters is equal to the number of finished casting casters, the trigger will automatically turn off --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • finished_casting_casters Equal to number_of_casters
            • Then - Actions
              • -------- to reduce the value of number of casters and finished casting casters while this trigger is turned off --------
              • Set finished_casting_casters = 0
              • Set number_of_casters = 0
              • Trigger - Turn off (This trigger)
            • Else - Actions
  • cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Time Walk
    • Actions
      • Set tw_number_of_casters = (tw_number_of_casters + 1)
      • Set tw_caster[tw_number_of_casters] = (Triggering unit)
      • Set tw_frame_integer[tw_number_of_casters] = 0
      • Set tw_angle[tw_number_of_casters] = (Angle from (Position of (Triggering unit)) to (Target point of ability being cast))
      • Set tw_range[tw_number_of_casters] = ((Distance between (Position of (Triggering unit)) and (Target point of ability being cast)) / 10.00)
      • Animation - Change (Triggering unit)'s vertex coloring to (0.00%, 0.00%, 0.00%) with 0.00% transparency
      • Trigger - Turn on loop <gen>
  • loop
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • For each (Integer A) from (tw_finished_casting_casters + 1) to tw_number_of_casters, do (Actions)
        • Loop - Actions
          • Set tw_frame_integer[(Integer A)] = (tw_frame_integer[(Integer A)] + 1)
          • Set tw_caster_point = (Position of tw_caster[(Integer A)])
          • Unit - Move tw_caster[(Integer A)] instantly to (tw_caster_point offset by tw_range[(Integer A)] towards tw_angle[(Integer A)] degrees), facing tw_angle[(Integer A)] degrees
          • Custom script: call RemoveLocation (udg_tw_caster_point)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • tw_frame_integer[(Integer A)] Equal to 10
            • Then - Actions
              • Animation - Change tw_caster[(Integer A)]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
              • Set tw_caster[(Integer A)] = No unit
              • Set tw_finished_casting_casters = (tw_finished_casting_casters + 1)
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • tw_finished_casting_casters Equal to tw_number_of_casters
            • Then - Actions
              • Set tw_finished_casting_casters = 0
              • Set tw_number_of_casters = 0
              • Trigger - Turn off (This trigger)
            • Else - Actions
 
Last edited by a moderator:
Level 17
Joined
Nov 13, 2006
Messages
1,814
Ok but I think screen shot is not needed for this map

it is needed for every uploaded map in spell section

minimum 1 screenshot, when u upload there is the 2nd button from top the upload screenshot button and edit uploaded spell description, insert there with trigger and pls use hidden tag if trigger is long

also u use allways point leaks what arent acceptable because if somebody use this spell alot time later game could be laggy coz of the leaks

  • Set tw_angle[tw_number_of_casters] = (Angle from (Position of (Triggering unit)) to (Target point of ability being cast))
  • Set tw_range[tw_number_of_casters] = ((Distance between (Position of (Triggering unit)) and (Target point of ability being cast)) / 10.00)
=>>>>>>>>>>>>>>>>>>>

  • Set Point1 = (Position of (Triggering unit))
  • Set Point2 = (Target point of ability being cast)
  • Set tw_angle[tw_number_of_casters] = (Angle from Point1 to Point2)
  • Set tw_range[tw_number_of_casters] = ((Distance between Point1 and Point2) / 10.00)
  • Custom script: call RemoveLocation(udg_Point1) //clear point leak 1 when dont need that point anymore
  • Custom script: call RemoveLocation(udg_Point2) //clear point leak 2 when dont need that point anymore
then

  • Unit - Move tw_caster[(Integer A)] instantly to (tw_caster_point offset by tw_range[tw_number_of_casters] towards tw_angle[(Integer A)] degrees), facing tw_angle[(Integer A)] degrees
the tw_Caster_oint leak was cleared but here u use another leak so store that too into variable then use custom script for remove the leak

  • Point2 = (tw_caster_point offset by tw_range[tw_number_of_casters] towards tw_angle[(Integer A)] degrees)
 
Last edited:
Level 17
Joined
Nov 13, 2006
Messages
1,814
No problems. I can learn from u. And u said to use the edit bottom for what? What is spamming? I'm not good at English.

This is a forum here if u want say something and last comment is your then edit that with [EDIT] button and dont make a new post for another 1 line because that just make useless post count, so better if u edit the last comment if u made that, same if u want post trigger then insert it into description (example when u upload a map into spell section)
 
Top