用于战神引擎玩家充值排行榜Npc脚本,脚本全自动记录本服前十名的充值玩家的金额信息,根据充值金额的大小,进行排序,脚本有需要一份引入文件做为变量判断,非单独文件,添加的时候需要把对应的变量添加到原先版本里面对应的文件,不能直接覆盖引入文件,除非你版本里面没有这份引入文件。
部分脚本
program mir2; {$I common.pas} procedure _DoExit; begin This_Npc.CloseDialog(This_Player); end; procedure _Exit; begin This_Npc.CloseDialog(This_Player); end; procedure domain; var i,j,x,temp : integer; showName, showPoint, temp_str : string; rankName : Array [1..100] of String; rankInt : Array [1..100] of integer; begin for i:=1 to 100 do begin if ReadIniSectionStr('Paylog.txt','PayList',inttostr(i)) = '' then break; showName:=ReadIniSectionStr('Paylog.txt','PayList',inttostr(i)); showPoint:=ReadIniSectionStr('Paylog.txt','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] > 0) then 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 10 Do begin if rankName[i] <> '' then temp_str:=temp_str+'第'+inttostr(i)+'名 :<'+rankName[i]+ '> 充值金额:<' + inttostr(rankInt[i])+'元>|' else temp_str:=temp_str+'第'+inttostr(i)+'名 : <空缺>|' end This_Npc.NpcDialog(This_Player, temp_str+ '|'+ MirDateTimeToStr('yyyy-MM-dd hh:mm:ss' , GetNow) +'|<【充值奖励】:/c=red> <每充值一元可以获得一个灵符/SCOLOR=250>\' +'|{cmd}<我要用灵符兑换物品/@lingfuBuy>\' //+'|{cmd}<清除/@geiIt>\' +'|{cmd}<退出/@doexit>' ); end;