Ao habilitar o parâmetro de configuração "Exibição avançada de itens", você pode personalizar exatamente como os itens são exibidos. Quando este parâmetro estiver habilitado, ele substituirá estes outros parâmetros:
Para usar a Exibição Avançada de Itens, você configurará uma ou mais regras no BH.cfg. Cada regra fica assim:
ItemDisplay[ ...CONDITIONS... ]: ACTIONS
As CONDIÇÕES especificam um conjunto de condições que um item deve satisfazer e as AÇÕES especificam as ações tomadas quando um item correspondente é encontrado. O tipo mais básico de ação é simplesmente inserir o nome que você deseja ver ao visualizar esse item. Se você deixar as CONDIÇÕES vazias, a regra corresponderá a todos os itens. Se você deixar as AÇÕES vazias, a regra deixará em branco os nomes de todos os itens correspondentes.
Você normalmente terá várias regras em seu arquivo de configuração. A primeira regra que corresponde a um determinado item é aquela que será usada para exibir esse item (com uma exceção, a ação %CONTINUE%, descrita abaixo).
A regra mais simples não tem condições nem ações:
ItemDisplay[]:
Essa regra corresponderá a todos os itens do jogo e impedirá que o cliente mostre esse item. (Então, quando você pressionar a tecla Alt, você não verá nada além de pilhas de ouro.) A seguir, outra regra simples que corresponde a todos os itens do jogo e dá a todos o mesmo nome:
ItemDisplay[]: Wirt's Other Leg
Na versão 0.1.4, os itens correspondentes às regras sem ações ainda eram visíveis no chão, mas seus nomes foram alterados para um único espaço. A partir da versão 0.1.5, isso não é mais verdade; esses itens são realmente filtrados pelo cliente do jogo. No que diz respeito ao seu jogo, os itens não existem. Isso é útil para reduzir a desordem no chão de pequenas pilhas de ouro, itens de sucata, etc. Mas tenha cuidado ao usar regras como essa, pois elas podem causar efeitos inesperados. Por exemplo, se você tiver uma regra sem ações que correspondam às poções de saúde, elas ficarão efetivamente invisíveis para você e você não poderá ver as poções em seu próprio cinto.
A partir da versão 1.9.9, uma regra de ignorar só é criada quando o nome e a descrição do item não estão em branco, não há ação de mapa e não há %CONTINUE%
instrução. Essencialmente, apenas linhas em branco podem criar regras de ignorar.
Além disso, os nomes de itens em branco não são mais gerados. Isso pode acontecer ocasionalmente em versões anteriores quando um nome foi definido em branco, mas o item não foi completamente filtrado. Para avisar os usuários que um item que eles veem no jogo será bloqueado pelo filtro de pacotes, uma [blocked]
tag é adicionada ao item. Por exemplo:
A tag bloqueada só é gerada quando o item tem uma regra de ignorar e não uma regra de lista branca explícita (pode ser qualquer nome válido ou uma condição de mapa).
A condição mais simples consiste em um código de item. Um código de item é o código exclusivo de 3 letras atribuído a cada tipo de item. Você pode encontrar uma lista completa de códigos de item aqui: http://bhfiles.com/files/Diablo%20II/ItemCodes.html .
EDIT: a lista bhfiles.com contém alguns códigos incorretos (por exemplo, pessoal retorcido é realmente cst). Uma lista mais correta (embora menos legível) pode ser encontrada aqui: https://github.com/dkuwahara/OmegaBot/blob/master/data/item_data.txt (o código do item é a segunda coluna).
O código do item para um pergaminho do portal da cidade é "tsc". Então, para encurtar os nomes de todos os pergaminhos do portal da cidade no jogo para apenas "TP", você colocaria esta linha no BH.cfg:
ItemDisplay[tsc]: TP
Para dar a todas as superpoções de cura (código de item hp5) o nome "Pan-Galactic Gargle Blaster", você deve colocar isso em BH.cfg:
ItemDisplay[hp5]: Pan-Galactic Gargle Blaster
Você pode alterar a cor do texto do item. Para fazer com que suas poções de super cura apareçam com texto em vermelho, faça o seguinte:
ItemDisplay[hp5]: %RED%Pan-Galactic Gargle Blaster
A cor %RED% será aplicada a tudo que vier depois dela, até que outra cor seja encontrada. Para exibir a palavra "Blaster" em texto verde (com todo o resto ainda vermelho), você escreveria:
ItemDisplay[hp5]: %RED%Pan-Galactic Gargle %GREEN%Blaster
Estas são as cores que você pode usar:
Se você já teve o parâmetro "Shorten Item Names" habilitado, você pode usar estas regras para replicar exatamente o que ele faz:
ItemDisplay[tsc]: %GREEN%**%WHITE%TP
ItemDisplay[isc]: %GREEN%**%WHITE%ID
ItemDisplay[vps]: Stam
ItemDisplay[yps]: Anti
ItemDisplay[wms]: Thaw
ItemDisplay[gps]: Ranc
ItemDisplay[ops]: Oil
ItemDisplay[gpm]: Chok
ItemDisplay[opm]: Expl
ItemDisplay[gpl]: Stra
ItemDisplay[opl]: Fulm
ItemDisplay[hp1]: %RED%**%WHITE%Min Heal
ItemDisplay[hp2]: %RED%**%WHITE%Lt Heal
ItemDisplay[hp3]: %RED%**%WHITE%Heal
ItemDisplay[hp4]: %RED%**%WHITE%Gt Heal
ItemDisplay[hp5]: %RED%**%WHITE%Sup Heal
ItemDisplay[mp1]: %BLUE%**%WHITE%Min Mana
ItemDisplay[mp2]: %BLUE%**%WHITE%Lt Mana
ItemDisplay[mp3]: %BLUE%**%WHITE%Mana
ItemDisplay[mp4]: %BLUE%**%WHITE%Gt Mana
ItemDisplay[mp5]: %BLUE%**%WHITE%Sup Mana
ItemDisplay[rvs]: %PURPLE%**%WHITE%Rejuv
ItemDisplay[rvl]: %PURPLE%**%WHITE%Full
ItemDisplay[aqv]: Arrows
ItemDisplay[cqv]: Bolts
ItemDisplay[key]: Key
Às vezes é bom adicionar um nome de item existente. Para deixar uma super poção de cura com o mesmo nome, mas escrever em texto vermelho, faça o seguinte:
ItemDisplay[hp5]: %RED%%NAME%
Para anexar "Ninja" a cada nome de item no jogo, use esta regra:
ItemDisplay[]: Ninja %NAME%
Você pode anexar o valor do fornecedor de cada item ao seu nome usando a ação %PRICE%, conforme mostrado aqui:
ItemDisplay[]: %NAME% ($%PRICE%)
Para adicionar o nível do item aos nomes dos itens, faça o seguinte:
ItemDisplay[]: %NAME% {L%ILVL%}
Para mostrar o código de item de um item, use a seguinte regra:
ItemDisplay[]: %NAME% [%CODE%]
Para adicionar o número de soquetes aos nomes dos itens, isso funcionaria:
ItemDisplay[]: %NAME% -%SOCKETS%-
Muitas vezes você vai querer combinar várias condições. Essa regra corresponderá a qualquer item que satisfaça CONDITION1 e CONDITION2 (já que nenhum operador lógico é fornecido, as condições são implicitamente AND juntas):
ItemDisplay[CONDITON1 CONDITION2]: ...
Para condições mais complicadas, você pode usar os seguintes operadores lógicos:
A regra anterior é exatamente equivalente a esta:
ItemDisplay[CONDITON1 AND CONDITION2]: ...
Você também pode usar parênteses para agrupar condições. Veja abaixo exemplos desses operadores lógicos.
Várias condições permitem que você combine itens de determinada qualidade:
Por exemplo, para escrever todos os nomes de itens etéreos exclusivos em roxo, faça o seguinte:
ItemDisplay[ETH UNI]: %PURPLE%%NAME%
Existem condições que se referem a itens específicos da classe:
Para exibir todos os escudos de paladinos etéreos em roxo, use esta linha:
ItemDisplay[ETH CL3]: %PURPLE%%NAME%
Para exibir armas de haste de elite etéreas capazes de 4+ soquetes em roxo, use esta linha em BH.cfg:
ItemDisplay[WP8 ETH ELT NMAG (SOCK=0 OR SOCK>3) !7o7]: %PURPLE%%NAME%
O ponto de exclamação impede a correspondência do código de item 7o7 (machado ogro), que só pode ter 3 soquetes.
Você pode combinar itens com um certo número de soquetes. Para exibir todos os itens com mais de 4 soquetes em verde:
ItemDisplay[SOCK>4]: %GREEN%%NAME%
Para condições como SOCK que se comparam a um número, você pode usar <, > ou =.
A condição "RUNE" pode ser usada para combinar diferentes tipos de runas com base no número da runa. Para exibir as runas Lem e superiores no formato roxo "20 - Lem":
ItemDisplay[RUNE>19]: %PURPLE%%RUNENUM% - %RUNENAME%
A condição "GEM" corresponderá com base na qualidade da gema (1 = lascada, 5 = perfeita). Para exibir todas as gemas perfeitas e perfeitas em roxo:
ItemDisplay[GEM>3]: %PURPLE%%NAME%
A condição "GEMTYPE" corresponderá ao tipo de gem, com base nesta lista: gem types . Para combinar com todos os diamantes perfeitos:
ItemDisplay[GEM=5 GEMTYPE=2]: ...
Para impedir que o jogo mostre qualquer pilha de ouro menor que 1000:
ItemDisplay[GOLD<1000]:
Ao contrário de outras condições, GOLD só pode ser usado para filtrar pequenas pilhas. Atualmente, não pode ser usado para alterar a cor ou mostrar pilhas de determinados tamanhos no mapa.
É possível combinar bônus para todas as perícias, bônus para perícias de classe, bônus para árvores de perícias específicas e bônus para perícias individuais.
Para combinar todos os itens com +2 ou mais em todas as habilidades:
ItemDisplay[ALLSK>1]: ...
Encontre o número da classe nesta página: class list ; em seguida, anexe esse número a "CLSK". Isso corresponderá aos arcos da grande matrona com +2/+3 para habilidades amazônicas (classe número 0 da lista):
ItemDisplay[amc CLSK0>1]: ...
Encontre o número da guia de habilidade aqui: guias de habilidade ; em seguida, anexe-o a "TABSK". Então, para combinar todos os itens com +1 ou mais para gritos de guerra (nº 34 dessa lista):
ItemDisplay[TABSK34>0]: ...
Procure o número da habilidade nesta página: lista de habilidades . Por exemplo, Battle Orders é a habilidade número 149. Então, para exibir elmos bárbaros capazes de 3os com +3 de BO em roxo:
ItemDisplay[CL2 ((ILVL>25 SOCK=0) OR SOCK=3) NMAG SK149>2]: %PURPLE%%NAME%
Outras condições diversas:
Você pode marcar qualquer item correspondente no mapa com um quadrado colocando %MAP% em qualquer lugar da ação da regra. Isso colocará todas as placas de mago no mapa como um quadrado branco sem alterar o nome:
ItemDisplay[xtp]: %NAME%%MAP%
Este quadrado será branco porque não foi especificada uma cor; se uma cor for usada antes da ação %MAP%, ela será usada como a cor do quadrado. Por exemplo, isso marca placas de mago com quadrados azuis:
ItemDisplay[xtp]: %NAME%%BLUE%%MAP%
As descrições de itens permitem que os usuários adicionem descrições personalizadas aos itens. Por exemplo, podemos definir uma linha descrevendo como fazer uma palavra rúnica Hoto com um mangual elegível (abaixo).
As descrições dos itens são adicionadas usando chaves {}
. A descrição acima foi criada com a seguinte linha.
ItemDisplay[NMAG !RW (fla OR 9fl OR 7fl) SOCK=4]: {%WHITE%Heart of the Oak: %ORANGE%KoVexPulThul}
Também é válido definir a descrição na mesma linha do nome do item ou das MAP
ações do item. Por exemplo:
ItemDisplay[NMAG !RW (fla OR 9fl OR 7fl) SOCK=4]: %NAME%%MAP%{%WHITE%Heart of the Oak: %ORANGE%KoVexPulThul}
As descrições são processadas separadamente das ações de nome e mapa, portanto, uma linha com apenas uma descrição não definirá uma regra de ignorar. Por exemplo, o seguinte ainda resultaria no item visível no jogo.
ItemDisplay[NMAG !RW (fla OR 9fl OR 7fl) SOCK=4]: {%WHITE%Heart of the Oak: %ORANGE%KoVexPulThul}
ItemDisplay[NMAG !RW (fla OR 9fl OR 7fl) SOCK=4]: %NAME%
As descrições não incluem itens na lista branca. Portanto, um item com apenas uma descrição ainda pode ser ocultado. Por exemplo:
ItemDisplay[NMAG !RW (fla OR 9fl OR 7fl) SOCK=4]: {%WHITE%Heart of the Oak: %ORANGE%KoVexPulThul}
ItemDisplay[NMAG !RW (fla OR 9fl OR 7fl) SOCK=4]:
As descrições dão suporte a qualquer palavra-chave que o nome normal do item faça, com exceção de %CONTINUE%
. A %CONTINUE%
palavra-chave não é válida dentro de chaves, mas ainda pode ser usada fora de chaves para modificar ainda mais as descrições. Por exemplo:
ItemDisplay[NMAG !RW (fla OR 9fl OR 7fl) SOCK=4]: {%WHITE%Heart of the Oak: %ORANGE%KoVexPulThul}%CONTINUE%
ItemDisplay[NMAG !RW ETH fla SOCK=4]: {%NAME% (best base)}
Acima, a descrição será "Heart of the Oak: KoVexPulThul (melhor base)" para um mangual eth 4 socket. A %NAME%
palavra-chave torna-se um token de substituição para a descrição até esse ponto.
O nível do item agora é exibido nas propriedades do item. Da mesma forma, o nível de afixo é mostrado para itens de qualidade mágicos, raros e artesanais. O nível de afixo só é mostrado se for diferente do nível do item. Além disso, o usuário deve definir "Exibição de item avançado" e "Mostrar iLvl" para que esses recursos estejam ativos. Abaixo mostra algumas luvas raras com exibição de nível de item e nível de afixação.
O menu do jogo suporta quatro opções para "Nível de filtro": Nenhum, Mínimo, Moderado e Agressivo. Cabe ao BH.cfg definir o comportamento dos modos de filtro. Há uma nova palavra-chave FILTLVL
para oferecer suporte a esses modos. Os modos descritos anteriormente correspondem a FILTLVL
0, 1, 2 e 3, respectivamente.
Aqui está um exemplo do que pode ser feito usando o "Filter Level":
A calota craniana é bloqueada quando o nível do filtro está definido como moderado, mas não quando está definido como Nenhum. Isso ocorre devido à FILTLVL>0
condição na linha de bloqueio.
A configuração "Ping Tiers" permite ao usuário controlar quais linhas na configuração farão ping e serão desenhadas no mapa. Há uma nova palavra-chave TIER-x
que suporta isso. Por exemplo:
Acima, definimos a calota craniana como um TIER-2
item. Isso significa que "Ping Tiers" deve ser definido como 2 ou mais no jogo para que este item faça ping. O TIER-x
comando afeta apenas a caixa de mapa e a notificação. Não afeta o nome do item. Todos os itens com um nome explícito ou uma condição de mapa são incluídos na lista de permissões, independentemente da configuração "Ping Tiers" no jogo. Nesse contexto, "lista branca" significa que o item nomeado ou mapeado sempre será exibido no jogo, mesmo que a configuração tenha outra linha que tentou bloquear o item.
Por exemplo, na situação a seguir, o boné de caveira seria exibido no jogo independentemente de "Ping Tiers", mas só notificará e mapeará quando "Ping Tiers" estiver definido como 2 ou mais.
ItemDisplay[!RW NMAG skp]: %NAME%%MAP%%TIER-2%
ItemDisplay[!RW NMAG skp]:
Se nenhum nível de TIER for especificado, o padrão será TIER-0. Este é essencialmente um mapa + notificação incondicional.
Há uma nova palavra-chave CRAFTALVL
que avalia o nível de afixo de um item se ele for criado pelo personagem que o segura. Por exemplo, abaixo exibe o novo nível de afixo como parte da descrição do item.
// Magic Amulets [VERBOSE]
ItemDisplay[MAG amu]: %NAME%{%WHITE%Caster: %ORANGE%Ral %PURPLE%O%WHITE%Perfect %BLUE%Jewel %WHITE%(%CRAFTALVL%)}
A palavra-chave também pode ser usada como parte da condição de filtro. Por exemplo:
// Magic Amulets [VERBOSE]
ItemDisplay[MAG amu CRAFTALVL>89]: %NAME%%MAP%
Aqui está um arquivo de configuração de amostra contendo algumas regras básicas que exibem determinados itens em roxo. Etéreo, soquetes e nível de item são adicionados ao nome do item. Itens inferiores são filtrados. Runas sobre lem são mostradas no mapa.
//Item Display Configuration
ItemDisplay[tsc]: %GREEN%**%WHITE%TP
ItemDisplay[isc]: %GREEN%**%WHITE%ID
ItemDisplay[vps]: Stam
ItemDisplay[yps]: Anti
ItemDisplay[wms]: Thaw
ItemDisplay[gps]:
ItemDisplay[ops]:
ItemDisplay[gpm]:
ItemDisplay[opm]:
ItemDisplay[gpl]:
ItemDisplay[opl]:
ItemDisplay[hp1]: %RED%**%WHITE%Min Heal
ItemDisplay[hp2]: %RED%**%WHITE%Lt Heal
ItemDisplay[hp3]: %RED%**%WHITE%Heal
ItemDisplay[hp4]: %RED%**%WHITE%Gt Heal
ItemDisplay[hp5]: %RED%**%WHITE%Sup Heal
ItemDisplay[mp1]: %BLUE%**%WHITE%Min Mana
ItemDisplay[mp2]: %BLUE%**%WHITE%Lt Mana
ItemDisplay[mp3]: %BLUE%**%WHITE%Mana
ItemDisplay[mp4]: %BLUE%**%WHITE%Gt Mana
ItemDisplay[mp5]: %BLUE%**%WHITE%Sup Mana
ItemDisplay[rvs]: %PURPLE%**%WHITE%Rejuv
ItemDisplay[rvl]: %PURPLE%**%WHITE%Full
ItemDisplay[aqv]: Arrows
ItemDisplay[cqv]: Bolts
ItemDisplay[key]: Key
ItemDisplay[tes]: Andy*Duriel Essence
ItemDisplay[ceh]: Mephisto Essence
ItemDisplay[bet]: Diablo Essence
ItemDisplay[fed]: Baal Essence
// Ignore all inferior items
ItemDisplay[INF]:
// Runes and gems
ItemDisplay[RUNE<20]: %RUNENUM% - %RUNENAME%
ItemDisplay[RUNE>19]: %PURPLE%%RUNENUM% - %RUNENAME%%MAP%
ItemDisplay[GEM>3]: %PURPLE%%NAME%
// Add ethereality, sockets, ilvl to the name
ItemDisplay[ETH]: Eth %NAME%%CONTINUE%
ItemDisplay[SOCK>0]: %NAME% (%SOCKETS%)%CONTINUE%
ItemDisplay[]: %NAME% L%ILVL%%CONTINUE%
// Polearms
ItemDisplay[WP8 ETH ELT NMAG (SOCK=0 OR SOCK>3) !7o7]: %PURPLE%%NAME%
// Body armor
ItemDisplay[EQ2 ELT ETH NMAG !SUP SOCK=0]: %PURPLE%%NAME%
ItemDisplay[uui !ETH NMAG !SOCK=1 !SOCK=2 DEF>450]: %PURPLE%%NAME%
ItemDisplay[utp !ETH NMAG !SOCK=1 !SOCK=2 DEF>505]: %PURPLE%%NAME%
ItemDisplay[xtp !ETH NMAG !SOCK=1 !SOCK=2 DEF>254]: %PURPLE%%NAME%
ItemDisplay[xtp !ETH NMAG ED>13]: %PURPLE%%NAME%
// Paladin shields
ItemDisplay[CL3 ELT ETH NMAG RES>29 SOCK=0]: %PURPLE%%NAME%
ItemDisplay[CL3 ELT !ETH NMAG RES>39 !SOCK=1 !SOCK=2]: %PURPLE%%NAME%
// Barb helms with +3 BO
ItemDisplay[CL2 ((ILVL>25 SOCK=0) OR SOCK=3) NMAG SK149>2]: %PURPLE%%NAME%
// Druid pelts with +3 tornado
ItemDisplay[CL1 ((ILVL>25 SOCK=0) OR SOCK=3) NMAG SK245>2]: %PURPLE%%NAME%
// Wands with BS/BS capable of 2os
ItemDisplay[WP12 !wnd !9wn !ywn NMAG !SOCK=1 SK84>1 SK93>1]: %PURPLE%%NAME%
// Leaf/memory bases
ItemDisplay[WP11 NMAG (SOCK=0 OR SOCK=2) SK52>2]: %PURPLE%%NAME%
ItemDisplay[WP11 NMAG (SOCK=0 OR SOCK=4) SK58>2]: %PURPLE%%NAME%
// Grand matron bows
ItemDisplay[amc ((SOCK=0 !SUP) OR SOCK=4) NMAG CLSK0=3]: %PURPLE%%NAME%
// Monarch shields
ItemDisplay[uit (SOCK=0 OR SOCK=4) NMAG DEF>145]: %PURPLE%%NAME%