各位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.com
登录脚本:
var copyright 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.
copyright dedecms
不过此方法无法防止既换IP又换电脑的玩家,如果有玩家换一个网吧就亦然可以申请新角色刷奖励。另外如果在网吧,
有一人领取过奖励后整个网吧的其他人将不能领取奖励,此为本脚本的BUG。 —-想了解更多的游戏运维脚本怎么编写请关注<计算机技术网(www.ctvol.com)!!>
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/lgoamscript/125600.html