От сервера параметр ReuseDelay
delphi Код:
48=MagicSkillUse:d(CharID)d(TargetID)d(skillID:Get.Skill)d(SkillLevel)d(HitTime)d(ReuseDelay)d(X)d(Y)d(Z)d(?)d(TargetX)d(TargetY)d(TargetZ)
Получаешь от сервера, смотришь чей там оид, если твой, то - пихаешь в тот же tstringlist ид скила + значение (GetTickCount+reusedelay/1000 (вроде в мс приходит время кд)). А перед попыткой юза скриптом скила - проверяешь на наличие его в листе. Если он там есть и параметр больше чем текущий getTickCount - то скил еще не готов.
Но в ГоД хз как там оно.
PS: GetTickCount - несуществующая в пх функция, просто пример.
delphi Код:
function GetTickCount:integer;
const
Sec=1/(24*60*60);//добиваться в скрипте ПХ бОльшей точности по-моему и нет смысла
begin
result:=Round(int(frac(Time)/sec));
end;
В данном виде вроде бы будет сбой в полночь.