PDA

Просмотр полной версии : простенькая фишка)


Scaem
01.08.2009, 23:22
народ подскажите как сделать скрипт по типу подъему итема с нужным ИД либо просто тупо по названию , допустим чтобы было так с моба падает адена и окно(на скрипте) поднимало само адену? не важно кто и как выбил сам писать не умею подскажите как или накалякайте мне )

QaK
02.08.2009, 11:16
Scaem, алгоритм подбора адены:
1)отслеживаешь пакеты DropItem, SpawnItem,запоминаешь координаты и Итем ИД выброшенных вещей.
2)Ну и по условию, если до вещи расстояние<некоторой константы - посылаем пакет Action с коодринатами дропа.

TAMBIK
02.08.2009, 12:15
народ подскажите как сделать скрипт по типу подъему итема с нужным ИД либо просто тупо по названию , допустим чтобы было так с моба падает адена и окно(на скрипте) поднимало само адену? не важно кто и как выбил сам писать не умею подскажите как или накалякайте мне )

он хочет по выбору подбирать
а это сложнее

вот здесь посмотри
http://coderx.ru/showthread.php?t=334

у мне ТХ подбирает по ID заточек
if FromServer and (pck[1]=#$16) then
case ReadD(10) of
952,951:begin // здесь пишу ID заточки
mybID:=ReadD(6);
mybX:=ReadD(14);
mybY:=ReadD(18);
mybZ:=ReadD(22);
buf:=#$1F;
WriteD(mybID);
WriteD(mybX);
WriteD(mybY);
WriteD(mybZ);
WriteC(0);
SendToServerEx( myName);
end;

Scaem
02.08.2009, 12:43
if FromServer and (pck[1]=#$16) then
case ReadD(10) of
952,951:begin // здесь пишу ID заточки
mybID:=ReadD(6);
mybX:=ReadD(14);
mybY:=ReadD(18);
mybZ:=ReadD(22);
buf:=#$1F;
WriteD(mybID);
WriteD(mybX);
WriteD(mybY);
WriteD(mybZ);
WriteC(0);
SendToServerEx( myName);
end;
end;



ПХ выдает что тут ошибка и не запускает ) мб чот не так?

TAMBIK
02.08.2009, 16:36
ПХ выдает что тут ошибка и не запускает ) мб чот не так?
Я показал ток кусок скрипта

Scaem
03.08.2009, 16:33
удружи скинь полный )

Добавлено через 21 час 0 минут
и тишина...

alexteam
03.08.2009, 18:41
вот здесь посмотри
http://coderx.ru/showthread.php?t=334
...или лыжи не едут...

Scaem
03.08.2009, 19:49
вообще не едут )

TAMBIK
03.08.2009, 22:53
NLObP
В дополнение к скрипту "кач дракона" выкладываю "ботика".
Возможности скрипта: Сам атакует, сам подбирает дроп относительно выбранного нами центра.
http://coderx.ru/showpost.php?p=647&postcount=57

NLObP
04.08.2009, 03:50
Данный скрипт поднимает всё, что выпало с мобов или с игроков в заданном радиусе от чара.
Скрипт для Грации. В самом скрипте указаны ID пакетов и для С4-Интерлюдии.
Например для пакета SpawnItem:
1-я строчка С4, 2-я Грация.
//SpawnItem - валяется вещь
// if FromServer and (ConnectName=Name) and (pck[1]=#$0B) then begin
// if FromServer and (ConnectName=Name) and (pck[1]=#$05) then begin


ЗЫЖ вчера не успел дотестить, поэтому были ошибки, качайте снова.
ЗЗЫЖ на тестовом (http://coderx.ru/showthread.php?t=2071) проверил - работает

TAMBIK
04.08.2009, 09:06
Данный скрипт поднимает всё, что выпало с мобов или с игроков в заданном радиусе от чара (потестить надо)

СПАСИБО !!!

можно бы указать под какие хроники

childik
08.09.2009, 15:05
помогите нубу, после запуска скрипта выдает такую ошибку...
-application error
Access violation at address 00665705 in module 'l2ph.exe'. Read of address 00000014.
что я не так сделал? ((

TAMBIK
08.09.2009, 16:08
помогите нубу, после запуска скрипта выдает такую ошибку...
какого скрипта ?
версия l2phx ?

childik
08.09.2009, 17:01
Данный скрипт поднимает всё, что выпало с мобов или с игроков в заданном радиусе от чара.
Скрипт для Грации. В самом скрипте указаны ID пакетов и для С4-Интерлюдии.
Например для пакета SpawnItem:
1-я строчка С4, 2-я Грация.
//SpawnItem - валяется вещь
// if FromServer and (ConnectName=Name) and (pck[1]=#$0B) then begin
// if FromServer and (ConnectName=Name) and (pck[1]=#$05) then begin


ЗЫЖ вчера не успел дотестить, поэтому были ошибки, качайте снова.
ЗЗЫЖ на тестовом (http://coderx.ru/showthread.php?t=2071) проверил - работает

вот этого...
версия l2phx 3.5.22.139
сервер шокволд -)

Добавлено через 23 минуты
сейчас попробовал другой скрипт, такая же ошибка(((

alexteam
08.09.2009, 17:17
из серии "интересно... а почему у меня нет" %)

childik
08.09.2009, 21:32
alexteam, не понял шутки -)
я прогой первый раз пользуюсь, так что в ней полный нуб пока...
вроде все норм настроил... пакеты ловит, отсылает... а вот скрипты не запускает((( мб прога тупит, щас другую версию скачаю...

alexteam
08.09.2009, 22:16
а вот скрипты не запускает(((
а где ты их запускаешь ?

childik
08.09.2009, 22:37
а где ты их запускаешь ?

вкладка дополнительно, открываю скрипт и запускаю кнопочкой "выполнить скрипт", на что мне прога выдает в отдельном окошке ту ошибку ,что я писал выше...

alexteam
08.09.2009, 23:29
а ты уверен что скрипты которые ты тут по форуму собираешь предназначены для запуска на вкладке "дополнительно" ?

childik
08.09.2009, 23:49
я же говорю, что пользуюсь прогой первый раз, а в хелпе про скрипты толком ни чего не написано... вернее написано, но в основном как правильно составлять, а не как запускать xDD
в разделе скриптинг, скрипт скомпилирован, сохранен.
я просто прошу подсказать ,как его запускать) а не критиковать ^^

NLObP
08.09.2009, 23:52
childik, для запуска, ставишь галочку напротив имени скрипта.

PS: поищи сообщения Тамбика, он даже скриншот выкладывал, где ставить.

childik
09.09.2009, 00:32
а ну значит он у мну просто не работал... )) ладно попробую разобрать почему не пахал )

Добавлено через 35 минут
всем спасибо, разобрался, все нормально пашет -)
вся лажа была в том, что скриптом дроп не поднимался, пока один раз не поднимешь ручками что-нибудь, потом все норм пашет.

childik
10.09.2009, 14:01
тут созрел еще нубский вопрос) ответ те плз, если не сложно... без издевательств только^^
хочу чтоб бот поднимал к примеру только "а" арморки и випонки...
в скрипте NLObPа "pickup" все циклы меняю "for i:=1 to max do begin" на "for i:=729 to 730 do begin"
не работает... пробовал манипулировать этими циферками^^ ни чего не получает, как только что-то меняю в цикле, сразу перестает работать (((
на самом деле нужен простой скрипт на поднимание предмета с id x, но т.к. отсутствуют даже азы программирования, ни чего не получается...
если у кого-то будет свободное время, помогите плз)
заранее огромное спасибо!

Добавлено через 10 минут
самым простым способом для меня выглядело отредактировать тот скрип...
мб можно просто заменить описатель предметов "array[1..4,1..max] of integer;"? сколько не мучаюсь, все равно не выходит -)

alexteam
10.09.2009, 14:09
после
#$05: begin
добавить проверку по типу
if not ReadD(6) in [12,13,14,15,16,17] then exit;
где 12, 13, 14, 15, 16, 17 и т.д. - itemid твоих а арморок.

childik
10.09.2009, 17:44
проверку что-то всегда проходит( поднимает все предметы все равно...
пробовал еще вставить эту же строчку после "#$16: begin" - эффект нулевой...

Добавлено через 1 час 52 минуты
на обратную операцию, т.е. чтобы не поднимать именно этот предмет, работает... if ReadD(6) in [12,13,14,15,16,17] then exit;
как сделать обратно подскажите плз.. (((

Добавлено через 11 минут
в общем наконец-то хоть чуть-чуть разобрался в этот гребанном программировании)
после приема пакета на выпадение дропа поставил проверку "if ReadD(10) in [xxx] then begin"
все вроде работает норм...
только так и не понял за какие байты к примеру циферка 10 отвечает тут "ReadD(10)" ?
так ни где и не нашел как проге "сказать" что именно это место пакета мне надо прочитать, чтобы узнать к примеру какой предмет выпал...
зы: в скрипте опытным путем подбирал циферку в функции ReadD ^^
зы2: сорри если всех замучил и коряво все так написал -)

alexteam
10.09.2009, 17:50
if not (ReadD(6) in [12,13,14,15,16,17]) then exit;

оффсет можно посмотреть в детальной расшифровке пакета.