|
|
#31 |
|
User
|
Why isn't the TriggerDestroy bug in here? People apparently had a really hard time thanks to that one. I hit into it myself, a little bit.
__________________ JASS://Place in trigger called TriggerDestroy Bug and type "-bug" ///Exploits the bug function CauseBugHelper takes nothing returns nothing call BJDebugMsg("Running Test") call DestroyTrigger(GetTriggeringTrigger()) call TriggerSleepAction(0) call TriggerSleepAction(0) //both waits are needed if CreateGroup() == CreateGroup() then call BJDebugMsg("|cFFFF0000Bug Caught|r") else call BJDebugMsg("|cFF00FF00No Bug Caught|r") endif endfunction ///Creates a trigger to bug, then calls it ///Note that calling the created trigger normally (timers or TriggerExecute) doesn't bug out function CauseBug takes nothing returns nothing local trigger t = CreateTrigger() call TriggerAddAction(t, function CauseBugHelper) call TriggerRegisterAnyUnitEventBJ(t, EVENT_PLAYER_UNIT_DEATH) //indirect call by death call UnitApplyTimedLife(CreateUnit(Player(0), 'hfoo', 0, 0, 0), 'BTLF', 0.01) set t = null call BJDebugMsg("Setup Complete") endfunction function InitTrig_TriggerDestroy_Bug takes nothing returns nothing local trigger t = CreateTrigger() call TriggerAddAction(t, function CauseBug) call TriggerRegisterPlayerChatEvent(t, Player(0), "-bug", true) endfunction *edit* knocked off a bunch of lines and removed the ExecuteFunc call, since it's not needed. Last edited by Strilanc : 04-02-2008 at 08:32 PM. |
|
|
|
| Sponsored Links - Login to hide this ad! |
|
|
|
|
#32 |
|
Lackadaisically Absent.
Respected User
|
Maybe you should explain this bug. Is it the handle-stack corruption one?
__________________Edit: I have a bug of my own to add: The function I2Code (a subset of the H2I-return bug stuff) does not work properly and may return erroneous things; instead, you need to add a helper function that converts the code to a real code to avoid bugs: Last edited by Pyrogasm : 04-03-2008 at 06:40 AM. |
|
|
|
|
|
#33 | |
|
User
|
Quote:
Yes that's the one. |
|
|
|
|
|
|
#34 |
|
100% Genuine Retard!
|
Using TriggerSleepAction inside timer function callbacks halts the functions execution.
|
|
|
|
|
|
#35 |
|
User
Join Date: Nov 2007
Posts: 129
![]()
|
Also found a weird one:
UnitRemoveAbility seems to unset GetSpellAbilityUnit(). I tried this: JASS:call UnitRemoveAbility(GetSpellAbilityUnit(),'A001') call UnitAddAbility(GetSpellAbilityUnit(),'A002') 'A002' was never added. I tried several things, but then, after saving GetSpellAbilityUnit() in a local variable all worked fine! I haven't tested further, what GetSpellAbilityUnit() points to after a call of UnitRemoveAbility, but it was not the same unit as before. |
|
|
|
|
|
#36 |
|
Free Software Terrorist
Technical Director
|
Are you sure there weren't any waits involved?
__________________ |
|
|
|
|
|
#37 | |
|
User
Join Date: Nov 2007
Posts: 129
![]()
|
Quote:
Edit: The attached map shows the bug: A000 should be removed and A001 should be added, but A001 aint there after clicking A000! Last edited by gekko : 08-30-2008 at 02:53 AM. |
|
|
|
|
|
|
#38 | |
|
User
Join Date: Oct 2006
Posts: 1,490
|
UnitId2String always returns null when you load a saved game, same for UnitId2String and OrderId2String, and AbilityId2String doesn't work at all.
Quote:
Added a demo map. Note that i display the strings only for point orders and train orders, but it is the same with all other immediate orders and target orders, feel free to test it yourself. Last edited by Troll-Brain : 01-24-2009 at 07:37 PM. |
|
|
|
|
|
|
#39 |
|
User
Official Map Reviewer
Join Date: Jan 2006
Posts: 362
![]()
|
A little SubString bug that gave me hell.
SubStrings have some sort of bounds safety, as is well known. For example, SubString("test",0,9999)=="test" is true. However, it seems their lower bound is a little stranger. Going "below" their start index can have a number of consequences: JASS:call SubString(<any string>,-4,0) == "Nmo"//Note that there is a zero-width space between N and m. //And derivatives thereof, for example -3,0 == "mo" and -3,-1 == "m" call SubString(<any string>,<-5 or lower>,<any number>) == null//Rather than just giving you the start of the string to the number you specified EDIT: Apparently the N is not actually always an N—it's script specific (it seems to have to do with the number of globals or functions or something, but it's hard to tell). Last edited by PurplePoot : 06-23-2009 at 08:15 PM. |
|
|
|
|
|
#40 |
|
User
Official Map Reviewer
Join Date: Jan 2006
Posts: 362
![]()
|
Yay for bugs.
GroupTargetOrderById does not work for 851971 (smart) on allied units. (Solution: issue 851990 (patrol) instead) Last edited by PurplePoot : 07-18-2009 at 03:11 AM. |
|
|
|
|
|
#41 |
|
User
|
Heres another one:
__________________Assigning a new value to an image variable currently holding the invalid image (handle ID of -1) crashes the game. |
|
|
|
|
|
#42 |
|
User
Join Date: May 2008
Posts: 31
|
Update, the first page pls with Return Bug or note that it's now in actuell warcraft version unable to use!
Thanks! |
|
|
|
|
|
#43 |
|
User
Respected User
Join Date: Apr 2002
Posts: 2,372
|
Create lightening native can return a null handle. Since this null handle can be manipulated, you have to go and attach like a boolean to determine if its created. Really annoying.
The fogstate exploit allows you to typecast from integers -> handles. |
|
|
|
|
|
#44 |
|
Lackadaisically Absent.
Respected User
|
Isn't that what CreateLightningEx was supposed to solve, weaaddar?
__________________ |
|
|
|
![]() |
| Thread Tools | Search this Thread |
|
|
|
Donate |