DOTA icon indicating copy to clipboard operation
DOTA copied to clipboard

Can somebody do a tutorial of how to use user filters?

Open vannessqn opened this issue 3 years ago • 50 comments

Like Idk how it work, what can you do with it? Maybe a video will be awesome

vannessqn avatar Jul 08 '20 13:07 vannessqn

See updated readme for a quick introduction.
I have added missing vital function in the script to generate a items_reference.txt file so download it again.
The mod alters those definitions dynamically, and you can prevent it for specific items / heroes / slots / rarity.
You can even completely replace definitions for an item with those from another item :P
That's it for now, got so many things to do

AveYo avatar Jul 08 '20 14:07 AveYo

ok bro I dont want to bother you haha, oh can you explain some of the options no-bling dota does? what is the wearables, loadout, glancevalue does? the potato I think is disable some stuff on menu? glancevalue I remember reading the old readme that it disable all dota 2 cosmetics?

vannessqn avatar Jul 08 '20 15:07 vannessqn

Pretty much.
Couriers, Wards: hide particle effects
Heroes: does not do anything atm, it will hide some default hero effects (like TB trail, SF trail AM weapon fx etc)
Wearables: hide / revert to defaults particle effects for workshop items (hats).
Abilities: revert to defaults custom spell effects for workshop items.
GlanceValue: also revert models for workshop items, so it looks like the default ones (aka "nohats" / vanilla dota)
Taunts: self-descriptive
SoundBoard: mutes custom chatwheel sounds
Loadout: work in progress, hide hero effects in menu, hide effigies effects in game, more to be added (outposts, weather)
Potato: hides some ui effects, as well as the main menu fps killing promotional tiles
Not yet added back to readme because I might change them soon

AveYo avatar Jul 08 '20 15:07 AveYo

ty sir, and a little thing more, right now it doesnt work with DOTA 2 Mod from dota2mods.com (it worked great together before) so if u have spare time in the future maybe you can check it out, 2 of the mod make play dota 2 in third world bearable :))

vannessqn avatar Jul 08 '20 16:07 vannessqn

Kinda conflicting mods, one disables bling, and the other adds some more :)
The new version overrides items_game.txt to soft-replace resources, and that thing probably does it too.
Not sure if I will go back to the previous method of individually replacing files.

Actually No-Bling can be used to add mods as well - even more efficiently than other solutions.
Custom resources can be placed in a pak01_dir folder in the script directory and will be picked up automatically
Custom items_game.txt entries can be added to the quite able No-Bling-filters.txt file
I'm sure one can identify the required entries by doing a search in that modded file for matching paths
Might even want to raise the issue with the other authors as they could provide a items_game.txt-less variant + filters for no-bling in text form

AveYo avatar Jul 08 '20 17:07 AveYo

Thank you for the update, can I help with documentation?

coldshouldermedia avatar Jul 08 '20 18:07 coldshouldermedia

need help with enigma world chasm, i want leave the ultimate effect and sound on and only that!! what line should i edit in items_game.txt for this? tnx.. 0.o

EternalTranquility1 avatar Jul 08 '20 18:07 EternalTranquility1

@Lgazana: that's simple, you only need one entry in the No-Bling-filters.txt file

"user-filters"
{
  keep_ability    "8326"
}

Searched for world chasm in items_reference.txt
Found it under 8326 id
Used 8326 with the keep_ability filter (that also affects ability sounds)

AveYo avatar Jul 08 '20 19:07 AveYo

thanks but i don't have No-Bling-filters.txt so do i create it myself? and where should i put it?

EternalTranquility1 avatar Jul 08 '20 20:07 EternalTranquility1

Yes that's how you do it. You place it in the same folder as the script

AveYo avatar Jul 08 '20 20:07 AveYo

i don't know man i think it's not reading what's inside No-Bling-filters.txt or keep_ability filter not working or something cause the Enigma's ultimate is still default blue and the sound is default too..

but the fps increase is crazy.. very amazing job!!

EternalTranquility1 avatar Jul 08 '20 20:07 EternalTranquility1

ok it worked finally xD

EternalTranquility1 avatar Jul 08 '20 21:07 EternalTranquility1

Actually it's easy to see if the filter file has been found, just scroll up to see the first script output - whenever a filter file is found it will print it to the console (I really need to remove all that debugging text spam)
console

Glad you did it!

AveYo avatar Jul 08 '20 21:07 AveYo

lol thank you so much and good job!

EternalTranquility1 avatar Jul 08 '20 21:07 EternalTranquility1

I have been following your @AveYo user filters example and now I can do a quite of magic things with it!! Still had a few of problems, I have the Shoulder Plate of the Fervent Conscript Honored version (style not unlocked), I want to mod it so when I wear it it can turn on the unlocked on, can you show me how to do it properly, I tried to edit it some ways but it's just not work

vannessqn avatar Jul 09 '20 21:07 vannessqn

Yeah, the new filter capabilities rule!

For now, at the very minimum you could do this:

"user-filters"
{
  keep_item "8534,8535,8536,8543,8544,8545,8546"
  8534 { visuals { styles { 0 { skin 1 } 1 { skin 0 } } } }
  8535 { visuals { styles { 0 { skin 1 } 1 { skin 0 } } } }
  8536 { visuals { styles { 0 { skin 1 } 1 { skin 0 } } } }
  8543 { visuals { styles { 0 { skin 1 } 1 { skin 0 } } } }
  8544 { visuals { styles { 0 { skin 1 } 1 { skin 0 } } } }
  8545 { visuals { styles { 0 { skin 1 } 1 { skin 0 } } } }
  8546 { visuals { styles { 0 { skin 1 } 1 { skin 0 } } } } 
}

Note that it's condensed, but the gist of it is simple: switch skin 0 to skin 1 and vice-versa!
You probably want to copy paste the complete visuals section for each item in the set individually from items_reference.txt

But for styles in particular I should add a switch filter or something to make it more convenient, I had it planned but forgot about it

AveYo avatar Jul 09 '20 22:07 AveYo

I added it but it doesnt seems to work for me... But there are bigger problem, it seems like keep_modifier example in the user filters had permanent effect for me, I already deleted all the line related to skywrath and jugg but the effect still appear in game, and I can't make it disappear... I have already validated dota 2, redownload No-Bling, even deleted the user filters file but the effect still there https://imgur.com/a/zHdeTHM

vannessqn avatar Jul 10 '20 16:07 vannessqn

dota2_TgNbj7nFN0 i get this error whenever i launch dota with -tempcontent option after using a latest nobling script. please help

lovesosa3 avatar Jul 10 '20 17:07 lovesosa3

@vannessqn delete <STEAMPATH>\steamapps\common\dota 2 beta\game\dota_tempcontent folder @lovesosa3 same as above (you might have some other mods there or an older conflicting file)

AveYo avatar Jul 10 '20 17:07 AveYo

@AveYo I already tried it, deleted and rerun no-bling, it's still there, one more thing, when I was learning following your example I tried to add 1 more effect like the jugg's default weapon this case for NP https://imgur.com/a/pvtcLJ7. Idk if this cause the problem, I think not... But I dont understand like when dota_tempcontent is deleted it like the mod itself is deleted right? So when I rerun it will create a new dota_tempcontent, but now it doesnt even have user filter file, why it cause such problem, weird

vannessqn avatar Jul 10 '20 17:07 vannessqn

First of all, each effect is linked behind the scenes with particle snapshots and control points to follow a certain model.
Effects from a hero will almost never work on another hero and can be quite problematic later on.
I know I've opened the possibility, but just don't dive right in into doing that. Stick with same hero items.

Second, yes, the mod is effectively recreated whenever you run the main script.
But when using the desktop shortcut it will only recreate the mod if a new dota patch has arrived.
I think this might be a source for confusion, so I will add tracking changes for the filters file as well next,
so it will recreate the mod also when filters change!

AveYo avatar Jul 10 '20 17:07 AveYo

@AveYo Appreciate it dude, but I think you misunderstood me, I dont mod NP's default weapon effect into Jugg, I just do the samething for NP like the Jugg line,

keep_modifier { particles/units/heroes/hero_juggernaut/juggernaut_blade_generic.vpcf - particles/units/heroes/hero_furion/furion_staff.vpcf - } like this

vannessqn avatar Jul 10 '20 18:07 vannessqn

Right :)
Misunderstood

Actually for furion's staff there is already an internal asset filter so you probably can't override it like that atm.
Will do something about this in the next update

AveYo avatar Jul 10 '20 18:07 AveYo

hey i need some help keeping "legion's blades of vothmoch" icon and everything but remove all glowy effects coming out of it and the blades.. so what can i use with keep_item "5810"?

EternalTranquility1 avatar Jul 10 '20 19:07 EternalTranquility1

Icons are not supported as a dedicated filter yet, will be featured next.
I personally find custom icons disturbing in-game so it did not even cross my mind someone would want them :)
The idea is to give as much as possible control to user via simple filters that do not require programming language knowledge.
Working atm to implement a disable internal filters option and add some more

AveYo avatar Jul 10 '20 20:07 AveYo

Bummer.
The one method I had to completely revert Invoker persona during matchmaking, no longer works after AM persona release.
Or I miss-remember the steps.
Update delayed to check what else broke / works.

AveYo avatar Jul 11 '20 11:07 AveYo

@AveYo first off, thank you for taking your time developing and updating this thing, doing god's work. I have some feedback and a couple of suggestions to improve it.

This version of No-Bling doesn't remove hats on heroes like the old one did (I think it must be GlanceValue option). Is this something you currently work on to fix in new implementation? Right now I use both: re-built pak01_dir.vpk from old No-Bling with everything but HeroTweaks enabled (some animations were broken because of it), and renamed pak01_dir.vpk to pak02_dir.vpk from new No-Bling with everyting enabled. Haven't paid a lot of attention if there are some minor hats left on some heroes in-game, but in menus, most heroes look vanilla, even new sets from TI10 Cache and AM persona (with some minor visual glitches).

I suggest you to keep old implementation of No-Bling in a separate branch of this repo, just so you have a backup and everyone else can learn from it (maybe) or use it until you get new implementation parity with old one.

My next suggestion would be to add description of what each option does from here to readme. I'd say it's essential, because how should anyone know what each option does before they decide to use it or not?

And another QoL/UX suggestion: I was really confused with new interface because there was no clear way to tell that red background meant "disabled" and white meant "enabled". I was able to tell which does what only by trying to build it (all whites resulted in no built file) and by looking at contents of No-Bling-choices.txt. Even though new UI looks slicker than the old version, it can be really confusing. I'd say the best option woud be to make checkboxes visible again, or add some text like "ON" and "OFF" instead of them. I see I'm not the only one confused. Even if you want to leave the UI as-is, could you please at least mention this in readme?

Also, if you need old implementation for any reason, ping/DM me and I can spin up a forked repo, if that's OK.

Mackzwellz avatar Jul 12 '20 00:07 Mackzwellz

The colors being confusing is such a reddit thing I've rofl a bit!
Why would red not be un-selected when the buttons at the bottom have red background around them?
And it only takes one, two runs at most to get used to. I'm keeping it if only to troll some users
But sure, I can add a Roses are 🔴, Selected No-Bling choices are ⚪ note 👍

Heroes option does nothing atm, it's a work in progress.

There's no point on going back to the old build, won't take much longer to get on parity / better.
Reliable rules (filters) to set exceptions from the automated generated build is the strong point now.
It helps both me as a dev and advanced users familiar or not with items_game modding.
Most stuff is self-descriptive (to me) but I'm trying to document the new format by examples.
I think you will find the upcoming final user-rules format example much more helpful:

"user-rules"  // see generated items_reference.txt and create your own rules, do not use these examples as-is
{
  keep_hero ( npc_dota_hero_meepo npc_dota_hero_lina )  // meepo + lina all items

  keep_slot {
    * ( weapon offhand_weapon )                         // any-hero weapon + offhand_weapon items   
    npc_dota_hero_warlock ( ability_ultimate )          // warlock ability_ultimate items
  }

  keep_rarity {
    * ( arcana )                                        // any-hero arcana items
    npc_dota_hero_ursa { * ( rare immortal ) }          // ursa any-slot rare + immortal items  
    npc_dota_hero_antimage { head ( mythical ) }        // am's head mythical items 
  }

  keep_item ( 12 38 6694 )                              // items 12, 38, 6694

  keep_type {
    // override_internal 1
    4004 ( * )                                          // item 4004 any-type, same as keep_item ( 4004 )                  
    4005 ( model_player )                               // item 4005 model_player [GlanceValue]        
    4006 ( portraits )                                  // item 4006 portraits    
    7247 ( gem )                                        // item 7247 gem having effects
    4007 ( visuals )                                    // item 4007 whole visuals section
    4020 ( particle_create )                            // item 4020 visuals having type particle_create [bling]
    4454 ( sound particle )                             // item 4454 visuals having type sound + particle [ability]
    4794 ( ability_icon )                               // item 4794 visuals having type ability_icon
    npc_dota_hero_rattletrap { * ( particle_create ) }  // clockwerk any-slot visuals having type particle_create [bling] 
    npc_dota_hero_enigma { arms ( model_player ) }      // enigma's arms model_player [GlanceValue]
  }

  keep_soundboard ( TI10_Ceeeb Brutal )
 
  // replace_item pairs of id1 id2 or id1 {manual definition}
  246 { visuals{} }                                     // replace item 246 [ss's weapon] with empty visuals manual definition
  247 246                                               // replace item 247 [ss's offhand_weapon] with item 246 [ss's weapon]
  12                                                    // replace item 12 [kunkka's weapon] with {manual definition from 5321} 
  {
    "model_player"    "models/items/kunkka/kunkka_shadow_blade/kunkka_shadow_blade.vmdl"
    "visuals"
    {
      "asset_modifier"
      {
        "type"    "particle"
        "asset"   "particles/units/heroes/hero_kunkka/kunkka_weapon_glow_ambient.vpcf"
        "modifier"    "particles/econ/items/kunkka/kunkka_weapon_shadow/kunkka_weapon_glow_shadow_ambient.vpcf"
      }
      "asset_modifier"
      {
        "type"    "particle_create"
        "modifier"    "particles/units/heroes/hero_kunkka/kunkka_weapon_glow_ambient.vpcf"
      }
    }
  }

  // internal replace_item rule can also be used for generic hero + slot replace 
  replace_item {
    // override_internal 1
    npc_dota_hero_omniknight { weapon 44 }              // replace all omniknight's weapon items with item 44 [default weapon] 
  }

  replace_model_player {
    // override_internal 1                                                                
    6972 5712                                           // replace item 6972 [sky's Complete Staff] with 5712 "model_player"
    npc_dota_hero_furion { weapon 4159 }                // replace all furion's weapon model with 4159 "model_player"
  }

  replace_visuals {
    // override_internal 1
    6972 5712                                           // replace item 6972 "visuals" with 5712 "visuals" section
    npc_dota_hero_furion { weapon 4159 }                // replace all furion's weapon "visuals" with 4159 "visuals" section
  }

  replace_style {
    8534 { 0 1 } 8544 { 0 1 } 8545 { 0 1 } 8546 { 0 1 } // replace style 0 with style 1 for some items part of Fervent Conscript 
  }
  
  replace_type {
    // override_internal 1
    4004 { * 2 }                                        // replace item 4004 any-type = 2, same as replace_item { 4004 2 }                  
    4005 { model_player 15 }                            // replace item 4005 model_player = 15 "model_player"
    4006 { portraits 468 }                              // replace item 4006 portraits = 468 "portraits" section   
    4007 { visuals 47 }                                 // replace item 4007 whole visuals section = 47 "visuals"
    4020 { particle_create 15 }                         // replace item 4020 visuals having type particle_create [bling] = 15
    4454 { particle 4598 sound 4598 }                   // replace item 4454 visuals having type ability + sound = 4598
    4794 { ability_icon 7741 }                          // replace item 4794 visuals having type icon = 7741
    npc_dota_hero_enigma { arms { model_player 8326 } } // replace enigma's arms model_player = 8326 "model_player"
  }
}

Will probably add a glossary page for rules (filters) and add back the table format for each choice like before 👍

AveYo avatar Jul 12 '20 07:07 AveYo

I agree with what @Mackzwellz said. The UI is rather confusing at first glance. Moreso because there are quite a few options preselected. Some button-depressed texture or a border between buttons and options would be helpful in increasing the glancevalue of the mod. :^)

And speaking of GlanceValue, the option doesn't revert wards and couriers to the default model.

Lethalmathematix avatar Jul 12 '20 10:07 Lethalmathematix

Edit: this is the best I can do about the choices dialog:
wtf2 Will this one get you punks satisfied? 🤣

GlanceValue by default will revert wards next, but not couriers.
Who even likes having 5 donkeys at the fountain?
Plus some couriers are absolutely awesome!
But sure, a rule will be available to revert couriers too.

AveYo avatar Jul 12 '20 11:07 AveYo