Log in

View Full Version : Emote Dubuging Help



TRiLeZ
07-24-2009, 03:16 PM
Im making a function called DoEmoteEx which does an emote and waits for it to be over.
The problem is I dont have the time it takes to do all emotes.

How can you help?
Run this about 5 times:

program New;
{.include srl/srl/misc/smart.scar}
{.include srl/srl.scar}
{.include srl/srl/reflection/reflection.scar}

var
I, A, X, Y, Click: Integer;
Emote: TStringArray;

function DebugEmotes: string;
begin
DoEmote(a);
MarkTime(Click);
WaitForAnim(800);
if CharacterAnimating then
begin
while CharacterAnimating do wait(1);
Result:= IntToStr(TimeFromMark(Click));
end else
Result:= 'Emote Locked';
end;

begin
Smart_Server:= 154;
Smart_Signed:= true;
SetupSRL;
SetLength(Emote, 60);
for I:= 0 to 45 do
begin
A:= I + 1;
Emote[i]:= DebugEmotes;
end;
for I:= 0 to 45 do
Writeln(IntToStr(I + 1) + ': ' + Emote[i]);
end.

(Needs reflection)

Once you ran it about 5 times, give me the highest time it took for emotes: 23, 24, 25, 28, 34, 38, 40, 41, 42 and 45.

Thanks :)

Naum
07-24-2009, 03:28 PM
Im making a function called DoEmoteEx which does an emote and waits for it to be over.
The problem is I dont have the time it takes to do all emotes.

How can you help?
Run this about 5 times:

program New;
{.include srl/srl/misc/smart.scar}
{.include srl/srl.scar}
{.include srl/srl/reflection/reflection.scar}

var
I, A, X, Y, Click: Integer;
Emote: TStringArray;

function DebugEmotes: string;
begin
DoEmote(a);
MarkTime(Click);
WaitForAnim(800);
if CharacterAnimating then
begin
while CharacterAnimating do wait(1);
Result:= IntToStr(TimeFromMark(Click));
end else
Result:= 'Emote Locked';
end;

begin
Smart_Server:= 154;
Smart_Signed:= true;
SetupSRL;
SetLength(Emote, 60);
for I:= 0 to 45 do
begin
A:= I + 1;
Emote[i]:= DebugEmotes;
end;
for I:= 0 to 45 do
Writeln(IntToStr(I + 1) + ': ' + Emote[i]);
end.

(Needs reflection)

Once you ran it about 5 times, give me the highest time it took for emotes: 23, 24, 25, 28, 34, 38, 40, 41, 42 and 45.

Thanks :)

Hmm, is this the newest rev. Because if it is the only reason I can think of is that it uses subtractions on the variable.

TRiLeZ
07-24-2009, 03:40 PM
Yes it is the latest rev and what are you meaning?

Naum
07-24-2009, 03:43 PM
If InRange(EmoteNumber, 21, 40) Then I := 20;
If InRange(EmoteNumber, 41, 46) Then I := 28;
DecEx(EmoteNumber, I);


In DoEmote if an emote is above 20, which your results follow.

TRiLeZ
07-24-2009, 03:49 PM
If InRange(EmoteNumber, 21, 40) Then I := 20;
If InRange(EmoteNumber, 41, 46) Then I := 28;
DecEx(EmoteNumber, I);


In DoEmote if an emote is above 20, which your results follow.

The time is marked right after the emote is clicked.