Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг
Войти через OpenID

Скриптинг Форум посвещенный созданию скриптов для L2PacketHack

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 03.04.2011, 01:31   #1
Новичок
 
Регистрация: 03.04.2011
Сообщений: 1
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
lain_ivakura пока неопределено
По умолчанию Скрипт на заточку, без поломки

Здравствуйте, на серве стоит система заточки блес точкой либо +1, либо -1, без поломок, с плавающим рейтом на успех(чем выше уровень заточки тем меньше шанс получить +1) Максимальная точка +50 на шмот и +150 на випон.
При использовании данного скрипта возникает проблема - скрипт не останавливается, при достижении максимальной точки (например для шмота +50) и точит дальше, с непременным скидыванием до 49. Можно останавливать вручную, но для заточки на +50 порой необходимо около 1000 затачиваний, во время которых надо сидеть и следить за процессом, чтобы вовремя остановить. Буду признателен, если кто-нибудь подскажет, как можно решить данную проблему, и заставить скрипт вовремя остановиться

const
nik='xxx';
Enchant=50;

var
UseItem, SelectItem, EnchantItem: string;
CurrentEnch: integer;
key: boolean;
Timer01, Timer02: TTimer;

procedure Init;
begin
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=true;
Timer01.interval:=500;

Timer02:=TTimer.Create(nil);
Timer02.OnTimer:=@OnTimer02;
Timer02.enabled:=false;
Timer02.interval:=500;
end;

procedure OnTimer01(Sender: TObject);
begin
case key of
false: begin
buf:=UseItem;
SendToServerEx(nik);
Timer02.enabled:=true;
end;
true: begin
buf:=EnchantItem;
SendToServerEx(nik);
end;
end;
key:=not(key);
end;

procedure OnTimer02(Sender: TObject);
begin
buf:=SelectItem;
SendToServerEx(nik);
Timer02.enabled:=false;
end;

procedure Free;
begin
Timer01.free;
Timer02.free;
CurrentEnch:=0;
key:=false;
end;

begin
if FromServer and (pck[1]=#$87) then case ReadD(2) of
0: begin
CurrentEnch:=CurrentEnch+1;
if CurrentEnch=Enchant then Timer01.enabled:=false;
end;
2: CurrentEnch:=0;
end;
if FromClient and (pck[1]=#$19) then UseItem:=pck;
if FromClient and (pck[1]=#$D0) then SelectItem:=pck;
if FromClient and (pck[1]=#$5F) then EnchantItem:=pck;
if FromClient and (pck[1]+pck[2]=#$56#$0C) then
begin
pck:='';
Timer01.enabled:=not(Timer01.enabled);
end;
end.
lain_ivakura вне форума   Ответить с цитированием
Старый 05.04.2011, 15:44   #2
Местный
 
Аватар для Nickers
 
Регистрация: 23.11.2009
Сообщений: 574
Сказал Спасибо: 134
Имеет 117 спасибок в 82 сообщенях
Nickers пока неопределено
По умолчанию

На словах:
При точке оружия должен приходить пакет обновления инвентаря, где хранится значение Енчант лвла, который и нужно сравнить с 50ю, например.
__________________
Пишу что думаю, но ничего не знаю...
[LameGuard|Скрипты l2phx]
Nickers вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 12:24.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!