current format http://upaste.me/c7ed2182125d6a31b already tested with
- script sdfhdskfj FAKE_NPC,{OnInit: bindatcmd "@pcblock", strnpcinfo(0)+"::Onaaa"; setarray .name$, "BLOCK_MOVE", "BLOCK_ATTACK", "BLOCK_SKILL", "BLOCK_USEITEM", "BLOCK_CHAT", "BLOCK_IMMUNE", "BLOCK_SITSTAND"; setarray .flag$, " [^ff0000OFF^000000]", "[^0000ffON^000000]"; end;Onaaa: for ( .@i = 0; .@i < 7; .@i++ ) .@menu$ = .@menu$ + .name$[.@i] + .flag$[ !!( checkpcblock() & (1 << .@i) ) ] +":"; .@s = select( .@menu$ ) -1; pcblock 1 << .@s, !( checkpcblock() & (1 << .@s) ); close;}
. BLOCK_COMMAND !! omg how can I miss this one, need this one asap the rest are redundant BLOCK_ATCOMMAND - repeated ??? BLOCK_DROP - already has nodrop mapflag BLOCK_GSTORAGE - I seriously think this should belongs to nostorage mapflag ima thinking of making one BLOCK_NOIDEAWHATELSETOPOSTHERE hmm ... this long name makes me google 'what is the longest identifier in c++' answer is 2048 -> https://msdn.microsoft.com/en-us/library/565w213d.aspx . .
I actually thought about this but the blockedmove and monster_ignore is quite everywhere in the source ... don't feel like touching them
ima thinking of changing checkpcblock into getpcblock
after 2nd thought, I change them 1st then see how Haru react to it