您当前的位置:首页 > 其他技术 > 其他技术

千年高级脚本分享之风雷版新手村擂台脚本攻略

本文出处:网游动力作者:本站发布时间:2016-05-05阅读次数:

  每个新手千年私服gm都必须认识到一个问题,想要让我们的服务器拥有足够多的玩家火爆起来,作为gm我们就必须要给玩家提供一个好的游戏环境,并且我们有还要给玩家不断提供新的游戏玩法。只有这样我们才能够增加玩家对于游戏的粘度,新手村擂台想必所有千年私服玩家和gm都不会陌生,这是一个非常经典的活动。不管是新手玩家还是老玩家在刚刚进入游戏那段时间都会频繁参与。

释放到同名文件夹下覆盖原有文件。 
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'); dedecms.com 
 
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); dedecms.com 
 
print ('boMapEnter 50 true'); 
end; 
 
end.   
 
--------------------------------------- 
 
unit 一级牛俊; dedecms.com 
 
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. 
对于这些人气非常强玩家认知度比较广的活动,小编建议大家在服务器中掩盖尽可能添加进去,因为这些活动是所有玩家的熟悉玩法的,他们看到这样的活动就会直接参与。上面就是小编给大家分享的千年高级脚本分享之风雷版新手村擂台脚本攻略全部内容希望大家能够喜欢。