в принципе, можно в процедуре createskillbase отсеить пассивы.
Примерно так
нет возможности проверить работоспособность процедуры, может что намудрил со смещениями
delphi Код:
procedure createskillbase;
var
i, j,SkillCount: integer;
beginfor i:=1to200dobegin
skillbase[i,1]:=0;
skillbase[i,2]:=0;
end;
J:=2;
listbox1.items.Clear;
SkillCount := ReadD(J);
for i:=1to SkillCount doif ReadD(j)=0thenbegin
skillbase[i,1]:=ReadD(j);
skillbase[i,2]:=ReadD(j);
inc(j);
listbox1.items.Add('ID:'+inttostr(skillbase[i,2])+' '+SkillsName.Values[IntToStr(skillbase[i,2])]+' LVL:'+inttostr(skillbase[i,1]));
endelse
J := J+9;
if SkillCount>0then skillhave:=true;
end;
Последний раз редактировалось PanAm, 16.04.2009 в 15:20.
Причина: Добавлено сообщение
Уже неделю бьюсь с настройкой скрипта на варлока. Суть понимаю, скилы не чара а сумона и соответственно надо знать информацию PetInfo и еще наверно что то. Подскажите хотя бы намеками в каком направлении надо решать проблему. И еще не могу разобраться с переменными i, n и J , с теми что стоят в скрипте для СвС и БД скилы из \SkillsID.ini какие то левые выбираются, приходится в строке listbox1.items.Add('ID:'+inttostr(skillbase[i,2])+' '+SkillsName.Values[IntToStr(skillbase[i,2])]+' LVL:'+inttostr(skillbase[i,1])); прописывать вручную нужные ID
Айди этих скилов в пакетах не идут, их клиент знает, поэтому становится непонятно от чего отталкиваться, ведь вручную сопоставлять какой скилл какому пету принадлежит не очень охота.
Id петов известны их пакетхак отлавливает, пробелемма в другом-кастует скилы сумон а не чар и в данном скрипте каст начинается с принятия пати чаром а сумон не знает об этом
Добавлено через 6 часов 14 минут
А может пойти другим путем? На панели,например, F12 поставить нужный скил и исправить кусок скрипта по типу
procedure MagicSkillUse(ActionID:integer);
begin
buf:=#$45;
WriteD(ActionID);
WriteD(00);
WriteC(00);
SendToServerEx(Name);
и в строке
listbox1.items.Add('ID:'+inttostr(skillbase[i,2])+' '+SkillsName.Values[IntToStr(skillbase[i,2])]+' LVL:'+inttostr(skillbase[i,1]));
поставить ID нажатия клавиши F12?
Если не правильно может поправят знающие
Последний раз редактировалось Pat, 12.05.2009 в 12:44.
Причина: Добавлено сообщение