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

Вопрос про fishing

тут можно задать вопрос по скриптингу
Post Reply
Mirage
Novice
Novice
Posts: 90
Joined: 18.07.2009 19:41

Вопрос про fishing

Post by Mirage »

Прошу поделиться мнением или знанием как лучше организовать скрипт на бота рыболова с берега.

Смысл такой - чар от сундука идет на берег и ловит. После того когда выловил все досягаемые тайлы переходит на вторую точку. Когда набирает пак - идет домой и скидывает.
Дистанция -6+6 тайлов от чара, удочки ломаются но у сундука он будет их крафтить и с собой брать несколько штук.

Собственно вот вопрос
как лучше организовать поиск воды? Сделать помечая каждый тайл воды как в мининге или просто тупо 0-ой тайл от -6 до +6? дело в том что так сократиться в разы скрипт но много филза по берегу будет. А если помечать доставаемые тайлы то как их лучше пометить на инжекте? ИМХО тыкать в пару тысячь точек - ипанешься :P

У меня гдето была для инжекта скриптина помечающая тайлы пола в пещере - но видимо удалилась :(
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Post by Vizit0r »

function GetLandTilesArray(Xmin,Ymin,Xmax,Ymax: Word; WorldNum: Byte; TileType: Word; var LandTilesArray: TFoundTilesArray): Word; // Получение массива тайлов по типу
function GetStaticTilesArray(Xmin,Ymin,Xmax,Ymax: Word; WorldNum: Byte; TileType: Word; var FoundTilesArray: TFoundTilesArray): Word; // Получение массива статик тайлов по типу

TFoundTile = record
X : SmallInt;
Y : SmallInt;
Z : ShortInt;
Tile : Word;
end;
type TFoundTilesArray = array[0..999] of TFoundTile;

Пример 1: Код:
b:= GetStaticTilesArray(1244, 1422, 1356, 1532, 3296, 1, a);
AddToSystemJournal('Tile Count : ' + IntToStr(b));
AddToSystemJournal('X ' + IntToStr(a[0].X) + ' Y ' + IntToStr(a[0].Y) + ' Z ' + IntToStr(a[0].Z) + ' Tile ' + IntToStr(a[0].Tile));


Результат::
20:36:12 [Local Admin - Asma2]: Compiled succesfully
20:36:12 [Local Admin - Asma2]: Tile Count : 39
20:36:12 [Local Admin - Asma2]: X 1244 Y 1428 Z 0 Tile 57344

Пример 2: Код:
b:= GetLandTilesArray(1197, 1810, 1203, 1816, 9, 1, a);
AddToSystemJournal('Tile Count : ' + IntToStr(b));
AddToSystemJournal('X ' + IntToStr(a[0].X) + ' Y ' + IntToStr(a[0].Y) + ' Z ' + IntToStr(a[0].Z) + ' Tile ' + IntToStr(a[0].Tile));


Результат::
20:52:26 [Local Admin - Asma2]: Compiled succesfully
20:52:28 [Local Admin - Asma2]: Tile Count : 48
20:52:28 [Local Admin - Asma2]: X 1197 Y 1810 Z 0 Tile 2304
читать хелп.

помечать...ловить тысячи тайлов...ловить в земле...ужас, до чего фантазия доводит.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Mirage
Novice
Novice
Posts: 90
Joined: 18.07.2009 19:41

Post by Mirage »

гыгы да я все как то по старинке привык, тада тайлов не было :roll: пасибо буду модингом занимацо
Post Reply