npcscan每次进入角色就有npcscan清除缓存存什...

后使用快捷导航没有帐号?
查看: 4425|回复: 20
新人欢迎积分1 阅读权限20积分44精华0UID帖子金钱206 威望0
Lv.2, 积分 44, 距离下一级还需 6 积分
UID帖子威望0 多玩草0 草
& & 最近玩了个猎人,也开始征服稀有宝宝之旅,用NPCSCAN插件报警。但是每次上线前都得去各个目录下面删除缓存文件太麻烦了,于是自己动手写了个批处理程序,在这里跟大家分享一下。初次发帖,不懂格式。
& & 新建一个文本文档,重命名为“随便什么名字.bat”,在里面输入以下内容,自己修改路径为你的wow***位置,Account文件夹下面的就是在你的电脑上面登陆过的通行证编号,#后面的数字就代表登陆时候的wow1,wow2什么的(如果你有~),后面就是服务器名角色名什么的了,进到你wow文件夹里面找一下就知道了。
& & 修改完毕后保存退出,以后开魔兽之前双击一下这个bat文件就行了,如果实在懒惰还可以在bat文件最后面加上一句“E:\WOW\Launcher.exe”,这样清空缓存之后还会自动启动魔兽。
& & 如果觉得有用,请帮忙顶贴让更多人看到,如果使用中发现问题,可以回帖说明,我会经常答复。
---------------------------以下是bat文件代码------------------------------------
echo 正在清除NPCSCAN缓存文件,请稍等......
del /f /s /q &E:\WOW\WTF\Account\\SavedVariables\_NPCScan.*&
del /f /s /q &E:\WOW\WTF\Account\\SavedVariables\_NPCScan.*&
del /f /s /q &E:\WOW\WTF\Account\\你的服务器名\你的角色1名\SavedVariables\_NPCScan.*&
del /f /s /q &E:\WOW\WTF\Account\\你的服务器名\你的角色2名\SavedVariables\_NPCScan.*&
echo off &E:\WOW\Cache\WDB\zhCN\creaturecache.wdb
echo off &E:\WOW\Cache\WDB\zhCN\npccache.wdb
echo 清除NPCSCAN缓存文件完成!
新人欢迎积分1 阅读权限20积分44精华0UID帖子金钱206 威望0
Lv.2, 积分 44, 距离下一级还需 6 积分
UID帖子威望0 多玩草0 草
国际惯例,沙发不留。
Lv.2, 积分 48, 距离下一级还需 2 积分
UID帖子威望0 多玩草0 草
Lv.2, 积分 48, 距离下一级还需 2 积分
UID帖子威望0 多玩草0 草
火箭头盔 发表于
国际惯例,沙发不留。
太过分了。
新人欢迎积分0 阅读权限30积分144精华0UID帖子金钱1665 威望0
Lv.3, 积分 144, 距离下一级还需 106 积分
UID帖子威望0 多玩草0 草
................................
护花丶?猛牛
Lv.3, 积分 232, 距离下一级还需 18 积分
UID帖子威望0 多玩草0 草
好帖子,没人顶么?
最幸福的事儿,不是ROLL到了多牛逼的装备,而是看着一个新手得到了他最需要的东西,同时也在不断的成长中。
& &不用记住每一个帮助过你的人,你的强大就是对他们的馈赠予最好的回报!
笑赞丶??美
Lv.4, 积分 323, 距离下一级还需 677 积分
UID帖子威望0 多玩草0 草
新人欢迎积分0 阅读权限40积分290精华0UID7800782帖子金钱695 威望0
Lv.4, 积分 290, 距离下一级还需 710 积分
UID7800782帖子威望0 多玩草10 草
本人看不懂,郁闷,顶一下!
炒鸡管理员
新人欢迎积分0 阅读权限90积分23800精华0UID帖子金钱13127 威望11
魔兽世界萌王
Lv.9, 积分 23800, 距离下一级还需 11200 积分
UID帖子威望11 多玩草122 草
清空你妹的缓存?直接搜索已完成的稀有就行了
拿下那个妞儿
Lv.4, 积分 303, 距离下一级还需 697 积分
UID帖子威望0 多玩草0 草
到宝宝点,所有WOW大退,上线,好了,出宝宝就能报警了。
新人欢迎积分1 阅读权限20积分44精华0UID帖子金钱206 威望0
Lv.2, 积分 44, 距离下一级还需 6 积分
UID帖子威望0 多玩草0 草
anhongcanglei 发表于
清空你妹的缓存?直接搜索已完成的稀有就行了
拜托不要出言不逊,据我所知搜索已完成的稀有只能在地图上标记稀有刷新位置,如果已经有缓存了你到那里即使NPC就站在你面前NPCSCAN也不会报警。
苍劲丶牛肉面
Lv.3, 积分 86, 距离下一级还需 164 积分
UID帖子威望0 多玩草0 草
无耻的插入
偷咪咪的贼
Lv.4, 积分 511, 距离下一级还需 489 积分
UID帖子威望0 多玩草0 草
虽然没太看懂,但还是非常感谢LZ能分享
传说中的精度
Lv.4, 积分 392, 距离下一级还需 608 积分
UID帖子威望0 多玩草0 草
传说中的沙发酱油帝围观路过。
新人欢迎积分0 阅读权限30积分62精华0UID7740476帖子金钱144 威望0
Lv.3, 积分 62, 距离下一级还需 188 积分
UID7740476帖子威望0 多玩草10 草
楼主&&真的没看明白怎么弄...
猴年新春勋章
猴年大吉,猴年行大运!
需要金钱:1100
手机盒子客户端点击或扫描下载
Powered by5454人阅读
java web(36)
shiro(14)
spring security3(16)
spring(17)
&&&&&&& 上一章节我们知道了如何扩展自己的缓存机制,下面我们就学习下如何应用自己的自定义缓存,我们登录都必须要写一个realm,就是所谓的桥接器;
鉴于我们登录都会把拥有的角色放到缓存,这样都不用每次请求都要访问一次数据库,导致亚历山大,当退出的时候又如何自动我们登录时添加的缓存数据
下面帖个展示代码
package com.silvery.security.shiro.
import java.text.SimpleDateF
import java.util.ArrayL
import java.util.D
import java.util.HashM
import java.util.L
import java.util.M
import org.apache.shiro.authc.AuthenticationE
import org.apache.shiro.authc.AuthenticationI
import org.apache.shiro.authc.AuthenticationT
import org.apache.shiro.authc.SimpleAuthenticationI
import org.apache.shiro.authc.UsernamePasswordT
import org.apache.shiro.authz.AuthorizationI
import org.apache.shiro.authz.SimpleAuthorizationI
import org.apache.shiro.realm.AuthorizingR
import org.apache.shiro.subject.PrincipalC
import org.slf4j.L
import org.slf4j.LoggerF
import org.springframework.beans.factory.annotation.A
import com.silvery.core.model.ViewR
import com.silvery.project.cms.model.A
import com.silvery.project.cms.model.UserD
import com.silvery.project.cms.service.AuthorityS
import com.silvery.project.cms.service.UserDetailsS
import com.silvery.project.cms.vo.AuthorityVo;
import com.silvery.project.cms.vo.UserDetailsVo;
import com.silvery.security.shiro.cache.SimpleMapC
import com.silvery.security.shiro.cache.extend.SimpleCacheM
* 安全框架桥接器
* @author shadow
public class SimpleUserRealm extends AuthorizingRealm {
private final static Logger log = LoggerFactory.getLogger(SimpleUserRealm.class);
@Autowired
private UserDetailsService userDetailsS
@Autowired
private AuthorityService authorityS
@Autowired
private SimpleCacheManager simpleCacheM
// 授权当前用户信息
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
return getAuthorizationInfo(principals.getPrimaryPrincipal());
@SuppressWarnings(&unchecked&)
private SimpleAuthorizationInfo getAuthorizationInfo(Object principal) {
List&Authority& authorities =
// 获取缓存,如失败缓存则返回空角色集合
authorities = (List&Authority&) simpleCacheManager.getCache(principal.toString()).get(principal);
} catch (Exception e) {
authorities = new ArrayList&Authority&();
log.error(e.getMessage());
SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo();
// 添加角色到安全认证实体
for (Authority authority : authorities) {
authorizationInfo.addRole((authority.getName()));
return authorizationI
// 用户登录认证
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authcToken) throws AuthenticationException {
UsernamePasswordToken token = (UsernamePasswordToken) authcT
UserDetailsVo vo = new UserDetailsVo();
vo.setUsername(token.getUsername());
vo.setPassword(String.valueOf(token.getPassword()));
vo.setJcaptionCode(token.getHost());
// 使用用户服务类接口查询用户是否存在
ViewResult viewResult = userDetailsService.login(vo);
if (viewResult.getSuccess()) {
UserDetails details = (UserDetails) viewResult.getValue();
// 加载用户相应角色到缓存
loadUserAuthorityTocache(details);
// 返回安全框架认证信息
return new SimpleAuthenticationInfo(details.getUsername(), details.getPassword(), getName());
log.debug(new StringBuffer().append(token.getUsername()).append(& login failure at &).append(
new SimpleDateFormat(&yyyy-MM-dd HH:mm:ss&).format(new Date())).append(&, error message: &).append(
viewResult.getMessage()).toString());
// 失败情况抛出异常并返回服务层相应错误信息
throw new AuthenticationException(viewResult.getMessage());
* 加载用户角色
* @param details
private void loadUserAuthorityTocache(UserDetails details) {
// 使用当前用户名作为cache key
String cacheKey = details.getUsername();
AuthorityVo vo = new AuthorityVo();
vo.setUser_id(details.getId());
// 查询用户角色并存放到map
Map&Object, Object& map = new HashMap&Object, Object&();
map.put(cacheKey, authorityService.find4user(vo).getValue());
// 新建cache实例并放入缓存管理器
SimpleMapCache cache = new SimpleMapCache(cacheKey, map);
simpleCacheManager.createCache(details.getUsername(), cache);
/** 重写退出时缓存处理方法 */
protected void doClearCache(PrincipalCollection principalcollection) {
Object principal = principalcollection.getPrimaryPrincipal();
simpleCacheManager.removeCache(principal.toString());
log.debug(new StringBuffer().append(principal).append(& on logout to remove the cache [&).append(principal)
.append(&]&).toString());
1. 明显看到登录流程中,我们使用自己定义的缓存管理器,登录认证成功后,然后加载出该用户的相关角色,然后放到缓存中
2. 用户认证的时候,是通过我们的自定义缓存管理器读取资源,实现我们不用第二次查询数据库的需求
3. 如何在退出的自动清空相关缓存呢?可以看到我是重写doClearCache方法,为何要重写?先看看下面帖上来的源码
public abstract class CachingRealm
implements Realm, Nameable, CacheManagerAware, LogoutAware
public CachingRealm()
cachingEnabled =
name = (new StringBuilder()).append(getClass().getName()).append(&_&).append(INSTANCE_COUNT.getAndIncrement()).toString();
public CacheManager getCacheManager()
return cacheM
public void setCacheManager(CacheManager cacheManager)
this.cacheManager = cacheM
afterCacheManagerSet();
public boolean isCachingEnabled()
return cachingE
public void setCachingEnabled(boolean cachingEnabled)
this.cachingEnabled = cachingE
public String getName()
public void setName(String name)
this.name =
protected void afterCacheManagerSet()
public void onLogout(PrincipalCollection principals)
clearCache(principals);
protected void clearCache(PrincipalCollection principals)
if(!CollectionUtils.isEmpty(principals))
doClearCache(principals);
log.trace(&Cleared cache entries for account with principals [{}]&, principals);
protected void doClearCache(PrincipalCollection principalcollection)
protected Object getAvailablePrincipal(PrincipalCollection principals)
Object primary =
if(!CollectionUtils.isEmpty(principals))
Collection thisPrincipals = principals.fromRealm(getName());
if(!CollectionUtils.isEmpty(thisPrincipals))
primary = thisPrincipals.iterator().next();
primary = principals.getPrimaryPrincipal();
private static final Logger log = LoggerFactory.getLogger(org/apache/shiro/realm/CachingRealm);
private static final AtomicInteger INSTANCE_COUNT = new AtomicInteger();
private boolean cachingE
private CacheManager cacheM
明显看到有个方法onLogout处理安全退出时的动作,然后试着重写这个方法加入我们remove cache的动作,这样就可以完美实现退出的时候自动清空自己的角色资源缓存,
但是有人会问,如果我不使用安全退出那资源会一直保留吗?
这个是肯定的,但是当他下次登录,会重新加载资源覆盖之前的角色资源缓存
这次的试验比较简单,但是实用,相信对大家会有帮助,谢谢
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:374552次
积分:3563
积分:3563
排名:第6905名
原创:40篇
评论:284条
(1)(3)(2)(4)(7)(1)(3)(1)(2)(3)(5)(1)(7)后使用快捷导航没有帐号?
查看: 212324|回复: 29
被逼放风筝
Lv.11, 积分 89659, 距离下一级还需 341 积分
UID3875403帖子威望28 多玩草1013 草
在主城,遇到了其他猎人抓的BB,
NPCSCAN毫不客气的就记录在案了.
之后,又苦于无法删除缓存..
有时,即便是遇到了稀有精英,也不报警了.
如可清除NPCSCAN的缓存呢?
1 结束游戏,退回桌面
2 打开WOW文件夹,找到 /Cache/WDB/zhCN(英文版的是enCN)/creaturecache.wdb,删除creaturecache.wdb.
3在WOW文件夹内,找到 /WTF/Account/你的账号名称/SavedVariables/_NPCScan.lua,删除之
& && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && &&&............/_NPCScan.lua.bak,删除之
& && && && && && && && && && && && && &/WTF/Account/你的账号名称/所属服务器/人物名字/SavedVariables/_NPCScan.lua,删除之
& && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && &............/_NPCScan.lua.bak,删除之
注: 要删除Account文件夹内,一切账号下面内的,_NPCScan.lua和_NPCScan.lua.bak文件.
之后,进入游戏,按ESC,选择界面,点左上的插件栏,选稀有精英探测,把 搜索/搜索已完成成就的NPC 和路径图/永远显示路径 点上,之后按确定
如果是多玩魔盒用户,请打开多玩魔盒插件,选择 常规/地图增强/开启稀有精英探测/显示小地图稀有精英路径,点上
[ 本帖最后由 张徐明 于
14:17 编辑 ]
你的贴子很不错。推荐一下! O(∩_∩)O
总评分:&金钱 + 60&
新人欢迎积分0 阅读权限40积分709精华0UID6205549帖子金钱165 威望0
Lv.4, 积分 709, 距离下一级还需 291 积分
UID6205549帖子威望0 多玩草18 草
额,版主大人,要这么麻烦么,我每次直接把WOW目录下的Cache文件整个删掉,我连进这个文件夹都懒得进的,然后插件就可以正常报警了,我是单独下载的插件,不是魔盒一类整合的。
惧龟& &&&0/1& &每天至少转5圈,开服至今一次未见,尸体都没。
桑巴斯& &0/1& &2次见过均慢了1分钟,插件报警,下去就变友好了
其余稀有均已到手,蝎子除外,不太感兴趣。
新人欢迎积分1 阅读权限40积分609精华0UID帖子金钱400 威望0
Lv.4, 积分 609, 距离下一级还需 391 积分
UID帖子威望0 多玩草0 草
最简单的方法是找到NPCSCAN的两个文件夹把他们改成只读文件就可以啦!!!
新人欢迎积分0 阅读权限40积分709精华0UID6205549帖子金钱165 威望0
Lv.4, 积分 709, 距离下一级还需 291 积分
UID6205549帖子威望0 多玩草18 草
额,3楼的,是不是改成只读以后都不用清理缓存,每次见到都会报警了?
惧龟& &&&0/1& &每天至少转5圈,开服至今一次未见,尸体都没。
桑巴斯& &0/1& &2次见过均慢了1分钟,插件报警,下去就变友好了
其余稀有均已到手,蝎子除外,不太感兴趣。
新人欢迎积分1 阅读权限40积分609精华0UID帖子金钱400 威望0
Lv.4, 积分 609, 距离下一级还需 391 积分
UID帖子威望0 多玩草0 草
YES,我的就是这样搞的!!!
新人欢迎积分0 阅读权限40积分709精华0UID6205549帖子金钱165 威望0
Lv.4, 积分 709, 距离下一级还需 291 积分
UID6205549帖子威望0 多玩草18 草
那太好了,晚上回去改只读,不用每次上线删除那个文件了,可以更安逸了~~~
惧龟& &&&0/1& &每天至少转5圈,开服至今一次未见,尸体都没。
桑巴斯& &0/1& &2次见过均慢了1分钟,插件报警,下去就变友好了
其余稀有均已到手,蝎子除外,不太感兴趣。
新人欢迎积分1 阅读权限99积分41421精华4UID帖子金钱214526 威望65
论坛好友加?,勿?。
Lv.10, 积分 41421, 距离下一级还需 13579 积分
UID帖子威望65 多玩草9148 草
支持小明[ddt18]
新人欢迎积分0 阅读权限40积分638精华0UID3137806帖子金钱656 威望0
Lv.4, 积分 638, 距离下一级还需 362 积分
UID3137806帖子威望0 多玩草22 草
回复 1# 的帖子
多玩磨合插件,这样弄用不用每次登陆都要删除对应的文件呢?
新人欢迎积分1 阅读权限40积分723精华0UID538963帖子金钱1003 威望0
Lv.4, 积分 723, 距离下一级还需 277 积分
UID538963帖子威望0 多玩草33 草
改成只读所,谢谢,又学了一手
有个金香奇一样可爱的女儿 0/1
新人欢迎积分0 阅读权限20积分24精华0UID帖子金钱24 威望0
Lv.2, 积分 24, 距离下一级还需 26 积分
UID帖子威望0 多玩草0 草
原帖由 破时代 于
08:56 发表
最简单的方法是找到NPCSCAN的两个文件夹把他们改成只读文件就可以啦!!!
是哪两个文件夹啊?~~给仔细的说说被~~我也是这个问题
Lv.4, 积分 349, 距离下一级还需 651 积分
UID帖子威望0 多玩草50 草
原帖由 ainipishi 于
23:13 发表
是哪两个文件夹啊?~~给仔细的说说被~~我也是这个问题
同上```````````
Lv.4, 积分 349, 距离下一级还需 651 积分
UID帖子威望0 多玩草50 草
原帖由 破时代 于
09:55 发表
YES,我的就是这样搞的!!!
是那两个文件嘛?Cache& &WTF
新人欢迎积分0 阅读权限40积分891精华0UID3145017帖子金钱1079 威望0
Lv.4, 积分 891, 距离下一级还需 109 积分
UID3145017帖子威望0 多玩草12 草
同求同求 是Cache里的ADB WDB 还是WDB里的2个??&&9L的朋友 你是重庆的??
新人欢迎积分0 阅读权限40积分891精华0UID3145017帖子金钱1079 威望0
Lv.4, 积分 891, 距离下一级还需 109 积分
UID3145017帖子威望0 多玩草12 草
2# 3#的朋友 请问是哪两个文件啊 不要吊胃口啊..
新人欢迎积分0 阅读权限30积分124精华0UID帖子金钱84 威望0
Lv.3, 积分 124, 距离下一级还需 126 积分
UID帖子威望0 多玩草0 草
那两个本来就是只读文件啊
初级人缘勋章
初级人缘勋章
七夕活动纪念章
七夕活动纪念章
梦幻之星勋章
梦幻之星勋章
怪物猎人专区勋章
怪物猎人专区勋章
口袋妖怪勋章
口袋妖怪勋章
阳光热情勋章
阳光热情勋章
高达精英勋章
高达精英勋章
漂浮者勋章
漂浮者勋章
活动奖励勋章
活动奖励勋章
终极灌水标兵勋章
终极灌水标兵勋章
需要金钱:1100
手机盒子客户端点击或扫描下载
Powered by

参考资料

 

随机推荐