Page 1 of 1

Снова тайлы 8(.

Posted: 06.12.2012 14:03
by Tomers
Доброго времени суток.
Подскажите пожалуйста. Персонаж стоит в пещере на координатах х=1136 у=1455 z=-95

вот такой код

Code: Select all

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));
дает информацию:

: GetLayerCount = 1 | X = 1136 | Y = 1455 | Z = 65441 | World = 3
: Layers = 1 | Tile = 1343 | X = 1136 | Y = 1455 | Z = -95 | Color = 0
: Tile = 556 | Z = -49
: Flags = 00000040 | TextureID = 556
: Flags = 00002050 | Weight = 255 | Height = 20

интересует вопрос, как тыкнуть киркой себе под ноги(по этим же координатам), если прицел уже есть?

TargetToTile(Tile, X, Y, Z), как я понимаю будет пытаться дотянуться киркой до Tile = 556 | Z = -49 ?

Ни как не могу заставить копать руду в пещерах.

Re: Снова тайлы 8(.

Posted: 08.12.2012 21:23
by Tomers
Что ни у кого нет рабочего скрипта, который роет руду в пещерах с пола?

Re: Снова тайлы 8(.

Posted: 09.12.2012 1:12
by Vizit0r
не понимаю проблемы, все что надо уже написано в примере.
TargetToTile(Tile0.Statics[0].Tile, X, Y, Z)
ну понятно, что сверху это обвязать проверками на кол-во слоев, совпадение номера тайла с нужным, и т.д.

Re: Снова тайлы 8(.

Posted: 09.12.2012 22:55
by Tomers
в том то и дело, что конструкция:

Code: Select all

TargetToTile(0, X, Y, Z)
не хочет работать.
как обвязать проверками то и какой номер тайла нужный ?

Re: Снова тайлы 8(.

Posted: 10.12.2012 21:00
by Vizit0r

Code: Select all

TargetToTile(Tile0.Statics[0].Tile, X, Y, Z)
и

Code: Select all

TargetToTile(0, X, Y, Z)
немного отличаются вроде как.
а я откуда знаю, какие номера тайлов тебе нужны? тебе наверное виднее.

Re: Снова тайлы 8(.

Posted: 11.12.2012 10:37
by Tomers
а можна как-то выбрать тайлы, которые на ходятся на уровне getx(self), gety(self), getz(self) без указания их номера? Ну или как-то вычитать этот тайл, чтоб узнать его номер?

Понимаю, что напрягаю. Может для вас это и очень просто, но я с тайлами никак не могу разобраться, облазил и справочник и примеры, но никак не могу вкурить систему. Готов хороший движок на шахтера, но копаю только по WaitTargetXYZ

Если не сложно, можна пример, который:
1. вычитывает по координатам getx(self), gety(self) все тайлы
2. если координата z=getz(self), пишет в журнал его номер.

Заранее спасибо.

Худо-бедно написал сам. Всем спасибо.