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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 11.06.2009, 08:05   #1
Пользователь
 
Регистрация: 10.04.2008
Сообщений: 18
Сказал Спасибо: 7
Имеет 2 спасибок в 2 сообщенях
1oO
По умолчанию

Цитата:
Сообщение от mks Посмотреть сообщение
1oO, один вопрос - когда скрипт запускаешь соц.действием, открывается выбор затачиваемой шмотки, шмотка туда выставляется автоматом?
да, в последнем скрипте шмотка выставляется автоматом и в том который в 1 после не выставляется вобще
1oO вне форума   Ответить с цитированием
Старый 12.06.2009, 23:46   #2
Новичок
 
Регистрация: 12.06.2009
Сообщений: 1
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
izbrannu пока неопределено
По умолчанию

ща попробую скрипт... mks ты скрипт делал под грацию ПАРТ 1 или ПАРТ 2???
izbrannu вне форума   Ответить с цитированием
Старый 13.06.2009, 18:23   #3
Новичок
 
Аватар для DarkBrain
 
Регистрация: 13.06.2009
Адрес: Киев
Сообщений: 5
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
DarkBrain пока неопределено
По умолчанию

Код HTML:
const
   nik='pixel';
   Enchant=13;

var
   UseItem, EnchantItem: string;
   Count, CurrentEnch: integer;
   Timer01: TTimer;

procedure Init;
begin
   Timer01:=TTimer.Create(nil);
   Timer01.OnTimer:=@OnTimer01;
   Timer01.enabled:=false;
   Timer01.interval:=800;
end;

procedure OnTimer01(Sender: TObject);
begin
   buf:=UseItem;
   SendToServerEx(nik);
   buf:=EnchantItem;
   SendToServerEx(nik);
   if CurrentEnch=Enchant-1 then Timer01.enabled:=false;
end;

procedure Free;
begin
  Timer01.free;
  count:=0;
  CurrentEnch:=0;
end;

begin
    if FromServer and (pck[1]=#$81) then CurrentEnch:=ReadD(2);
    if FromClient and (pck[1]=#$14) then UseItem:=pck;
    if FromClient and (pck[1]=#$1B) then EnchantItem:=pck;
    if FromClient and (pck=#$1B#$02#$00#$00#$00) then
       begin
          pck:='';
          Timer01.enabled:=not(Timer01.enabled);
       end;
end.
Поправте плиз скриптец для интерлюда... А то включаю скрипт, а оно: выбирите предмет для заточки....
DarkBrain вне форума   Ответить с цитированием
Старый 18.06.2009, 13:53   #4
Пользователь
 
Аватар для HORSE
 
Регистрация: 06.06.2009
Сообщений: 92
Сказал Спасибо: 31
Имеет 9 спасибок в 8 сообщенях
HORSE пока неопределено
По умолчанию

сходи пивка попей на досуге лучше=))ты и так много сделал)))
HORSE вне форума   Ответить с цитированием
Старый 22.06.2009, 14:43   #5
Пользователь
 
Аватар для HORSE
 
Регистрация: 06.06.2009
Сообщений: 92
Сказал Спасибо: 31
Имеет 9 спасибок в 8 сообщенях
HORSE пока неопределено
По умолчанию

Скриптом точил вчера...всё пашет...
Вот мой скрипт
Код HTML:
const
Name='HORSE'; //сюда свой ник    
var  
timer:TTimer;  
x:byte; 

procedure Init;  
begin  
timer:=TTimer.Create(nil);  
timer.interval:=120; //скорость точки
timer.OnTimer:=@fireTimer;  
timer.enabled:=true;  
x:=1;
end;  

procedure Free;  
begin  
timer.Free;  
end;  

procedure fireTimer(Sender: TObject);  
begin  
case x of  
1:begin  
     buf:=hstr('19 38 97 03 10 00 00 00 00'); //пакет активации точки
     SendToServerEx(Name);  
     inc(x);  
   end;  
2:begin  
     buf:=hstr('5F C7 99 01 10 00 00 00 00'); //пакет заточки вещи
     SendToServerEx(Name);  
     x:=1;  
   end;  
end;{case}
end;

begin
if FromServer then  
  begin  
    case pck[1] of  
      #$21: begin //InventoryUpdate  
        if (ReadD(12)=9426)// ID вещи
 and (ReadD(34)=9)// предел заточки 
then timer.enabled:=false;;
      end;  
end;
end;
end.
Конечно бывает хлапа зависает...но это оч редко...главное всё правильно вписать и ждать счастья...ЗЫ: не советую наймер ниже 150 ставить - опасно для вещи (может переточить)...
HORSE вне форума   Ответить с цитированием
За это сообщение HORSE нажился спасибкой от:
Старый 23.06.2009, 04:11   #6
Новичок
 
Аватар для dev
 
Регистрация: 21.06.2009
Сообщений: 5
Сказал Спасибо: 7
Имеет 4 спасибок в 3 сообщенях
dev пока неопределено
По умолчанию

Код:
const
    characterName='dev';
    itemID=9428; // InventoryUpdate
    enchant=9;
    speed=250;
    
var  
    timer:TTimer;  
    x:byte;

procedure Init;  
    begin  
        timer:=TTimer.Create(nil);  
        timer.interval:=speed;
        timer.OnTimer:=@fireTimer;  
        timer.enabled:=true;  
        x:=1;
    end;

procedure Free;  
    begin  
        timer.Free;  
    end; 

procedure fireTimer(Sender: TObject);  
    begin  
        case x of  
            1:begin  
                buf:=hstr('19 C6 64 D4 10 00 00 00 00'); // UseItem
                SendToServerEx(characterName);  
                inc(x);  
            end;  
            2:begin  
                buf:=hstr('5F FD BC 02 10 00 00 00 00'); // RequestEnchantItem
                SendToServerEx(characterName);  
                x:=1;  
            end;  
        end;{case}
    end;

begin
    if FromServer then  
        begin  
            case pck[1] of  
                #$21: begin // InventoryUpdate
                    if (ReadD(12)=itemID) and (ReadD(34)=Enchant) then timer.enabled:=false;
                end;  
            end;
        end;
end.
Ядро от mks.
Модификация ядра от HORSE.
Конечный продукт от dev.

Enjoy.

Последний раз редактировалось dev, 23.06.2009 в 04:20.
dev вне форума   Ответить с цитированием
За это сообщение dev нажился спасибкой от:
Старый 23.06.2009, 04:26   #7
Новичок
 
Регистрация: 05.06.2009
Сообщений: 5
Сказал Спасибо: 2
Имеет 0 спасибок в 0 сообщенях
rembrant88 пока неопределено
По умолчанию

dev, вот это правда "Автозаточка, просто и сердито!" как и говорится в шапке темы, а главное что всё понятно и работает на ура!!)) ОГРОМНОЕ СПАСИБО!!!))
rembrant88 вне форума   Ответить с цитированием
Старый 23.06.2009, 21:05   #8
Новичок
 
Аватар для dev
 
Регистрация: 21.06.2009
Сообщений: 5
Сказал Спасибо: 7
Имеет 4 спасибок в 3 сообщенях
dev пока неопределено
По умолчанию

Обновил, дополнил:
Код:
// Ядро от mks.
// Модификация ядра от HORSE.
// Конечный продукт от dev.
// http://coderx.ru/showthread.php?t=1684

// Настройики
const
    characterName='dev'; // Имя персоонажа
    useEnchant=hstr('19 E6 C0 09 10 00 00 00 00'); // [0x19 (UseItem)]
    requestEnchant=hstr('5F E2 22 09 10 00 00 00 00'); // [0x5F (RequestEnchantItem)]
    itemID=9421; // ID предмета [0x21 (InventoryUpdate)]
    enchant=10; // До сколько скрипт должен заточить указанный предмет
    speed=150; // Скорость заточки
    start=2; // Соц. действие hello, запускает скрипт
    stop=3; // Соц. действие victory, остонавливает скрипт

// Ниже ничего можно не трогать    
var  
    timer:TTimer;  
    x:byte;

procedure Init;  
    begin  
        timer:=TTimer.Create(nil);  
        timer.interval:=speed;
        timer.OnTimer:=@fireTimer;  
        timer.enabled:=false;  
        x:=1;
    end;

procedure Free;  
    begin  
        timer.Free;  
    end; 

procedure fireTimer(Sender: TObject);  
    begin  
        case x of  
            1:begin  
                buf:=useEnchant;
                SendToServerEx(characterName);  
                inc(x);  
            end;  
            2:begin  
                buf:=requestEnchant;
                SendToServerEx(characterName);  
                x:=1;  
            end;  
        end;{case}
    end;

begin
    if FromClient then
        begin  
            case pck[1] of  
                #$34: begin
                    if (ReadD(2)=start) then timer.enabled:=true;
                    if (ReadD(2)=stop) then timer.enabled:=false;
                end;  
            end;
        end;
    if FromServer then  
        begin  
            case pck[1] of  
                #$21: begin
                    if (ReadD(12)=itemID) and (ReadD(34)=Enchant) then timer.enabled:=false;
                end; 
            end;
        end;
end.

Последний раз редактировалось dev, 28.06.2009 в 01:19. Причина: Исправлен лёгкий надочёт.
dev вне форума   Ответить с цитированием
За это сообщение dev нажился 2 спасибками от:
Старый 04.07.2009, 19:00   #9
Новичок
 
Регистрация: 04.07.2009
Сообщений: 18
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
SyMaSvoD пока неопределено
По умолчанию

Цитата:
Сообщение от dev Посмотреть сообщение
Обновил, дополнил:
Код:
// Ядро от mks.
// Модификация ядра от HORSE.
// Конечный продукт от dev.
// http://coderx.ru/showthread.php?t=1684

// Настройики
const
    characterName='dev'; // Имя персоонажа
    useEnchant=hstr('19 E6 C0 09 10 00 00 00 00'); // [0x19 (UseItem)]
    requestEnchant=hstr('5F E2 22 09 10 00 00 00 00'); // [0x5F (RequestEnchantItem)]
    itemID=9421; // ID предмета [0x21 (InventoryUpdate)]
    enchant=10; // До сколько скрипт должен заточить указанный предмет
    speed=150; // Скорость заточки
    start=2; // Соц. действие hello, запускает скрипт
    stop=3; // Соц. действие victory, остонавливает скрипт

// Ниже ничего можно не трогать    
var  
    timer:TTimer;  
    x:byte;

procedure Init;  
    begin  
        timer:=TTimer.Create(nil);  
        timer.interval:=speed;
        timer.OnTimer:=@fireTimer;  
        timer.enabled:=false;  
        x:=1;
    end;

procedure Free;  
    begin  
        timer.Free;  
    end; 

procedure fireTimer(Sender: TObject);  
    begin  
        case x of  
            1:begin  
                buf:=useEnchant;
                SendToServerEx(characterName);  
                inc(x);  
            end;  
            2:begin  
                buf:=requestEnchant;
                SendToServerEx(characterName);  
                x:=1;  
            end;  
        end;{case}
    end;

begin
    if FromClient then
        begin  
            case pck[1] of  
                #$34: begin
                    if (ReadD(2)=start) then timer.enabled:=true;
                    if (ReadD(2)=stop) then timer.enabled:=false;
                end;  
            end;
        end;
    if FromServer then  
        begin  
            case pck[1] of  
                #$21: begin
                    if (ReadD(12)=itemID) and (ReadD(34)=Enchant) then timer.enabled:=false;
                end; 
            end;
        end;
end.
слушай что то у меня не получаеться. пробовал не фига не точиться. играю на серве lineagetwo.ru. опиши плиз по подробно как пользоваться скприптом. что и какие данные куда вписывать)
__________________
Жизнь хороша, когда бухаешь не спеша
SyMaSvoD вне форума   Ответить с цитированием
Старый 11.07.2009, 21:10   #10
Пользователь
 
Регистрация: 11.07.2009
Сообщений: 65
Сказал Спасибо: 64
Имеет 0 спасибок в 0 сообщенях
Imperial2008 пока неопределено
По умолчанию

Цитата:
Сообщение от dev Посмотреть сообщение
Обновил, дополнил:
Код:
// Ядро от mks.
// Модификация ядра от HORSE.
// Конечный продукт от dev.
// http://coderx.ru/showthread.php?t=1684

// Настройики
const
    characterName='dev'; // Имя персоонажа
    useEnchant=hstr('19 E6 C0 09 10 00 00 00 00'); // [0x19 (UseItem)]
    requestEnchant=hstr('5F E2 22 09 10 00 00 00 00'); // [0x5F (RequestEnchantItem)]
    itemID=9421; // ID предмета [0x21 (InventoryUpdate)]
    enchant=10; // До сколько скрипт должен заточить указанный предмет
    speed=150; // Скорость заточки
    start=2; // Соц. действие hello, запускает скрипт
    stop=3; // Соц. действие victory, остонавливает скрипт

// Ниже ничего можно не трогать    
var  
    timer:TTimer;  
    x:byte;

procedure Init;  
    begin  
        timer:=TTimer.Create(nil);  
        timer.interval:=speed;
        timer.OnTimer:=@fireTimer;  
        timer.enabled:=false;  
        x:=1;
    end;

procedure Free;  
    begin  
        timer.Free;  
    end; 

procedure fireTimer(Sender: TObject);  
    begin  
        case x of  
            1:begin  
                buf:=useEnchant;
                SendToServerEx(characterName);  
                inc(x);  
            end;  
            2:begin  
                buf:=requestEnchant;
                SendToServerEx(characterName);  
                x:=1;  
            end;  
        end;{case}
    end;

begin
    if FromClient then
        begin  
            case pck[1] of  
                #$34: begin
                    if (ReadD(2)=start) then timer.enabled:=true;
                    if (ReadD(2)=stop) then timer.enabled:=false;
                end;  
            end;
        end;
    if FromServer then  
        begin  
            case pck[1] of  
                #$21: begin
                    if (ReadD(12)=itemID) and (ReadD(34)=Enchant) then timer.enabled:=false;
                end; 
            end;
        end;
end.
Нет, ну все работает отлично, за исключением того, что:
1. Необходимо вписывать вручную хексы, что не очень удобно...
2. Самое главное, не работает остановка по достижению определонного значения точки...
Гляньте, плиз что с последним пунктом, так как отладить его нормально я точно не смогу.
Заранее благодарю)
Imperial2008 вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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