у меня товаришь есть на одном форуме... так вот он писал: идем с другом на рыбалку. я предпочитаю дать ему в руки удочку и показать как рыбачить, чем дать в руки эту самую, уже пойманную рыбу.
написал я кстати... вот только что закончил свой мега корявый перебор инвентаря
находит у меня свиток - радости полные штаны.
вот положу тебе его, ну скопируешь, ну будешь пользоватся - так ведь все равно не поймешь как он работает, и опять при возникновении какой-либо проблемы пойдешь на форум, чтобы тебе опять сделали все готовое. и ник это не отмазка... все когда-то начинали...
PHP код:
if FromServer and (pck[1]=#$1B) //разбор инвентаря
then begin
countitem:= readh(4); //количество всех итемов
it1:=12;
it2:=13;
it3:=14;
it4:=15;
base1item:=it1+(28*countitem);
iditema:=pck[it1]+pck[it2]+pck[it3]+pck[it4];
repeat
if (iditema=HStr('95 17 00 00')) //свиток пробуждения
then begin
idsvitka:= pck[it1-4]+pck[it2-4]+pck[it3-4]+pck[it4-4];
end;
it1:= it1 + 28;
it2:= it2 + 28;
it3:= it3 + 28;
it4:= it4 + 28;
iditema:=pck[it1]+pck[it2]+pck[it3]+pck[it4];
until it1 > base1item;
if (idsvitka <> '1')
then begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS('айди свитка определен: ' + idsvitka);
SendToClient;
end
else begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS('свиток в инвентаре не обнаружен. пробуждение от слипа в данном случае не возможно.');
SendToClient;
end;
end;
нужно открыть инвентарь - и он найдет игровое айди предмета по айди по базе. если не найдет - то напишет, что не нашел. если что открывать инвентарь автоматом можно так:
PHP код:
buf:=HStr('0F'); //открытие инвентаря для поиска свитка в инвенторе
SendToServer;
Добавлено через 8 минут
зато у меня теперь вопрос. значит у меня авто помошник на пвп воротах, мини ангел хранитель, проверяет значения хп сопати, если = 0, то пытается заюзать скил резурект.
в случае если пока он бежит до мертвого сопати, он жмет в город и его хп становица больше 0, идет команда на возврат на стартовую точку.
ну и возникла идея, в случае, если он всетаки реснул сопати, а этот самый сопати тупанул и нажал отмена реса и продолжает лежать - так вот для такого случая решил сделать реакцию на слово "рес" в пати чате.
в пакете Say2 удобно - есть айди персонажа. по нему буду строить таргет. но вот ник персонажа все портит. ники ведь бывают разной длинны. вот пример:
PHP код:
1 пакет:
4A 07 E5 90 48 03 00 00 00 45 00 6C 00 66 00 69 00 65 00 63 00 00 00 40 04 35 04 41 04 00 00
2 пакет:
4A 39 8E 90 48 03 00 00 00 42 00 61 00 74 00 61 00 72 00 65 00 79 00 6B 00 61 00 00 00 40 04 35 04 41 04 00 00
ну не догоняю я как боротся с масками пакетов, и оттуда получать данные
вот как мне в этом случае - проверять пакет с конца. то есть конец то у обоих пакетов одинаковый слово "рес" - 40 04 35 04 41 04 00 00