 |
Окрытие ХХ - Общение разработчиков - Программирование для Perfect World, общение и обсуждене разработок |
21.08.2011, 22:48
|
#1
|
|
|
|
Разведчик
|
 Регистрация: 12.11.2009
 Сообщений: 0
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Окрытие ХХ
Всем доброго времени суток, когда берешь квест на обычной локации (на тарелке или яшму), то берешь NPS в таргет открываешь диалог и берешь квест, id nps и id квеста не изменяются
selectTarget
Код:
Func selectTarget($targetId, $pid)
;//Select the NPC/Mob/Player denoted by targetId
local $packet, $packetSize
$packet = '0200'
$packet &= _hex($targetId)
$packetSize = 6
sendPacket($packet, $packetSize, $pid)
EndFunc
startNpcDialogue
Код:
Func startNpcDialogue($npcId, $pid)
;//Opens up an NPC's main menu. Is necessary before
;//accepting/handing in quests, buy/sell/repair
local $packet, $packetSize
$packet = '2300'
$packet &= _hex($npcId)
$packetSize = 6
sendPacket($packet, $packetSize, $pid)
EndFunc
acceptQuest
Код:
Func acceptQuest($questId, $pid)
;//Accept a new quest
local $packet, $packetSize
$packet = '2500'
$packet &= '07000000'
$packet &= '04000000'
$packet &= _hex($questId)
$packetSize = 14
sendPacket($packet, $packetSize, $pid)
EndFunc
но если открывать хх (при входе 3 столба) то в зависимости от того в какую локу попадешь изменяется id nps (столба)
PW_PacketListener
Код:
02 00 28 67 70 84 (Выделить моба/НПС/Игрока.)
23 00 28 67 70 84 (Неизвестный пакет)
25 00 07 00 00 00 04 00 00 00 49 23 00 00 (Неизвестный пакет) квест
31 00 03 00 00 00 01 49 23 (Неизвестный пакет)
08 00 (Сбросить таргет.)
02 00 AC 5F 70 84 (Выделить моба/НПС/Игрока.)
23 00 AC 5F 70 84 (Неизвестный пакет)
25 00 07 00 00 00 04 00 00 00 49 23 00 00 (Неизвестный пакет) квест
31 00 03 00 00 00 01 49 23 (Неизвестный пакет)
08 00 (Сбросить таргет.)
подскажите в какую сторону копать
ps кто знает что за пакет 31 00 03 00 00 00 01 49 23 (Неизвестный пакет)
|
|
|
21.08.2011, 23:52
|
#2
|
|
|
|
Разведчик
|
 Регистрация: 03.03.2011
 Сообщений: 19
 Популярность: 36
 Сказал(а) спасибо: 17
Поблагодарили 12 раз(а) в 4 сообщениях
|
Re: Окрытие ХХ
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
Всем доброго времени суток, когда берешь квест на обычной локации (на тарелке или яшму), то берешь NPS в таргет открываешь диалог и берешь квест, id nps и id квеста не изменяются
selectTarget
Код:
Func selectTarget($targetId, $pid)
;//Select the NPC/Mob/Player denoted by targetId
local $packet, $packetSize
$packet = '0200'
$packet &= _hex($targetId)
$packetSize = 6
sendPacket($packet, $packetSize, $pid)
EndFunc
startNpcDialogue
Код:
Func startNpcDialogue($npcId, $pid)
;//Opens up an NPC's main menu. Is necessary before
;//accepting/handing in quests, buy/sell/repair
local $packet, $packetSize
$packet = '2300'
$packet &= _hex($npcId)
$packetSize = 6
sendPacket($packet, $packetSize, $pid)
EndFunc
acceptQuest
Код:
Func acceptQuest($questId, $pid)
;//Accept a new quest
local $packet, $packetSize
$packet = '2500'
$packet &= '07000000'
$packet &= '04000000'
$packet &= _hex($questId)
$packetSize = 14
sendPacket($packet, $packetSize, $pid)
EndFunc
но если открывать хх (при входе 3 столба) то в зависимости от того в какую локу попадешь изменяется id nps (столба)
PW_PacketListener
Код:
02 00 28 67 70 84 (Выделить моба/НПС/Игрока.)
23 00 28 67 70 84 (Неизвестный пакет)
25 00 07 00 00 00 04 00 00 00 49 23 00 00 (Неизвестный пакет) квест
31 00 03 00 00 00 01 49 23 (Неизвестный пакет)
08 00 (Сбросить таргет.)
02 00 AC 5F 70 84 (Выделить моба/НПС/Игрока.)
23 00 AC 5F 70 84 (Неизвестный пакет)
25 00 07 00 00 00 04 00 00 00 49 23 00 00 (Неизвестный пакет) квест
31 00 03 00 00 00 01 49 23 (Неизвестный пакет)
08 00 (Сбросить таргет.)
подскажите в какую сторону копать
ps кто знает что за пакет 31 00 03 00 00 00 01 49 23 (Неизвестный пакет)
|
|
 |
|
 |
|
И что собственно? Нормальный НПС меняется на текстуру, ничего нового.
Врядли где найдет применение, кроме визуальных багов.
|
|
|
22.08.2011, 05:34
|
#3
|
|
|
|
Разведчик
|
 Регистрация: 12.11.2009
 Сообщений: 0
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Окрытие ХХ
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
И что собственно? Нормальный НПС меняется на текстуру, ничего нового.
Врядли где найдет применение, кроме визуальных багов.
|
|
 |
|
 |
|
Не совсем понял, если поменять текстуру id от этого не изменится, а визуально менять зачем?
Я может неточно выразился в первом посте, я хочу ботом открывать столб расположенный внутри хх (один из 3 при вхоже), причем без эмуляции нажатия мышкой чтобы бот работал и с неактивным окном то же. Чтобы открыть нужно взять квест, например что бы открыть 2 хх id квеста 00 00 23 49, но перед тем как взять квест надо столб взять в таргет и начать диалог, но каждый раз при открытии id столба меняется, отсюда вопрос как открыть хх если id столба каждый раз разное
|
|
|
22.08.2011, 09:45
|
#4
|
|
|
|
Разведчик
|
 Регистрация: 05.03.2011
 Сообщений: 40
 Популярность: 841
 Сказал(а) спасибо: 1
Поблагодарили 9 раз(а) в 8 сообщениях
|
Re: Окрытие ХХ
Тупишь.
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). пишет с меня, когда он на работе.
|
|
|
22.08.2011, 17:40
|
#5
|
|
|
|
Сержант
|
 Регистрация: 07.09.2010
 Сообщений: 124
 Популярность: 147
 Сказал(а) спасибо: 22
Поблагодарили 87 раз(а) в 18 сообщениях
|
Re: Окрытие ХХ
izgnannic, определяй нужного нипа по координатам =)
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
|
|
|
08.09.2011, 13:02
|
#6
|
|
|
|
Разведчик
|
 Регистрация: 07.12.2009
 Сообщений: 10
 Популярность: 10
 Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Окрытие ХХ
столбы это нипы, их можно просто найти, подойти поговорить и взять квест !))
|
|
|
14.09.2011, 12:52
|
#7
|
|
|
|
Разведчик
|
 Регистрация: 01.07.2009
 Сообщений: 23
 Популярность: 83
 Сказал(а) спасибо: 33
Поблагодарили 14 раз(а) в 11 сообщениях
|
Re: Окрытие ХХ
Код тупорыленький, но рабочий.
Принцип:
- Посмотреть NPC вокруг
- Найти с нужным ID и взять его WID
- По его WID послать пакет и т.д. Дальше придумаете....
procedure GetMobList(npcID:integer); //Передаем ID NPC (не меняется)
var
d1,d2: dword;
N,Key,List: dword;
i: integer;
HexId, HexWid:string;
val:integer;
s: array [0..100] of char;
begin
//Получаем хэш ключ и начало списков
Key:= getDWORD(game_add);
Key:= getDWORD(Key+$8);
Key:= getDWORD(Key+$24);
List:= getDWORD(Key+$18);
Key:= getDWORD(Key+$24);
i:=0;
for n:=0 to Key-1 do
begin
d1:= getDWORD(List+$4*N);
while d1<>0 do
begin
d2:= getDWORD(d1+$4);
//Читаем и выводим имя
// if getDWORD(d2+$B4)=6 then
//begin
// aMob[i].Name:=getWideString(hProcess, getDWORD(d2+$254));
val:=getDWORD(d2+$11C);
HexWid:=Format('%x',[val]);
s[0]:=HexWid[7]; //Если подскажете, как "нормально" переворачивать
s[1]:=HexWid[8]; //(инвертировать) HEX буду благодарен
s[2]:=HexWid[5]; // (так тоже работает)
s[3]:=HexWid[6];
s[4]:=HexWid[3];
s[5]:=HexWid[4];
s[6]:=HexWid[1];
s[7]:=HexWid[2];
{ npcID:=getDWORD(d2+$120);
form1.Memo1.Lines.Add(getWideString(hProcess, getDWORD(d2+$254))+'::'+
inttostr(getDWORD(d2+$120))+'::'+
s+'::'); }
if npcID=getDWORD(d2+$120) then //Здесь сравниваешь найденый ID
begin //с заданным
Packet('0200'+s);//Выделяем столб
Sleep(200);
Packet('2300'+s);//Открываем диалог
Sleep(200);
end;
// aMob[i].WID:=getDWORD(d2+$11C);
// aMob[i].ID:=getDWORD(d2+$120);
// aMob[i].Distance:=getSINGLE(d2+$278);
inc(i);
// end;
d1:= getDWORD(d1);
end;
end;
end;
|
|
|
14.09.2011, 20:17
|
#8
|
|
|
|
Сержант
|
 Регистрация: 18.12.2009
 Сообщений: 152
 Популярность: 1075
 Сказал(а) спасибо: 45
Поблагодарили 204 раз(а) в 67 сообщениях
|
Re: Окрытие ХХ
немножко не в тему, а id квестов где можно раздобыть?
|
|
|
14.09.2011, 20:21
|
#9
|
|
|
|
Главнокомандующий
|
 Регистрация: 11.04.2010
 Сообщений: 1,314
 Популярность: 100919
 Золото Zhyk.Ru: 7
 Сказал(а) спасибо: 249
Поблагодарили 1,066 раз(а) в 767 сообщениях
|
Re: Окрытие ХХ
gurin, в базе. Последнее число в ссылке на страницу с квестом - это его id.
|
|
|
14.09.2011, 21:49
|
#10
|
|
|
|
Пехотинец
|
 Регистрация: 16.01.2010
 Сообщений: 97
 Популярность: 483
 Сказал(а) спасибо: 83
Поблагодарили 93 раз(а) в 68 сообщениях
|
Re: Окрытие ХХ
|
|
|
18.09.2011, 10:01
|
#11
|
|
|
|
Разведчик
|
 Регистрация: 23.05.2010
 Сообщений: 1
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Окрытие ХХ
Можно небольшой вопросик, он применим и для этой темы поэтому не стал создавать новую.
Пишу программу на Delphi смысл ее таков: перс подходит к нипу --> открывает диалог --> заходит во вкладку "Задания" --> выбирает некий квест.
подойти к нипу открыть диалог это я смог а вот далше остановившись на вкладке "задания" не знаю как ее пройти и выбрать квест если кто знает инжект или чать даже хаотичного кода на Delphi на эту тему буду благодарен
В моей голове крутится мысль о том что достаточно просто открыть диалог и отправить инжект с Id задания не можу найти этот убогий инжект трудновато дается мне это дело (((
Последний раз редактировалось jekans; 18.09.2011 в 10:07.
|
|
|
18.09.2011, 11:03
|
#12
|
|
|
|
Фельдмаршал
|
 Регистрация: 13.08.2009
 Сообщений: 1,004
 Популярность: 25098
 Золото Zhyk.Ru: 350
 Сказал(а) спасибо: 111
Поблагодарили 830 раз(а) в 395 сообщениях
|
Re: Окрытие ХХ
Подойти, открыть, послать пакет (функцией инжекта пакетов) с ID щадания.
Прфит.
________________
Ни одно доброе дело не остается безнаказанным.
Программы:
PW: Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). , Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). , Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). , Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). , Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). , Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). .
JD: Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). , Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). , Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). .
Статьи: Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). , Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). , Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). , Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). , Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
|
|
|
18.09.2011, 18:45
|
#13
|
|
|
|
Разведчик
|
 Регистрация: 09.09.2010
 Сообщений: 32
 Популярность: 82
 Сказал(а) спасибо: 16
Поблагодарили 37 раз(а) в 12 сообщениях
|
Re: Окрытие ХХ
если что, пакет - 25000700000004000000 + id квеста(2 байта) + 0000
|
|
|
18.09.2011, 20:22
|
#14
|
|
|
|
Разведчик
|
 Регистрация: 23.05.2010
 Сообщений: 1
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Окрытие ХХ
Получилось!  СПАСИБО! жалко тыкнуть не можу хоть напишу
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 08:15.
|
 |