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

GetStaticTilesArray vs GetLandTilesArray

тут можно задать вопрос по скриптингу
Post Reply
Alex
Moderator
Moderator
Posts: 351
Joined: 07.04.2005 4:41

GetStaticTilesArray vs GetLandTilesArray

Post by Alex »

в чем разница между этими функциями?

для тайла 6040 (вода)

GetLandTilesArray возвращает пустой массив, а GetStaticTilesArray возвращает ряд тайлов
в чем заключается статичность тайла?
Новый стелс лежит тут. Стелс это произведение искусства! :)
Alex
Moderator
Moderator
Posts: 351
Joined: 07.04.2005 4:41

Re: GetStaticTilesArray vs GetLandTilesArray

Post by Alex »

закидываю в GetStaticTilesArray поиск тайла 6040
возвращает вот такие координаты (6040, 1720, 1619, -20)
но рыба ловится только при Z = -5
если пробовать ловить в -20 получаю
[23:14:17:553] System: That location is not in your line of sight!
,infotile показывает в ту же точку Tile: 6040 X: 1720Y: 1619 Z: -5
Новый стелс лежит тут. Стелс это произведение искусства! :)
shinma
Expert
Expert
Posts: 505
Joined: 28.04.2011 12:05

Re: GetStaticTilesArray vs GetLandTilesArray

Post by shinma »

могу сказать так открой InsideUO. закладка ArtWork. там две закладки Landscape и static. вот для них и созданы две функции. а вот как выдрать ИД Landscape и Landscape ты не узнаешь через infotile , он будет тебе возвращать ИД тайла =0 и его координаты. если ты можешь выдрать ИД тайла с помощью команды infotile то используй статиктиле. И еще если мне память не изменят то там от берега до океана идет квадратов 10 статик, а потом начинается Лэнд. но это было давно када я карту разбирал британии.
--->>>ПОИСК ПО ФОРУМУ, НАЧНИ С НЕГО!!!<<<---
--->>>Search the forum, start with him!!!<<<---
95% Ваших вопросов уже кем-то написаны и решены.
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: GetStaticTilesArray vs GetLandTilesArray

Post by Vizit0r »

вода - это почти непредсказуемое дело. в основном это статика, но порой может быть и LandTile.
я бы для верности проходился обоими функциями.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Alex
Moderator
Moderator
Posts: 351
Joined: 07.04.2005 4:41

Re: GetStaticTilesArray vs GetLandTilesArray

Post by Alex »

а по Z координате? GetStaticTilesArray отдает не правильную высоту?
Новый стелс лежит тут. Стелс это произведение искусства! :)
shinma
Expert
Expert
Posts: 505
Joined: 28.04.2011 12:05

Re: GetStaticTilesArray vs GetLandTilesArray

Post by shinma »

хз но зачем тебе это. включи воображение.

TargetToXYZ(f_tile.X,f_tile.Y,-5);

к стати да и в шахтах даже хрень Infotile дает один Z
а GetStaticTilesArray находит совсем другой. баг однако. но тебе ничего не мешает самому задать Z. способом выше.
--->>>ПОИСК ПО ФОРУМУ, НАЧНИ С НЕГО!!!<<<---
--->>>Search the forum, start with him!!!<<<---
95% Ваших вопросов уже кем-то написаны и решены.
shinma
Expert
Expert
Posts: 505
Joined: 28.04.2011 12:05

Re: GetStaticTilesArray vs GetLandTilesArray

Post by shinma »

Обратил внимание
при использовании GetStaticTilesArray
Колво итемов составило 287
а квадратов на поле всего 10 на 10 КАК? откуда он вообще берет это кол-во?

Code: Select all

  sum:=0;  
  arr_sum:=0;
  rs:=0;
  j:=0 ; 
  AddToSystemJournal('ЧИСЛО и ВСЕГО '+inttostr(GetArrayLength(MinTile)));  
   for i:=0 to (GetArrayLength(MinTile)-1) do
    begin
    AddToSystemJournal('ЧИСЛО и '+inttostr(i)); 
     rs:=GetStaticTilesArray(Xmin,Ymin,Xmax,Ymax,1,MinTile[i],tfta);
     if rs>0 then
      for k:=0 to rs-1 do temp[arr_sum+k]:=tfta[k];
     arr_sum:=arr_sum+rs;
    end;
    AddToSystemJournal('QuickSort'); 
   QuickSort(temp,arr_sum,start_p);
На выходе arr_sum=287 и это при
Xmin := getx(self)-5;
Xmax := getx(self)+5;
Ymin := gety(self)-5;
Ymax := gety(self)+5;
как такое может быть 10*10=100 и то если все тайлы бы совпали.
--->>>ПОИСК ПО ФОРУМУ, НАЧНИ С НЕГО!!!<<<---
--->>>Search the forum, start with him!!!<<<---
95% Ваших вопросов уже кем-то написаны и решены.
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: GetStaticTilesArray vs GetLandTilesArray

Post by Vizit0r »

статики порой может быть много, до десятка тайлов на одних координатах, по Z отличается.

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