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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Результаты опроса: Нужна ли такая тема форуму?
Да, мне бы была полезна. 34 66.67%
Пускай будет, но мне и так норм. 10 19.61%
Нет, не нужна. 7 13.73%
Голосовавшие: 51. Вы ещё не голосовали в этом опросе

Ответ
 
Опции темы Опции просмотра
Старый 06.03.2011, 10:23   #21
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

BaseItems: array[1..maxitems, 1..12] of integer; - не круто. 12 интеджеров у вещи, а используются по ходу только 4 это раз, а во-вторых массив не динамический, что тоже не круто. В-третьих что-то не видно добавления итема через ИнвентарьАпдейт, стоит просто 1: obj:=0;, дальше я так понял его просто ищут в инвентаре по oid'у, не находят и... всё?
__________________
Начало.
supernewbie вне форума   Ответить с цитированием
Старый 06.03.2011, 12:08   #22
Местный
 
Регистрация: 05.11.2008
Сообщений: 168
Сказал Спасибо: 35
Имеет 139 спасибок в 66 сообщенях
Fer123 пока неопределено
По умолчанию

А зачем динамический если больше maxitems вещей не может быть.
Все что не используется можно легко убрать.
При obj:=0 ищется первая не занятая ячейка массива и ей присваивается новый обжект ид и все остальное.
Fer123 вне форума   Ответить с цитированием
Старый 06.03.2011, 12:21   #23
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

оу, интересно интересно)
ну скажем у меня вещей в инвентаре 10 всего, а массив на 80, ну ладно.. каг хатите..

Добавлено через 1 минуту
итем лист тоже не особенно, очищать массив, заполнять массив..
хотя тут по-моему и так сойдет..
__________________
Начало.

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

supernewbie, давай свой вариант. Посмотрим, покритикуем. =)
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
Старый 06.03.2011, 12:26   #25
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

хех) окей, где-то писал... ща найду..
delphi Код:
const Name='OldMen'; offset=68; var Inventory:array of variant; procedure Init; //Вызывается при включении скрипта begin buf:=#$14; SendToServerEx(Name); SetLength(Inventory,0); end; procedure Free; //Вызывается при выключении скрипта begin end; procedure ItemList; var i:integer; v:variant; begin SetLength(Inventory,0); if ReadH(4)<1 then exit; for i:=0 to ReadH(4)-1 do begin v:=[0,1,2]; v[0]:=ReadD(i*offset+6)//0 - OID v[1]:=ReadD(i*offset+10); //1 - ItemID v[2]:=ReadQ(i*offset+18); //2 - Count SetLength(Inventory,length(Inventory)+1); Inventory[length(Inventory)-1]:=v; end; end; procedure InventoryUpdate; var i,j:integer; v:variant; begin if ReadH(2)<1 then exit; for i:=0 to ReadH(2)-1 do begin v:=[0,1,2]; v[0]:=ReadD(i*offset+6); v[1]:=ReadD(i*offset+10); v[2]:=ReadQ(i*offset+18); case ReadH(i*offset+4) of 1: begin SetLength(Inventory,length(Inventory)+1); Inventory[length(Inventory)-1]:=v; end; 2: begin j:=FindItemByParams(v,0); if j=-1 then exit; Inventory[j]:=v; end3: begin j:=FindItemByParams(v,0); if j=-1 then exit; if (j<>length(Inventory)-1) then Inventory[j]:=Inventory[length(Inventory)-1]; SetLength(Inventory,length(Inventory)-1); end; end;    end; end; function FindItemByParams(v:variant;p:byte) : integer; var i:integer; tempv:variant; begin result:=-1; for i:=0 to length(Inventory)-1 do begin tempv:=Inventory[i]; if tempv[p]=v[p] then begin result:=i; exit; end; end; end; function Say2 : boolean; var i:integer; v:variant; begin result:=true; case ReadS(2) of 'how': CreatureSay('Всего вещей '+inttostr(length(Inventory))); 'say all' : for i:=0 to length(Inventory)-1 do begin v:=Inventory[i]; CreatureSay(IntToStr(i+1)+'. OID='+inttostr(v[0])+'; ItemID='+inttostr(v[1])+'; Count='+inttostr(v[2])); end; else result:=false; end; if result then pck:=''; end; procedure CreatureSay(s:string); begin buf:=#$4A; WriteMask('ddss',[0,3,'Инфо',s]); SendToClientEx(Name); end; //основная часть скрипта //вызывается при приходе каждого пакета если скрипт включен begin if FromServer and (ConnectName=Name) then case pck[1] of #$11: ItemList; #$21: InventoryUpdate; end; if FromClient and (ConnectName=Name) then case pck[1] of #$49: Say2; end; end.
__________________
Начало.
supernewbie вне форума   Ответить с цитированием
За это сообщение supernewbie нажился 4 спасибками от:
Старый 06.03.2011, 12:41   #26
Местный
 
Регистрация: 05.11.2008
Сообщений: 168
Сказал Спасибо: 35
Имеет 139 спасибок в 66 сообщенях
Fer123 пока неопределено
По умолчанию

Интересно.... Когда-то пробовал что-то подобное написать так и не получилось сделать двумерный динамический массив.
Fer123 вне форума   Ответить с цитированием
Старый 06.03.2011, 22:29   #27
Местный
 
Аватар для Nickers
 
Регистрация: 23.11.2009
Сообщений: 574
Сказал Спасибо: 134
Имеет 117 спасибок в 82 сообщенях
Nickers пока неопределено
По умолчанию

Не... Мне влом его курить))

Добавлено через 2 часа 15 минут
dyh9l, Мы чет встали... Че ща по скрипту нада делать? Я прост хз с чего начать)) Ты тамбика курнул?

Добавлено через 13 минут
У меня у самого проблема... Гдет нашел скрипт на Аргументацию для ленивых под Грацию, нада переделать под С6

Я так понял афтор специально поместил все сборки пакетов в 1 скрипт... Как они меняются с версиями? Брать ини из ПХ и все подгонять? оО Чет их дахрена...
Вложения
Тип файла: rar Арг.rar (6.5 Кб, 19 просмотров)
__________________
Пишу что думаю, но ничего не знаю...
[LameGuard|Скрипты l2phx]

Последний раз редактировалось Nickers, 06.03.2011 в 22:32. Причина: Добавлено сообщение
Nickers вне форума   Ответить с цитированием
Старый 07.03.2011, 01:49   #28
Местный
 
Аватар для L2.exe
 
Регистрация: 09.12.2010
Сообщений: 106
Сказал Спасибо: 18
Имеет 46 спасибок в 45 сообщенях
L2.exe пока неопределено
Подмигивание =))

Мне нужно в бота добавить функцию,что бы в случай смерти он нажимал "в деревню",как я понял,нужно поймать пакет который производит данное действие,далее вставить его в скрип.Только вот какой пакет и куда его вставлять понятия не имею
Оффтоп
L2.exe вне форума   Ответить с цитированием
За это сообщение L2.exe нажился спасибкой от:
Старый 07.03.2011, 02:54   #29
Местный
 
Регистрация: 11.06.2010
Сообщений: 644
Сказал Спасибо: 119
Имеет 85 спасибок в 77 сообщенях
dyh9l пока неопределено
По умолчанию

L2.exe, не встал всматриватся в скрипт, но увидел последние строчки
delphi Код:
if MyHP = 0 then             // Проверка не убили ли нас...              begin               SendMsg_to_CL('Нас убили...');               log.Lines.Add('Нас убили...');               StopGame;              end;
ну дак и добавь в этот блок отправлять пакет в город
p.s:
buf:=Hstr('пакет');
SendToServerEx(NickName);
__________________
dyh9l вне форума   Ответить с цитированием
Старый 07.03.2011, 21:01   #30
Новичок
 
Регистрация: 07.03.2011
Сообщений: 4
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Elees пока неопределено
По умолчанию

Всем привет! Мене хотелось бы знать.. вот я хачу что б при нажатии на какую нить кнопку(к примеру F4 прям в игре) и что б програмка l2phx отправила пакеты
как можно сделать такой скрипт

и ещё хачу что б пакеты отправлялись с паузай ну скажем с 0.2сек

такое вообще возможно
Elees вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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