Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

Нужна помощь !

тут можно задать вопрос по скриптингу
Lietman
Novice
Novice
Posts: 74
Joined: 12.12.2010 14:17
Contact:

Нужна помощь !

Post 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 алхимистов в разных городах.
Я хочю сделать чтоб под ходил к алхимисту а не к обычному.
Имена вендоров меняются !
shinma
Expert
Expert
Posts: 505
Joined: 28.04.2011 12:05

Re: Нужна помощь !

Post by shinma »

используй ObjAtLayerEx
http://stealth.od.ua/forum/viewtopic.php?t=1220
--->>>ПОИСК ПО ФОРУМУ, НАЧНИ С НЕГО!!!<<<---
--->>>Search the forum, start with him!!!<<<---
95% Ваших вопросов уже кем-то написаны и решены.
Alex
Moderator
Moderator
Posts: 351
Joined: 07.04.2005 4:41

Re: Нужна помощь !

Post by Alex »

попробуй кликать на них и в журнале читать кто он, если там это пишется

http://stealth.od.ua/wiki/doku.php?id=clickonobject
Новый стелс лежит тут. Стелс это произведение искусства! :)
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Нужна помощь !

Post by Vizit0r »

иногда бывает что при клике по ним не пишется, зато если открыть папердолл от НПЦ, то там пижется профессия его.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
shinma
Expert
Expert
Posts: 505
Joined: 28.04.2011 12:05

Re: Нужна помощь !

Post by shinma »

а еще проще и наверняка(а то могут ведь и шмотки поменять) подходить ко всем в магазине и покупать у каждого соответственно - если при покупке ноль то идем дальше если скупили опять идем дальше. тупо но наверняка.
--->>>ПОИСК ПО ФОРУМУ, НАЧНИ С НЕГО!!!<<<---
--->>>Search the forum, start with him!!!<<<---
95% Ваших вопросов уже кем-то написаны и решены.
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Нужна помощь !

Post by Vizit0r »

тупо и долго.
чем больше теряешь времени там - тем больше времени у врагов на твое убийство или западлостроение.
да и вообще, время терять - это плохо.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Lietman
Novice
Novice
Posts: 74
Joined: 12.12.2010 14:17
Contact:

Re: Нужна помощь !

Post by Lietman »

shinma wrote:а еще проще и наверняка(а то могут ведь и шмотки поменять) подходить ко всем в магазине и покупать у каждого соответственно - если при покупке ноль то идем дальше если скупили опять идем дальше. тупо но наверняка.
одежду не меняют !!!
Можете кто нить написать процедуру на поиск вендора и подход к нему. Буду очень благодарен !!!
Scripts Writer
Novice
Novice
Posts: 130
Joined: 06.05.2008 18:03

Re: Нужна помощь !

Post 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;
Проще научить человека ловить рыбу, чем постоянно ею его кормить. (с) Destruction
Lietman
Novice
Novice
Posts: 74
Joined: 12.12.2010 14:17
Contact:

Re: Нужна помощь !

Post by Lietman »

тут проблема :) Робы на них не одного цвета одеты :(
Alex
Moderator
Moderator
Posts: 351
Joined: 07.04.2005 4:41

Re: Нужна помощь !

Post by Alex »

подожди) обрати внимание на первый топик, ты сказал что у алхимистов - красная роба, а у обычных - синяя
переформулируй вопрос тогда :)
Новый стелс лежит тут. Стелс это произведение искусства! :)
shinma
Expert
Expert
Posts: 505
Joined: 28.04.2011 12:05

Re: Нужна помощь !

Post 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;
хыхы ждемс продолжения анегдота. Лайтмэн не подведи))))
--->>>ПОИСК ПО ФОРУМУ, НАЧНИ С НЕГО!!!<<<---
--->>>Search the forum, start with him!!!<<<---
95% Ваших вопросов уже кем-то написаны и решены.
Alex
Moderator
Moderator
Posts: 351
Joined: 07.04.2005 4:41

Re: Нужна помощь !

Post by Alex »

никаких анекдотов, обычный рабочий процесс помощи человеку :)
Новый стелс лежит тут. Стелс это произведение искусства! :)
shinma
Expert
Expert
Posts: 505
Joined: 28.04.2011 12:05

Re: Нужна помощь !

Post by shinma »

дам еще наводку) в поиск вбиваешь типы М и Ж перса НПС и выйдешь на такие вот процедурки.
--->>>ПОИСК ПО ФОРУМУ, НАЧНИ С НЕГО!!!<<<---
--->>>Search the forum, start with him!!!<<<---
95% Ваших вопросов уже кем-то написаны и решены.
Lietman
Novice
Novice
Posts: 74
Joined: 12.12.2010 14:17
Contact:

Re: Нужна помощь !

Post by Lietman »

Alex wrote:подожди) обрати внимание на первый топик, ты сказал что у алхимистов - красная роба, а у обычных - синяя
переформулируй вопрос тогда :)
у алхимистов роба почти одного цвета :) у одно светла крсная у дрогова темней и т.д. :)
По попердоллу можно определить ? у них там професия написана
shinma
Expert
Expert
Posts: 505
Joined: 28.04.2011 12:05

Re: Нужна помощь !

Post 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);
Но тут не слова как все таки выдрать всю строку папердола. визитор не дашь больше информации?
--->>>ПОИСК ПО ФОРУМУ, НАЧНИ С НЕГО!!!<<<---
--->>>Search the forum, start with him!!!<<<---
95% Ваших вопросов уже кем-то написаны и решены.
Post Reply