PDA

Просмотр полной версии : помогите с написанием скрипта


hash
30.04.2009, 21:49
ЗДравствуйте, я юзал ваши скрипты на заточку, но ни один не видит все предметы в инвентаре, возможно изза особенностей клиента, решил напиать свой скрипт, но не хватает знаний, я незнаю как выполнять эти 2 действия до достижения нужного мне результата заточки и успешно его остановить, и как поставить определенный интервал времени между точкой (например 1 секунда)
Собственно вот 2 пакета

Активация скрола: 19 E9 08 03 10 00 00 00 00 ;

Выбор и заточка нужного мне предмета: 5F 31 38 01 10 00 00 00 00 ;

QaK
30.04.2009, 21:50
hash, ты основы программирования на паскале знаешь, или хочешь все сразу и нахаляву?

hash
01.05.2009, 02:58
hash, ты основы программирования на паскале знаешь, или хочешь все сразу и нахаляву?

еслиб знал, помощи не просилбы

Добавлено через 4 часа 50 минут
помощи так и не дождался, сам разобрался :)
Скрипт полностью рабочий, тестил на грации парт2, единственное, что неудобно - это отлов пакетов, но всеже лучше чем руками точить :)

const
Name='newby';
var
timer:TTimer;
x:byte; //определение, какоде действие по счету мы совершаем

procedure Init;
begin
timer:=TTimer.Create(nil);
timer.interval:=1000;
timer.OnTimer:=@fireTimer;
timer.enabled:=true;
x:=1;//сначала х=1
end;

procedure Free;
begin
timer.Free;
end;

procedure fireTimer(Sender: TObject);
begin
case x of
1:begin
buf:=hstr('19 D2 0F 04 10 00 00 00 00');
SendToServerEx(Name);
inc(x);
end;
2:begin
buf:=hstr('5F 31 38 01 10 00 00 00 00');
SendToServerEx(Name);
x:=1;
end;
end;{case}
end;

begin
if FromServer and (ConnectName=Name)
and (pck = HStr('87 0A 00 00 00 0A 00 00 00 0A 00 00 00'))
then
timer.enabled:=false;
end.

п.с
Первый пакет: активация скрола
Второй: Выбор и заточка предмета
Третий: Степень заточки

Breadfan
01.05.2009, 11:22
ты спойкойно можешь использывать скрипт от NLObP, просто выкинь с сумки все лишнее, оставь только шмот\пуху и смотри ID своих нужных итемов

hash
02.05.2009, 14:31
ты спойкойно можешь использывать скрипт от NLObP, просто выкинь с сумки все лишнее, оставь только шмот\пуху и смотри ID своих нужных итемов

в томто и проблема, что его скрипт не видит нужные мне вещи, хотя в файле Itemid они есть...

Добавлено через 2 часа 1 минуту
возникла еще 1 проблема с скриптом - если скрипт долго выполняется, перполняется виртуальная память и компьютер в последствии начинает очень сильно чехлить. Подскажите, как сделать очистку виртальной памяти памяти после выполнения скрипта?

QaK
02.05.2009, 14:54
hash, поправил чуток твой скрипт, попробуй, еще лучше выключать таймер не в Init а по соц действию или команде в чат.

hash
02.05.2009, 16:58
hash, поправил чуток твой скрипт, попробуй, еще лучше выключать таймер не в Init а по соц действию или команде в чат.

спасибо за поправку, но вопрос о переполнении виртуальной памяти отсается открытым. Довольно быстро возрастает до 2+ гб и комп начинает виснуть.

alexteam
02.05.2009, 18:11
на какой версии пх ?.

hash
03.05.2009, 03:04
на какой версии пх ?.

3.5.5.106

Добавлено через 1 час 29 минут
проверил скрипт на версии "3.4.1.83" - все нормально, виртуальная память не переполняется.

HORSE
07.06.2009, 15:56
Как розшифровать степень заточки в пакете скрипта hash
'87 0A 00 00 00 0A 00 00 00 0A 00 00 00'?!
Или как его узнать?!....ато мне надо заточить до +12 а как это написать в пакетах я хз...

8tomat8
07.06.2009, 16:27
hash, попробуй заменить buf:=hstr(''); . у меня было такое, Конечно память будет перегружатся но меньше...
//alexteam: скрипты тут вообще не при чем.
Последнее изменение: Редакция 124 - 2009-05-15 18:06:26 GMT
Запись в журнале: [!] забыл портировать "фикс" утечки памяти с 3.6 в 3.5 еще в ревизии 112. релиз 3.5.10.115