1) Сервак DragonWorld, клиент 2.0.3
Минус тайл по иску и по игреку:
Code: Select all
Program ReadStaticsXY;
var TType:TStaticCell;
begin
TType:=ReadStaticsXY(Getx(self)-1, GetY(self)-1, WorldNum)
AddToSystemJournal(IntToStr(TType.Statics[0].Tile))
AddToSystemJournal(IntToStr(TType.Statics[0].Color))
AddToSystemJournal('Test 1')
end.
16:52:25:125 [User]: Compiling
16:52:25:140 [User]: Compiled succesfully
16:52:25:140 [User]: Out Of Range at 0.224
16:52:25:140 [User]: Script ReadStaticsXY.sc stopped successfuly
2) Сервак другой, клиент 5.0.8
В Миноке, да и в любой шахте результат такой же как и в первом примере.
Это в Т2А уже просто на траве, тайл на котором стоит перс, город Delucia:
Code: Select all
Program ReadStaticsXY;
var TType:TStaticCell;
begin
TType:=ReadStaticsXY(Getx(self), GetY(self), WorldNum)
AddToSystemJournal(IntToStr(TType.Statics[0].Tile))
AddToSystemJournal(IntToStr(TType.Statics[0].Color))
AddToSystemJournal('Test 1')
end.
17:20:48:796 [User]: Compiled succesfully
17:20:48:796 [User]: Out Of Range at 0.192
17:20:48:796 [User]: Script ReadStaticsXY.sc stopped successfuly
Пример из справки (http://stealth.od.ua/forum/viewtopic.ph ... dstaticsxy):
Code: Select all
Program Statistics;
var
X0,Y0,Z0,Tile: Word;
Tile0: TStaticCell;
C,W0: Byte;
begin
X0:=GetX(Self);
Y0:=GetY(Self);
Z0:=GetZ(Self);
W0:=WorldNum;
Tile0:=ReadStaticsXY(X0,Y0,W0);
C:=GetLayerCount(X0,Y0,WorldNum);
Addtosystemjournal('GetLayerCount = '+IntToStr(c)+' | X = ' +IntToStr(X0)+' | Y = ' +IntToStr(Y0)+' | Z = '+IntToStr(Z0)+' | World = ' +IntToStr(W0));
Addtosystemjournal('Layers = '+IntToStr(Tile0.StaticCount)+' | Tile = ' +IntToStr(Tile0.Statics[0].Tile)+
' | X = ' +IntToStr(Tile0.Statics[0].X)+' | Y = ' +IntToStr(Tile0.Statics[0].Y)+' | Z = ' +IntToStr(Tile0.Statics[0].Z)+' | Color = ' +IntToStr(Tile0.Statics[0].Color));
Addtosystemjournal('Tile = ' +IntToStr(GetMapCell(X0,Y0,WorldNum).Tile)+' | Z = ' +IntToStr(GetMapCell(X0,Y0,WorldNum).Z));
Tile:= (GetMapCell(X0,Y0,WorldNum).Tile);
Addtosystemjournal('Flags = '+IntToHex(GetLandTileData(Tile).Flags,8)+' | TextureID = ' +IntToStr(GetLandTileData(Tile).TextureID));
Addtosystemjournal('Flags = '+IntToHex(GetStaticTileData(Tile).Flags,8)+' | Weight = ' +IntToStr(GetStaticTileData(Tile).Weight)+' | Height = ' +IntToStr(GetStaticTileData(Tile).Height));
end.
17:41:23:000 [User]: Compiled succesfully
17:41:23:000 [User]: GetLayerCount = 0 | X = 5155 | Y = 4068 | Z = 41 | World = 0
17:41:23:000 [User]: Out Of Range at 0.874
17:41:23:000 [User]: Script TileStatics - SAMPLE.sc stopped successfuly