| Yoko http://forum.yoko.com.ua/ |
|
| Не получается использовать uo...global(**** http://forum.yoko.com.ua/viewtopic.php?f=3&t=7219 |
Page 1 of 1 |
| Author: | Sanch [ 2006-04-01 00:08:10 ] |
| Post subject: | Не получается использовать uo...global(**** |
Не получается использовать setglobal() и getglobal, мож я че неплаьно делаю: sub Mining() uo.setglobal('per1', '0') uo.print('Укажите сундук с регами, кирками, инвизками, манками') uo.exec('addobject Sunduk1') while uo.targeting() wait(100) wend .............. ............... DropOre() end sub sub DropOre() if uo.getglobal('per1') == 1 then DIM Ore[4] Ore[0] = '0x19B9' Ore[1] = '0x19B7' Ore[2] = '0x19BA' Ore[3] = '0x19B8' for var a = 0 to 3 uo.findtype(Ore[a]) while uo.findcount() > 0 uo.moveitem('finditem', '-1', 'Sunduk2') wait(1000) uo.findtype(Ore[a]) wend next endif uo.setglobal('per1', '1') end sub Задумка была такова, чтоыб при первом запуске скритп не срабатывал, а при последующем (не через саб minimg) срабатывал, вот только он ни так ни этак не работает. |
|
| Author: | Edred [ 2006-04-01 01:03:52 ] |
| Post subject: | |
Все просто: uo.setglobal('per1', '0') - этой командой ты запихиваешь в глобалку 0 строкой. uo.getglobal('per1') == 1 - тут ты берешь строку из глобалки и пытаешься ее сравнивать с числом. Преобразование строки в число по умолчанию всегда 0, ноль всегда не равен единице... Что надо поправить, догадаешься сам? |
|
| Author: | Grin [ 2006-04-01 03:15:54 ] |
| Post subject: | |
Эх санч... не ужто мой пост не вразумил? Говорил же что принимает все что угоно а возвращает только строчку... |
|
| Author: | Sanch [ 2006-04-01 06:12:16 ] |
| Post subject: | |
Вы меня запутали, лан буд разбираться что она делает методом тыка, а вообще я не програмист и всего неделю от силы пытаюсь написать что нить стоящее, ничего в этом не шаря, должно быть так? sub Mining() uo.setglobal('per1', 'abd') uo.print('Укажите сундук с регами, кирками, инвизками, манками') uo.exec('addobject Sunduk1') while uo.targeting() wait(100) wend .............. ............... DropOre() end sub sub DropOre() if uo.getglobal('per1') == 'abc' then DIM Ore[4] Ore[0] = '0x19B9' Ore[1] = '0x19B7' Ore[2] = '0x19BA' Ore[3] = '0x19B8' for var a = 0 to 3 uo.findtype(Ore[a]) while uo.findcount() > 0 uo.moveitem('finditem', '-1', 'Sunduk2') wait(1000) uo.findtype(Ore[a]) wend next endif uo.setglobal('per1', 'abc') end sub Можно сделать как нить так чтобы она с числами работала, тк удобнее? |
|
| Author: | Edred [ 2006-04-01 09:23:13 ] |
| Post subject: | |
Эх, ну тебе надо же всего лишь в первом скрипте подставить кавычки: Code: if uo.getglobal('per1') == '1' thenИ всех делов-то... Ну а если тебе очень хочется именно числом, то тогда так: Code: if val(uo.getglobal('per1')) == 1 then
Вообще, когда пользуешься хелпом, весьма настойчиво рекомендую обращать внимание на обозначение перед именем функции: Quote: Синтакс: text uo.GetGlobal(name)
Тут написано 'text' - это то, в каком виде функция возвращает значение. |
|
| Author: | Sanch [ 2006-04-01 13:40:57 ] |
| Post subject: | |
Преогромное спасибо... |
|
| Page 1 of 1 | All times are UTC+02:00 |
| Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |
|