View Single Post
  #7  
Old 05-01-2012, 04:56 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

Ok, I've modded my code a little better to handle the tracking reset server-side.

Activation of the 'tracking' window is when the skillup is processed. I'm assuming this is the OP_TrackingCode transaction. Regardless of whether I cancel, or select a target and actually track a mob, I receive no more skillups until the next tracking window call.

Is this proper behavior "Live" behavior? Or was there a change in the tracking model once SoD came out (i.e., skill update chance with each DoTracking() call?)

Since I don't know what the intended EQEmu model is suppose to be for tracking skillups, I can't say if my code reflects that design. It does, however, satisfy my own experience and I'll leave it for now


I considered a timer as well, but that still left me with the possibility of free tracking skillups, which is what originally brought me here.


This is what I compiled and had the above results with:


if(IsTracking() && ((x_pos!=ppu->x_pos) || (y_pos!=ppu->y_pos)))
{
if(MakeRandomFloat(0, 100) < 70)
{
CheckIncreaseSkill(TRACKING, NULL, -20);
}

if(GetClientVersion() < EQClientSoD)
{
TrackingID=0;
}
}

else

if(IsTracking() && (GetClientVersion() < EQClientSoD))
{
TrackingID=0;
}


Since it's sequential code, I guess dropping the second nested 'if' statement, the 'else', and leaving in the last 'if' would accomplish essentially the same thing without the additional lines.

I'm through spamming this thread I'll only post clarifications, if requested. (I don't sleep well and get a little chatty when I'm depraved, err, I mean deprived.)

U
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote