розкладка итемов из кучки по одному
Moderators: Murderator+, Murderator
розкладка итемов из кучки по одному
мне для скрипта нада что бы итемы (в моем случае перья) были в сумке не в куче, а по одной штучке, вруную розкидывать парит. можно ли как то через инжу это проделать ? подскажите плз
-
- Posts: 2259
- Joined: 2005-04-19 18:00:29
- Location: Московская область
- Contact:
Ну типо в инже есть команда и ею можно задавать координаты по бекпеку( синтаксис посмотри в топике Раскладка по бекпеку ) . ну и в твоём случае можно через переменные и циклы( ) попробовать.
Code: Select all
uo.moveitem
Code: Select all
for 0 to 100
-
- Junior Expert
- Posts: 3221
- Joined: 2004-06-24 22:08:56
Основная проблема скрипта - то, что ID начальной кучки будет постоянно меняться. Но впринципе, это даже не проблема.
Скрипт раскидает все кучки этого типа в сумке. Я полагаю, это нужно для раскладки руды? -) Проще сразу брать скрипт на плавку.
Скрипт раскидает все кучки этого типа в сумке. Я полагаю, это нужно для раскладки руды? -) Проще сразу брать скрипт на плавку.
Code: Select all
sub ToShareItemByOne()
var x = 100 ; координата по x, куда класть.
var y = 100 ; координата по y, куда класть.
var delay = 500 ; пауза на раскладку.
uo.print("Укажи предмет, который следует разложить по 1шт.")
uo.addObject("item to share")
while uo.targeting()
wait(100)
wend
var item = uo.getGraphic("item to share")
var cnt = uo.containerOf("item for share")
repeat
uo.findtype(item,"-1",cnt)
if uo.findcount() then
if uo.getQuantity("finditem") then
uo.moveitem("finditem", "1", cnt, str(x), str(y), "0")
checklag()
wait(delay)
else
uo.ignore("finditem")
endif
endif
until not uo.findcount()
endsub
-
- Junior Expert
- Posts: 3221
- Joined: 2004-06-24 22:08:56
Grin wrote:много ошибок + все на много проще;)
поповоду ида кучи точно не помню
Не понял... Мне говорят, что работает !!!
А я по-поводу ID кучки отлично помню - берём кучку, пусть у неё ID = id1, муваем из кучки итем - у мувнотого будет ID = id1, а для старой будет сгенерирован новый ID.
Не совсем логично, но вполне практично, вплане тинкера

2Grin, ты хороший спец, я верю, что ты без причины не пишешь, но сам я причину не вижу - конкретизируй свои, гмм, ну пусть будет "обвинения".
-
- Junior Expert
- Posts: 3221
- Joined: 2004-06-24 22:08:56
agem wrote:Дарю гениальную идею - двигать не по одному айтему, а по (n-1), где n - число айтемов в кучке. Тогда проблемы с меняющимся id не будет.
Интересная идея

Ща воплощу.
Code: Select all
sub ItemSharing()
var delay = 500 ; пауза
uo.print("Укажи объект для раскладки по 1шт.")
uo.addObject("item to share")
while uo.targeting()
wait(100)
wend
while uo.getQuantity("item to share") > 1
uo.moveitem("item to share", uo.getQuantity("item to share")-1, uo.containerOf("item to share"), uo.getX("item to share"), uo.getY("item to share"), uo.getZ("item to share"))
wait(delay)
wend
endsub
-
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
Destruction wrote:agem wrote:Дарю гениальную идею - двигать не по одному айтему, а по (n-1), где n - число айтемов в кучке. Тогда проблемы с меняющимся id не будет.
Интересная идея
Ща воплощу.Code: Select all
sub ItemSharing()
var delay = 500 ; пауза
uo.print("Укажи объект для раскладки по 1шт.")
uo.addObject("item to share")
while uo.targeting()
wait(100)
wend
while uo.getQuantity("item to share") > 1
uo.moveitem("item to share", uo.getQuantity("item to share")-1, uo.containerOf("item to share"), uo.getX("item to share"), uo.getY("item to share"), uo.getZ("item to share"))
wait(delay)
wend
endsub
А у меня не работает. Почему-то кладёт в ту же кучку из которой брал, причём кучка почемуто кладётся в левый верхний угол пака...
Получается замкнутый круг.

Last edited by DerMeister =) on 2006-03-21 19:27:33, edited 1 time in total.
-
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
А вот так работает:
Но всё равно спасибо за идею...
Code: Select all
sub ItemSharing()
var delay = 250 ; пауза
uo.print("Укажи объект для раскладки по 1шт.")
uo.addObject("item to share")
while uo.targeting()
wait(100)
wend
while uo.getQuantity("item to share") > 1
uo.moveitem("item to share", str(uo.getQuantity("item to share")-1), uo.containerOf("item to share"), str(uo.getX("item to share")), str(uo.getY("item to share")), str(uo.getZ("item to share")))
wait(delay)
wend
endsub
Но всё равно спасибо за идею...
-
- Junior Expert
- Posts: 3221
- Joined: 2004-06-24 22:08:56