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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 05.03.2010, 14:58   #1
Пользователь
 
Регистрация: 19.02.2010
Сообщений: 49
Сказал Спасибо: 1
Имеет 35 спасибок в 12 сообщенях
Vilson пока неопределено
По умолчанию

Цитата:
Сообщение от Sherman Посмотреть сообщение
Этот код работаит? Помоему case понимает только цыфры :-D
Цитата:
Expression -> SimpleExpression [RelOp SimpleExpression]...

SimpleExpression -> ['-'] Term [AddOp Term]...

Term -> Factor [MulOp Factor]...

Factor -> Designator
-> UnsignedNumber
-> String
-> '(' Expression ')'
-> NOT Factor
-> '[' SetConstructor ']'

CaseStmt -> CASE Expression OF CaseSelector/';'...
ЗЫ Не путай FasrScript и Паскаль.

Добавлено через 6 минут
Цитата:
Сообщение от supernewbie Посмотреть сообщение
дело не в пакетах, я переставлял их там. Хоть какие ставь, case pck of просто не работает!!! Эта проверка не робит и все. Дело не в пакетах. Инфа 100%.
Ты так и не ответил - ники чаров у тебя какие, 01 и 02? на остальные вопросы ты тоже не ответил. Ладно, замени case на if

Цитата:
if FromServer and (ConnectName='01') then
begin
if (pck= '29 1C 58 90 49 00 00 00 00 4D BF FE FF 08 57 02 00 A0 F3 FF FF') then TimerPck.Enabled := True;
if (pck='29 1C 58 90 49 01 00 00 00 4D BF FE FF 08 57 02 00 A0 F3 FF FF') and (TimerPck.Enabled) then PckIn := True;
end;
Что теперь?

Последний раз редактировалось Vilson, 05.03.2010 в 15:03. Причина: Добавлено сообщение
Vilson вне форума   Ответить с цитированием
Старый 15.03.2010, 15:14   #2
Местный
 
Аватар для Sherman
 
Регистрация: 24.04.2008
Сообщений: 364
Сказал Спасибо: 15
Имеет 116 спасибок в 83 сообщенях
Sherman пока неопределено
По умолчанию

Цитата:
Сообщение от Vilson Посмотреть сообщение
ЗЫ Не путай FastScript и Паскаль.
А чо их путать то. В итоге после куевой тучи оберток фастскриптовский case упретсо в паскалевский case, которому переданная в Expression строка не подходит, и сравнивая х.з. что (скорее всего указатель на эту самую строку) с х.з. чем (опять же с указателями на строки) в Statement, естественно этот case отработает только в ветке else
Sherman вне форума   Ответить с цитированием
Старый 15.03.2010, 19:57   #3
Пользователь
 
Регистрация: 19.02.2010
Сообщений: 49
Сказал Спасибо: 1
Имеет 35 спасибок в 12 сообщенях
Vilson пока неопределено
По умолчанию

Цитата:
Сообщение от Sherman Посмотреть сообщение
и сравнивая х.з. что (скорее всего указатель на эту самую строку) с х.з. чем (опять же с указателями на строки) в Statement, естественно этот case отработает только в ветке else
Афтор, какой результат тебе выдал этот скрипт?

delphi Код:
procedure Init; Var  s: string; begin  s:='проверка кейса строк работает';  case s of  'автор прав': ShowMessage('Sherman прав - в fs кейс со строками не работает');  'проверка кейса строк работает': ShowMessage('Sherman НЕ прав - в fs кейс со строками работает');  'кто здесь оО': ShowMessage('нет никого');  end; end; begin                       end.
Vilson вне форума   Ответить с цитированием
Старый 15.03.2010, 22:33   #4
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Vilson, у меня вот что
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.JPG
Просмотров: 26
Размер:	6.6 Кб
ID:	1022  
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
Старый 05.03.2010, 15:06   #5
Местный
 
Аватар для Breadfan
 
Регистрация: 29.04.2008
Сообщений: 830
Сказал Спасибо: 80
Имеет 230 спасибок в 169 сообщенях
Breadfan пока неопределено
По умолчанию

точно-точно: жили-жили, и не замечали что оказывается case ... of просто не работает....
Зачем ты в условия пакет пихаешь с жестким указанием координат чаров?? Вот что мне интересно

PS: кстати да, "Дело не в пакетах. Инфа 100%" - это ты верно подметил ))))
__________________
На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."

А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?

Последний раз редактировалось Breadfan, 05.03.2010 в 15:10.
Breadfan вне форума   Ответить с цитированием
Старый 05.03.2010, 15:15   #6
Пользователь
 
Регистрация: 19.02.2010
Сообщений: 49
Сказал Спасибо: 1
Имеет 35 спасибок в 12 сообщенях
Vilson пока неопределено
По умолчанию

да он вообще тут фигню проверяет, под его условие достаточно сделать так
delphi Код:
if FromServer and (ConnectName='01') then        case pck[1] of    #$29:if not TimerPck.Enabled then TimerPck.Enabled := True else PckIn := True;      end;

Моего терпения хватит еще на 1-2 ответа..

Последний раз редактировалось Vilson, 05.03.2010 в 15:19.
Vilson вне форума   Ответить с цитированием
Старый 05.03.2010, 15:31   #7
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

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

Код:
Var
 PckIn: Boolean = False;
 TimerPck: TTimer;

procedure Init; 
begin
 TimerPck:=TTimer.Create(nil);
 TimerPck.OnTimer:=@OnTimerPck;
 TimerPck.Enabled:=False;
 TimerPck.interval:=5000;
end;

procedure OnTimerPck(Sender: TObject);
begin
 if PckIn then
 begin
   buf:=HStr('17 C7 53 35 40 01 00 00 00 7C C9 FE FF 6A 57 02 00 8D F3 FF FF');
   SendToServerEx('Jou');
 end;
 TimerPck.Enabled := False;
 PckIn := False;    
end;

procedure Free; 
begin
 TimerPck.Free;
end;

begin
if FromServer and (ConnectName='Karog') then
begin
if (pck='62 1E 00 00 00 01 00 00 00 03 00 00 00 B5 05 00 00') then TimerPck.Enabled := True;
if (pck='62 1E 00 00 00 01 00 00 00 03 00 00 00 53 08 00 00') and (TimerPck.Enabled) then PckIn := True;
end;           
end.
Не робит абсолютно(
supernewbie вне форума   Ответить с цитированием
Старый 05.03.2010, 15:51   #8
Пользователь
 
Регистрация: 19.02.2010
Сообщений: 49
Сказал Спасибо: 1
Имеет 35 спасибок в 12 сообщенях
Vilson пока неопределено
По умолчанию

Цитата:
Сообщение от supernewbie Посмотреть сообщение
не хотел палить скрипт, но ладно, выложу...
Не робит абсолютно(
Это не скрипт, это набор бессмысленного кода. Какие у тебя хроники и что по твоему должен делать этот "скрипт"?
Vilson вне форума   Ответить с цитированием
Старый 05.03.2010, 16:11   #9
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

Цитата:
Сообщение от Vilson Посмотреть сообщение
Это не скрипт, это набор бессмысленного кода. Какие у тебя хроники и что по твоему должен делать этот скрипт?
Хроники ХБ. Скрипт должен проверять когда приходит сообщение что я получил кристал, потом он в течении 5 секунд проверяет не пришло ли сообщение что я получил гем, если гем я не получил, то Второй чел выбрасывает кристал.
supernewbie вне форума   Ответить с цитированием
Старый 05.03.2010, 16:52   #10
Пользователь
 
Регистрация: 19.02.2010
Сообщений: 49
Сказал Спасибо: 1
Имеет 35 спасибок в 12 сообщенях
Vilson пока неопределено
По умолчанию

Цитата:
Сообщение от supernewbie Посмотреть сообщение
Хроники ХБ. Скрипт должен проверять когда приходит сообщение что я получил кристал, потом он в течении 5 секунд проверяет не пришло ли сообщение что я получил гем, если гем я не получил, то Второй чел выбрасывает кристал.
Пакет который ты хочешь отправить:

Цитата:
Tип: 0x19 (UseItem)
Pазмер: 9+2
0002 d ObjectID: 1076569698 (0x402B2662)
0006 d Unknown: 0 (0x00000000)
---
Ты уверен что правильно получил ObjectID: 1076569698? Как ты его получил? Ты не забыл что при получении нового предмета ObjectID будет уже совсем другой?

Пакеты которые ты анализируешь выглядят не совсем правильно:

Цитата:
Tип: 0x62 (SystemMessage)
Pазмер: 17+2
0002 d MsgID: Получено: $s1. ID:30 (0x001E)
0006 d typesCount: 1 (0x00000001)
[Начало повторяющегося блока 1/1]
0010 d 0=Str,1=Int,2=NpcID,3=ItmID,4=SklID,6=Amnt: 3 (0x00000003)
0014 s data: ?
[Конец повторяющегося блока 1/1]
Vilson вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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