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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 18.02.2009, 19:23   #1
Пользователь
 
Регистрация: 05.02.2009
Сообщений: 62
Сказал Спасибо: 1
Имеет 18 спасибок в 9 сообщенях
lexayar пока неопределено
По умолчанию

Snat4, Вроде нормально все. Попробуй перед этим кодом добавить:
Код:
if pck = '' then exit;
Да, и написал бы еще какая ошибка хоть.
lexayar вне форума   Ответить с цитированием
Старый 18.02.2009, 21:47   #2
Рыцарь
 
Аватар для Grinch
 
Регистрация: 29.02.2008
Сообщений: 928
Сказал Спасибо: 127
Имеет 130 спасибок в 93 сообщенях
Grinch пока неопределено
По умолчанию

Snat4, а выложи полностью пакет. и что это за пакет хотя б какие хроники.
Grinch вне форума   Ответить с цитированием
Старый 19.02.2009, 01:26   #3
Новичок
 
Регистрация: 13.12.2008
Сообщений: 4
Сказал Спасибо: 3
Имеет 0 спасибок в 0 сообщенях
Snat4 пока неопределено
По умолчанию

Такая ошибка:
Код:
Access violation at address 00550C21 in module 'l2pbx.exe'. Read of address 00000000.
#$1F - пакет от клиента "Action" (в основном выбор таргета).
К примеру такой:
Код:
1F BD D8 00 4B C2 6D 00 00 C8 2A 00 00 77 EF FF FF 00
Основная прелесть в том, что даже если я пишу вот такое, то та же ошибка:
Код:
if ((FromClient) and (pck[1]=#$19) and (NSetup=1)) then
              begin
                   ItemWindStrike:=ReadD(2);
                   pck:='';
                   NSetup:=2;
                   Mess('Blah-Blah-Blah');
              end;
Где #$19 - от клиента UseItem пакет.

ItemWindStrike, MyID: integer;

Хроники - камаэль Хэллбаунд. В настройках пнх у меня стоит галочка на Kamael и снята с Gracia. Версия пнх - L2phx 3.4.1.61.

ЗЫ: прошу прощения что сразу не все написал подробно.

Последний раз редактировалось Snat4, 19.02.2009 в 01:31.
Snat4 вне форума   Ответить с цитированием
Старый 19.02.2009, 14:10   #4
Пользователь
 
Регистрация: 05.02.2009
Сообщений: 62
Сказал Спасибо: 1
Имеет 18 спасибок в 9 сообщенях
lexayar пока неопределено
По умолчанию

Snat4, Тут уже похоже дело не в скрипте а пакетхаке. У меня бывает слетает так же, рестарт PHX помогает.
Если вообще этот код убрать, ошибка вылетает?
lexayar вне форума   Ответить с цитированием
Старый 19.02.2009, 15:09   #5
Новичок
 
Регистрация: 13.12.2008
Сообщений: 4
Сказал Спасибо: 3
Имеет 0 спасибок в 0 сообщенях
Snat4 пока неопределено
По умолчанию

Цитата:
Сообщение от lexayar Посмотреть сообщение
Snat4, Тут уже похоже дело не в скрипте а пакетхаке. У меня бывает слетает так же, рестарт PHX помогает.
Если вообще этот код убрать, ошибка вылетает?
Если убрать строчку
Код:
pck:='';
, тогда все нормально работает. Но мне желательно бы блокировать эти пакеты

Есть нъюанс: Если нажать на кнопочку "Ок" когда вылетает эта ошибка в РНХ, то скрипт продолжает нормально работать, при этом пакет, которых я хотел блокировать, все-таки проходит. Что-то похоже на Delay но только пока не нажму на кнопку "Ок"))

Еще нъюансик: когда вылетает эта ошибка - клиент полностью зависает и ни на что не реагирует. После нажатия на кнопочке "Ок" все продолжает нормально работать.

Последний раз редактировалось Snat4, 19.02.2009 в 15:16.
Snat4 вне форума   Ответить с цитированием
Старый 19.02.2009, 16:49   #6
Пользователь
 
Регистрация: 05.02.2009
Сообщений: 62
Сказал Спасибо: 1
Имеет 18 спасибок в 9 сообщенях
lexayar пока неопределено
По умолчанию

У тебя походу еще скрипты запущены после этого, добавь в них проверку:
Код:
if pck = '' then exit;
Добавлено через 2 минуты
Либо в этом же скрипте ниже идет проверка 1-го элемента пакета, а т.к. пакет уже пустой (у него нет 1-го элемента), то вылетает ошибка. еще после Mess('Blah-Blah-Blah'); поставь Exit;

Добавлено через 8 минут
Вообще то при этом должна другая ошибка выдаваться, но у PHX походу крышу сносит

Последний раз редактировалось lexayar, 19.02.2009 в 16:49. Причина: Добавлено сообщение
lexayar вне форума   Ответить с цитированием
За это сообщение lexayar нажился спасибкой от:
Старый 19.02.2009, 18:45   #7
Новичок
 
Регистрация: 13.12.2008
Сообщений: 4
Сказал Спасибо: 3
Имеет 0 спасибок в 0 сообщенях
Snat4 пока неопределено
По умолчанию

До меня дошло! Спасибо, lexayar! Сейчас попробую))
Snat4 вне форума   Ответить с цитированием
Старый 20.05.2009, 03:37   #8
Новичок
 
Регистрация: 20.05.2009
Сообщений: 2
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
telefunken82 пока неопределено
По умолчанию

Доброй ночки у меня вопросик есть, Xkor показал в первом обучающем скриптике;
begin
if FromClient and (ConnectName='SokolA')
and (pck=HStr('1b 04 00 00 00')) then begin
buf:=HStr('45 00 00 00 00 00 00 00 00 00');
SendToServerEx('SokolB');
pck:='';
end;
end.
я запустил 2 окна рнх включен и работает именя персов есть пакеты бегают ))
имена чаров заменил в скрипте на свои но после нажатия выполнить получаю следующее

List index out of bounds (24).

подскажите что сделал не правильно

Добавлено через 24 минуты
с ошибкой разобрался
изменил пакеты ( у меня грация финал)
begin
if FromClient and (ConnectName='terr1')
and (pck=HStr('56 0D 00 00 00 00 00 00 00')) then begin
buf:=HStr('56 0E 00 00 00 00 00 00 00 00');
SendToServerEx('terr2');
pck:='';
end;
end.

но теперь когда terr1 выполняет действие победа, терр2 стоит а терр1 выполняет ето же действие победа

Последний раз редактировалось telefunken82, 20.05.2009 в 03:37. Причина: Добавлено сообщение
telefunken82 вне форума   Ответить с цитированием
Старый 20.05.2009, 12:40   #9
Рыцарь
 
Аватар для Grinch
 
Регистрация: 29.02.2008
Сообщений: 928
Сказал Спасибо: 127
Имеет 130 спасибок в 93 сообщенях
Grinch пока неопределено
По умолчанию

Цитата:
Сообщение от telefunken82 Посмотреть сообщение
но теперь когда terr1 выполняет действие победа, терр2 стоит а терр1 выполняет ето же действие победа
Grinch вне форума   Ответить с цитированием
Старый 21.05.2009, 01:56   #10
Новичок
 
Регистрация: 20.05.2009
Сообщений: 2
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
telefunken82 пока неопределено
По умолчанию

разобрался
вот что получил
begin
if FromClient and (ConnectName='terr1') and (pck=HStr('56 00 00 00 00 00 00 00 00 00'))
then
begin
buf:=HStr('56 0D 00 00 00 00 00 00 00 00');
SendToServerEx('terr2');
pck:='';
end;
end.
так все работает
telefunken82 вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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