admin 发表于 2019-3-19 10:15:56

千年宝宝脚本+神武年龄限制的修改方法


   内容介绍

神武年龄限制的修改方法:用UltraEdit 打开tgs1000.exe
找到 000cd450h 这个地址 下面的这个数值是原版的
a1 0f 00=表示40.01岁的才能学
如果想改成小于40岁就能学,参阅下面的改法
<font color="#006400">把a1 0f 00改成ad 0d 00 = 35.01岁能学
把a1 0f 00改成b9 0b 00 = 25.01岁能学
把a1 0f 00改成c5 09 00 = 25.01岁能学
把a1 0f 00改成d1 07 00 = 20.01岁能学
把a1 0f 00改成dd 05 00 = 15.01岁能学
把a1 0f 00改成e9 03 00 = 10.01岁能学
把a1 0f 00改成00 00 00 =就取消了年龄限制了</font>
注意上面的英文字母用大写的字母书写就可以了

宝宝脚本:
NPC的名称和NPC判断的名称自己改。
NPC名称是’老胡的儿子‘
自己改,所有的
if namea <> '老胡' then begin把老胡改成自己的名称


可以输入命令攻击的宝宝。杀怪路上不在独单。人物要自己加,只是脚本,不会加的看了白看。
记住命令”号不输入。
“攻击+空格+玩家名称”
“停止攻击”
”跟我来“首先在script文件夹内新建一个文档文件,名字随意,最好使用你将给宝宝取的名字做为文件名。然后把下面代码复制到内:unit 老泊;

interface

functionGetToken (aStr, aToken, aSep : String) : String;
functionCompareStr (aStr1, aStr2 : String) : Boolean;
functioncallfunc (aText: string): string;
procedure print (aText: string);
functionRandom (aScope: integer): integer;
functionLength (aText: string): integer;
procedure Inc (aInt: integer);
procedure Dec (aInt: integer);
functionStrToInt (astr: string): integer;
functionIntToStr (aInt: integer): string;
procedure exit;

procedure OnDblClick(aStr : String);
procedure OnGetResult (aStr : String);
procedure OnHear (aStr : String);
procedure OnDie (aStr : String);
procedure OnAway (aStr : String);

var
yidong :string;
name :string;
implementation

procedure OnHear (aStr : String);
var
namea, pstr, Str, rdStr, xStr, yStr : String;
   x, y, xx, yy : Integer;
   Race : Integer;
   cuan, detu : String;
   detua : Integer;
begin
namea := callfunc ('getsendername');
if namea <> 'GM玫瑰小姐' then begin
exit;
end;
if astr = '停止攻击' then begin
str := 'say ' + 'Yes-老大!停止攻击〔';
str := str + pstr;
str := str + '〕';
print (str);
print ('attack 狗日')
yidong := '停';
exit;
end;

rdstr := GetToken (astr, yStr, '_');
if ystr = '攻击' then begin
rdstr := 'say ' + astr;
print (rdstr);
pstr := GetToken (astr, xStr, '_');
str := 'say ' + 'Yes-老大!攻击〔';
str := str + pstr;
str := str + '〕';
print (str);
str :='findobjectbyname '+ pstr;
str := callfunc (str) ;
str := 'attack ' + str;
print (str);
yidong := '停';
exit;
end;

if astr = '跟我来' then begin
yidong := '走';

print ('attack 狗日');
detu := callfunc ('getsenderserverid');
str := callfunc ('getsenderposition');

   Str := GetToken (Str, xStr, '_');
   x := StrToInt (xStr);
   Str := GetToken (Str, yStr, '_');
   y := StrToInt (yStr);

   rdStr := 'getnearxy ' + xStr;
   rdStr := rdStr + ' ';
   rdStr := rdStr+ yStr;
   Str := callfunc (rdStr);


   Str := GetToken (Str, xStr, '_');
   xx := StrToInt (xStr);
   Str := GetToken (Str, yStr, '_');
   yy := StrToInt (yStr);

   if x = xx then begin
      if y = yy then begin
         exit;
      end;
   end;

if yidong <> '走' then exit;
cuan := 'directmovespace 老泊 npc ';
str :=cuan + detu;
str :=str + ' ';
str :=str + xstr;
str :=str + ' ';
str :=str + ystr;
print (str);
str := 'say ' + '老大抱我! 100';
print (str);
exit;
end;
end;

end;


procedure OnAway (aStr : String);
var
   namea, Str, rdStr, xStr, yStr : String;
   x, y, xx, yy : Integer;
   cuan, detu : String;
   detua : Integer;
begin
name := 'GM玫瑰小姐';
namea := callfunc ('getsendername');
if namea = name then begin
   Str := callfunc ('getsenderrace');
   if Str <> '1' then exit;
   print ('say 哈哈...');

detu := callfunc ('getsenderserverid');
str := callfunc ('getsenderposition');

   Str := GetToken (Str, xStr, '_');
   x := StrToInt (xStr);
   Str := GetToken (Str, yStr, '_');
   y := StrToInt (yStr);

   rdStr := 'getnearxy ' + xStr;
   rdStr := rdStr + ' ';
   rdStr := rdStr+ yStr;
   Str := callfunc (rdStr);


   Str := GetToken (Str, xStr, '_');
   xx := StrToInt (xStr);
   Str := GetToken (Str, yStr, '_');
   yy := StrToInt (yStr);

   if x = xx then begin
      if y = yy then begin
         exit;
      end;
   end;

if yidong <> '走' then exit;
cuan := 'directmovespace 老泊 npc ';
str :=cuan + detu;
str :=str + ' ';
str :=str + xstr;
str :=str + ' ';
str :=str + ystr;
print (str);
end;
exit;
end;
end;
procedure OnDblClick (aStr : String);
var
   name, namea, Str, rdStr, xStr, yStr : String;
   x, y, xx, yy : Integer;
   cuan, detu : String;
   detua : Integer;
begin
print ('attack 狗日');
detu := callfunc ('getsenderserverid');
str := callfunc ('getsenderposition');

   Str := GetToken (Str, xStr, '_');
   x := StrToInt (xStr);
   Str := GetToken (Str, yStr, '_');
   y := StrToInt (yStr);

   rdStr := 'getnearxy ' + xStr;
   rdStr := rdStr + ' ';
   rdStr := rdStr+ yStr;
   Str := callfunc (rdStr);


   Str := GetToken (Str, xStr, '_');
   xx := StrToInt (xStr);
   Str := GetToken (Str, yStr, '_');
   yy := StrToInt (yStr);

   if x = xx then begin
      if y = yy then begin
         exit;
      end;
   end;
cuan := 'directmovespace 老泊 npc ';
str :=cuan + detu;
str :=str + ' ';
str :=str + xstr;
str :=str + ' ';
str :=str + ystr;
   if x = xx then begin
      if y = yy then begin
         exit;
      end;
   end;
print (str);

end;

end.
注意:使用宝宝的命令不需要使用@

第二
我们在相同的文件夹中找到Script.SDB
在文件内加入
XXX(这里是排列顺序号),老泊.txt,,

第三步
在init文件夹内找到NPC.SDB
在里面编写宝宝(其实就是一个NPC)属性代码


第四步
打开setting文件夹找到刷出NPC的文件。根据地图添加,例如长城以南刷个宝宝在中央,就找到CreateNpc1.sdb在里面添加宝宝NPC
102(这里是我的排列号改为你自己的),老泊,533,475,1,2,XXX(对应上面Script.SDB的号码)




这样就添加完成了,可以上你的服务器到中央市场位置 533 475找到你的宝宝 键入口令“跟我来”这样狗狗就听你的话了,
**** Hidden Message *****


   内容截图



   附件下载   (如果本资源侵犯到您的权益,请联系在线管理员QQ:1589479632处理!)



fb9691 发表于 2022-6-25 05:59:47

规划和空间

chuanzi147 发表于 2022-6-24 19:03:15

学习,希望不要坑

wlhhsm 发表于 2022-4-30 16:03:53

谢谢分享!!!!

rugal05 发表于 2022-1-3 22:03:32

学习下谢谢分享

V878875 发表于 2021-11-10 10:18:38

非常棒的脚本啊!

akeboss 发表于 2021-4-1 17:03:45

好东西 正好需要

haoyu386 发表于 2021-3-13 22:49:13

哒哒哒哒哒哒多多多多多多多多多多多多多

a85815186 发表于 2020-11-26 22:02:45

新手来学习了谢谢

fangzhiye 发表于 2020-7-2 12:45:32

感谢分享,学习了。

parody 发表于 2020-3-11 23:51:43

感谢分享,楼主辛苦~!!!

xinxiaer 发表于 2020-3-1 12:34:39

额特特特让他

xnliuling 发表于 2019-5-20 14:56:38

很好的解释,谢谢!!

gameuser 发表于 2019-4-24 10:05:47

学习下谢谢分享
页: [1]
查看完整版本: 千年宝宝脚本+神武年龄限制的修改方法