Page 1 of 2
Нужна помощь !
Posted: 16.07.2011 10:54
by Lietman
2 вендора:
1 Алхимист - Одет в красную робу.
2 Обычный - Одет в синию робу.
* Info * : ID: $00FE785F Name: Libby Type: $0191 Color: $0404 X: 1500 Y: 1661 Z: 27
* Info * : Tooltip:
* Info * : ID: $00EDE08A Name: Aura Type: $0191 Color: $0407 X: 4454 Y: 1084 Z: 0
* Info * : Tooltip:
* Info * : ID: $00A1282F Name: Wakanda Type: $0191 Color: $0421 X: 3700 Y: 2212 Z: 20
* Info * : Tooltip:
* Info * : ID: $00A06F4B Name: Alben Type: $0190 Color: $03EA X: 1997 Y: 2720 Z: 30
* Info * : Tooltip:
инфо про обычного вендора
* Info * : ID: $00CCED3E Name: York Type: $0190 Color: $0403 X: 1998 Y: 2716 Z: 30
* Info * : Tooltip:
Вот примеры 4 алхимистов в разных городах.
Я хочю сделать чтоб под ходил к алхимисту а не к обычному.
Имена вендоров меняются !
Re: Нужна помощь !
Posted: 16.07.2011 12:35
by shinma
Re: Нужна помощь !
Posted: 16.07.2011 12:53
by Alex
попробуй кликать на них и в журнале читать кто он, если там это пишется
http://stealth.od.ua/wiki/doku.php?id=clickonobject
Re: Нужна помощь !
Posted: 16.07.2011 13:58
by Vizit0r
иногда бывает что при клике по ним не пишется, зато если открыть папердолл от НПЦ, то там пижется профессия его.
Re: Нужна помощь !
Posted: 16.07.2011 15:07
by shinma
а еще проще и наверняка(а то могут ведь и шмотки поменять) подходить ко всем в магазине и покупать у каждого соответственно - если при покупке ноль то идем дальше если скупили опять идем дальше. тупо но наверняка.
Re: Нужна помощь !
Posted: 16.07.2011 15:15
by Vizit0r
тупо и долго.
чем больше теряешь времени там - тем больше времени у врагов на твое убийство или западлостроение.
да и вообще, время терять - это плохо.
Re: Нужна помощь !
Posted: 16.07.2011 15:58
by Lietman
shinma wrote:а еще проще и наверняка(а то могут ведь и шмотки поменять) подходить ко всем в магазине и покупать у каждого соответственно - если при покупке ноль то идем дальше если скупили опять идем дальше. тупо но наверняка.
одежду не меняют !!!
Можете кто нить написать процедуру на поиск вендора и подход к нему. Буду очень благодарен !!!
Re: Нужна помощь !
Posted: 16.07.2011 23:33
by Scripts Writer
Я когда заморачивался по поводу убийства одних нпц (которые агрятся) в первую очередь и только после этого других (которые нейтральны) использовал такую функцию:
Она не идеальна, но как пример сойдёт. Смысл в том, что у агрессивных мобов были шляпы в виде "Tribal mask", а у двух других нейтральных "Рогатые" и "из Медведя". Таким образом, для их отличия использовал стандартный FindType, где ID контейнера является ID нпц.
Думаю тебе аналогично нужно искать вендоров, только с использованием функции FindTypeEx, чтобы иметь возможность кроме типа, задавать ещё и цвет, а дальше всё просто.
Code: Select all
function SearchAgroWarrior : Cardinal;
begin
IgnoreReset;
repeat
begin
NpcSerial := FindType(Sex[1], ground);
if FindCount > 0 then
begin
for i :=0 to 2 do
begin
FindType(Hats[i],NpcSerial);
if (FindCount > 0) AND (i = 0) then
begin
result := NpcSerial;
exit;
end
else
begin
Ignore(NpcSerial);
end;
end;
end;
wait(100);
end;
until NpcSerial = 0
result := 0;
end;
Re: Нужна помощь !
Posted: 18.07.2011 18:02
by Lietman
тут проблема

Робы на них не одного цвета одеты

Re: Нужна помощь !
Posted: 18.07.2011 18:12
by Alex
подожди) обрати внимание на первый топик, ты сказал что у алхимистов - красная роба, а у обычных - синяя
переформулируй вопрос тогда

Re: Нужна помощь !
Posted: 18.07.2011 18:24
by shinma
) чел еще не определился что надо.
у тебя есть шанс попользоваться поиском.
ищешь на этом форуме кусочек кода который ищет НПС обоих полов и сохраняет их ИД в переменную.
дальше используя
shinma wrote:
используй ObjAtLayerEx
viewtopic.php?t=1220
Code: Select all
if GetType(ObjAtLayerEx(RobeLayer,ID_vendora))=Type_Rubaha and GetColor(ObjAtLayerEx(RobeLayer,ID_vendora))=Color_Rubaha then
begin
Тут мы подходим и скупаем все
end;
хыхы ждемс продолжения анегдота. Лайтмэн не подведи))))
Re: Нужна помощь !
Posted: 18.07.2011 18:26
by Alex
никаких анекдотов, обычный рабочий процесс помощи человеку

Re: Нужна помощь !
Posted: 18.07.2011 18:43
by shinma
дам еще наводку) в поиск вбиваешь типы М и Ж перса НПС и выйдешь на такие вот процедурки.
Re: Нужна помощь !
Posted: 18.07.2011 18:49
by Lietman
Alex wrote:подожди) обрати внимание на первый топик, ты сказал что у алхимистов - красная роба, а у обычных - синяя
переформулируй вопрос тогда

у алхимистов роба почти одного цвета

у одно светла крсная у дрогова темней и т.д.

По попердоллу можно определить ? у них там професия написана
Re: Нужна помощь !
Posted: 18.07.2011 19:08
by shinma
визитор говорил про папердол НПС но все, что я нарыл в эту сторону
Для любых других НПЦ, у которых есть папердол:
при коннекте берется имя неписи, пишется в свойство, которое видно через закладку World и которое можно взять через GetName.
Если нужен тайтл с папердолла - значит шлете UseObject на непись, и ставите цикл типа
Код:
S:=GetName($xxxxxxxx);
while GetName($xxxxxxxx) = S do wait(xxx)';
цикл для того, чтобы дождаться когда придет пакет папердолла на непись. Когда он приходит - title пишется поверх старого имени в свойства, и берете его так же через GetName.
Соответственно кусок получения папердолла будет выглядеть как-то так:
Код:
S:=GetName($xxxxxxxx);
UseObject($xxxxxxxx);
while GetName($xxxxxxxx) = S do wait(xxx)';
S:=GetName($xxxxxxxx);
Но тут не слова как все таки выдрать всю строку папердола. визитор не дашь больше информации?