dc脚本
1. DC_shell 进入之后不管输入什么名字自动退出shell
这可能是shell脚本有问题。
2. 在DC上如何操作能让域内的客户端执行批处理文件或VBS文件(在不重启客户端的前提下),谢谢!
使用组策略,设置一个任务计划,在某一个时刻执行某个文件,之后给客户端下发
3. 3dsmax如何在DC启动程序中设置字符串
你说的DC是不是 是MAX内置的脚本编辑器?
如果是 写法
就是 Value = " 这是一段字符串 "
或者
Value = ( 这是一段字符串 as string )
如果是SDK的话 是 C语言格式
在2016以后加入了Python脚本 具体写法请查阅它
如果以上都不是 请提供一下具体的程序名称 我去给你查一下
4. 用按键精灵做个脚本想插入QQ超人打码,看不懂范例,麻烦大神给看下怎么插入进去好吗
一般这样的制作,最好找跟你对接的超人一方,向他们咨询。
5. Synopsys的vcs和dc要使用脚本吗,一般都是装在unix下吗
有图形界面。VCS和DC一版都安装在linux下,推荐使用RHEL。不过我安装的在Ubuntu10.04,费了诸多周折。DC有windows NT的版本,但是比较古老,好像是2000年左右出的一版。
6. 暗黑破坏神2 dc
DC的出现时可以设置的,你的文件夹里面如果有plugy.ini的话,可以用记事本打开,找到这样的一行代码原版如下:
[WORLD EVENT]
ActiveWorldEvent=1
ShowCounterInAllDifficulty=0
ItemsToSell=The Stone of Jordan
MonsterID=333
OwnSOJSoldChargeFor=100
InititalSOJSoldMin=200
InititalSOJSoldMax=3000
TriggerAtEachSOJSoldMin=75
TriggerAtEachSOJSoldMax=125
ActiveAutoSell=1
TimeBeforeAutoSellMin=0
TimeBeforeAutoSellMax=1200
这个代码的配置详细说明:
OwnSOJSoldChargeFor=100
TriggerAtEachSOJSoldMin=75
TriggerAtEachSOJSoldMax=125
这里,每卖一个SOJ就是+100数值,当数值在Trigger中的 75~125之间就会触发DC。由上配置可见DC出现需要1~2个SOJ,SOJ就是乔丹之石。
ActiveAutoSell=1
TimeBeforeAutoSellMin=0
TimeBeforeAutoSellMax=1200
允许自动贩卖,但是自动贩卖始终只+1的数值,而下面就是自动贩卖的时间0~1200s。
配置修改方案:
看了以上配置,应该知道如下几点
1)自动贩卖会且仅会+1
2)触发条件是TriggerMin和TriggerMax之间的值
3)自动贩卖时间为TimeMin和TimeMax之间的值
因此我们所要做的,只是修改自动贩卖时间让+1的速度更快。降低Trigger的要求所以我们修改配置为下
TriggerAtEachSOJSoldMin=1
TriggerAtEachSOJSoldMax=2
ActiveAutoSell=1
TimeBeforeAutoSellMin=0
TimeBeforeAutoSellMax=1 :
这样就每次都出DC了,你要是不想打DC,就把改回去吧。
7. 传奇服务端脚本命令
1、常用命令
#IF ;如果
#SAY ;输出字符串
#ACT ;执行命令
break ;结束命令
close ;结束对话
2、人物条件命令
CHECKITEM 物品名 数量 ;检测当前人物所带物品及数量
CHECKGOLD 数量 ;检测当前人物所带金币数量
CHECKLEVELEX (>,<,=) 等级数 ;检测当前人物等级
CHECKCREDITPOINT (>,<,=) 声望数 ;检测当前人物声望
CHECKJOB (Warrior,Wizard,Taoist) ;检测当前人物所属职业
CHECKHUM 地图名 数量 ;检测指定地图的玩家数量
CHECKITEMW 物品名 数量 ;检测当前人物是否佩带指定物品
CHECKDURAEVA 物品名 数值 ;检测当前人物所带矿物等物品的品质
CHECKBAGGAGE ;检测当前人物的背包是否已满
ONLINELONGMIN (>,<,=) 时长 ;检测当前人物在线时长
CHECKCASTLEDOOR (损坏,开启,关闭) ;检测沙城城门状态
CASTLEWARAY (>,<,=) 天数 ;检测上次攻城到现在的天数
CASTLECHANGEDAY (>,<,=) 天数 ;检测沙巴克占领天数
CHECKOFGUILD 行会名称 ;检测当前人物行会名称
CHECKNAMELIST 角色名列表.txt ;检测当前人物角色名是否在列表中
CHECKGUILDLIST 行会列表.txt ;检测当前人物行会是否在列表中
CHECKACCOUNTLIST 帐号列表.txt ;检测当前人物帐号是否在列表中
CHECKIPLIST IP列表.txt ;检测当前人物IP是否在列表中
CHECKACCOUNTIPLIST 帐号和IP列表.txt ;检测当前人物登录帐号与IP是否与列表中匹配
CHECKNAMEIPLIST 角色名和IP列表.txt ;检测当前人物角色名称与IP是否与列表中匹配
ISADMIN ;检测当前人物是否为管理员
HAVEGUILD ;检测当前人物是否加入行会
ISCASTLEGUILD ;检测当前人物是否为沙城成员
ISCASTLEMASTER ;检测当前人物是否为沙城老大
ISGUILDMASTER ;检测当前人物是否为行会老大
ISNEWHUMAN ;检测当前人物是否为新人
CHECKSLAVECOUNT (>,<,=) 数量 ;检测传奇私服人物所带宠物的数量
CHECKSLAVELEVEL (>,<,=) 等级数(7) ;检测当前人物所带宠物的等级
CHECKEXP (>,<,=) 经验值 ;检测当前人物经验值
CHECKPOSELEVEL (>,<,=) 等级数 ;检测当前人物对面人物的等级
CHECKPOSEGENDER 性别(男,女) ;检测当前人物对面人物的性别
CHECKMEMBERLEVEL 类型 (>,<,=) 等级数 ;检测当前人物的会员等级
CHECKMEMBERTYPE (=,>,<) 类型数 ;检测当前人物的会员类型
CHECKRENEWLEVEL (=,>,<) 转生次数 ;检测当前人物的转生次数
CheckBagSize 数量 ;检测当前人物背包空格数
CHECKDC (=,>,<) 攻击下限 (=,>,<) 攻击上限 ;检测当前人物攻击力的上限及下限值
CHECKMC (=,>,<) 魔法下限 (=,>,<) 魔法上限 ;检测当前人物魔法力的上限及下限值
CHECKSC (=,>,<) 道术下限 (=,>,<) 道术上限 ;检测当前人物道术力的上限及下限值
CHECKHP (=,>,<) HP下限 (=,>,<) HP上限 ;检测当前人物HP值的上限及下限值
CHECKMP (=,>,<) MP下限 (=,>,<) MP上限 ;检测当前人物MP值的上限及下限值
CHECKUSEITEM 物品位置 ;检测当前人物身上指定位置是否戴物品
CHECKITEMTYPE 物品位置 物品类型 ;检测当前人物身上指定位置戴的物品是否为指定类型
CHECKGAMEPOINT 活力值 ;检测当前人物活力值
ISLOCKPASSWORD ;检测当前人物的仓库是否解锁
PASSWORDERRORCOUNT (=,>,<) 次数 ;检测当前人物输入仓库密码错误次数
CheckRangeMonCount 地图号 X Y 范围 (=,>,<) 数量 ;检测一个坐标范围内怪物数量
CheckMonMap 地图号 数量 ;检测一个指定地图内的怪物数量
CHECKMON 数量 ;检测私服人物所在地图内的怪物数量
CHECKSKILL 技能名称 (=,>,<) 修炼等级 ;检测当前人物已学技能
3、地图功能命令
MAP 地图名 ;将当前人物移动到指定地图
MOVEMAP 地图名 X Y ;将当前人物移动到指定地图的指定坐标
TIMERECALL 时间值 ;指定当前人物到达多少时间后被传回这里
BREAKTIMERECALL ;中断指定人物达多少时间后被传回这里
RECALLMOB 怪物名称 宝宝等级(最高为 7) 叛变时间(分钟) 是否自动变色(0、1)固定颜色(1-7);给予当前人物指定怪物为宝宝
setautogetexp 命令 时间 经验 是否安全区(0为任何地方) 地图号(任何地图请不用填);指定当前人物在线泡经验(直接得到经验)
GAMEGOLD (=,+,-) 数量 ;调整当前人物的元宝数量
SETRANKLEVELNAME 封号 ;调整当前人物的封号
ADDGUILDLIST 行会列表.txt ;将当前人物行会名加入列表
DELGUILDLIST 行会列表.txt ;将当前人物行会名从列表删除
ADLNAMELIST 角色名列表.txt ;将当前人物角色名加入列表
DELNAMELIST 角色名列表.txt ;将当前人物角色名从列表删除
CLEARNAMELIST 列表.txt ;清除列表内的所有信息
HAIRSTYLE 数值 ;调整当前人物的发型
CHANGENAMECOLOR 数值 ;调整当前人物的名字颜色
CHANGEJOB 职业名称(Warrior,Wizard,Taoist) ;调整当前人物的所属职业
CHANGEGENDER 数值 ;调整重庆市人物的所属性别
ADDSKILL 技能名称 技能等级 ;给予当前人物添加指定技能
DELSKILL 技能名称 ;删除当前人物的指定技能
SKILLLEVEL 技能名称 (=,+,-) 技能等级 ;调整当前人物的指定技能为指定等级
DELNOJOBSKILL ;删除当前人物非本职业的所有技能
CLEARSKILL ;删除当前人物的所有技能
GAMEPOINT (=,+,-) 数量 ;调整当前人物的活力值
CREDITPOINT (=,+,-) 数量 ;调整当前人物的声望点数
SETMEMBERLEVEL (=,+,-) 等级数 ;调整当前人物的会员等级
SETMEMBERTYPE (=,+,-) 等级数 ;调整当前人物的会员类型
CHANGELEVEL (=,+,-) 等级数 ;调整当前人物的等级
CHANGEPKPOINT (=,+,-) 点数 ;调整当前人物的PK点数
CHANGEEXP (=,+,-) 经验值 ;调整当前人物的经验值
CHANGEMODE 模式类型(1管理模式、2无敌模式、3隐身模式) 开关(1为开,0为关) ;调整当前人物的游戏模式
CHANGEPERMISSION 权限等级 ;调整当前人物的权限等级
KILLMONEXPRATE 倍率 有效时间 ;调整当前人物的杀怪经验倍率
POWERRATE 倍率 有效时间 ;调整当前人物的攻击力倍率
KICK ;将当前人物踢下线
KILL 数值 ;将当前传奇私服人物杀死,并设置杀死类型
KILLSLAVE ;将当前人物的宝宝全部杀死
CLEARPASSWORD ;清除当前人物的仓库密码
RestRenewLevel ;将人物的转生次数复位为零,即未转生
DELMARRY ;清除当前人物的结婚信息
DELMASTER ;清除当前人物的拜师信息
RENEWLEVEL 转次数 转后等级 0 ;将当前人物转生,并设置转生次数以及转生后人物等级跳到多少级
SENDMSG 信息类型代码 %s信息内容%d ;发送文字信息
CLEARMAPMON 地图号 ;清除指定地图的所有怪物
RESTBONUSPOINT ;清楚当前人物的属性点
PARAM1 地图 ;NPC指定刷怪地图
PARAM2 横坐标 ;NPC刷怪X坐标
PARAM3 纵坐标 ;NPC刷怪Y坐标
MONGEN 怪物名称 数量 时间 ;NPC刷怪命令+怪物+数量+时间
takew可以取走身上装备的物品)
mapmove 移动地图(例如:mapmove 0 634 612)
map 移动地图(不需要具体坐标.例如:map 0)
timerecall 在规定时间内召回(timerecall 5 在5分钟之内召唤回原地图)
takecheckitem 收取checkitem过的物品(不加任何参数)
monclear 清空地图怪物(monclear 0 清空0地图上的所有怪物)
exchangemap 互换地图(exchangemap 地图代码)
recallmap 把某地图的人召唤过来(recallmap 地图代码)
batchmove 3 (此3个连用可以瞬移地图用于赌场)
3、定义变量
RANDOM 随机数 ;一般用在#IF语句中作为触发#IF机率,
EQUAL 变量名 数值 ;检测变量是否等于指定数值
LARGE 变量名 数值 ;检测变量是否大于指定数值
SMALL 变量名 数值 ;检测变量是否小于指定数值
MOV 变量名 数值 ;给予变量赋于指定值
INC 变量名 数值 ;给予变量加上指定值
DEC 变量名 数值 ;给予变量减去指定值
SUM 变量名A 变量名B ;将两个变量相加
MOVR 数值 ;变量赋予小于指定数值的随机非负数
<$STR(变量)> ;把变量转为字符串
SET [变量名] 数值 ;定义变量
RESET [变量名] 连续数字 ;连续将变量清零
CHECK [变量数值] 数值 ;检测变量是否等于指定数值
(7)dc脚本扩展阅读
传奇服务器脚本命令常见错误
1、错误一:
#if
RANDOM 3
#act
goto 1
break
#if
RANDOM 3
#act
goto 2
break
#if
RANDOM 3
#act
goto 3
break
很多人认为random的具体运行是首先在3以下随机取一个值,然后该脚本内的random 3都不再取值了。那样理解的时候goto 1、2、3的几率是相等的,都是1/3。
这是一个理解上的错误,实际这里运行的操作是这样的,到达1的几率为1/3,到达2的几率为先2/3然后1/3就是2/9。而到达3的几率则为2/3然后2/3然后1/3实际几率为4/27!
2、错误二:
#if
RANDOM 3
#act
goto 1
break
#if
RANDOM 2
#act
goto 2
break
#if
RANDOM 1
#act
goto 3
break
有人认为在第一个random的时候会给一个隐藏的值在3以下做一个赋值。然后以后的random就是检测是否自己的random值和这个隐藏值相同,如果相同则#act。
这个也是一种错误理解,虽然同是对random理解错误造成的,但是该错误与错误一理解上是不同的。但是这种随机的设计方式是提倡的,利用P变量的随机取值是可以完成的。
8. 计算机方面的
一般来说可能会有一下的几个原因:
a、脚本从名称到内容都尽可能的不要用特殊字符、长文件名(超过8个字符)、空格,比如&等。这样的脚本在不同的os上可能执行会有问题。
b、脚本存放的位置和路径(脚本可以放在一切client能够读取的位置。通常这个位置处于\\server\netlogon的share下(在服务器上的位置是% systemroot\sysvol\sysvol\domainname\scripts),但是如果你制订了策略,那么脚本默认的存放路径应该在% systemroot%\sysvol\sysvol\domainname\policies\guid\user(machine)\scripts 下,如果你放在别的位置,需要在脚本执行栏的位置输入绝对路径,格式同样需要以\\server\……开头)
c、脚本的编写方面。特别是适用net use 来map一个fileserver上的路径。有可能在登陆之前,client上已经有网络盘的映射,如果恰好和你map的盘符一样,将有可能导致脚本执行失败,你可以在脚本的最前面加一句net use * /d /y来解决这个问题。
不过这个命令要慎用,在实际生产环境中,如果你的fileserver是非wintel平台的storage,响应时间较长,那么可能导致用户重新登陆时,无法连接fileserver上的sharefolder,可以用一句if exist来判断网络盘是否存在。
另外一个方面,如果远程设备是一些跨平台的存储设备,比如一些nas、san等,map到windows平台的时候可能会提示“网络路径无法连接”等问题,可以相互更换map \\server_netbios_name或者map \\server_ipaddress两种方式来尝试连接。
如果遇到权限问题,那么按照共享权限和安全权限冲突时取最小值的原则,一般来讲可以将共享权限设置为full control,然后安全权限做严格设定的办法来解决。
d、关于策略的执行顺序是本机、站点、域、ou、子ou。如果有设置上的重复,按照执行的顺序,后面的设置将会覆盖前面的设置。 如果在ou上设置“block policy inheritance”,那么上层的策略将不会在这一层获得执行。
如果在ou上设置“No override”,那么这一层将不会被后面的策略设置覆盖,也就是说即使后面有相同的设置,仍然以这一层的设置为准。
如果在ou上设置“disabled”,那么这个策略将会被禁止执行。
如果在策略的properties security上取消了对应的组的read和apply group policy,那么对应的组将会无法应用到策略。通常默认被应用的组有authenticated user。
如果你取消了该组的两个权限,然后add其他组,同样赋予read和apply group policy的话,此策略将只会被该组执行到,这也就是所谓的filter。
如果你的域中有多台dc,可能需要在dssite.msc中手动同步它们。
你也可以在服务器上使用secedit /refreshpolicy user_policy(machine_policy) /enforce 来强制刷新策略
这样的办法同样适用于client。
e、执行的脚本,可以放在computer configuration和user configuration中执行。
对于user,通常可以放置更改用户属性的东西。
对于computer,通常可以放置更改计算机属性的东西。
这两个没有绝对界限,但通常登陆的时候,都属于domain users成员,这样如果需要更改注册表或系统文件之类的,可能会遇到权限问题,那么我们也可以把这样的脚本放在computer中,这样可以在user登陆之前获得执行。
这里顺带说一句:大家很少用到计算机账户吧,那么计算机账户的作用在这里可以得到体现,由于此时还没有用户账户验证,计算机账户和dc的验证有一方面来源于本地计算机账户和dc之间保持一个密码同步,以便于在这种特殊的情况下获得验证,该密码默认30天变更一次。
你甚至可以在sharefolder上添加计算机账户的权限:)如果由于dns对应或者其他的一些原因,导致这个密码无法同步,dc将会无法验证该计算机账户,这可能会导致计算机登陆脚本无法执行。在dc的日志上一般都会给出一个错误提示,ComputerNetbiosName$无法存取。解决的办法,可以通过在客户端上执行netdom重置该信任关系,这是另话了。)
对于user的设定,只需要登出然后登入即可获得脚本的应用。
对于computer的设定,则需要重新启动机器来获得脚本的执行。
FAQ:
一般脚本的存放位置有两种观点:
1、将登陆脚本放在\\server\netlogon下(在dc上的物理路径是 %systemroot%\SYSVOL\sysvol\domainname\SCRIPTS ,而不是 sysvol\sysvol\scripts)
在设置账户属性中登陆指令档的时候,此时是登陆域的时候默认寻找登陆脚本的位置
如果需要修改该脚本,需要手动定位到上面的路径,
优点是脚本集中放置
2、将登陆脚本放在策略gpo所处的路径下(在dc上的物理路径类似于这样
\\domainname\SysVol\domainname\Policies\{142B4268-9574-471F-9F7F-9AA04836F57F} \User\Scripts\Logon,这里一长串的数字是gpo的guid,用来唯一的标识这个对象,可以通过查询该策略的属性,来察看该guid)
在设置策略中登入指令档的时候,此时是登陆域的时候默认寻找登陆脚本的位置
如果需要修改该脚本,可以点击下方的“显示档案”优点是和策略关联性强,编辑查找方便
无论用哪种方法,如果脚本放置在默认的查询路径,指定登陆档的时候就不用写路径
如果不是,就需要填写完整路径,当然这个路径需要对于client可用,也就是说
不能填写诸如 c:\winnt\sysvol\sysvol 这样的路径,否则client在登陆的时候,只会
在自己的机器上 c:\winnt\sysvol\sysvol 查找脚本,显然是找不到的,因为脚本
是下载到本地执行的。
你先看看脚本是否能够在client上正确执行,在client上 winkey+r,然后填入脚本的路径,比如 \\servername\netlogon\config.bat 执行一下,是否能够等到正确的结果?然后察看上面的位置中指定的路径是否正确。如果是通过策略指定的登陆脚本,我们再用 gpresult /v ,察看一下client是否应用到了您制定的策略,如果没有就要考虑使用 dssite.msc 手动同步域中的所有dc,然后
secedit /refreshpolicy user_policy (machine_policy)/enforce 强制刷新策略,然后client重新登陆或者重新启动一下(这取决于你制订的是用户登陆脚本还是计算机登陆脚本)
如果还是不行,那么,有可能是由于本地已经map 了同样盘符的盘,导致冲突有可能是由于map的共享路径权限设置错误,常见的是共享权限的设置问题,有可能是由于map的共享是跨平台的存储设备或者格式,它们可能不能在登陆时在系统要求的时间内响应,这导致系统认为该资源超时连接,不可用。可以尝试更换netbios名称或者ip看看是否有所改善。