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

Error with custom script

Status
Not open for further replies.

Kusanagi Kuro

Hosted Project: SC
Level 10
Joined
Mar 11, 2012
Messages
708
Hello everyone. I've make a spell with the triggers like this:
  • Starburst Stream
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Starburst Stream
    • Actions
      • Set CV = (Custom value of (Triggering unit))
      • Set SS_Damage[CV] = ((0.20 + (0.20 x (Real((Level of (Ability being cast) for (Triggering unit)))))) x (Real((Agility of (Triggering unit) (Include bonuses)))))
      • Set SS_Caster[CV] = (Triggering unit)
      • Set SS_Duration[CV] = 2.00
      • Set SS_Target[CV] = (Target unit of ability being cast)
      • Animation - Change SS_Caster[CV]'s animation speed to 200.00% of its original speed
      • Animation - Change SS_Caster[CV]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 50.00% transparency
      • Unit Group - Add (Triggering unit) to SS_CasterGroup
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Starburst Stream Loop <gen> is on) Equal to True
        • Then - Actions
        • Else - Actions
          • Trigger - Turn on Starburst Stream Loop <gen>
  • Starburst Stream Loop
    • Events
      • Time - Every 0.25 seconds of game time
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (SS_CasterGroup is empty) Equal to True
        • Then - Actions
          • Trigger - Turn off (This trigger)
        • Else - Actions
          • Unit Group - Pick every unit in SS_CasterGroup and do (Actions)
            • Loop - Actions
              • Set CV = (Custom value of (Picked unit))
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Or - Any (Conditions) are true
                    • Conditions
                      • SS_Duration[CV] Less than or equal to 0.00
                      • (SS_Caster[CV] has buff Stunned) Equal to True
                      • (SS_Caster[CV] has buff Stunned (Pause)) Equal to True
                      • (SS_Caster[CV] has buff Silence) Equal to True
                      • (SS_Caster[CV] has buff Hex) Equal to True
                      • (SS_Caster[CV] has buff Weapon Break ) Equal to True
                      • (SS_Caster[CV] has buff Entangling Roots) Equal to True
                      • (SS_Caster[CV] has buff Ensnare (General)) Equal to True
                      • (SS_Caster[CV] has buff Ensnare (Air)) Equal to True
                      • (SS_Caster[CV] has buff Ensnare (Ground)) Equal to True
                • Then - Actions
                  • Animation - Change SS_Caster[CV]'s animation speed to 100.00% of its original speed
                  • Animation - Change SS_Caster[CV]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
                  • Animation - Queue SS_Caster[CV]'s stand animation
                  • Unit Group - Remove (Picked unit) from SS_CasterGroup
                • Else - Actions
                  • Set SS_Angle[CV] = (Random angle)
                  • Set TempInt = Animation[(Random integer number between 1 and 3)]
                  • Custom script: call SetUnitAnimationByIndex(udg_SS_Caster[udg_CV], udg_TempInt)
                  • Custom script: call SetUnitX(udg_SS_Caster[udg_CV]), GetUnitX(udg_SS_Target[udg_CV]) + 100 * Cos(bj_DEGTORAD * udg_SS_Angle[udg_CV]))
                  • Custom script: call SetUnitY(udg_SS_Caster[udg_CV]), GetUnitY(udg_SS_Target[udg_CV]) + 100 * Sin(bj_DEGTORAD * udg_SS_Angle[udg_CV]))
                  • Unit - Make SS_Caster[CV] face SS_Target[CV] over 0.00 seconds
                  • Unit - Cause SS_Caster[CV] to damage SS_Target[CV], dealing SS_Damage[CV] damage of attack type Spells and damage type Universal
                  • Set SS_Duration[CV] = (SS_Duration[CV] - 0.25)
When I test them I receive an error with 2 custom script:
  • Custom script: call SetUnitX(udg_SS_Caster[udg_CV]), GetUnitX(udg_SS_Target[udg_CV]) + 100 * Cos(bj_DEGTORAD * udg_SS_Angle[udg_CV]))
    • Custom script: call SetUnitY(udg_SS_Caster[udg_CV]), GetUnitY(udg_SS_Target[udg_CV]) + 100 * Sin(bj_DEGTORAD * udg_SS_Angle[udg_CV]))
It said that expected end of line. What happen to these custom script and how can I solve it?
 
Level 37
Joined
Mar 6, 2006
Messages
9,240
u dont need them. look in my spells they work fine and i dont use degtorad anywere in them

The angle he converts is in degrees, so he does need the deg to rad conversion.

However isntead of setting angle = random angle, he could do set angle = random number between -PI and PI and then get rid of the conversions.
 
Last edited:
Level 37
Joined
Mar 6, 2006
Messages
9,240
  • Set SS_Angle[CV] = (Random number between -PI and PI)
  • Custom script: call SetUnitX(udg_SS_Caster[udg_CV]), GetUnitX(udg_SS_Target[udg_CV]) + 100 * Cos(udg_SS_Angle[udg_CV]))
  • Custom script: call SetUnitY(udg_SS_Caster[udg_CV]), GetUnitY(udg_SS_Target[udg_CV]) + 100 * Sin(udg_SS_Angle[udg_CV]))
 
Status
Not open for further replies.
Top