《无忧网游咨询站》Www.5uwl.Net (免费资源,从无忧开始!) 设为首页 加入收藏 网站地图
您现在的位置: 无忧网络网游私服技术资源站 >> 技术文章 >> 千年技术 >> 千年脚本案例 >> 正文
千年私服沙包战的脚本

作者:佚名  文章来源:本站原创  阅读:  更新时间:2007-7-16 4:27:23
本次活动分为2个[势力]进行对抗。每6个小时进行一次,前30分钟可以进入对战地图。(进入后即可开始!!!)
玩家可以自行选择你所喜欢的[势力],进行对抗赛,如果你对现在的事情不满,可以去中央市场
找[对战管理员]492 496 销毁掉掉现在的[势力腰牌]进行重新选择
首先进入对战的玩家必须装备有 [弓] 和 [箭] ([弓]的使用没有限制 [箭]必须使用游戏中最基本的[箭])
并且射向对方的沙包,任何一方先打够1000下判定为胜利。
比赛获胜的一方可进入[领地]地图。


以下内容跟帖回复才能看到
==============================

unit 沙包管理员;

interface

function  GetToken (aStr, aToken, aSep : String) : String;
function  CompareStr (aStr1, aStr2 : String) : Boolean;
function  callfunc (aText: string): string;
procedure print (aText: string);
function  Random (aScope: integer): integer;
function  Length (aText: string): integer;
procedure Inc (aInt: integer);
procedure Dec (aInt: integer);
function  StrToInt (astr: string): integer;
function  IntToStr (aInt: integer): string;
procedure exit;


procedure OnGetResult (aStr : String);
procedure OnLeftClick (aStr : String);
procedure OnTimer (aStr : String);
var
hZhuangTai :String = '等待';
lZhuangTai :String = '等待';
ZhuangTai :String = ' ';
DengDaiTime :Integer = 21600; //等待挑战时间
zhengzhanTime :Integer = 3600; //征战时间时间
implementation

procedure OnLeftClick (aStr : String);
var
   Str : String;
   Race, hanbing, nVirtue : Integer;
begin
   Str := callfunc ('getsenderserverid');
   if Str = '1' then begin
     Str := callfunc ('getsenderrace');
     Race := StrToInt (Str);
     if Race = 1 then begin
   Str := callfunc ('getsenderitemexistence 红牌:1');
   if Str = 'true' then begin
   Str := 'showwindow .\help\红进.txt 1';
   print (Str);
  exit;
end;
   Str := callfunc ('getsenderitemexistence 蓝牌:1');
   if Str = 'true' then begin
   Str := 'showwindow .\help\蓝进.txt 1';
   print (Str);
  exit;
end;
        Str := 'showwindow .\help\沙包1.txt 1';
        print (Str);
        exit;
     end;
   end;
   if Str = '117' then begin
     Str := callfunc ('getsenderrace');
     Race := StrToInt (Str);
     if Race = 1 then begin
        Str := 'showwindow .\help\沙包2.txt 1';
        print (Str);
        exit;
     end;
   end;
end;
procedure OnGetResult (aStr : String);
var
var
   Str, Name, xQuest : String;
   x, Quest : integer;
begin
   if aStr = 'close' then begin
   print ('say 慢走_改变主意了再来');
  exit;
end;
   if aStr = '加入红方' then begin
   Str := callfunc ('getsenderitemexistence 红牌:1');
   if Str = 'true' then begin
   print ('say 你已经是红方队员了!');
  exit;
end;
   Str := callfunc ('getsenderitemexistence 蓝牌:1');
   if Str = 'true' then begin
   print ('say 你已经是蓝方队员了!');
  exit;
end;
   print ('putsendermagicitem 红牌:1 @九尾狐酒母 4');
  exit;
end;
   if aStr = '加入蓝方' then begin
   Str := callfunc ('getsenderitemexistence 红牌:1');
   if Str = 'true' then begin
   print ('say 你已经是红方队员了!');
  exit;
end;
   Str := callfunc ('getsenderitemexistence 蓝牌:1');
   if Str = 'true' then begin
   print ('say 你已经是蓝方队员了!');
  exit;
end;
   print ('putsendermagicitem 蓝牌:1 @九尾狐酒母 4');
  exit;
end;
   if aStr = '销毁牌子' then begin
   Str := callfunc ('getsenderqueststr');
   Quest := StrToInt (Str);
   if Quest < 100 then begin
   print ('say 销毁牌子需要100点贡献度');
   exit;
   end;
   print ('getsenderitem 蓝牌');
   print ('getsenderitem 红牌');
   Str := callfunc ('getsenderqueststr');
   Quest := StrToInt (Str);
   x := Quest - 200;
   xQuest : IntToStr (x);
   Str := 'changesenderqueststr ' + xQuest;
   print(Str);
   print ('say 牌子销毁成功你可以重新选择势力加入');
  exit;
end;

   if aStr = '红进战场' then begin
   if hZhuangTai <> '进入' then begin
   print('say 进入没到或者已经过了!');
  exit;
end;
   Name := callfunc ('getsendername');
   Str := 'movespace ' + Name;
   Str := Str + ' user 117 87 86';
   print (Str);
  exit;
end;

   if aStr = '蓝进战场' then begin
   if lZhuangTai <> '进入' then begin
   print('say 进入没到或者已经过了!');
  exit;
end;
   Name := callfunc ('getsendername');
   Str := 'movespace ' + Name;
   Str := Str + ' user 117 69 62';
   print (Str);
  exit;
end;

   if aStr = '出去' then begin
   Name := callfunc ('getsendername');
   Str := 'movespace ' + Name;
   Str := Str + ' user 1 520 478';
   print (Str);
  exit;
end;
end;
procedure OnTimer (aStr : String);
var
  Str, zt : String;
  n, nCount, zt : Integer;
  Race, MapID : integer;
  nStr, MapNo : String;
begin

   if Zhuangtai = ' ' then begin
   Dec (DengDaiTime);
   if DengDaiTime = 18000 then begin
   for MapID:= 1 to 250 do
   begin
   MapNo := inttostr(MapID);
   nStr := 'sendnoticemsgformapuser ' + MapNo;
   nStr := nStr + ' ';
   nStr := nStr + '【系统】:沙包战将5小时后进行..! 2';
   print(nStr);
   end;
  exit;
end;
   if DengDaiTime = 14400 then begin
   for MapID:= 1 to 250 do
   begin
   MapNo := inttostr(MapID);
   nStr := 'sendnoticemsgformapuser ' + MapNo;
   nStr := nStr + ' ';
   nStr := nStr + '【系统】:沙包战将4小时后进行..! 2';
   print(nStr);
   end;
  exit;
end;
   if DengDaiTime = 10800 then begin
   for MapID:= 1 to 250 do
   begin
   MapNo := inttostr(MapID);
   nStr := 'sendnoticemsgformapuser ' + MapNo;
   nStr := nStr + ' ';
   nStr := nStr + '【系统】:沙包战将3小时后进行..! 2';
   print(nStr);
   end;
  exit;
end;
   if DengDaiTime = 7200 then begin
   for MapID:= 1 to 250 do
   begin
   MapNo := inttostr(MapID);
   nStr := 'sendnoticemsgformapuser ' + MapNo;
   nStr := nStr + ' ';
   nStr := nStr + '【系统】:沙包战将2小时后进行..! 2';
   print(nStr);
   end;
  exit;
end;
   if DengDaiTime = 3600 then begin
   for MapID:= 1 to 250 do
   begin
   MapNo := inttostr(MapID);
   nStr := 'sendnoticemsgformapuser ' + MapNo;
   nStr := nStr + ' ';
   nStr := nStr + '【系统】:沙包战将1小时后进行..! 2';
   print(nStr);
   end;
  exit;
end;

   if DengDaiTime = 1800 then begin
   for MapID:= 1 to 250 do
   begin
   MapNo := inttostr(MapID);
   nStr := 'sendnoticemsgformapuser ' + MapNo;
   nStr := nStr + ' ';
   nStr := nStr + '【系统】:沙包战将半小时后进行..! 2';
   print(nStr);
   nStr := 'sendnoticemsgformapuser ' + MapNo;
   nStr := nStr + ' ';
   nStr := nStr + '【系统】:你可以选择你喜欢的势力加入..! 2';
   print(nStr);
   print ('mapregen 117');

   end;
  exit;
end;
   if DengDaiTime = 0 then begin
   for MapID:= 1 to 250 do
   begin
   MapNo := inttostr(MapID);
   nStr := 'sendnoticemsgformapuser ' + MapNo;
   nStr := nStr + ' ';
   nStr := nStr + '【系统】:沙包战已经开始进行..! 2';
   print(nStr);
   lZhuangTai := '进入';
   hZhuangTai := '进入';
   ZhuangTai := '1';
   DengDaiTime := 21600;
   ZhengzhanTime := 3600;
   end;
  exit;
end;
  exit;
end;

   if Zhuangtai = '1' then begin
   Dec (ZhengzhanTime);
   if ZhengzhanTime = 1800 then begin
   lZhuangTai := '等待';
   hZhuangTai := '等待';
  exit;
end;
   if ZhengzhanTime = 0 then begin
   for MapID:= 1 to 250 do
   begin
   MapNo := inttostr(MapID);
   nStr := 'sendnoticemsgformapuser ' + MapNo;
   nStr := nStr + ' ';
   nStr := nStr + '【系统】:沙包大战将6小时后再次进行..! 2';
   print(nStr);
   ZhuangTai := ' ';
   DengDaiTime := 21600;
   ZhengzhanTime := 3600;
   end;
  exit;
end;
  exit;
end;
end;
end.

发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
文章录入:黑鹰    责任编辑:ceo 

版权声明:严禁商业网站和媒体未经授权对本站内容进行转载、摘编、复制或建立镜像;非商业网站转载本站文章必须标注原作者和“转载自无忧网络网游技术网”字样。文章版权属原作者所有。
网友评论(只显示最新10条)
内容 标题 作者 站外

两性教育排行
技术文章排行
学院技术排行
游戏攻略排行
关于我们 | 友情链接 | 服务条款 | 广告服务 | 联系站长 | 软件下载 | 会员中心 | 网站导航
  版权所有:Copyright © 2002-2008 中国·无忧网络 Www.5uwl.NET All Rights Reserved.
     建议使用:1024*768 分辨率 Windows2000 Internet Explorer v5.0 or Higher
            广告投放:[5uwl.net] QQ 267320050 TEL [移]013689532036网络安全报警台
                           IP备案号:粤ICP备05092442号