· 用户注册 · 设为首页 · 加入收藏 · 联系站长 · ·
| 网站首页 | 一条龙 | 版本中心 | 下载中心 | 文章中心 | 本站商城 | 客服联系 | 本站服务 | 网通站点 |

| 一 条 龙 | 仿盛大版 | 变态版本 | 精美网页 | 传奇技术 | 征途技术 | 千年技术 | 其他技术 | 网游新闻 | 病毒防治 | 广告代理 网 通 站

 

| 版本商城 | 流程汇款 | 主机租用 | 空间域名 | 传奇下载 | 其他下载 | 私服工具 | 常用软件 | 汇款方式 | 健康保养 旧版网站 代理加盟  :1050000 在线服务

 
您现在的位置: 冰凉网络 >> 文章中心 >> 千年相关 >> 正文 今天是:
全新的门派大战脚本,不同门派复生点不同
作者:冰凉网络    文章来源:冰凉数据中心    点击数:    更新时间:2007-11-6    
           【字体:
本门战脚本的特色是保证门战的绝对公平。

1、队员需要获得门主提供的标志:“红方队员”和“蓝方队员”的牌子。
2、队员从中央的门战接待员处进入门战聚义厅(红方和蓝方两个地图,统一团队)
3、接待员判断聚义厅人数,当到达人数后停止传送,保证双方人数相同。
4、GM移动到门派对战场,单击“门战主持”,启动门派大战。
这个时候全屏公告门战开始,地图关闭。中央的人就不能再传送到聚义厅了
聚义厅的人单击“门战主持”,直接传送到门战相应地图备战。
5、当玩家被打死以后会根据不同的门派而选择不同的复活点。(在门战中央左右)
6、一方门派剑令被打碎,全屏立刻公告获胜方以及打碎剑令的英雄的名字。
然后会刷新地图,所有参战队员全部踢出地图,到达中央市场。

需要的物品有:

GM腰牌、红方队员、蓝方队员

需要的NPC有:

门战主持、门战接待员

需要的怪物有:

门派剑令红、门派剑令蓝

需要的地图有:

红方聚义厅、蓝方聚义厅、门派对战场

//----=====门派大战主脚本,和门战主持对应=====--------

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 OnLeftClick (aStr : String);


implementation

procedure OnLeftClick (aStr : String);
var
   Str, Name : String;
   zhuangtai : Integer;
   iCount : Integer;
begin

        Str := callfunc ('getsenderserverid');
        if Str = '10' then begin
           if zhuangtai <> 1 then begin
              print ('say 门派大战还未开始,请耐心等待。');
              exit;
           end;
           Name := callfunc ('getsendername');
           Str := 'movespace ' + Name;
           Str := Str + ' user 6 98 96';
           print (Str);
           exit;
        end;

        if Str = '13' then begin
           if zhuangtai <> 1 then begin
              print ('say 门派大战还未开始,请耐心等待。');
              exit;
           end;
           Name := callfunc ('getsendername');
           Str := 'movespace ' + Name;
           Str := Str + ' user 6 61 59';
           print (Str);
           exit;
        end;

        if Str = '6' then begin
           Str := callfunc ('getsenderitemexistence GM腰牌:1');
           if Str = 'false' then begin
              print ('say 不是GM不能执行命令');
              exit;
           end;  

      Str := callfunc ('getusercount 10');
      iCount := StrToInt (Str);
      if iCount > 30 then begin
         print ('say 红方人员还没到齐,请稍后...');
         exit;
      end;
      Str := callfunc ('getusercount 13');
      iCount := StrToInt (Str);
      if iCount < 30 then begin
         print ('say 蓝方人员还没到齐,请稍后...');
         exit;
      end;

           Str := callfunc ('checkentermap 6');
           if Str = 'true' then begin
           print('sendsendertopmsg 门派大战现在开始,请双方战士进入各自战场');
           zhuangtai := 1;
              print ('boMapEnter 6 false');
              exit;
           end;  
           print ('say 门派大战已经开始,你不能进入.');
           exit;
        end;
end;

end.

//----====门派剑令蓝脚本,实现不同复活点=====------

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 OnDie (aStr : String);
procedure OnChangeState (aStr : String);


implementation


procedure OnChangeState (aStr : String);
var
   Str, Name : String;
begin
   if aStr <> 'die' then exit;

   Str := callfunc ('getsenderrace');
   if Str <> '1' then exit;
  
   Str := callfunc ('getsenderitemexistence 红方队员:1');
   if Str = 'true' then begin
      Name := callfunc ('getsendername');
      Str := 'movespacebyname ' + Name;
      Str := Str + ' user 6 84 81 门战主持 npc 300';
      print (Str);
      exit;
   end;
   Name := callfunc ('getsendername');
   Str := 'movespacebyname ' + Name;
   Str := Str + ' user 6 74 71 门战主持 npc 300';
   print (Str);

end;

procedure OnDie (aStr : String);
var
   Str, Name : String;
begin
  
      Name := callfunc ('getsendername');
      Str := 'sendsendertopmsg ' + '红方勇士【';      
      Str := Str + Name;
      Str := Str + '】最终打破蓝方剑令!';
      print (Str);
      print ('sendsendertopmsg 热烈祝贺红方获得胜利!');
      print ('mapregen 6');
      exit;
   end;
  

end;


end.

//---=====门派剑令红脚本,实现不同复活点=====----

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 OnDie (aStr : String);
procedure OnChangeState (aStr : String);


implementation


procedure OnChangeState (aStr : String);
var
   Str, Name : String;
begin
   if aStr <> 'die' then exit;

   Str := callfunc ('getsenderrace');
   if Str <> '1' then exit;
  
   Str := callfunc ('getsenderitemexistence 红方队员:1');
   if Str = 'true' then begin
      Name := callfunc ('getsendername');
      Str := 'movespacebyname ' + Name;
      Str := Str + ' user 6 82 81 门战主持 npc 300';
      print (Str);
      exit;
   end;
   Name := callfunc ('getsendername');
   Str := 'movespacebyname ' + Name;
   Str := Str + ' user 6 74 71 门战主持 npc 300';
   print (Str);

end;

procedure OnDie (aStr : String);
var
   Str, Name : String;
begin
  
      Name := callfunc ('getsendername');
      Str := 'sendsendertopmsg ' + '蓝方勇士【';      
      Str := Str + Name;
      Str := Str + '】最终打破红方剑令!';
      print (Str);
      print ('sendsendertopmsg 热烈祝贺蓝方获得胜利!');
      print ('mapregen 6');
      exit;
   end;
  

end;


end.

//---====门战接待员脚本======-----

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);

implementation

procedure OnLeftClick (aStr : String);
var
   Str : String;
   Race : Integer;
begin
     Str := callfunc ('getsenderrace');
     Race := StrToInt (Str);
     if Race = 1 then begin
        Str := 'showwindow .\help\门战接待员.txt 1';
        print (Str);
        exit;
     end;

end;

procedure OnGetResult (aStr : String);
var
   Str, Name : String;
   iCount : Integer;

begin
   if aStr = 'close' then begin
      exit;
   end;
   if aStr = 'hfjinru' then begin
      Str := callfunc ('getsenderitemexistence 红方队员:1');
      if Str = 'false' then begin
         print ('say 不是红方队员,请不要捣乱');
         exit;
      end;      
      Str := callfunc ('checkentermap 6');
      if Str = 'false' then begin
         print ('say 门派大战已经开始,你不能进入.');
         exit;
      end;  
      Str := callfunc ('getusercount 10');
      iCount := StrToInt (Str);
      if iCount > 30 then begin
         print ('say 红方人员已经到齐!请下次早来...');
         exit;
      end;
      Name := callfunc ('getsendername');
      Str := 'movespace ' + Name;
      Str := Str + ' user 10 20 20';
      print (Str);
      exit;
   end;
  
   if aStr = 'lfjinru' then begin
      Str := callfunc ('getsenderitemexistence 蓝方队员:1');
      if Str = 'false' then begin
         print ('say 不是蓝方队员,请不要捣乱');
         exit;
      end;      
      Str := callfunc ('checkentermap 6');
      if Str = 'false' then begin
         print ('say 门派大战已经开始?');
         exit;
      end;
      Str := callfunc ('getusercount 13');
      iCount := StrToInt (Str);
      if iCount > 30 then begin
         print ('say 蓝方人员已经到齐!请下次早来...');
         exit;
      end;
      Name := callfunc ('getsendername');
      Str := 'movespace ' + Name;
      Str := Str + ' user 13 20 20';
      print (Str);
      exit;
   end;

end;

end.

//======下面是help文件夹下的“门战接待员.txt”====--------

<trade>
<title>门战接待员</title>
<image name=z81 value=235>
<text>
公平公正一直是我们追求的目标!
</text>
<command send='close'>关闭</command>
<command send='hfjinru'>红方队员进入</command>
<command send='lfjinru'>蓝方队员进入</command>
</trade>
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)