新手村擂台脚本
-
释放到同名文件夹下覆盖原有文件。
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 ('getsendersex');
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,,,,,,,,,,,,,,,
******************************************