用户登录  | 
首 页技术文章软件发布广告价格
当前位置:传奇游戏服务端下载站传奇站长论坛资源网站程序技术文章文章资讯游戏架设教程千年技术

千年新手村擂台脚本

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2014-10-04 10:29:18

风雷版的新手村擂台脚本


释放到同名文件夹下覆盖原有文件。
1.Script 里面是任务脚本,把对应NPC的代码复制覆盖掉。
2.Item 里面是任务发放奖品的物品资料,把我发的加进去。
(由11月23号发布的最新服务端修改)
-----------------------------------------
内容介绍:
新手村比武获得奖励:
同使用何种武器的NPC比武,将其打败就能获得同类的新手训练用武器(速度20,恢复20,准确20,破坏0


最后一个NPC老侠客,打败他会获得新手剑之外,他还会公告天下你获得了 侠客弓服 一件!(个人比较

喜欢黑龙,所以是黑龙的加强版!)

[replyview]

-------------------------------------

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

implementation

procedure OnGetResult (aStr : String);
var
   Str, Name : String;
   iCount : Integer;
begin
   if aStr = 'start' then begin
      Str := callfunc ('getsenderserverid');
      if Str <> '51' then exit;

      Str := callfunc ('getsenderrace');
      if Str <> '1' then exit;

      Str := callfunc ('checksenderpowerwearitem');
      iCount := StrToInt (Str);
      if iCount > 0 then begin
         print ('say 先将带技能值装备脱掉!');
         Name := callfunc ('getsendername');
         Str := 'movespace ' + Name;
         Str := Str + ' user 49 106 55 100';
         print (Str);
         exit;
      end;
      Str := callfunc ('checksendercurusemagic 0');
      if Str = 'true' then begin
         print ('say 选错武功啦!');
         Name := callfunc ('getsendername');
         Str := 'movespace ' + Name;
         Str := Str + ' user 49 106 55 100';
         print (Str);
         exit;
      end;
      Str := callfunc ('checksendercurusemagic 1');
      if Str = 'true' then begin
         print ('say 选错武功啦!');
         Name := callfunc ('getsendername');
         Str := 'movespace ' + Name;
         Str := Str + ' user 49 106 55 100';
         print (Str);
         exit;
      end;

      print ('directmovespace 一级梅花夫人 npc 51 20 18 0');

      print ('commandicebyname 一级梅花夫人 npc 1000');
      print ('setallowhitbytick true 1000');

      Name := callfunc ('getsendername');
      Str := 'commandicebyname ' + Name;
      Str := Str + ' user 1000';
      print (Str);

      print ('senderrefill');

      print ('say 别害怕 50');
      print ('say 我会收下留情的... 400');
      exit;
   end;
end;

procedure OnCreate (aStr : String);
var
   Str : String;
begin
   Str := callfunc ('getsenderrace');
   if Str <> '1' then begin
      exit;
   end;
  
   Str := 'showwindow ./help/一级梅花夫人.txt 1';
   print (Str);
   exit;
end;

procedure OnDie (aStr : String);
var
   Str, Name : String;
   FirstQuest : Integer;  
begin
   Str := callfunc ('getsenderrace');
   if Str <> '1' then exit;

   Str := callfunc ('getsenderfirstquest');
   FirstQuest := StrToInt (Str);

   if FirstQuest < 3 then begin
      Str := callfunc ('checkenoughspace');
      if Str = 'false' then begin
         print ('say 物品栏已满...');
         exit;
      end;
  
      print ('changesenderfirstquest 3');
      print ('putsendermagicitem 新手训练长矛 @一级梅花夫人 4');
   end;

   print ('say 我可只用了3层功力哟 100');

   print ('mapregen 52');

   Name := callfunc ('getsendername');  
   Str := 'movespace ' + Name;
   Str := Str + ' user 52 17 18 500';
   print (Str);
   exit;
end;

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

   Str := callfunc ('getsenderrace');
   if Str <> '1' then exit;

   print ('say 别无他法 50');
   print ('say 是不是修炼方法不妥呀? 400');

   Name := callfunc ('getsendername');
   Str := 'movespace ' + Name;
   Str := Str + ' user 49 106 55 600';
   print (Str);
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 OnCreate (aStr : String);
procedure OnDie (aStr : String);
procedure OnChangeState (aStr : String);
procedure OnGetResult (aStr : String);

implementation

procedure OnGetResult (aStr : String);
var
   Str, Name : String;
   iCount : Integer;  
begin
   if aStr = 'start' then begin
      Str := callfunc ('getsenderserverid');
      if Str <> '50' then exit;

      Str := callfunc ('getsenderrace');
      if Str <> '1' then exit;

      Str := callfunc ('checksenderpowerwearitem');
      iCount := StrToInt (Str);
      if iCount > 0 then begin
         print ('say 请先脱掉带技能值的装备!');
         Name := callfunc ('getsendername');
         Str := 'movespace ' + Name;
         Str := Str + ' user 49 106 55 100';
         print (Str);
         exit;
      end;
      Str := callfunc ('checksendercurusemagic 0');
      if Str = 'true' then begin
         print ('say 选错武功了!');
         Name := callfunc ('getsendername');
         Str := 'movespace ' + Name;


         Str := Str + ' user 49 106 55 100';
         print (Str);
         exit;
      end;
      Str := callfunc ('checksendercurusemagic 1');
      if Str = 'true' then begin
         print ('say 选错武功了!');
         Name := callfunc ('getsendername');
         Str := 'movespace ' + Name;
         Str := Str + ' user 49 106 55 100';
         print (Str);
         exit;
      end;

      print ('directmovespace 一级捕盗大将 npc 50 20 18 0');

      print ('commandicebyname 一级捕盗大将 npc 1000');
      print ('setallowhitbytick true 1000');

      Name := callfunc ('getsendername');
      Str := 'commandicebyname ' + Name;
      Str := Str + ' user 1000';
      print (Str);

      print ('senderrefill');

      print ('say 你还太嫩! 50');
      print ('say 留神啦_我可不会手下留情 400');
      exit;
   end;
end;

procedure OnCreate (aStr : String);
var
   Str : String;
begin
   Str := callfunc ('getsenderrace');
   if Str <> '1' then begin
      exit;
   end;

   print ('setallowhitbyname 一级捕盗大将 monster true');

   Str := 'showwindow ./help/一级捕盗大将.txt 1';
   print (Str);
   exit;
end;

procedure OnDie (aStr : String);
var
   Str, Name : String;
   FirstQuest : Integer;
begin
   Str := callfunc ('getsenderrace');
   if Str <> '1' then exit;

   Str := callfunc ('getsenderfirstquest');
   FirstQuest := StrToInt (Str);

   if FirstQuest < 2 then begin
      Str := callfunc ('checkenoughspace');
      if Str = 'false' then begin
         print ('say 物品栏已满...');
         exit;
      end;

      print ('changesenderfirstquest 2');
      print ('putsendermagicitem 新手训练拳套 @一级捕盗大将 4');
   end;

   print ('say 不可能_我怎么可能输呢.. 100');

   print ('mapregen 51');

   Name := callfunc ('getsendername');
   Str := 'movespace ' + Name;
   Str := Str + ' user 51 17 18 500';
   print (Str);
end;

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

   Str := callfunc ('getsenderrace');
   if Str <> '1' then exit;

   print ('say 回去再修炼个10年吧50');
   print ('say 到那时我在用双手跟你打 400');

   Name := callfunc ('getsendername');
   Str := 'movespace ' + Name;
   Str := Str + ' user 49 106 55 600';
   print (Str);

   print ('boMapEnter 50 true');  
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 OnCreate (aStr : String);
procedure OnDie (aStr : String);
procedure OnChangeState (aStr : String);
procedure OnGetResult (aStr : String);

implementation

procedure OnGetResult (aStr : String);
var
   Str, Name : String;
   iCount : Integer;
begin
   if aStr = 'start' then begin
      Str := callfunc ('getsenderserverid');
      if Str <> '52' then exit;

      Str := callfunc ('getsenderrace');
      if Str <> '1' then exit;

      Str := callfunc ('checksenderpowerwearitem');
      iCount := StrToInt (Str);
      if iCount > 0 then begin
         print ('say 请先脱掉带技能值的装备!');
         Name := callfunc ('getsendername');
         Str := 'movespace ' + Name;
         Str := Str + ' user 49 106 55 100';
         print (Str);
         exit;
      end;
      Str := callfunc ('checksendercurusemagic 0');
      if Str = 'true' then begin
         print ('say 选错武功了!');
         Name := callfunc ('getsendername');
         Str := 'movespace ' + Name;
         Str := Str + ' user 49 106 55 100';
         print (Str);
         exit;
      end;
      Str := callfunc ('checksendercurusemagic 1');
      if Str = 'true' then begin
         print ('say 选错武功了!');
         Name := callfunc ('getsendername');
         Str := 'movespace ' + Name;
         Str := Str + ' user 49 106 55 100';
         print (Str);
         exit;
      end;
     
      print ('directmovespace 一级牛俊 npc 52 20 18 0');

      print ('commandicebyname 一级牛俊 npc 500');
      print ('setallowhitbytick true 500');     

      Name := callfunc ('getsendername');
      Str := 'commandicebyname ' + Name;
      Str := Str + ' user 500';
      print (Str);

      print ('senderrefill');

      print ('say 10如果10秒内不能将你搞定 50');
      print ('say 就算我输! 400');
      exit;
   end;
end;

procedure OnCreate (aStr : String);
var
   Str : String;
begin
   Str := callfunc ('getsenderrace');
   if Str <> '1' then begin
      exit;
   end;

   Str := 'showwindow ./help/一级牛俊.txt 1';
   print (Str);
   exit;
end;

procedure OnDie (aStr : String);
var
   Str, Name : String;
   FirstQuest : Integer;  
begin
   Str := callfunc ('getsenderrace');
   if Str <> '1' then exit;

   Str := callfunc ('getsenderfirstquest');
   FirstQuest := StrToInt (Str);

   if FirstQuest < 4 then begin
      Str := callfunc ('checkenoughspace');
      if Str = 'false' then begin
         print ('say 物品栏已满...');
         exit;
      end;
  
      print ('changesenderfirstquest 4');
      print ('putsendermagicitem 新手训练大斧 @一级牛俊 4');
   end;

   print ('say 什么_不敢相信!! 100');

   print ('mapregen 53');
  
   Name := callfunc ('getsendername');
   Str := 'movespace ' + Name;
   Str := Str + ' user 53 17 18 500';
   print (Str);
end;

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

   Str := callfunc ('getsenderrace');
   if Str <> '1' then exit;

   print ('say 领教了吧! 50');
   print ('say 差远了... 400');

   Name := callfunc ('getsendername');
   Str := 'movespace ' + Name;
   Str := Str + ' user 49 106 55 600';
   print (Str);
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 OnCreate (aStr : String);
procedure OnDie (aStr : String);
procedure OnChangeState (aStr : String);
procedure OnGetResult (aStr : String);

implementation

procedure OnGetResult (aStr : String);
var
   Str, Name : String;
   iCount : Integer;
begin
   if aStr = 'start' then begin
      Str := callfunc ('getsenderserverid');
      if Str <> '53' then exit;

      Str := callfunc ('getsenderrace');
      if Str <> '1' then exit;

      Str := callfunc ('checksenderpowerwearitem');
      iCount := StrToInt (Str);
      if iCount > 0 then begin
         print ('say 请先脱掉带技能值的装备!');
         Name := callfunc ('getsendername');
         Str := 'movespace ' + Name;
         Str := Str + ' user 49 106 55 100';
         print (Str);
         exit;
      end;
      Str := callfunc ('checksendercurusemagic 0');
      if Str = 'true' then begin
         print ('say 选错武功了!');
         Name := callfunc ('getsendername');
         Str := 'movespace ' + Name;


         Str := Str + ' user 49 106 55 100';
         print (Str);
         exit;
      end;
      Str := callfunc ('checksendercurusemagic 1');
      if Str = 'true' then begin
         print ('say 选错武功了!');
         Name := callfunc ('getsendername');
         Str := 'movespace ' + Name;
         Str := Str + ' user 49 106 55 100';
         print (Str);
         exit;
      end;
     
      print ('directmovespace 一级雨中客 npc 53 20 18 0');

      print ('commandicebyname 一级雨中客 npc 500');
      print ('setallowhitbytick true 500');     

      Name := callfunc ('getsendername');
      Str := 'commandicebyname ' + Name;
      Str := Str + ' user 500';
      print (Str);

      print ('senderrefill');

      print ('say 领教了 50');
      print ('say 开始吧 400');
      exit;
   end;
end;

procedure OnCreate (aStr : String);
var
   Str : String;
begin
   Str := callfunc ('getsenderrace');
   if Str <> '1' then begin
      exit;
   end;
  
   Str := 'showwindow ./help/一级雨中客.txt 1';
   print (Str);
   exit;
end;

procedure OnDie (aStr : String);
var
   Str, Name : String;
   FirstQuest : Integer;
begin
   Str := callfunc ('getsenderrace');
   if Str <> '1' then exit;

   Str := callfunc ('getsenderfirstquest');
   FirstQuest := StrToInt (Str);

   if FirstQuest < 5 then begin
      Str := callfunc ('checkenoughspace');
      if Str = 'false' then begin
         print ('say 物品栏已满...');
         exit;
      end;
  
      print ('changesenderfirstquest 5');
      print ('putsendermagicitem 新手训练弯刀 @一级雨中客 4');
   end;

   print ('say 早料到了_佩服 100');

   print ('mapregen 54');

   Name := callfunc ('getsendername');
   Str := 'movespace ' + Name;
   Str := Str + ' user 54 17 18 500';
   print (Str);
end;

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

   Str := callfunc ('getsenderrace');
   if Str <> '1' then exit;

   print ('say 不错。只要能维持几秒钟');
   print ('say 到那时谁都不是你的对手 400');

   Name := callfunc ('getsendername');
   Str := 'movespace ' + Name;
   Str := Str + ' user 49 106 55 600';
   print (Str);
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 OnCreate (aStr : String);
procedure OnDie (aStr : String);
procedure OnChangeState (aStr : String);
procedure OnGetResult (aStr : String);

implementation

procedure OnGetResult (aStr : String);
var
   Str, Name : String;
   iCount : Integer;  
begin
   if aStr = 'start' then begin
      Str := callfunc ('getsenderserverid');
      if Str <> '54' then exit;

      Str := callfunc ('getsenderrace');
      if Str <> '1' then exit;

      Str := callfunc ('checksenderpowerwearitem');
      iCount := StrToInt (Str);
      if iCount > 0 then begin
         print ('say 请先脱掉带技能值的装备!');
         Name := callfunc ('getsendername');
         Str := 'movespace ' + Name;
         Str := Str + ' user 49 106 55 100';
         print (Str);
         exit;
      end;
      Str := callfunc ('checksendercurusemagic 0');
      if Str = 'true' then begin
         print ('say 选错武功了!');
         Name := callfunc ('getsendername');
         Str := 'movespace ' + Name;


         Str := Str + ' user 49 106 55 100';
         print (Str);
         exit;
      end;
      Str := callfunc ('checksendercurusemagic 1');
      if Str = 'true' then begin
         print ('say 选错武功了!');
         Name := callfunc ('getsendername');
         Str := 'movespace ' + Name;
         Str := Str + ' user 49 106 55 100';
         print (Str);
         exit;
      end;
     
      print ('directmovespace 一级老侠客 npc 54 20 18 0');

      print ('commandicebyname 一级老侠客 npc 500');
      print ('setallowhitbytick true 500');     

      Name := callfunc ('getsendername');
      Str := 'commandicebyname ' + Name;
      Str := Str + ' user 500';
      print (Str);

      print ('senderrefill');

      print ('say 如果你实在想比 50');
      print ('say 我将奉陪到底 400');
      exit;
   end;
end;

procedure OnCreate (aStr : String);
var
   Str : String;
begin
   Str := callfunc ('getsenderrace');
   if Str <> '1' then begin
      exit;
   end;
  
   Str := 'showwindow ./help/一级老侠客.txt 1';
   print (Str);
   exit;
end;

procedure OnDie (aStr : String);
var
   Str, Name : String;
   n, FirstQuest : Integer;  
begin
   Str := callfunc ('getsenderrace');
   if Str <> '1' then exit;

   Str := callfunc ('getsenderfirstquest');
   FirstQuest := StrToInt (Str);

   Name := callfunc ('getsendername');

   if FirstQuest < 6 then begin
      Str := 'sendsendertopmsg ' + Name;
      Str := Str + '恭喜你,通过了所有的比试,获得【侠客弓服】';
      print (Str);

      Str := callfunc ('checkenoughspace');
      if Str = 'false' then begin
         print ('say 物品栏已满...');
         exit;
      end;
     
      print ('changesenderfirstquest 6');

      Str := callfunc ('getsenderedu');
      n := StrToInt (Str);
      if n = 1 then begin
         print ('putsendermagicitem 男子侠客弓服 @一级老侠客 4');
      end;
      if n = 2 then begin
         print ('putsendermagicitem 女子侠客弓服 @一级老侠客 4');
      end;
         print ('putsendermagicitem 新手训练神剑 @一级老侠客 4');
   end;

   print ('say 佩服_佩服 100');

   Str := 'movespace ' + Name;
   Str := Str + ' user 49 25 35 500';
   print (Str);
end;

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

   Str := callfunc ('getsenderrace');
   if Str <> '1' then exit;

   print ('say 小小年纪_就有如此高深的武功 50');
   print ('say 日后要继续修炼... 400');

   Name := callfunc ('getsendername');
   Str := 'movespace ' + Name;
   Str := Str + ' user 49 106 55 600';
   print (Str);
end;

end.

-------------------------------------

*************************************

奖励物品代码:

*************************************

男子侠客弓服,男子侠客弓服,24,新手村擂台战利

品,2,,,,,FALSE,FALSE,181,6,7,,,,1,1,1,,50000,,,,,,4432,4831,TRUE,,10,20,,,,,,,200,100,100,10

0,,,,,,3,TRUE,4,,FALSE,,,,,,,,,,,,,,,
女子侠客弓服,女子侠客弓服,24,新手村擂台战利

品,2,,,,,FALSE,FALSE,181,6,7,,,,1,2,1,,50000,,,,,,4432,4831,TRUE,,10,20,,,,,,,200,100,100,10

0,,,,,,3,TRUE,4,,FALSE,,,,,,,,,,,,,,,
新手训练拳套,新手训练拳套,6,新手村擂台战利

品,1,,,,,FALSE,FALSE,361,9,52,,0,0,1,,1,,50000,50000,,,,,4404,4805,TRUE,20,20,20,,,,,,,,,,,,

,,,,4,TRUE,3,TRUE,FALSE,,,,,,,,,,,,,,,
新手训练神剑,新手训练神剑,6,新手村擂台战利

品,1,,,,,FALSE,FALSE,365,9,69,,2,1,1,,1,,50000,50000,,,,,4404,4805,TRUE,20,20,20,,,,,,,,,,,,

,,,,1,TRUE,3,TRUE,FALSE,,,,,,,,,,,,,,,
新手训练弯刀,新手训练弯刀,6,新手村擂台战利

品,7,,,,,FALSE,FALSE,113,9,2,,2,2,1,,1,,50000,50000,,,,,4412,4813,TRUE,20,20,20,,,,,,,,,,,,,

,,,1,TRUE,4,,FALSE,,,,,,,,,,,,,,,
新手训练长矛,新手训练长矛,6,新手村擂台战利

品,6,,,,,FALSE,FALSE,117,9,45,,3,4,1,,1,,50000,50000,,,,,4435,4834,TRUE,20,20,20,,,,,,,,,,,,

,,,,1,TRUE,4,,FALSE,,,,,,,,,,,,,,,
新手训练大斧,新手训练大斧,6,新手村擂台战利

品,6,,,,,FALSE,FALSE,95,9,12,,3,3,1,,1,,50000,50000,,,,,4415,4815,TRUE,20,20,20,,,,,,,,,,,,,

,,,1,TRUE,4,,FALSE,,,,,,,,,,,,,,,

商业版发布站程序下载:发布站程序下载:

Tags:

作者:佚名
  • 好的评价 如果您觉得此文章好,就请您
      0%(0)
  • 差的评价 如果您觉得此文章差,就请您
      0%(0)

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
传奇资源网提供最新传奇开区一条龙版本下载,本站声明:只更新最新最好的传奇服务端分享给大家。