Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

Вопрос по ReadStaticsXY и python

тут можно задать вопрос по скриптингу
Post Reply
Risvind
Posts: 1
Joined: 14.03.2015 0:40

Вопрос по ReadStaticsXY и python

Post by Risvind »

Привет, пытаюсь переписать скрипт драбадана отсюда линк на питон. И возник такой вопрос. Я стою в шахте и делаю ReadStaticsXY себе под ноги, и питоновский скрипт возвращает [TStaticItem(1339, 254, 243, 0, 0)]. Драбадановский же возвращает нормальные мировые координаты. Где я ошибаюсь?
кусок кода на питоне
def GetTilesToMine():
for x in range(-1 * SeekRange, SeekRange):
for y in range(-1 * SeekRange, SeekRange):
TileInfo = ReadStaticsXY(GetX(Self()) + x, GetY(Self()) + y, WorldNum())
if TileInfo:
for i in TileInfo:
if i.Tile >= 1339 and i.Tile <= 1359 and i.Z == GetZ(Self()):
temp_list = []
temp_list.append(i.Tile)
temp_list.append(i.X)
temp_list.append(i.Y)
temp_list.append(i.Z)
MinTiles_Array.append(temp_list)
AddToSystemJournal('Found ' + str(len(MinTiles_Array)) + ' tiles to mine.')
return MinTiles_Array
кусок на ПС
procedure GetTilesToMine;
var
x, y, i : Integer;
TileInfo : TStaticCell;
begin
SetLength(MinTiles_Array, 0);
for x := (-1 * SeekRange) to SeekRange do
for y := (-1 * SeekRange) to SeekRange do
begin
TileInfo := ReadStaticsXY(GetX(self)+x, GetY(self)+y, WorldNum);
if TileInfo.StaticCount > 0 then
for i := Low(TileInfo.Statics) to High(TileInfo.Statics) do
if (TileInfo.Statics.Tile >= 1339) and (TileInfo.Statics.Tile <= 1359) and (TileInfo.Statics.z = GetZ(self)) then
begin
SetLength(MinTiles_Array, Length(MinTiles_Array) + 1);
MinTiles_Array[High(MinTiles_Array)].Tile := TileInfo.Statics.Tile;
MinTiles_Array[High(MinTiles_Array)].x := TileInfo.Statics.x;
MinTiles_Array[High(MinTiles_Array)].y := TileInfo.Statics.y;
MinTiles_Array[High(MinTiles_Array)].z := TileInfo.Statics.z;
AddToSystemJournal(IntToStr(TileInfo.Statics.x))
end;
end;
AddToSystemJournal('Found ' + IntToStr(Length(MinTiles_Array)) + ' tiles to mine.');
end;
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Вопрос по ReadStaticsXY и python

Post by Vizit0r »

для проверки - давай скрипт в одну строку, которая вернет правильное и неправильное значение (ПС\Py)
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Post Reply