SphereServer BugTracker - SphereServer
View Issue Details
0002214SphereServerexecutable - windows buildpublic02-10-13 15:4508-10-13 07:15
XuN 
Ben 
normalminoralways
resolvedfixed 
WindowsWindows 8x64
16-06-2013, 0.56b Prerelease 
0.56c Nightly 
Automated (specify build number)
DiagonalWalkCheck, NewPositionChecks
Command_Sysmsgs, OSIMultiSight, FileCommands, NoItemNaming, NoHouseMuteSpeech, Flood_Protection, Buffs
0002214: IsTimerf.function doesn't work
Acording to revisions this function should remove that timerf if it already exists and set it to 10 after.

[function test]
if (<istimerf.test>)
    say test=<istimerf.test>
    timerf STOP, test
endif
timerf 10, test
say Test set to= <istimerf.test>

It really applies timerf 10, test, but istimerf.test returns 0.
Also if you use ingame .show istimerf. or istimerf.any_letter/word, except that function you are really looking for, you get the timer of last timerf set.
No tags attached.
Issue History
02-10-13 15:45XuNNew Issue
03-10-13 02:00BenNote Added: 0001701
03-10-13 02:00BenStatusnew => resolved
03-10-13 02:00BenFixed in Version => 0.56c Nightly
03-10-13 02:00BenResolutionopen => fixed
03-10-13 02:00BenAssigned To => Ben
05-10-13 16:25XuNNote Added: 0001709
05-10-13 16:25XuNStatusresolved => feedback
05-10-13 16:25XuNResolutionfixed => reopened
05-10-13 16:47BenNote Added: 0001711
08-10-13 07:15BenStatusfeedback => resolved
08-10-13 07:15BenResolutionreopened => fixed

Notes
(0001701)
Ben   
03-10-13 02:00   
Found the problem :)
Will be fixed in next build
(0001709)
XuN   
05-10-13 16:25   
It works like a charm now except one thing, with the example i will paste here... you can't check for its timer or if it's set in the function itself, not a major problem as you don't need to check if it's alive after setting it... but still don't working at 100%?


[function test]
timerf 2,test1
say Test1 set to=<istimerf.test1>

[function test1]
timerf 2,test
say test set to=<istimerf.test>


You use .test ingame and you say 'Test1 set to=2' but after it every call say '0'
(0001711)
Ben   
05-10-13 16:47   
It does work as intended.... The problem here is that the first time you activate the function, it sets the timer for the first time, and that time you can get the time left... now since you're looping on itself, you are setting the new timer at the same time that the old timer expires. IsTimerF can only return the first timer it find, wich is the current expired timer.

Didi I explain it clearly anough?