亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? script.pas

?? 仙境傳說(RO)私人服務器端源代碼。第一次上傳。
?? PAS
?? 第 1 頁 / 共 4 頁
字號:
										tn.Script[tc.ScriptStep].Data2[6] := str;									$10: //奪										tn.Script[tc.ScriptStep].Data2[1] := str;                  $20: //嵍庤										tn.Script[tc.ScriptStep].Data2[2] := str;									$22: //椉庤晲婍										begin											tn.Script[tc.ScriptStep].Data2[2] := str;											tn.Script[tc.ScriptStep].Data2[3] := str;										end;									$40: //孋										tn.Script[tc.ScriptStep].Data2[5] := str;									$80: //傾僋僙2										tn.Script[tc.ScriptStep].Data2[7] := str;									$100: //摢忋抜										tn.Script[tc.ScriptStep].Data2[0] := str;									$200: //摢拞抜										tn.Script[tc.ScriptStep].Data2[8] := str;									$201: //摢拞壓抜										begin											tn.Script[tc.ScriptStep].Data2[8] := str;											tn.Script[tc.ScriptStep].Data2[9] := str;										end;									$300: //摢忋拞抜										begin											tn.Script[tc.ScriptStep].Data2[0] := str;											tn.Script[tc.ScriptStep].Data2[8] := str;										end;									$301: //摢忋拞壓抜										begin											tn.Script[tc.ScriptStep].Data2[0] := str;											tn.Script[tc.ScriptStep].Data2[8] := str;											tn.Script[tc.ScriptStep].Data2[9] := str;										end;								end;							end;						end;						for i := 0 to 9 do begin							if i = 0 then								str := tn.Script[tc.ScriptStep].Data2[i]							else								str := str + ':' + tn.Script[tc.ScriptStep].Data2[i];						end;						i := Length(str);						WFIFOW(0, $00b7);						WFIFOW(2, i + 8);						WFIFOL(4, tn.ID);						WFIFOS(8, str, i);						tc.Socket.SendBuf(buf[0], i + 8);						break;					end else begin						if value = $FF then begin              //EqLock夝彍              if tc.EqLock = true then tc.EqLock := false;							tc.ScriptStep := $FFFF;							break;						end;{NPC僀儀儞僩捛壛}						if (Copy(tn.Script[tc.ScriptStep].Data1[0], 1, 1) <> '\') then begin							tc.Flag.Values[tn.Script[tc.ScriptStep].Data1[0]] := IntToStr(value);						end else begin							ServerFlag.Values[tn.Script[tc.ScriptStep].Data1[0]] := IntToStr(value);						end;{NPC僀儀儞僩捛壛僐僐傑偱}						case value of							1:  l := $100; //摢忋抜							2:  l := $10;  //奪							3:  l := $20;  //嵍庤							4:  l := $2;   //塃庤							5:  l := $4;   //尐							6:  l := $40;  //孋							7:  l := $8;   //傾僋僙1							8:  l := $80;  //傾僋僙2							9:  l := $200; //摢忋抜							10: l := $1;   //摢壓抜							else l := 0;						end;						if l <> 0 then begin							k := 0;							j := 99;							for i := 1 to 100 do begin	    					if (tc.Item[i].ID <> 0) and (tc.Item[i].Amount <> 0) and tc.Item[i].Data.IEquip and  		  					 ((tc.Item[i].Equip and l) = l) then begin                  if tc.Item[i].Data.IType = 4 then begin                    j := tc.Item[i].Data.wLV;                  end else begin                    j := 0;                  end;                  k := i;                  break;                end;              end;{NPC僀儀儞僩捛壛}							if (Copy(tn.Script[tc.ScriptStep].Data1[1], 1, 1) <> '\') then begin								tc.Flag.Values[tn.Script[tc.ScriptStep].Data1[1]] := IntToStr(j);							end else begin								ServerFlag.Values[tn.Script[tc.ScriptStep].Data1[1]] := IntToStr(j);							end;							if (Copy(tn.Script[tc.ScriptStep].Data1[2], 1, 1) <> '\') then begin								if k <> 0 then									tc.Flag.Values[tn.Script[tc.ScriptStep].Data1[2]] := IntToStr(tc.Item[i].Refine)								else									tc.Flag.Values[tn.Script[tc.ScriptStep].Data1[2]] := '0';							end else begin								if k <> 0 then									ServerFlag.Values[tn.Script[tc.ScriptStep].Data1[2]] := IntToStr(tc.Item[i].Refine)								else									ServerFlag.Values[tn.Script[tc.ScriptStep].Data1[2]] := '0';							end;{NPC僀儀儞僩捛壛僐僐傑偱}						end;  					value := 0;					end;					Inc(tc.ScriptStep);				end;			31: //lockitem				begin{NPC僀儀儞僩捛壛}					i := ConvFlagValue(tc, tn.Script[tc.ScriptStep].Data1[0], true);{NPC僀儀儞僩捛壛僐僐傑偱}					if i = 0 then tc.EqLock := false						else if i = 1 then tc.EqLock := true;					Inc(tc.ScriptStep);				end;{惛楤NPC婡擻捛壛僐僐傑偱}{敮怓曄峏捛壛}			32: //hcolor				begin{NPC僀儀儞僩捛壛}					i := ConvFlagValue(tc, tn.Script[tc.ScriptStep].Data1[0], true);{NPC僀儀儞僩捛壛僐僐傑偱}					if (i >= 0) and (i <= 8) then begin						tc.HairColor := i;						WFIFOW(0, $00c3);						WFIFOL(2, tc.ID);						WFIFOB(6, 6);						WFIFOB(7, i);						SendBCmd(tc.MData, tc.Point, 8);					end;					Inc(tc.ScriptStep);				end;{敮怓曄峏捛壛僐僐傑偱}{NPC僀儀儞僩捛壛}			33: //callmob				begin					ts := TMob.Create;					with ts do begin						Map := tn.Script[tc.ScriptStep].Data1[0];						Point.X := tn.Script[tc.ScriptStep].Data3[0];						Point.Y := tn.Script[tc.ScriptStep].Data3[1];						if (Point.X = 0) and (Point.Y = 0) then begin							j := 0;							repeat								Point.X := Random(tm.Size.X - 2) + 1;								Point.Y := Random(tm.Size.Y - 2) + 1;								Inc(j);							until (tm.gat[Point.X, Point.Y] and 1 <> 0) or (j = 100);						end;						if (j = 100) then continue;						Name := tn.Script[tc.ScriptStep].Data1[1];						JID := tn.Script[tc.ScriptStep].Data3[2];						Data := MobDB.IndexOfObject(ts.JID) as TMobDB;						ID := NowMobID;						Inc(NowMobID);						//僀儀儞僩愝掕						if (tn.Script[tc.ScriptStep].Data2[0] = '') then Event := 0						else Event := StrToInt(tn.Script[tc.ScriptStep].Data2[0]);						Dir := Random(8);						HP := Data.HP;						Speed := Data.Speed;						SpawnDelay1 := $7FFFFFFF;						SpawnDelay2 := 0;						SpawnType := 0;						SpawnTick := 0;						isLooting := False;						for j:= 1 to 10 do begin							Item[j].ID := 0;							Item[j].Amount := 0;							Item[j].Equip := 0;							Item[j].Identify := 0;							Item[j].Refine := 0;							Item[j].Attr := 0;							Item[j].Card[0] := 0;							Item[j].Card[1] := 0;							Item[j].Card[2] := 0;							Item[j].Card[3] := 0;						end;						if (tn.Script[tc.ScriptStep].Data3[3] = 0) then begin							if Data.isDontMove then								MoveWait := 4294967295							else								MoveWait := Tick + 5000 + Cardinal(Random(10000));							isActive := ts.Data.isActive;						end else begin							MoveWait := timeGetTime();							isActive := true;						end;						ATarget := 0;						ATKPer := 100;						DEFPer := 100;						DmgTick := 0;						Element := Data.Element;						for j := 0 to 31 do begin							EXPDist[j].CData := nil;							EXPDist[j].Dmg := 0;						end;						if Data.MEXP <> 0 then begin							for j := 0 to 31 do begin								MVPDist[j].CData := nil;								MVPDist[j].Dmg := 0;							end;							MVPDist[0].Dmg := Data.HP * 30 div 100; //FA偵30%壛嶼						end;						isSummon := True;						tm.Mob.AddObject(ID, ts);						tm.Block[Point.X div 8][Point.Y div 8].Mob.AddObject(ID, ts);						//廃埻偵憲怣						ZeroMemory(@buf[0], 41);						WFIFOW( 0, $007c);						WFIFOL( 2, ID);						WFIFOW( 6, Speed);						WFIFOW( 8, Stat1);						WFIFOW(10, Stat2);						WFIFOW(20, JID);						WFIFOM1(36, Point, Dir);						SendBCmd(tm,Point,41,nil,true);						Inc(tc.ScriptStep);					end;				end;			34: //broadcast				begin					l := tn.Script[tc.ScriptStep].Data3[0];					str := tn.Script[tc.ScriptStep].Data1[0] + chr(0);					i := AnsiPos('$[', str);					while i <> 0 do begin						j := AnsiPos(']', Copy(str, i + 2, 256));						if j <= 1 then break;						if (Copy(str, i + 2, 1) = '$') then begin							str := Copy(str, 1, i - 1) + tc.Flag.Values[Copy(str, i + 2, j - 1)]  + Copy(str, i + j + 2, 256);						end else if (Copy(str, i + 2, 2) = '\$') then begin							str := Copy(str, 1, i - 1) + ServerFlag.Values[Copy(str, i + 2, j - 1)]  + Copy(str, i + j + 2, 256);						end else begin							k := ConvFlagValue(tc, Copy(str, i + 2, j - 1), true);							if k <> -1 then begin								str := Copy(str, 1, i - 1) + IntToStr(k) + Copy(str, i + j + 2, 256);							end else begin								str := Copy(str, 1, i - 1) + Copy(str, i + j + 2, 256);							end;						end;						i := AnsiPos('$[', str);					end;					str := StringReplace(str, '$codeversion', CodeVersion, [rfReplaceAll]);					str := StringReplace(str, '$charaname', tc.Name, [rfReplaceAll]);          str := StringReplace(str, '$guildname', GetGuildName(tn), [rfReplaceAll]);          str := StringReplace(str, '$guildmaster', GetGuildMName(tn), [rfReplaceAll]);          str := StringReplace(str, '$edegree', IntToStr(GetGuildEDegree(tn)), [rfReplaceAll]);          str := StringReplace(str, '$etrigger', IntToStr(GetGuildETrigger(tn)), [rfReplaceAll]);          str := StringReplace(str, '$ddegree', IntToStr(GetGuildDDegree(tn)), [rfReplaceAll]);          str := StringReplace(str, '$dtrigger', IntToStr(GetGuildDTrigger(tn)), [rfReplaceAll]);					str := StringReplace(str, '$$', '$', [rfReplaceAll]);					str := StringReplace(str, '\\', '\', [rfReplaceAll]);					if ((l mod 100) div 10 = 0) then str := tn.Name + ' : ' + str;					if (l div 100 = 1) then str := 'blue' + str;					w := Length(str) + 4;					WFIFOW(0, $009a);					WFIFOW(2, w);					WFIFOS(4, str, w - 4);					if (l mod 10 = 0) then begin						//僇儗儞僩MAP偺僉儍儔偵憲怣						tm := Map.Objects[Map.IndexOf(tn.Map)] as TMap;						for i := 0 to tm.CList.Count - 1 do begin							tc1 := tm.CList.Objects[i] as TChara;							if tc1.Login = 2 then tc1.Socket.SendBuf(buf, w);						end;					end else begin						//慡儚乕儖僪偺僉儍儔偵憲怣						for i := 0 to CharaName.Count - 1 do begin							tc1 := CharaName.Objects[i] as TChara;							if tc1.Login = 2 then tc1.Socket.SendBuf(buf, w);						end;					end;					Inc(tc.ScriptStep);				end;			35: //npctimer				begin					i := tn.Script[tc.ScriptStep].Data3[0];					j := tm.TimerAct.IndexOf(tn.ID);					if (i = 0) then begin						//僞僀儅乕OFF						if (j <> -1) then begin							DebugOut.Lines.Add(Format('NPC Timer(%d) was deleted / Remaining Timer(%d)', [tn.ID,tm.TimerAct.Count-1]));							tm.TimerAct.Delete(tm.TimerAct.IndexOf(tn.ID));						end;					end else if (i = 1) then begin						//僞僀儅乕ON						if (j = -1) then begin							//怴婯僗僞乕僩							j := tm.TimerDef.IndexOf(tn.ID);							if (j <> -1) then begin								tr := tm.TimerDef.Objects[j] as NTimer;								tr.Tick := timeGetTime();								for k := 0 to tr.Cnt - 1 do begin									tr.Done[k] := 0;								end;								tm.TimerAct.AddObject(tn.ID, tr);								DebugOut.Lines.Add(Format('NPC Timer(%d) was started / Starting Timer(%d)', [tn.ID,tm.TimerAct.Count]));							end;						end else begin							//嵞僗僞乕僩							tr := tm.TimerAct.Objects[j] as NTimer;							tr.Tick := timeGetTime();							for k := 0 to tr.Cnt - 1 do begin								tr.Done[k] := 0;							end;							DebugOut.Lines.Add(Format('NPC Timer(%d) was re-started / Starting Timer(%d)', [tn.ID,tm.TimerAct.Count]));						end;					end;					Inc(tc.ScriptStep);				end;			36: //addnpctimer				begin					i := -1;					for k := 0 to tm.NPC.Count - 1 do begin						tn1 := tm.NPC.Objects[k] as TNPC;						if (tn1.Name = tn.Script[tc.ScriptStep].Data1[0]) then begin							i := 0;							break;						end;					end;					if (i <> -1) then begin						i := tn.Script[tc.ScriptStep].Data3[0];						j := tm.TimerAct.IndexOf(tn1.ID);						if (j <> -1) then begin							tr := tm.TimerAct.Objects[j] as NTimer;							if (i > 0) then tr.Tick := tr.Tick - cardinal(i)							else tr.Tick := tr.Tick + cardinal(abs(i));							if (tr.Tick > Tick) then tr.Tick := Tick;							for k := 0 to tr.Cnt - 1 do begin								if (i < 0) and (tr.Tick + cardinal(tr.Idx[k]) > Tick) then begin									//夁嫀偺僀儀儞僩傪枹幚峴偵偡傞									tr.Done[k] := 0;								end else if (i > 0) and (tr.Tick + cardinal(tr.Idx[k]) < Tick) then begin									//枹棃偺僀儀儞僩傪幚峴嵪偵偡傞									tr.Done[k] := 1;								end;							end;							DebugOut.Lines.Add(Format('NPC Timer(%d) was added (%d)ms', [tn.ID,i]));						end;					end;					Inc(tc.ScriptStep);				end;			37: //return				begin					tc.ScriptStep := $FFFF;					break;				end;			38: //warpallpc				begin					if (tn.Script[tc.ScriptStep].Data3[2] = 0) then begin						//僇儗儞僩MAP偺僉儍儔傪揮憲						tm := Map.Objects[Map.IndexOf(tn.Map)] as TMap;						while (tm.CList.Count > 0) do begin							tc1 := tm.CList.Objects[0] as TChara;							if tc1.Login = 2 then begin								SendCLeave(tc1, 2);								tc1.tmpMap := tn.Script[tc.ScriptStep].Data1[0];								tc1.Point := Point(tn.Script[tc.ScriptStep].Data3[0],tn.Script[tc.ScriptStep].Data3[1]);								MapMove(tc1.Socket, tc1.tmpMap, tc1.Point);							end;						end;					end else if (tn.Script[tc.ScriptStep].Data3[2] = 1) then begin						//慡儚乕儖僪偺僉儍儔傪揮憲						for j := 0 to CharaName.Count - 1 do begin							tc1 := CharaName.Objects[j] as TChara;							if tc1.Login = 2 then begin								SendCLeave(tc1, 2);								tc1.tmpMap := tn.Script[tc.ScriptStep].Data1[0];								tc1.Point := Point(tn.Script[tc.ScriptStep].Data3[0],tn.Script[tc.ScriptStep].Data3[1]);								MapMove(tc1.Socket, tc1.tmpMap, tc1.Point);							end;						end;					end else begin						//NPC僠儍僢僩儖乕儉撪偺僉儍儔傪揮憲						if (tn.ChatRoomID <> 0) then begin							i := ChatRoomList.IndexOf(tn.ChatRoomID);							tcr := ChatRoomList.Objects[i] as TChatRoom;							if (tcr.Users < 2) then continue;							while (tcr.Users > 1) do begin								tc1 := CharaPID.IndexOfObject(tcr.MemberID[1]) as TChara;								if tc1.Login = 2 then begin									SendCLeave(tc1, 2);									tc1.tmpMap := tn.Script[tc.ScriptStep].Data1[0];									tc1.Point := Point(tn.Script[tc.ScriptStep].Data3[0],tn.Script[tc.ScriptStep].Data3[1]);									MapMove(tc1.Socket, tc1.tmpMap, tc1.Point);								end;							end;						end;					end;					Inc(tc.ScriptStep);				end;			39: //waitingroom				begin

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷综合视频在线观看| 国产精品一区二区久久不卡| 高清不卡一二三区| 欧美日本高清视频在线观看| 国产色综合一区| 五月激情丁香一区二区三区| 成人爱爱电影网址| 亚洲精品在线观| 日本中文字幕一区二区有限公司| 99久久精品免费观看| 久久婷婷色综合| 日本va欧美va欧美va精品| 欧美主播一区二区三区| 最新日韩av在线| 国产69精品久久久久毛片| 欧美变态口味重另类| 日本va欧美va欧美va精品| 欧美日韩亚洲丝袜制服| 一区二区三区在线不卡| av电影在线不卡| 国产日产欧产精品推荐色| 久久精品国产秦先生| 在线成人午夜影院| 亚洲国产美国国产综合一区二区| 91女人视频在线观看| 国产精品理伦片| 成人福利视频在线| 国产女主播视频一区二区| 国产一区二区三区美女| 精品久久久三级丝袜| 麻豆成人久久精品二区三区红 | 亚洲永久精品大片| 99精品在线观看视频| 中文字幕中文字幕一区| 成人白浆超碰人人人人| 国产精品伦理一区二区| 成人黄色网址在线观看| 国产欧美日韩三区| 懂色av中文字幕一区二区三区 | 色国产精品一区在线观看| 最新热久久免费视频| 99久久精品国产毛片| 一区在线播放视频| 91视频你懂的| 一区二区三区在线观看国产 | 精东粉嫩av免费一区二区三区| 欧美一激情一区二区三区| 欧美aaaaa成人免费观看视频| 这里只有精品视频在线观看| 日本伊人精品一区二区三区观看方式| 欧美老女人第四色| 日本不卡视频在线观看| 欧美大肚乱孕交hd孕妇| 国产原创一区二区三区| 欧美极品美女视频| 不卡av在线免费观看| 亚洲欧美日韩中文字幕一区二区三区| 99国产精品久久久久久久久久| 亚洲免费资源在线播放| 欧美伦理电影网| 蜜臀久久99精品久久久久久9| 亚洲精品一区二区三区99| 国产成人免费高清| 日韩一区欧美一区| 欧美日韩视频在线观看一区二区三区| 五月天亚洲婷婷| 精品国产不卡一区二区三区| 国产91在线|亚洲| 亚洲丝袜精品丝袜在线| 69av一区二区三区| 国产精品自在在线| 亚洲精选视频免费看| 欧美日本在线观看| 国产在线视频一区二区| 亚洲欧洲日韩一区二区三区| 欧美图区在线视频| 久久99精品视频| 国产精品久久久久桃色tv| 欧美亚洲图片小说| 狠狠色综合色综合网络| 综合自拍亚洲综合图不卡区| 欧美群妇大交群的观看方式| 狠狠网亚洲精品| 亚洲乱码精品一二三四区日韩在线 | 一区二区三区欧美在线观看| 制服丝袜亚洲播放| 高清不卡一二三区| 亚洲444eee在线观看| 国产亚洲视频系列| 欧美午夜片在线看| 国产高清精品久久久久| 一区二区三区精品视频在线| 精品乱人伦一区二区三区| 99久久伊人精品| 免费视频最近日韩| 中文字幕日本不卡| 在线成人午夜影院| av在线综合网| 蜜桃视频在线观看一区二区| 亚洲欧洲一区二区在线播放| 欧美一区二区日韩一区二区| www.亚洲国产| 极品美女销魂一区二区三区免费| 亚洲色图欧洲色图婷婷| 欧美精品一区二区久久久| 欧美在线免费观看视频| 国产精品一区二区久久精品爱涩| 性做久久久久久久久| 国产精品国产三级国产有无不卡| 欧美一区二区女人| 色噜噜狠狠一区二区三区果冻| 国产麻豆成人传媒免费观看| 日韩电影一区二区三区| 亚洲女同ⅹxx女同tv| 国产日产欧美精品一区二区三区| 5566中文字幕一区二区电影 | 精一区二区三区| 亚洲亚洲人成综合网络| 国产精品免费久久| 日韩精品一区二区三区在线观看 | 欧洲色大大久久| 丰满少妇久久久久久久| 麻豆成人在线观看| 亚洲gay无套男同| 一区二区三区久久| 国产精品久久久久婷婷| 久久久久久久久久久久久女国产乱 | 久热成人在线视频| 亚洲国产精品一区二区久久恐怖片| 欧美国产激情二区三区| 精品毛片乱码1区2区3区| 欧美精品1区2区3区| 日本乱码高清不卡字幕| 成人av在线电影| 成人一区二区三区在线观看| 久久精品二区亚洲w码| 午夜精品久久久久久久久| 一区二区三区成人| 亚洲日本在线看| 国产精品久久久久久久久免费丝袜| 欧美成人女星排名| 日韩欧美一区在线观看| 91精品啪在线观看国产60岁| 欧美日韩中文精品| 在线观看www91| 在线视频中文字幕一区二区| 色婷婷精品大视频在线蜜桃视频| 成人av网址在线| 成人三级伦理片| 成人性生交大合| 丁香婷婷综合激情五月色| 国产成人aaa| 国产mv日韩mv欧美| 国产91综合一区在线观看| 夫妻av一区二区| av一二三不卡影片| 91在线免费看| 91免费观看国产| 91激情五月电影| 欧美日韩日日摸| 4438成人网| 日韩一区二区在线观看视频播放| 日韩一区二区在线播放| www激情久久| 国产欧美日本一区视频| 中文字幕在线视频一区| 亚洲欧美日韩在线不卡| 亚洲国产精品久久人人爱蜜臀| 亚洲成人你懂的| 久久精品久久99精品久久| 国产一区二区精品久久91| 国产91精品一区二区麻豆网站| av在线免费不卡| 欧美影院午夜播放| 日韩一级在线观看| 2024国产精品视频| 国产精品午夜电影| 亚洲码国产岛国毛片在线| 亚洲一区在线视频| 日韩精品视频网站| 国产真实乱偷精品视频免| 成人中文字幕电影| 色偷偷久久人人79超碰人人澡| 欧美日韩高清一区二区| 欧美成人精品二区三区99精品| 久久久久国产精品麻豆ai换脸| 中文字幕日韩一区| 日韩二区在线观看| 国产成人亚洲精品青草天美| 99精品国产91久久久久久| 欧美日韩成人激情| 久久先锋影音av鲁色资源| 亚洲色大成网站www久久九九| 亚洲成va人在线观看| 黄色小说综合网站| 99精品国产视频| 制服丝袜亚洲精品中文字幕| 国产色爱av资源综合区| 一区二区三区中文在线观看| 蜜臀av在线播放一区二区三区|