|
各位GM估计遇到过苦闷的事,想弄一个奖励领取出来,但是又担心玩家换IP,换电脑申请多帐号重复领取,虽然装备物品类可以设置绑定,但是元宝绑定后有诸多不便,我也是被此问题所苦恼,故写出如下脚本。
NPC脚本: 本文来自织梦
IF not (Player.VarString('测试奖励领取IP').AsString = Player.IP) and not (Player.VarString('测试奖励领取机器码').AsString = Player.MachineCode) and (Player.N[47] = 0) then
begin
Player.GameGold := Player.GameGold + 100000;
Player.GoldChanged;
Player.VarString('测试奖励领取IP').AsString:= Player.IP; 织梦内容管理系统
Player.VarString('测试奖励领取IP').Save;
Player.VarString('测试奖励领取机器码').AsString:= Player.MachineCode;
Player.VarString('测试奖励领取机器码').Save;
Player.N[47]:=1;
end else Player.Messagebox('你今天已经领取过奖励了!') 织梦好,好织梦
此脚本的意思是如果当前玩家的IP和机器码不等于变量IP和变量机器码,并且玩家变量等于0时,
则获得10W元宝,并把变量IP和变量机器码保存为玩家IP和玩家机器码,玩家变量赋值为1 内容来自dedecms
登录脚本: var 内容来自dedecms
T1,T2 : TDateTime;
S1,S2 : string;
begin
T1 := incday(date,-1);
S1 := FormatDateTime('yyyy/mm/dd',T1);
S2 := S1 + ' 23:59:59';
T2 := StrToDateTime(s2);
if DateUtils.MinuteSpan(Now, T2) > 1 then
begin
Player.VarString('测试奖励领取IP').AsString:= '';
Player.VarString('测试奖励领取IP').Save;
Player.VarString('测试奖励领取机器码').AsString:= '';
Player.VarString('测试奖励领取机器码').Save;
Player.N[47]:=0; copyright dedecms
end; dedecms.com
此脚本的意思是获取玩家前一天当前时间的时间值,然后输出前一天时间的年月日,再给年月日加上字符串时间,
再把获得的年月日时分秒转换为时间值,如果当前时间的时间值和获得的时间的时间值相差分钟数大于1,则把 织梦好,好织梦
变量IP和变量机器码赋值为空白,最后把玩家变量赋值为0.
织梦好,好织梦
不过此方法无法防止既换IP又换电脑的玩家,如果有玩家换一个网吧就亦然可以申请新角色刷奖励。另外如果在网吧,
有一人领取过奖励后整个网吧的其他人将不能领取奖励,此为本脚本的BUG。 |
上一篇:双头盔双头巾双斗笠解决办法下一篇:逸辉市面上流行引擎大对话框调用代码
|