- Joined
- Dec 17, 2009
- Messages
- 1,115
Does someone know the cause of this problem with this code in side this map?
If you want to inspect the map here it is:
Click Nao
-
Map Variables
-
Events
- Time - Elapsed game time is 0.01 seconds
- Conditions
-
Actions
- Set MilestonesCount = 1
- Hashtable - Create a hashtable
- Set Hashtable = (Last created hashtable)
- Hashtable - Create a hashtable
- Set SkillHashtable = (Last created hashtable)
- Hashtable - Create a hashtable
- Set SkillHashtable2 = (Last created hashtable)
- Set WeaponTypes[1] = M4A1 Carbine
- Set WeaponTypes[2] = AK-47
- Set WeaponTypes[3] = Ithaca 37
- Set WeaponTypes[4] = Arctic Warfare Magnum
- Set WeaponTypes[5] = X1015 Rifle Beam
- Set WeaponTypes[6] = Baikal IZH-43
- Set WeaponTypes[7] = Steyr Scout Tactical
- Set WeaponTypes[8] = RPG-7
- Set WeaponUnit[1] = M4A1 Carbine
- Set WeaponUnit[2] = AK-47
- Set WeaponUnit[3] = Ithaca 37
- Set WeaponUnit[4] = Arctic Warfare Magnum
- Set WeaponUnit[5] = X1015 Rifle Beam
- Set WeaponUnit[6] = Baikal IZH-43
- Set WeaponUnit[7] = Steyr Scout Tactical
- Set WeaponUnit[8] = RPG-7 Rocket Launcher
- Set BulletType[1] = 5.56mm Magazine
- Set BulletType[2] = 7.62mm Magazine
- Set BulletType[3] = 12 Gauge Shells
- Set BulletType[4] = .300 Lapua Magnum
- Set BulletType[5] = 512V Battery Cubes
- Set BulletType[6] = 12 Gauge Shells
- Set BulletType[7] = 7.62mm Magazine
- Set BulletType[8] = Rockets
- Set WeaponRounds[1] = 30
- Set WeaponRounds[2] = 30
- Set WeaponRounds[3] = 4
- Set WeaponRounds[4] = 5
- Set WeaponRounds[5] = 75
- Set WeaponRounds[6] = 2
- Set WeaponRounds[7] = 10
- Set WeaponRounds[8] = 1
- Set TotalWeapons = 8
- Set ReloadSounds[1] = Reload1 <gen>
- Set ReloadSounds[2] = Reload2 <gen>
- Set ReloadSounds[3] = Reload3 <gen>
- Set ReloadSounds[4] = Reload4 <gen>
- Set ReloadSounds[5] = Reload5 <gen>
- Set ReloadSounds[6] = Reload6 <gen>
- Set ReloadSounds[7] = Reload7 <gen>
- Set ReloadSounds[8] = Reload8 <gen>
- Set ReloadSounds[9] = Reload9 <gen>
- Set EquipSounds[1] = Equip1 <gen>
- Set EquipSounds[2] = Equip2 <gen>
- Set EquipSounds[3] = Equip3 <gen>
- Set EquipSounds[4] = Equip4 <gen>
- Set EquipSounds[5] = Equip5 <gen>
- Set EquipSounds[6] = Equip6 <gen>
- Set EquipSounds[7] = Equip7 <gen>
- Set EquipSounds[8] = Equip8 <gen>
- Set EquipSounds[9] = Equip9 <gen>
-
For each (Integer A) from 1 to 9, do (Actions)
-
Loop - Actions
- Trigger - Add to Finished Reloading <gen> the event (Time - ReloadTimer[(Integer A)] expires)
-
Loop - Actions
-
For each (Integer B) from 1 to 150, do (Actions)
-
Loop - Actions
- Set TempPoint = (Random point in Random Zombie Group <gen>)
- Unit - Create 1 ??? (Basic Zombie) for Player 12 (Brown) at TempPoint facing Default building facing degrees
- Custom script: call RemoveLocation(udg_TempPoint)
-
Loop - Actions
-
For each (Integer RepeatInteger) from 1 to 900, do (Actions)
-
Loop - Actions
- Set TempPoint = (Random point in Random Drop Items <gen>)
- Unit - Create 1 ??? (Basic Zombie) for Player 12 (Brown) at TempPoint facing Default building facing degrees
- Custom script: call RemoveLocation(udg_TempPoint)
-
Loop - Actions
-
For each (Integer RepeatInteger) from 1 to 300, do (Actions)
-
Loop - Actions
- Set TempPoint = (Random point in Random Drop Items <gen>)
- Unit - Create 1 ??? (Mutated Zombie) for Player 12 (Brown) at TempPoint facing Default building facing degrees
- Custom script: call RemoveLocation(udg_TempPoint)
-
Loop - Actions
- Set RandomZombieGroup = (Units in Random Zombie Group <gen>)
- Set RandomZombie = (Random unit from RandomZombieGroup)
- Custom script: call DestroyGroup(udg_RandomZombieGroup)
-
Events
-
Equip
-
Events
- Unit - A unit Uses an item
-
Conditions
- (Item-class of (Item being manipulated)) Equal to Permanent
-
Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- IsReloading[(Player number of (Owner of (Triggering unit)))] Equal to True
-
Then - Actions
- Game - Display to (Player group((Owner of (Triggering unit)))) the text: |cffffcc00You can't...
- Skip remaining actions
- Else - Actions
-
If - Conditions
-
For each (Integer A) from 1 to TotalWeapons, do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Unit-type of (Triggering unit)) Not equal to WeaponUnit[(Integer A)]
- (Item being manipulated) Equal to (Item carried by (Triggering unit) of type WeaponTypes[(Integer A)])
-
Then - Actions
- Item - Make CurrentlyEquippedItem[(Player number of (Owner of (Triggering unit)))] Unpawnable
- Set RealAmmoCount = (Charges remaining in (Item being manipulated))
- Item - Set charges remaining in (Item being manipulated) to 2
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Charges remaining in (Item being manipulated)) Equal to 1
- (Charges remaining in (Item being manipulated)) Not equal to 0
-
Then - Actions
- Item - Make (Item being manipulated) Pawnable
- Item - Set charges remaining in (Item being manipulated) to 1
- Item - Make (Item being manipulated) Unpawnable
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Charges remaining in (Item being manipulated)) Not equal to 0
-
Then - Actions
- Item - Set charges remaining in (Item being manipulated) to (RealAmmoCount + 1)
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Charges remaining in (Item being manipulated)) Equal to 0
-
Then - Actions
- Item - Make (Item being manipulated) Pawnable
- Item - Set charges remaining in (Item being manipulated) to 0
- Else - Actions
-
If - Conditions
- Set HPBefore = (Life of (Triggering unit))
- Set ManaBefore = (Mana of (Triggering unit))
- Unit - Replace (Triggering unit) with a WeaponUnit[(Integer A)] using The old unit's life and mana
- Item - Make CurrentlyEquippedItem[(Player number of (Owner of (Triggering unit)))] Droppable
- Set CurrentlyEquippedItem[(Player number of (Owner of (Triggering unit)))] = (Item being manipulated)
- Item - Make (Item being manipulated) Undroppable
- Sound - Play EquipSounds[(Player number of (Owner of (Triggering unit)))]
- Set Survivor[(Player number of (Owner of (Last replaced unit)))] = (Last replaced unit)
- Unit - Set life of (Last replaced unit) to HPBefore
- Unit - Set mana of (Last replaced unit) to ManaBefore
- Selection - Select (Last replaced unit) for (Owner of (Last replaced unit))
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Events
-
Reload
-
Events
- Unit - A unit Uses an item
-
Conditions
- (Item-class of (Item being manipulated)) Equal to Permanent
-
Actions
-
For each (Integer A) from 1 to TotalWeapons, do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Unit-type of (Triggering unit)) Equal to WeaponUnit[(Integer A)]
- (Item being manipulated) Equal to (Item carried by (Triggering unit) of type WeaponTypes[(Integer A)])
-
Then - Actions
- Item - Make CurrentlyEquippedItem[(Player number of (Owner of (Triggering unit)))] Unpawnable
- Set RealAmmoCount = (Charges remaining in (Item being manipulated))
- Item - Set charges remaining in (Item being manipulated) to 2
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Charges remaining in (Item being manipulated)) Not equal to 0
-
Then - Actions
- Item - Set charges remaining in (Item being manipulated) to (RealAmmoCount + 1)
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- ((Triggering unit) has an item of type BulletType[(Integer A)]) Equal to True
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Charges remaining in (Item being manipulated)) Equal to 1
- (Charges remaining in (Item being manipulated)) Not equal to 0
-
Then - Actions
- Item - Make (Item being manipulated) Pawnable
- Item - Set charges remaining in (Item being manipulated) to 1
- Item - Make (Item being manipulated) Unpawnable
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Charges remaining in (Item being manipulated)) Equal to 0
-
Then - Actions
- Item - Make (Item being manipulated) Pawnable
- Item - Set charges remaining in (Item being manipulated) to 0
- Else - Actions
-
If - Conditions
- Game - Display to (All players) the text: ((|cffffcc00 + ((Name of (Owner of (Triggering unit))) + |r)) + is reloading...)
- Countdown Timer - Start ReloadTimer[(Player number of (Owner of (Triggering unit)))] as a One-shot timer that will expire in 2.15 seconds
- Custom script: set udg_HandleID = GetHandleId(GetLastCreatedTimerBJ())
- Hashtable - Save (Player number of (Owner of (Triggering unit))) as 1 of HandleID in Hashtable
- Set ReloadingUnit[(Player number of (Owner of (Triggering unit)))] = (Triggering unit)
- Set IsReloading[(Player number of (Owner of (Triggering unit)))] = True
- Sound - Play ReloadSounds[(Player number of (Owner of (Triggering unit)))]
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Else - Actions
- Game - Display to (Player group((Owner of (Triggering unit)))) the text: |cffffcc00You don't...
- Set RealAmmoCount = (Charges remaining in (Item being manipulated))
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Charges remaining in (Item being manipulated)) Equal to 0
-
Then - Actions
- Item - Make (Item being manipulated) Pawnable
- Item - Set charges remaining in (Item being manipulated) to 0
- Item - Make (Item being manipulated) Unpawnable
- Else - Actions
-
If - Conditions
-
If - Conditions
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
-
For each (Integer A) from 1 to TotalWeapons, do (Actions)
-
Events
-
Finished Reloading
- Events
- Conditions
-
Actions
- Custom script: set udg_HandleID = GetHandleId(GetExpiredTimer())
- Set PlayerID = (Load 1 of HandleID from Hashtable)
- Sound - Stop ReloadSounds[PlayerID] After fading
-
For each (Integer A) from 1 to TotalWeapons, do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Unit-type of ReloadingUnit[PlayerID]) Equal to WeaponUnit[(Integer A)]
-
Then - Actions
- Set IsReloading[PlayerID] = False
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Charges remaining in (Item carried by ReloadingUnit[PlayerID] of type BulletType[(Integer A)])) Greater than 1
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Charges remaining in (Item carried by ReloadingUnit[PlayerID] of type BulletType[(Integer A)])) Greater than or equal to WeaponRounds[(Integer A)]
-
Then - Actions
- Set FilledIn = (WeaponRounds[(Integer A)] - (Charges remaining in (Item carried by ReloadingUnit[PlayerID] of type WeaponTypes[(Integer A)])))
- Item - Set charges remaining in (Item carried by ReloadingUnit[PlayerID] of type WeaponTypes[(Integer A)]) to ((Charges remaining in (Item carried by ReloadingUnit[PlayerID] of type WeaponTypes[(Integer A)])) + FilledIn)
- Item - Set charges remaining in (Item carried by ReloadingUnit[PlayerID] of type BulletType[(Integer A)]) to ((Charges remaining in (Item carried by ReloadingUnit[PlayerID] of type BulletType[(Integer A)])) - FilledIn)
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Charges remaining in (Item carried by ReloadingUnit[PlayerID] of type BulletType[(Integer A)])) Less than WeaponRounds[(Integer A)]
-
Then - Actions
- Item - Set charges remaining in (Item carried by ReloadingUnit[PlayerID] of type WeaponTypes[(Integer A)]) to (Charges remaining in (Item carried by ReloadingUnit[PlayerID] of type BulletType[(Integer A)]))
- Item - Set charges remaining in (Item carried by ReloadingUnit[PlayerID] of type BulletType[(Integer A)]) to 0
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Else - Actions
- Game - Display to (Player group((Owner of ReloadingUnit[PlayerID]))) the text: |cffffcc00You don't...
-
If - Conditions
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
Problem
- Ammunition gets refilled by 1 automatically when unequipping a weapon then equipping it again at 0 ammo
- Same problem when reloading at 0 ammo in the weapon
- Switching to a 0 ammo weapon will increase the switching weapon's ammo inside by 1
- For some weird reason i think warcraft treats items with 0/1 as same, causing this problem to occur
Click Nao