Page 1 of 1

Plz help

Posted: 2007-06-06 00:44:33
by scremer
Если никто не возражает, начну свой топик надеюсь мне тут будут отвечать,я только начал учиться писать скрипты прочел уроки как пологаеться и тд, но запнулся на самом элементарном скрипте... хотел прокачать кампинг, для этого брать 1 хворост и кидать на землю, а потом его поджигать но чет скрипт меня посылает, говоря что на земле он ничего не находит, а сам хворост кидает...
скриптик взял изночально на кукинг с этого шарда

Code: Select all

 
sub GetFire()
	var Kindling  = '0x0de1'
                var sumka = id сумки
	lasttimer = uo.timer()  # это вообще нужно??
	repeat
		uo.findtype(Kindling,"-1","sumka") #Ищем хворост в сумке
		wait(100)
	until uo.findcount() > 0 or uo.timer()>lasttimer+500
	if uo.findcount() == 0 then
		uo.print('нет хвороста')
		RETURN 0                   # поясните что эта команда делает??????? в уроках про нее не слова, я так понял она кудата скрипт возврщает или чтото запускает, да????
	endif
	UO.Drop('1',0,0,0,'finditem') #кидаем хворост под ноги
	#до этого моменда все работает тоесть он кинул хворост, а потом я делаю каманду использовать .. а он говорит нот фаунд
	uo.usetype(Kindling)
# пробовал другую команду там чето с граундом.. писал в ручную дграунд уюз итем а он не в какую не зажигает .... что мне дописать??? может финд тайп(или итем.. как там правельно ) добавить или как???? я так понимаю что можно просто кардинаты попробовать укозать упавшего швороста. но чере юз итем помойму более грамотно.. инжект последней версии
	endsub

ОГРОМНОЕ спасибо тем кто откликниться

Posted: 2007-06-06 00:46:31
by scremer
сори за безграмотность, клавиши на клавиатуре не всегда нажимаються

Posted: 2007-06-06 02:06:05
by to4a
не uo.usetype(Kindling) а uo.usefromground(Kindling)

Posted: 2007-06-06 02:32:53
by Ururu

Code: Select all

RETURN 0                   # поясните что эта команда делает??????? в уроках про нее не слова, я так понял она кудата скрипт возврщает или чтото запускает, да????
В условии ты ищеш хворост сравнивая значение с нулем. Соответственно если вернулся 0

Code: Select all

RETURN 0
то скрипт офф. А если хворост есть, то вернет 1 и скрипт продолжится.

Posted: 2007-06-06 10:59:07
by scremer
to4a wrote:не uo.usetype(Kindling) а uo.usefromground(Kindling)
да я и так делал)))) но нечего не помогло, нот фаунд пишет, клиент хз какой.. помойму для инжекта качал 1.2.6.4б или как то так ... шард на сфере v0.51a .. не знаю важно ли это. Странно что в скрипте на кукинг он этот хворост разжигает...
вот тот скрипт:

Code: Select all

sub GetFire()
	var Kindling  = '0x0de1'
	var Campfire  = '0x0de3'
	var Embers    = '0x0de9'
	var lasttimer 
	var Fire      = 0 #Стадии огня 0 - нет, 1 - огонь, 2 - угли
	
	lasttimer = uo.timer()
	repeat
		uo.findtype(Kindling,"-1","backpack") #Ищем хворост в бакпаке
		wait(100)
	until uo.findcount() > 0 or uo.timer()>lasttimer+500
	if uo.findcount() == 0 then
		uo.print('нет хвороста')
		RETURN 0
	endif
	UO.Drop('1',0,0,0,'finditem') #кидаем хворост под ноги
	
	uo.usetype(Kindling)
	while not Fire
		uo.usetype(Kindling)
		Fire = 0
		uo.print('пытаемся поджечь')
		uo.findtype(Campfire,"-1","ground")
		if uo.findcount() > 0 then
			uo.print('огонь нашли')
			Fire = 1
			wait(500)
		else 
			uo.findtype(Embers,"-1","ground")
			if uo.findcount() > 0 then
				uo.print('угли нашли')
				Fire = 2
				wait(500)
			endif
		endif
		wait(500)
	wend
	RETURN 1
endsub

sub CookFish()
var RawFish   = '0x097a'
var FihSteak  = '0x097b'
var Campfire  = '0x0de3'
var Embers    = '0x0de9'
var out       = 0 #Флаг выхода из
var Fire      = 0 #Стадии огня 0 - нет, 1 - огонь, 2 - угли
var lasttimer 


repeat
	out       = 0
	uo.findtype(RawFish,"-1","backpack")
	if uo.findcount() == 0 then
		uo.print("кончилась рыба")
		out = 1
	endif
	Fire = 0
	uo.usetype(RawFish)
	uo.findtype(Campfire,"-1","ground")
	if uo.findcount() > 0 then
		uo.waittargetobject("finditem")
		Fire = 1
		wait(1000)
	else 
		uo.findtype(Embers,"-1","ground")
		if uo.findcount() > 0 then
			uo.waittargetobject("finditem")
			Fire = 2
			wait(1000)
		endif
	endif
	wait(1000)
	if Fire == 0 then
		if GetFire() == 0 then
			out = 1
		endif
	endif

until out

endsub
тут в инже запускаеться кук фиш, а я взял ток первую его часть как выше писал и сделал чтоб хворост брал из сумки что рядом лежит
и то до строчки uo.usetype(Kindling) как уже говорил пробовал разные каманды...

Ururu спасиб огромное)) пояснил)) полезная инфо)))) у когонить из вас есть аськи ?? помучить вопросами

Posted: 2007-06-06 11:18:17
by Ururu
Попробуй заменить

Code: Select all

UO.UseType(Kindling)
на

Code: Select all

UO.UseObject('finditem')

Posted: 2007-06-06 19:26:11
by Rivory
в самое начало скрипта ещё допиши

Code: Select all

uo.set('finddistance','3')

Posted: 2007-06-07 18:38:56
by scremer
спасибо помогло

Posted: 2007-06-07 18:41:00
by scremer
Ururu Спасибо!!!

Code: Select all

c  UO.UseType(Kindling)    на  UO.UseObject('finditem') 

поменял - помогло)))
финд дистанс роли не сыграло. ))) теперь вопрос такой, как по кругу пустить скрипт, можно ли это сделать допустим циклом виле-венд....??
например:

var cikli = 6
while cikli == 6
.....
.....
.....
.....
wend

или есть более правильные способы зацеклить скрипт, в данный момент я просто назначил на кнопку(f2) скрипт и в пилоте
send f2
wait 1000

Posted: 2007-06-12 20:23:28
by Rivory
Первый способ

Code: Select all

while ....
...
.
.
.
...
wend
Второй способ

Code: Select all

repeat
...
...
...
...
until условие
Когда условие выполниться, инжа выйдет из цикла.