Jump to content
Sign in to follow this  
Zumbo

нужна помощь с id вещей

Recommended Posts

в соответствии с закономерностью заполните те места, где стоят вопросики

 

https://db.valkyrie-wow.org/?item=4984 - local Color, Ltype, Id Id = 0 if itemLink then  _, _, Color, Ltype, Id = string.find(itemLink,"|?c?f?f?(%x*)|?H?([^:]*):?(%d+):?(%d*):?(%d*):?(%d*):?(%d*):?(%d*):?(%-?%d*):?(%-?%d*):?(%d*):?(%d*):?(%-?%d*)|?h?%[?([^%[%]]*)%]?|?h?|?r?")

 

https://db.valkyrie-wow.org/?item=16768 - ????

 

https://db.valkyrie-wow.org/?item=17067 - ????

Share this post


Link to post
Share on other sites
local _, _, Color, Ltype, Id, Enchant, Suffix = string.find(itemLink, "|?c?f?f?(%x*)|?H?([^:]*):?(%d*):?(%d*):?(%d*)");

Я может чего-то не понял, но вдруг окажется полезным  :icecream:

И на всякий случай выжимка от моей сестрички.

Edited by Grigio

Share this post


Link to post
Share on other sites

Почему не получается вытянуть имя?

_, _, Color, Ltype, Id, Enchant, Suffix, Name = string.find(itemLink, "|?c?f?f?(%x*)|?H?([^:]*):?(%d*):?(%d*):?(%d*)|?h?%[?([^%[%]]*)%]?|?h?|?r?")

%s %q подставлял - никак, да и так никак, можно кинуть ссылку какую, где написано как шаблон для разбора этот пишется?

И еще небольшой вопрос - пытался эксперементировать с 3-им параметром Suffix - я так понял там доп инфа что-то вроде кем скрафчено, и тому подобное, но ничего путного не вышло.

Edited by shuraken007

Share this post


Link to post
Share on other sites

Color, Ltype, Id, Enchant, Suffix возвращаются их значения, я хз как работает этот шаблонный поиск. Присобачить Name не могу.

Share this post


Link to post
Share on other sites

Вроде более менее разобрался, ну и гемор же с этими захватами, присобачил этот Name - проблема оказалась в том, что в линке после этого суффикса не следует сразу |h (хрен его знает что там следует) - поэтому конструкция с |?h? сразу после суффикса не находилась - выкрутился, поставив [^h]*

_, _, Color, Ltype, Id, Enchant, Suffix, Name = string.find(itemLink, "|?c?f?f?(%x*)|?H?([^:]*):?(%d*):?(%d*):?(%d*)[^h]*h?%[(.+)%]")

Xudojnik, а по поводу string.find - возвращает 2 значения начало, и конец - где в строке найдена подстрока (это две _, _)

А после возвращает все захваченные значения, если эти захваты присутствовали, так называемые captures - это то, что в скобках () типо (%d*)

 

update:забыл про третий ноль - глупо получилось, в этом вся загвоздка и была.

_, _, Color, Ltype, Id, Enchant, Suffix, Unique, Name = string.find(itemLink, "|?c?f?f?(%x*)|?H?([^:]*):?(%d*):?(%d*):?(%d*):?(%d*)|?h?%[(.+)%]")
Edited by shuraken007

Share this post


Link to post
Share on other sites

Я думаю, что ты все слишком усложняешь.

if (string.find(GetContainerItemLink(bag,slot),"Hitem:12450")) then Action() end

Share this post


Link to post
Share on other sites

Ну по крайней мере я теперь могу расчленить линк, и переделать как душе моей угодно, за минимум действий. А вобще эти captures весьма полезные штуки - с помощью них как два пальца об асфальт можно манипулировать со строками - что-то менять по опр алгоритму, вытаскивать. Команды аддонам с чата только так и работают - всмысле разбираются внутри на составляющие для анализа.

Edited by shuraken007

Share this post


Link to post
Share on other sites

Ну по крайней мере я теперь могу расчленить линк, и переделать как душе моей угодно, за минимум действий.

А зачем тебе "переделывать" линк? Зачем тебе эта гибкость, если (чаще всего) тебе нужно получить какой-то определенный результат?

 

Команды аддонам как правило выглядят "/команда аргумент1 аргумент2" и им достаточно просто разбиения от пробела до пробела. Ну в крайнем случае аргумент может выглядеть как "ключ=значение".

Чем проще ты будешь реализовывать сейчас, тем проще тебе будет поддерживать это потом.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Ты заранее знаешь на что менять. Шмот меняется достаточно редко, чтобы можно было его сразу прописать во всех макросах.

Ну проверил ты. и что дальше? Будешь пытаться поменять снова если не удалось сразу?

Share this post


Link to post
Share on other sites

Не.. ты не понял, у меня хрен знает что сейчас в руках, меняю я на заранее известное. Потом надо поменять назад на это хрен знает что - произвольное. Ну да, буду пытаться менять снова, контроль в пвп - вещь обыденная.

Edited by shuraken007

Share this post


Link to post
Share on other sites

Не.. ты не понял, у меня хрен знает что сейчас в руках, меняю я на заранее известное. Потом надо поменять назад на это хрен знает что - произвольное. Ну да, буду пытаться менять снова, контроль в пвп - вещь обыденная.

 

На каче ты меняешь оружие примерно 5 раз на 1-20 лвле и потом примерно раз в 10-15 уровней. На 60том если еще в зеленке, то меняешь в лучшем случае - раз в день. В худшем - раз в год.

В пвп ты, как правило, меняешь с двуручки на одноручку и щит. Если тебе для смены оффхенда надо, то для замены "назад" достаточно сохранять тупо весь итем линк оффхенда в глобальную переменную.

Edited by Xudojnik

Share this post


Link to post
Share on other sites

Бесполезный разговор. Для примитивных вещей захваты может и не нужны, когда идёт работа с массивами уже может пригодиться. К тому же первоначальная постановка вопроса была - почему Name не прикреплялся. Если немного разобраться - нет никаких усложнений.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×