神武年龄限制的修改方法:用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
- 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 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
在文件内加入
第三步
在init文件夹内找到NPC.SDB
在里面编写宝宝(其实就是一个NPC)属性代码
第四步
打开setting文件夹找到刷出NPC的文件。根据地图添加,例如长城以南刷个宝宝在中央,就找到CreateNpc1.sdb在里面添加宝宝NPC
- 102(这里是我的排列号改为你自己的),老泊,533,475,1,2,XXX
复制代码 (对应上面Script.SDB的号码)
这样就添加完成了,可以上你的服务器到中央市场位置 533 475找到你的宝宝 键入口令“跟我来”这样狗狗就听你的话了,
|