Hi everybody. I just met freakin' error that makes me can't sleep well tonight.
For example, I want to import the Double Shot spell to my map.
Here's the whole trigger :
And the error :
I'm wondering why i always get error on every spell with "scope" then it makes me can't enter the spellmap for testing again.
Is there anything that i should add to my WE? or else?
I think that's not the trigger problem. The problem is my WE... Always can't save a map with "scope".
Currently using :
NewGen 5A
pjass 1.0k
Thanks In Advance +repppppppp for helper.
For example, I want to import the Double Shot spell to my map.
Here's the whole trigger :
JASS:
scope RandomShot initializer Random_ShotT
globals
//UserChangable
private integer ID = 039;A000039; //This is the ID of the spell
private boolean MELEE = true //Change this to false if its a melee hero.
private string EFX = "Abilities\\Weapons\\BloodElfMissile\\BloodElfMissile.mdl" //See trigger comment for instructions.
private real DELAY = 0.00 //This is the time inbetween each extra attack will happen. Setting it to 0.00 will remove any delay.
//SystemRequirments
private real array PCENTCHNCLVL //Leave this as is.
private group MAPUNITS //Leave this as is.
private trigger t1 //Leave this as is.
endglobals
public function EaseForNewbies takes nothing returns nothing
//These are the chances of doing an extra attack.
set PCENTCHNCLVL[1] = 10.00 //This is the chance of level one.
set PCENTCHNCLVL[2] = 20.00 //This is the chance of level two.
set PCENTCHNCLVL[3] = 30.00 //This is the chance of level three.
set PCENTCHNCLVL[4] = 40.00 //This is the chance of level four.
set PCENTCHNCLVL[5] = 50.00 //This is the chance of level five.
set PCENTCHNCLVL[6] = 60.00 //This is the chance of level six.
set PCENTCHNCLVL[7] = 70.00 //This is the chance of level seven.
set PCENTCHNCLVL[8] = 80.00 //This is the chance of level eight.
set PCENTCHNCLVL[9] = 90.00 //This is the chance of level nine.
set PCENTCHNCLVL[10] = 100.00 //This is the chance of level ten.
//ect, add more for more levels.
endfunction
function SafeFilter takes nothing returns boolean
return true
endfunction
private function id takes nothing returns boolean
return GetUnitAbilityLevel(GetAttacker(), ID) >= 1
endfunction
private function UnitDamage takes nothing returns nothing
local unit attacke = GetTriggerUnit()
local unit attacker = GetEventDamageSource()
local integer q = GetUnitAbilityLevel(attacker, ID)
local integer x = GetRandomInt(1, 100)
local real n = GetEventDamage()
if (R2I(x) <= PCENTCHNCLVL[q]) then
call DisableTrigger(t1)
call UnitDamageTarget(attacker, attacke, n, true, MELEE, ATTACK_TYPE_CHAOS, DAMAGE_TYPE_UNIVERSAL, WEAPON_TYPE_WHOKNOWS)
call EnableTrigger(t1)
call DestroyEffect(AddSpecialEffectTarget(EFX, attacke, "head"))
call SetUnitAnimation(attacker, "attack")
endif
set attacke = null
set attacker = null
call DisableTrigger(t1)
call TriggerSleepAction(DELAY)
call EnableTrigger(t1)
endfunction
public function UnitE takes nothing returns nothing
call TriggerRegisterUnitEvent(t1, GetEnumUnit(), EVENT_UNIT_DAMAGED)
endfunction
public function UnitF takes nothing returns nothing
call GroupEnumUnitsInRect(MAPUNITS, bj_mapInitialPlayableArea, Condition(function SafeFilter))
call ForGroup(MAPUNITS, function UnitE)
endfunction
public function Random_ShotT takes nothing returns nothing
local region rectRegion = CreateRegion()
local timer t = CreateTimer()
set MAPUNITS = CreateGroup()
set t1 = CreateTrigger()
call RegionAddRect(rectRegion, bj_mapInitialPlayableArea)
call UnitF()
call TriggerAddAction(t1, function UnitDamage)
call TimerStart(t, 10.00, true, function UnitF)
call EaseForNewbies()
endfunction
endscope
And the error :
I'm wondering why i always get error on every spell with "scope" then it makes me can't enter the spellmap for testing again.
Is there anything that i should add to my WE? or else?
I think that's not the trigger problem. The problem is my WE... Always can't save a map with "scope".
Currently using :
NewGen 5A
pjass 1.0k
Thanks In Advance +repppppppp for helper.