Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7
таргей
таргей
можно ли как-то кликнуть таргетом по относительным координатам?
Re: таргей
ну в разоре есть такое. допустим чар это (0,0), а точка (4,4) это +4 по (х) и +4 по (y) тайл относительно чара.alpi wrote:что такое относительные координаты?
я делаю скрипт на ламбер с реколом. руны у меня замарчены в места, где вокруг чара 4 дерева которые он может рубить с точки рекола. я пытался сделать через targettotile(0,getx()-2,gety()+2,getz()), но так не выходит. нужен номер тайла обязательно. а я покачто не могу въехать как сделать перебор номеров тайлов.
Re: таргей
roma777 wrote:ну в разоре есть такое. допустим чар это (0,0), а точка (4,4) это +4 по (х) и +4 по (y) тайл относительно чара.alpi wrote:что такое относительные координаты?
я делаю скрипт на ламбер с реколом. руны у меня замарчены в места, где вокруг чара 4 дерева которые он может рубить с точки рекола. я пытался сделать через targettotile(0,getx()-2,gety()+2,getz()), но так не выходит. нужен номер тайла обязательно. а я покачто не могу въехать как сделать перебор номеров тайлов.
Code: Select all
WaitTargetXYZ(getx(self)+4, gety(self)+4, getz(self));
Code: Select all
TargetToXYZ(getx(self)+4, gety(self)+4, getz(self));
<( o_O<) <( O_O )> (>O_o )>
Re: таргей
вот такой скрипт для теста сделал:
не хочет рубить через tagettoxyz, пишет You can't use an axe on that.
Code: Select all
Program New;
var x,y,z : Integer;
begin
x := getx(self);
y := gety(self);
z := getz(self);
useobject($40CDB8F1)
wait(500)
TargetToXYZ(x-2,y+1,z);
wait(2000)
useobject($40CDB8F1)
wait(500)
TargetToXYZ(x-2,y-2,z);
wait(2000)
useobject($40CDB8F1)
wait(500)
TargetToXYZ(x+2,y-2,z);
wait(2000)
useobject($40CDB8F1)
wait(500)
TargetToXYZ(x+2,y+1,z);
wait(2000)
end.
Re: таргей
Могу предположить самое страшное, что нельзя использовать топор на этом предмете. : )roma777 wrote:вот такой скрипт для теста сделал:не хочет рубить через tagettoxyz, пишет You can't use an axe on that.Code: Select all
Program New; var x,y,z : Integer; begin x := getx(self); y := gety(self); z := getz(self); useobject($40CDB8F1) wait(500) TargetToXYZ(x-2,y+1,z); wait(2000) useobject($40CDB8F1) wait(500) TargetToXYZ(x-2,y-2,z); wait(2000) useobject($40CDB8F1) wait(500) TargetToXYZ(x+2,y-2,z); wait(2000) useobject($40CDB8F1) wait(500) TargetToXYZ(x+2,y+1,z); wait(2000) end.
Посоветую лишь, во избежание глюков, вставить
Code: Select all
if TargetPresent then
CancelTarget;
И, если вы по каким то причинам вы не хотите использовать WaitTargetXYZ, вставлять
Code: Select all
WaitForTarget;
<( o_O<) <( O_O )> (>O_o )>
Re: таргей
вот инфотайл деревьев и места где я стою
Code: Select all
Tile: 3283 X: 2092 Y: 2115 Z: 0 - дерево1
Tile: 3392 X: 2092 Y: 2113 Z: 0 - дерево2
Tile: 3280 X: 2096 Y: 2112 Z: 0 - дерево3
Tile: 3299 X: 2096 Y: 2115 Z: 0 - дерево4
Tile: 605 X: 2094 Y: 2114 Z: 0 - я
Re: таргей
А, ну правильно. Деревья рубятся только по тайлам. Сори я до конца не разобрался, прочитал первое сообщение)roma777 wrote:вот инфотайл деревьев и места где я стоюCode: Select all
Tile: 3283 X: 2092 Y: 2115 Z: 0 - дерево1 Tile: 3392 X: 2092 Y: 2113 Z: 0 - дерево2 Tile: 3280 X: 2096 Y: 2112 Z: 0 - дерево3 Tile: 3299 X: 2096 Y: 2115 Z: 0 - дерево4 Tile: 605 X: 2094 Y: 2114 Z: 0 - я
Самое простое решение - использовать самый часто встрчающийся тип тайла, т.к. их дохрена.
Либо я могу подогнать макрос написанный своими потом и кровью. Ну договориться мона : )
<( o_O<) <( O_O )> (>O_o )>
Re: таргей
я выкрутился так:
скажите а есть предел длинны масива?
Code: Select all
Program New;
var TArray : array [0..3] of integer;
i,a,b : integer;
begin
TArray[0] := 3283;
TArray[1] := 3288;
TArray[2] := 3293;
TArray[3] := 3302;
for i := 0 to 3 do
begin
if i = 0 then
begin
a := -2
b := 1
end;
if i = 1 then
begin
a := -2
b := -2
end;
if i = 2 then
begin
a := 2
b := -2
end;
if i = 3 then
begin
a := 2
b := 1
end;
repeat
AddToSystemJournal('рубим дерево ' + IntToStr(i));
WaitTargettile(TArray[i],getx(self)+a,gety(self)+b,getz(self));
useobject($40CDB8F1);
WaitJournalLine(now,'harvest.|wood.|backpack!|backpack.',5000);
wait(500);
until (InJournal('harvest.')<>-1)
ClearJournal
AddToSystemJournal('срубили дерево ' + IntToStr(i));
end;
end.
Re: таргей
Можно просто вручную прописать каждое дерево:roma777 wrote:я выкрутился так:скажите а есть предел длинны масива?Code: Select all
Program New; var TArray : array [0..3] of integer; i,a,b : integer; begin TArray[0] := 3283; TArray[1] := 3288; TArray[2] := 3293; TArray[3] := 3302; for i := 0 to 3 do begin if i = 0 then begin a := -2 b := 1 end; if i = 1 then begin a := -2 b := -2 end; if i = 2 then begin a := 2 b := -2 end; if i = 3 then begin a := 2 b := 1 end; repeat AddToSystemJournal('рубим дерево ' + IntToStr(i)); WaitTargettile(TArray[i],getx(self)+a,gety(self)+b,getz(self)); useobject($40CDB8F1); WaitJournalLine(now,'harvest.|wood.|backpack!|backpack.',5000); wait(500); until (InJournal('harvest.')<>-1) ClearJournal AddToSystemJournal('срубили дерево ' + IntToStr(i)); end; end.
Code: Select all
var
i: integer;
trees: array of array of word;
begin
setlength(trees, 4);
trees[0] := {тип1, кордаХ1, кордаУ1};
trees[1] := {тип2, кордаХ2, кордаУ2};
trees[2] := {тип3, кордаХ3, кордаУ3};
trees[3] := {тип4, кордаХ4, кордаУ4};
while NOT dead do
for i := 0 to high(trees) do
.....
end.
<( o_O<) <( O_O )> (>O_o )>
Re: таргей
http://stealth.od.ua/forum/viewtopic.ph ... lit=lamber
этот скрипт видели? чем не устраивает?
есть еще с автопоиском: http://stealth.od.ua/forum/viewtopic.ph ... 0%B5%D1%80
себе скоро буду на ламбер делать тоже, интересно, какой подход лучше?
этот скрипт видели? чем не устраивает?
есть еще с автопоиском: http://stealth.od.ua/forum/viewtopic.ph ... 0%B5%D1%80
себе скоро буду на ламбер делать тоже, интересно, какой подход лучше?
just student
Re: таргей
тот, который тебе удобнее.
есть ситуации, когда жестко прописанный маршрут с деревьями.
А в общем случае скрипт с автопоиском проще и удобнее.
есть ситуации, когда жестко прописанный маршрут с деревьями.
А в общем случае скрипт с автопоиском проще и удобнее.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Re: таргей
А если в месте рекола в радиусе 3х(4х?) тайлов сделать поиск деревьев ( диапазон типов дерева) и по каждому найденому топором шмакать?
Re: таргей
Если человек сможет сделать поиск деревьев по диапазону типов тайлов на нужный радиус, то там не так далеко до ходилки, а то и до сортировки.admir wrote:А если в месте рекола в радиусе 3х(4х?) тайлов сделать поиск деревьев ( диапазон типов дерева) и по каждому найденому топором шмакать?
<( o_O<) <( O_O )> (>O_o )>