0.2 - plugin
- add sub-type flags (Self/Party/Guild/Bg/Other/Homun/Mob)
- add emotion filter
- fix compiler warning that doesn't display on visual studio
actually there are a lot of people interested in this topic...
@xJhay
let me just copy paste from a PM
the reason I started this topic because I received the `@packetfilter` for rathena use, and asked me to convert into plugin
and upon reading it I found its very inconvenient and thus I want to rewrite it
that version I receive is block based on skill ID
but my plan is to block based on flags, not every skill ID entry
if block by skill type listed in skill_db,conf will make the plugin future proof
SkillType: { (bool, defaults to "Passive")
Passive: true/false (boolean, defaults to false)
Enemy: true/false (boolean, defaults to false)
Place: true/false (boolean, defaults to false)
Self: true/false (boolean, defaults to false)
Friend: true/false (boolean, defaults to false)
Trap: true/false (boolean, defaults to false)
}
SkillInfo: { (bool, defaults to "None")
Quest: true/false (boolean, defaults to false)
NPC: true/false (boolean, defaults to false)
Wedding: true/false (boolean, defaults to false)
Spirit: true/false (boolean, defaults to false)
Guild: true/false (boolean, defaults to false)
Song: true/false (boolean, defaults to false)
Ensemble: true/false (boolean, defaults to false)
PS: just like card seller A-Z, before I made that script every member posted on the board manually insert each card ID into each npc,
until I made that SQL version which rip from SQL database, that old script still works today, make it future proof
another thing to note about that version is because it block base on skill ID only, it doesn't make use of the flag of each packet
on the battlefield, or I mean during woe, there are a lot of packets being sent even if its unnecessary information
for example, your guild and another guild A attacking defending guild B,
and your guild and guild A are not on good terms and rushing to destroy the emperium
my point is, guild A attacking guild B are unnecessary in my opinion, and I don't need those packet informations
but I still need to know my party/guild are under attack
/// 02e1 <src ID>.L <dst ID>.L <server tick>.L <src speed>.L <dst speed>.L <damage>.L <div>.W <type>.B <damage2>.L (ZC_NOTIFY_ACT2)
and I can use <src ID> and <dst ID> and check are they the same guild ? then send packet
is <dst ID> my guild mates ? then send packet
the rest are not important
that version simply block by skill ID and from my understanding, I wouldn't know who is actually healing me when enable `@packetfilter`
there are some healer who are good in healing others and some just standing there acting like a doll waiting to get hit
my idea is make additional field so only filter out unneeded information
when playing as crusader, my job is to defend my party, and I want all information packets send that are threatening my party
when playing as assassin, I don't have to take care of guild member, I only want to assassinate the healer or dd who are actively killing the most of my guildmates etc
yeah, make it highly configurable
anyway read the additional information I already made this part a reality,
but so far only chat and emotions are implement, skills has to do ... maybe tomorrow ...