jnZ
I
- Reaction score
- 64
Since i cant use JassNewGen anymore (those error messages while in test-mode were very useful to me) i dont know if this trigger is MPI or not, however it seems to work fine.
This is the trigger:
i wanted to create 5 of those triggers (because of 5 players) and change the loop arrays etc, but when i tested the map all the special effect appered.
this is the trigger i used for testing MPI:
so the code lets every bomberman (= 5 different players) cast the channel ability. Another trigger places bombs for the certain player who casts this ability. and if those bombs explode the above mentioned trigger fires.
so is it MPI? i think it still causes those "double free of XXX" errors but is this a problem?
thanks in advance
+REP for useful comments
This is the trigger:
Code:
Bomb Explosion Player 1
Events
Unit - A unit Dies
Conditions
(Unit-type of (Triggering unit)) Equal to Bomb
Actions
Set BombExplosionPoint[1] = (Position of (Triggering unit))
For each (Integer LoopBombExplosion[1]) from 1 to PowerupFire[1], do (Actions)
Loop - Actions
Set BombExplosionPoint[(LoopBombExplosion[1] + 1)] = (BombExplosionPoint[1] offset by ((128.00 x (Real(LoopBombExplosion[1]))), 0.00))
For each (Integer LoopBombExplosion[1]) from 1 to PowerupFire[1], do (Actions)
Loop - Actions
Set BombExplosionPoint[(LoopBombExplosion[1] + 13)] = (BombExplosionPoint[1] offset by ((-128.00 x (Real(LoopBombExplosion[1]))), 0.00))
For each (Integer LoopBombExplosion[1]) from 1 to PowerupFire[1], do (Actions)
Loop - Actions
Set BombExplosionPoint[(LoopBombExplosion[1] + 25)] = (BombExplosionPoint[1] offset by (0.00, (-128.00 x (Real(LoopBombExplosion[1])))))
For each (Integer LoopBombExplosion[1]) from 1 to PowerupFire[1], do (Actions)
Loop - Actions
Set BombExplosionPoint[(LoopBombExplosion[1] + 37)] = (BombExplosionPoint[1] offset by (0.00, (128.00 x (Real(LoopBombExplosion[1])))))
Special Effect - Create a special effect at BombExplosionPoint[1] using Objects\Spawnmodels\Human\HCancelDeath\HCancelDeath.mdl
For each (Integer LoopBombExplosion[1]) from 2 to (PowerupFire[1] + 1), do (Actions)
Loop - Actions
Set TempRegionA = (Region centered at BombExplosionPoint[LoopBombExplosion[1]] with size (140.00, 140.00))
Set TempGroupA = (Units in TempRegionA matching (((Matching unit) is Undead) Equal to True))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(TempGroupA is empty) Equal to True
Then - Actions
Special Effect - Create a special effect at BombExplosionPoint[LoopBombExplosion[1]] using Objects\Spawnmodels\Human\HCancelDeath\HCancelDeath.mdl
Else - Actions
Custom script: exitwhen true
Custom script: call RemoveRect( udg_TempRegionA )
Custom script: call DestroyGroup( udg_TempGroupA )
For each (Integer LoopBombExplosion[1]) from 13 to (PowerupFire[1] + 13), do (Actions)
Loop - Actions
Set TempRegionA = (Region centered at BombExplosionPoint[LoopBombExplosion[1]] with size (140.00, 140.00))
Set TempGroupA = (Units in TempRegionA matching (((Matching unit) is Undead) Equal to True))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(TempGroupA is empty) Equal to True
Then - Actions
Special Effect - Create a special effect at BombExplosionPoint[LoopBombExplosion[1]] using Objects\Spawnmodels\Human\HCancelDeath\HCancelDeath.mdl
Else - Actions
Custom script: exitwhen true
Custom script: call RemoveRect( udg_TempRegionA )
Custom script: call DestroyGroup( udg_TempGroupA )
For each (Integer LoopBombExplosion[1]) from 25 to (PowerupFire[1] + 25), do (Actions)
Loop - Actions
Set TempRegionA = (Region centered at BombExplosionPoint[LoopBombExplosion[1]] with size (140.00, 140.00))
Set TempGroupA = (Units in TempRegionA matching (((Matching unit) is Undead) Equal to True))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(TempGroupA is empty) Equal to True
Then - Actions
Special Effect - Create a special effect at BombExplosionPoint[LoopBombExplosion[1]] using Objects\Spawnmodels\Human\HCancelDeath\HCancelDeath.mdl
Else - Actions
Custom script: exitwhen true
Custom script: call RemoveRect( udg_TempRegionA )
Custom script: call DestroyGroup( udg_TempGroupA )
For each (Integer LoopBombExplosion[1]) from 37 to (PowerupFire[1] + 37), do (Actions)
Loop - Actions
Set TempRegionA = (Region centered at BombExplosionPoint[LoopBombExplosion[1]] with size (140.00, 140.00))
Set TempGroupA = (Units in TempRegionA matching (((Matching unit) is Undead) Equal to True))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(TempGroupA is empty) Equal to True
Then - Actions
Special Effect - Create a special effect at BombExplosionPoint[LoopBombExplosion[1]] using Objects\Spawnmodels\Human\HCancelDeath\HCancelDeath.mdl
Else - Actions
Custom script: exitwhen true
Custom script: call RemoveRect( udg_TempRegionA )
Custom script: call DestroyGroup( udg_TempGroupA )
For each (Integer LoopBombExplosion[1]) from 1 to 49, do (Actions)
Loop - Actions
Custom script: call RemoveLocation( udg_BombExplosionPoint[udg_LoopBombExplosion[1]] )
i wanted to create 5 of those triggers (because of 5 players) and change the loop arrays etc, but when i tested the map all the special effect appered.
this is the trigger i used for testing MPI:
Code:
Events
Player - Player 1 (Red) types a chat message containing 2 as An exact match
so is it MPI? i think it still causes those "double free of XXX" errors but is this a problem?
thanks in advance
+REP for useful comments