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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 01.04.2008, 21:04   #331
Пользователь
 
Аватар для APXAHGEJI
 
Регистрация: 08.03.2008
Сообщений: 77
Сказал Спасибо: 31
Имеет 19 спасибок в 15 сообщенях
APXAHGEJI
По умолчанию

ReadH(i) аналогично (pck[i]+pck[i+1]), но это не одно и тоже.
ReadH() возвращает число в десятиричной системе,
а pck[] в шестнадцетиричной.
APXAHGEJI вне форума   Ответить с цитированием
Старый 01.04.2008, 21:45   #332
Новичок
 
Регистрация: 01.04.2008
Сообщений: 8
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Undeada
По умолчанию

а есть встроенная функция перевода из шестнадцатиричной в десятичную?
или может быть скрипт
Undeada вне форума   Ответить с цитированием
Старый 02.04.2008, 00:41   #333
Пользователь
 
Аватар для APXAHGEJI
 
Регистрация: 08.03.2008
Сообщений: 77
Сказал Спасибо: 31
Имеет 19 спасибок в 15 сообщенях
APXAHGEJI
По умолчанию

ХМ, так я про что говорю, pck это тупо кусок (1 байт пакета, условно, две циферки подряд в пакете) в 16 системе,
а вот ReadC это тот же кусок (1 байт пакета) тока в 10 системе.
ReadH - 2 байта,
ReadD - 4 байта, и тд.

Добавлено спустя 35 минут 53 секунды:
Уж извините за флуд :oops: , но вдруг кому сгодится :)
Скриптик, отправляет торг сообщения по времени и записывает все приват сообщения,
соответственно на которые можно будет ответить позже.
Еще я там в конце заблочил, ответ на собщения в пм, что типа меня нет, приду отвечу))
У на серве торг боты разрешены)) , а у вас?
Код:
//Скрипт торг сообщений by APXAHrEJI
//Всё активируется соц действиями
//Yes - выводит одно торг сообщение
//No - автоматически повторяет сообщение чере некоторый интервал врмени (по умолчанию 30 сек.)
//Unaware - если вам во время вашего отсутствия что-то написали в ПМ 
//то, по нажатию клавиши выводится те самые сообщения , одно нажатие одно сообщение.
//Applaud - удаляет все сообщения
Const
  Name = 'Ник Перса';
  Yahoo= ' Сюда торг сообщение                                        '+
             ' если не поместилось туда мона и сюда              ';
Var
  TimerToSay: TTimer;
  Flag: boolean;
  N, M: Integer;
  SaveMsg: array of String;
  SaveNick: array of String;

Procedure Init;
begin
  TimerToSay:=TTimer.Create(nil);
  TimerToSay.OnTimer:=@SayByTime;
  TimerToSay.Enabled:= False;
  TimerToSay.Interval:= 30000;//интервал повторения сообщения
  Flag:= False;
  N:= 0;
  M:= 0;
end;

procedure Free;
begin
  TimerToSay.Free;
  SetLength (SaveMsg, 0);
  SetLength (SaveNick, 0);
end;

procedure PrivatSay;
begin
  buf:=hstr('4A 00 00 00 00');
  WriteD(2);
  WriteS(SaveNick[M]);
  WriteS(SaveMsg[M]);
  SendToClientEx(Name);
end;

Procedure Say;
begin
  buf:= #$38;
  WriteS(Yahoo);
  WriteD(8);
  SendToServerEx (Name);
end;

Procedure Palevo;
begin
  buf:= #$38;
  WriteS('Меня нет. Отвечу позже.');
  WriteD(2);
  WriteS(SaveNick[N-1]);
  SendToServerEx(Name);
end;

Procedure SayByTime(Sender: TObject);
begin
  Say;
end;

Begin
  If pck='' then exit;

  if FromClient and (ConnectName=Name) and (pck[1]=#$1B) then begin
    case ReadD(2) of
      6: Say;
      5: If Flag then begin
           Flag:= False;
           TimerToSay.enabled:=false;
         end
         else begin
           Say;
           Flag:= True;
           TimerToSay.enabled:=True;
         end;
      8: If (N <> 0) then begin
           PrivatSay;
           If (M<(N-1))then Inc(M) else M:=0;
         end;
      11: begin
            M:=0;
            N:=0;
            SetLength (SaveMsg, N);
            SetLength (SaveNick, N);
          end;
    end;
    pck:= '';
  end;

  If FromServer and (ConnectName=Name) then
    if (pck[1]= #$4A) and (pck[6]=#$02) then begin
      Inc(N);
      SetLength (SaveMsg, N);
      SetLength (SaveNick, N);
      SaveNick[N-1]:= ReadS(10);
      SaveMsg[N-1]:= ReadS(2*Length(SaveNick[N-1])+2 +10);
      //Palevo; //раскоментарив, бот будет отвечать на сообщения в ПМ  
    end;
End.
APXAHGEJI вне форума   Ответить с цитированием
Старый 02.04.2008, 00:43   #334
Новичок
 
Регистрация: 01.04.2008
Сообщений: 8
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Undeada
По умолчанию

понял, ReadH(i) = ReadC(i)+ReadC(i+1)
Undeada вне форума   Ответить с цитированием
Старый 02.04.2008, 01:05   #335
Пользователь
 
Аватар для APXAHGEJI
 
Регистрация: 08.03.2008
Сообщений: 77
Сказал Спасибо: 31
Имеет 19 спасибок в 15 сообщенях
APXAHGEJI
По умолчанию

Угумс :ROFL:

Добавлено спустя 4 минуты 52 секунды:
Хотя нет, сдесь же перевод идет :) из ситемы в систему

Добавлено спустя 6 минут 40 секунд:
тоесть допусти пакет 2F 22 05 00 00, в нем
Pck[1]=2F
pck[2]=22
Pck[1]+pck[2]= 2F 22
ReadH= 8751, но
ReadC(1)= 47
ReadC(2)= 22
RaedC(1)+Read(2)=69

Сдесь же перевод идет из системы в систему, а переводишь число получаетсся по частям.

Добавлено спустя 2 минуты 42 секунды:
Ошибочка таам у меня ReadC(2)= 34
и соответственно
ReadC(1)+Read(2)= 81
но сути это не меняет
APXAHGEJI вне форума   Ответить с цитированием
Старый 02.04.2008, 01:09   #336
Новичок
 
Регистрация: 01.04.2008
Сообщений: 8
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Undeada
По умолчанию

млин. получается без нее никак.
и почему ГГ с 3.1.8 не грузит, а с 3.1.6 все норм?
Undeada вне форума   Ответить с цитированием
Старый 02.04.2008, 01:21   #337
Пользователь
 
Аватар для APXAHGEJI
 
Регистрация: 08.03.2008
Сообщений: 77
Сказал Спасибо: 31
Имеет 19 спасибок в 15 сообщенях
APXAHGEJI
По умолчанию

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

А может ты где-то галочку лишнюю поставил, или наоборот не поставил, в разделе основное.
APXAHGEJI вне форума   Ответить с цитированием
Старый 02.04.2008, 12:24   #338
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию Re:

Цитата:
Сообщение от APXAHGEJI
ReadH(i) аналогично (pck[i]+pck[i+1]), но это не одно и тоже.
ReadH() возвращает число в десятиричной системе,
а pck[] в шестнадцетиричной.
ИМХО одинаково, что десятичные сложить, что шестнадцатеричные сложить в итоге одно и тоже число должно быть, только в своей системе исчисления.

HEX -> #$0A+#$10=#$1A (=26) или DECimal -> 10+16=26
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
Старый 02.04.2008, 12:45   #339
Новичок
 
Регистрация: 22.11.2007
Сообщений: 17
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Rubec
По умолчанию

Кароче я нифига не понял шо вы там считаете но что то мне подсказывает что NLObP прав )
Rubec вне форума   Ответить с цитированием
Старый 02.04.2008, 13:06   #340
Пользователь
 
Аватар для APXAHGEJI
 
Регистрация: 08.03.2008
Сообщений: 77
Сказал Спасибо: 31
Имеет 19 спасибок в 15 сообщенях
APXAHGEJI
По умолчанию

NLObP, ага правильно, а вот если принять pck[1]=#$0A, а pck[2]=#$10, то pck[1]+pck[2]=#$0A#$10
APXAHGEJI вне форума   Ответить с цитированием
За это сообщение APXAHGEJI нажился спасибкой от:
Ответ

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



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

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


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

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

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