今天给大家带来一个可以限制时间下地图的脚本,
轻松解决掉线问题的困扰
支持全部地图,内附带安装说明,很好用啊
{*************************************************************
** 飞鱼论坛 制作限时进入某地图脚本 feiyuzyw.cn * *
*************************************************************}
//loadPlayer.txt 放在Mir200.zip\Mir200\Share\config 目录下
//MapTime.pas 放在Mir200.zip\Mir200\
//登录脚本调用方法:复制 procedure checktime; 函数并在尾部begin end.中调用
procedure checktime; //检查剩余时间
var i,j,xxtime,sstime:integer;Uname:string;
Tmap:array [1..10] of string;
begin
for i:=1 to 1000 do
begin
if ReadIniSectionStr(‘loadPlayer.txt’,’PlayerList’,inttostr(i)) = ” then
break;
Uname:=ReadIniSectionStr(‘loadPlayer.txt’,’PlayerList’,inttostr(i));
if This_Player.FindPlayer(Uname) then
begin
xxtime := minusDataTime(GetNow,ConvertDBToDateTime(This_Player.FindPlayerByName(Uname).GetS(87,30)));
This_Player.FindPlayerByName(Uname).SetS(87,31,This_Player.FindPlayerByName(Uname).GetS(87,31) – xxtime); //地图一时间计算
This_Player.FindPlayerByName(Uname).SetS(87,32,This_Player.FindPlayerByName(Uname).GetS(87,32) – xxtime); //地图二时间计算
This_Player.FindPlayerByName(Uname).SetS(87,33,This_Player.FindPlayerByName(Uname).GetS(87,33) – xxtime); //地图三时间计算
This_Player.FindPlayerByName(Uname).setS(87,30,ConvertDateTimeToDB(GetNow));
for j:=1 to 10 do
begin
if j <= 3 then //收费地图1共三层,使用Tmapname数组1~3
begin
sstime:=This_Player.FindPlayerByName(Uname).GetS(87,31); //收费地图一计时变量
end else
if j <= 6 then //收费地图2共三层,使用Tmapname数组4~6
begin
sstime:=This_Player.FindPlayerByName(Uname).GetS(87,32); //收费地图二计时变量
end else
if j <= 10 then //收费地图3共4层,使用Tmapname数组4~10
begin
sstime:=This_Player.FindPlayerByName(Uname).GetS(87,33); //收费地图三计时变量
end
Tmap[j]:=ReadIniSectionStr(‘loadPlayer.txt’,’MapName’,inttostr(j)); //获取地图代码
if sstime <= 0 then //剩余时间不足则
begin
if This_Player.FindPlayerByName(Uname).MapName = Tmap[j] then
begin
This_Player.FindPlayerByName(Uname).RandomFlyTo(‘3’); //回土城
This_Player.FindPlayerByName(Uname).PlayerNotice(‘地图剩余时间不足,请重新购买!’,0);
end
end
end
end
end
end;
begin
checktime;
end.