用于战神引擎的名人堂Npc脚本,带了自定义对话框和专属地图传送功能,脚本是我明文版的,可以修改脚本里面的传送地图的名字和坐标。配套的素材有些多,全部压缩在一起了,你们添加的时候需要单独提取需要的添加进去,不能直接把原先的覆盖掉,名人堂.ini文件放到D:\mud2.0\Mir200\Share\config文件夹下面。

部分脚本
program Mir2;
procedure _DoExit;
begin
This_Npc.CloseDialog(This_Player);
end;
procedure _Exit;
begin
This_Npc.CloseDialog(This_Player);
end;
var jx_map,jx_hc:string;
jx_limit,hc_x,hc_y:integer;
procedure OnInitialize();
begin
jx_map:='yxd'; //第一地图;
jx_hc:='3'; //回城地图
hc_x:=330; //回城坐标
hc_y:=330;
jx_limit:=20; //每日充值20以上才排名 修改此处需要同时修改runquest中名人堂调用的对应数值
end;
procedure domain;
var
i,j,x,temp,old,total ,time: integer;
showName, showPoint, temp_str,state,ztstr,jlkg,gmstr,timestr,cmdstr : string;
rankName : Array [1..100] of String; rankInt : Array [1..100] of integer;
begin
total:=StrToIntDef(ReadIniSectionStr('名人堂.ini','系统记录','Total'),0); //读取总捐献记录;
if (total=0) then
begin
SetG(128,11,0);
SetG(128,12,0);
end
old:=StrToIntDef(ReadIniSectionStr('名人堂.ini','PayName',This_Player.Name),0); //读取旧今日充值据
if (old > This_Player.GetV(99,99)) then //过滤不合理数据
begin
WriteIniSectionStr('名人堂.ini','PayName',This_Player.Name,'0');
old:=0;
end;
for i:=1 to 100 do
begin
if ReadIniSectionStr('名人堂.ini','PayList',inttostr(i)) = '' then
break;
showName:=ReadIniSectionStr('名人堂.ini','PayList',inttostr(i));
showPoint:=ReadIniSectionStr('名人堂.ini','PayName',showName);
rankName[i]:=showName;
rankInt[i]:=strtoint(showPoint);
end
if showName <> '' then
begin
for i:=1 to 100 do
begin
if rankInt[i] <= 0 then
break;
for j:=1 to 100 do
begin
x:=j+1;
if (rankInt[j] <= 0) or (rankInt[x] <= 0) then
break;
if (rankInt[j] < rankInt[x]) and (rankInt[x] >= jx_limit) then //大于20以上的捐献才参与排名!
begin
temp := rankInt[j];
rankInt[j] := rankInt[x];
rankInt[x] := temp;
temp_str:=rankName[j];
rankName[j] := rankName[x];
rankName[x] := temp_str;
end
end
end
end
temp_str:='';
for i:=1 to 5 Do








