Presun veci v bagliku
Presun veci v bagliku
Nevie niekto ci existuje v yoku prikaz na presun urcitej veci v bagliku na specificke suradnice x=? y=? ??
Imho MoveItem nebo Drop. Pokud nevíš jak to použít tak http://yoko.netroof.net/help/ 

Zkoušels ses kouknou do toho odkazu na MoveItem ???
Je to sice rusky ale hlavní je todle :
uo.moveitem(object,[quantity,containerobject/ground,[x,y,z]])
Musíš si přidat požadovanou věc jako objekt a kontejner kam to chceš jako objekt. Pak to napíšeš podle tej řádky a je to
Příklad :
Pokud bys to nechtěl do skriptu tak
,addobject vec #zameris vec
,addobject kontejner #zameris kontejner
,moveitem vec 1 kontejner 50 50 50
EDIT : Překlep
Je to sice rusky ale hlavní je todle :
uo.moveitem(object,[quantity,containerobject/ground,[x,y,z]])
Musíš si přidat požadovanou věc jako objekt a kontejner kam to chceš jako objekt. Pak to napíšeš podle tej řádky a je to

Příklad :
Kód: Vybrat vše
sub move_item()
var pocet = 1 #pocet presouvanych veci
UO.AddObject("vec")
While UO.Targeting()
wait(100)
Wend
UO.AddObject("kontejner")
While UO.Targeting()
wait(100)
Wend
UO.MoveItem("vec",pocet,"kontejner",50,50,50)
end sub
,addobject vec #zameris vec
,addobject kontejner #zameris kontejner
,moveitem vec 1 kontejner 50 50 50
EDIT : Překlep
Naposledy upravil(a) Carda dne 01.11.2006 16:17:00, celkem upraveno 1 x.
- Imp aen Cillin
- Order Leader
- Příspěvky: 171
- Registrován: 07.09.2006 21:11:09
- Kontaktovat uživatele:
To bude tim, ze v popisu syntaxe znamena [promenna], ze ta promenna je nepovinna - a hranaty zavorky se pak nepisou.Mangel píše:prave ze ak to napisem [x,y,z] (alebo (x,y,z)) tak to neberie, s uvodzovkami to berie
[url=http://zapisnik.maly.cz/462278-trvale-udrzitelna-krava-ii.php]Dvanáctero figur zápasu perem čili příručka písemné polemiky - aneb co znamenají ta latinská slova?[/url]
[b]the Gods told me to do it![/b]
[b]the Gods told me to do it![/b]
Kód: Vybrat vše
sub Arranger()
dim batoh[1]
var a = 30 ###[x] suradnica prveho predmetu
var b = 65 ###[y] suradnica prveho predmetu
var c = 0
var x = str(a)
var y = str(b)
var item_color = "0x0003" ###Farba presuvanej veci
var item_type = "0x0F09" ###Typ presuvanej veci
batoh[1] = "0x40135948" ###ID batohu
while UO.count('0x0F09','0x003')>c
UO.FindType(item_type, item_color, "backpack")
UO.MoveItem("finditem", 1, batoh[1],(x),(y),(0))
Wait(1500)
a = a + 4 ###Posun po osi X
x = str(a)
c = c + 1
wend
end sub

Pekne to pouklada TMR do radu vedla seba.
Diky za rady

Heh, chvilku mě trvalo než sem to šecko pobral... Máš to takový zbytečně složitý 
Taky sem tam nepochopil to c
Nebylo by to jednodušší spíš takdle ?

Taky sem tam nepochopil to c

Nebylo by to jednodušší spíš takdle ?
Kód: Vybrat vše
sub Arranger()
var x = 30 #[x] suradnica prveho predmetu
var y = 65 #[y] suradnica prveho predmetu
var item_color = "0x0003" #Farba presuvanej veci
var item_type = "0x0F09" #Typ presuvanej veci
batoh = "0x40135948" #ID batohu
while UO.count(item_type,item_color) > 0
UO.FindType(item_type, item_color, "backpack")
UO.MoveItem("finditem", 1, batoh, x, y, 0)
Wait(1500)
x = x + 4 #Posun po osi X
wend
end sub
Stačí dát předmět na místo od kde se to má rovnat.
EDITED
Ještě sem to krapet zjednodušil
Kód: Vybrat vše
sub Arranger()
var x, y, predmet_t, predmet_c, kontejner
UO.AddObject("predmet")
While UO.Targeting()
wait(100)
Wend
x = UO.GetX("predmet")
y = UO.GetY("predmet")
predmet_t = UO.GetGraphic("predmet")
predmet_c = UO.GetColor("predmet")
kontejner = UO.ContainerOf("predmet")
While UO.GetQuantity("predmet") > 0
x = x + 4
UO.FindType(predmet_t, predmet_c, "backpack")
UO.MoveItem("finditem", 1, kontejner, x, y, 0)
Wait(1000)
Wend
end sub
Ještě sem to krapet zjednodušil

Skriptik k pouzivaniu, ktory ulozi zaradom TMR,GH,GC,Staminu,GS.
Po dosadeni ID batohu by mal fungovat.
(mozno nieje najestetickejsi ale funguje
(aspon mne) )
Kto si to chce trosku upravit, moze upravit par hodnot na zaciatku skriptu.
EDIT:Nejak blbo to postlo
EDIT2:A zase ... couz, mozno to pojde ajtak
EDIT3:No, uz to je dobre, len pozor na pauzu
Po dosadeni ID batohu by mal fungovat.
(mozno nieje najestetickejsi ale funguje

Kód: Vybrat vše
sub BottleArranger()
dim batoh[1]
###################################
batoh[1] = "0x00000000" ###ID Vasho batohu
###################################
var Pauza = 1500 ###Pauza medzi presunom flasticiek(Default=1500)
var Medzera = 15 ###Medzera medzi riadkami (Default=15)
var Medzera2 = 5 ###Medzera medzi flasami (Default=5)
var Rad = 13 ###Pocet flias v jednom rade (Default=13)
###################################
var a = 20
var b = 55 ###145 max
var c = 0
var d = 19 + (Medzera2*Rad)
var e = UO.count('0x0F09','0x0003') + UO.count('0x0F0C','0x0000') + UO.count('0x0F07','0x0000') + UO.count('0x0F0B','0x0000') + UO.count('0x0F09','0x0000')
var x = str(a)
var y = str(b)
var item_color = "0x0003"
var item_type = "0x0F09"
If e/Rad > 95/Medzera then
UO.Print("Tolko radov sa ti nezmesti!")
UO.Exec('Terminate BottleArranger')
Endif
If Medzera2*Rad > 120 then
UO.Print("Tolko flias sa ti do riadku nezmesti!")
UO.Exec('Terminate BottleArranger')
Endif
while UO.count('0x0F09','0x003')>c
UO.FindType(item_type, item_color, "backpack")
UO.MoveItem("finditem", 1, batoh[1],(x),(y),(0))
Wait(Pauza)
a = a + medzera2
x = str(a)
c = c + 1
if a > d then
b = b + Medzera
y = str(b)
a = 20
x = str(a)
endif
wend
c = 0
x = str(a)
y = str(b)
item_color = "0x0000"
item_type = "0x0F0C"
while UO.count('0x0F0c','0x000')>c
UO.FindType(item_type, item_color, "backpack")
UO.MoveItem("finditem", 1, batoh[1],(x),(y),(0))
Wait(Pauza)
a = a + medzera2
x = str(a)
c = c + 1
if a > d then
b = b + Medzera
y = str(b)
a = 20
x = str(a)
endif
wend
if not a == 20 then
a = a + 5
endif
c = 0
x = str(a)
y = str(b)
item_color = "0x0000"
item_type = "0x0F07"
while UO.count('0x0F07','0x000')>c
UO.FindType(item_type, item_color, "backpack")
UO.MoveItem("finditem", 1, batoh[1],(x),(y),(0))
Wait(Pauza)
a = a + medzera2
x = str(a)
c = c + 1
if a > d then
b = b + Medzera
y = str(b)
a = 20
x = str(a)
endif
wend
c = 0
x = str(a)
y = str(b)
item_color = "0x0000"
item_type = "0x0F0B"
while UO.count('0x0F0B','0x000')>c
UO.FindType(item_type, item_color, "backpack")
UO.MoveItem("finditem", 1, batoh[1],(x),(y),(0))
Wait(Pauza)
a = a + medzera2
x = str(a)
c = c + 1
if a > d then
b = b + Medzera
y = str(b)
a = 20
x = str(a)
endif
wend
if not a == 20 then
a = a + 4
endif
c = 0
x = str(a)
y = str(b)
item_color = "0x0000"
item_type = "0x0F09"
while UO.count('0x0F09','0x000')>c
UO.FindType(item_type, item_color, "backpack")
UO.MoveItem("finditem", 1, batoh[1],(x),(y),(0))
Wait(Pauza)
a = a + medzera2
x = str(a)
c = c + 1
if a > d then
b = b + Medzera
y = str(b)
a = 20
x = str(a)
endif
wend
end sub
EDIT:Nejak blbo to postlo

EDIT2:A zase ... couz, mozno to pojde ajtak

EDIT3:No, uz to je dobre, len pozor na pauzu

Nekopíruj kód, použij for loop..
příklad:
1) jednodušší (ok diskutabilní, pro někoho to může být složitější)
2) rychlejší úprava (opět diskutabilní)
3) vypadá to lépe (tohle už bez diskuse :p)
tohle UO.MoveItem("finditem", 1, batoh[1],(x),(y),(0))
je to samé jako tohle UO.MoveItem("finditem", 1, batoh[1], x, y, 0)
a STR použávat nemusíš, teď sem to testoval na yoku 505 a funguje to jako číslo.
Zejtra možná dopíšu skriptík na tohle, teď pudu spát bo za 5 hod vstávám :p
příklad:
Kód: Vybrat vše
var i
var itemCount = 2;
dim itemGraphic[2];
itemGraphic[0] = 0x1234;
itemGraphic[1] = 0x4321;
for i = 0 to itemCount - 1 step 1
..something..
while (UO.Count(itemGraphic[i]))
..something..
wend
..something..
next
2) rychlejší úprava (opět diskutabilní)
3) vypadá to lépe (tohle už bez diskuse :p)
tohle UO.MoveItem("finditem", 1, batoh[1],(x),(y),(0))
je to samé jako tohle UO.MoveItem("finditem", 1, batoh[1], x, y, 0)
a STR použávat nemusíš, teď sem to testoval na yoku 505 a funguje to jako číslo.
Zejtra možná dopíšu skriptík na tohle, teď pudu spát bo za 5 hod vstávám :p
Evil League of Evil
Co takdle ?
Zkracený podle Mole Two. Ty kontroly nazačátku sem vymazal, protože nemám možnost to zrovna teďka vyzkoušet.
EDIT : Taky sem nepochopil proč var a = 20 a var x = str(a), když de napsat jen var x = 20
EDIT 2 : Poladěno, odzkoušeno, funguje
Kód: Vybrat vše
sub BottleArranger()
var batoh,pauza,mezera_radky,mezera_flasky,x,y,radek,e,i,pocet_itemu,xx,p,pocet,rad
###################################
batoh = "0x00000000" ###ID Vasho batohu
###################################
pauza = 1000 ###Pauza medzi presunom flasticiek(Default=1000)
mezera_radky = 15 ###Medzera medzi riadkami (Default=15)
mezera_flasky = 5 ###Medzera medzi flasami (Default=5)
rad = 13 ###Pocet flias v jednom rade (Default=13)
###################################
xx = 20 ###x souradnice prvniho itemu
y = 55 ###y souradnice prvniho itemu (145 max)
x = xx
radek = 19 + (mezera_flasky * rad)
pocet_itemu = 5
dim item_color[5]
item_color[0] = "0x0003"
item_color[1] = "0x0000"
item_color[2] = "0x0000"
item_color[3] = "0x0000"
item_color[4] = "0x0000"
dim item_type[5]
item_type[0] = "0x0F09"
item_type[1] = "0x0F0C"
item_type[2] = "0x0F07"
item_type[3] = "0x0F0B"
item_type[4] = "0x0F09"
For i = 0 to pocet_itemu - 1
UO.FindType(item_type[i], item_color[i], "backpack")
While FindCount() > 0
UO.MoveItem("finditem", 1, batoh, x, y, 0)
Wait(pauza)
x = x + mezera_flasky
If x > radek then
y = y + mezera_radky
x = xx
Endif
UO.FindType(item_type[i], item_color[i], "backpack")
Wend
Next
end sub
EDIT : Taky sem nepochopil proč var a = 20 a var x = str(a), když de napsat jen var x = 20

EDIT 2 : Poladěno, odzkoušeno, funguje
