| Yoko http://forum.yoko.com.ua/ |
|
| Вопрос про окошко Text и как туда добавить текущее время http://forum.yoko.com.ua/viewtopic.php?f=20&t=1711 |
Page 1 of 1 |
| Author: | shaman52 [ 2004-10-24 11:26:13 ] |
| Post subject: | Вопрос про окошко Text и как туда добавить текущее время |
В скрипте на ламбер (Lumberjacking / Рубка деревьев v7.3 Full) имеется такая функция, выводится в окошке текст когда человек выложил логи и указывается время. Как написать текст понятно, а вот как вывести текущее время, что-то не разобрался, помогите? Как это сделать? Напишите скрипт (для примера) который выводит время? Заранее спасибо! |
|
| Author: | AGRS [ 2004-10-24 11:46:07 ] |
| Post subject: | |
http://yoko.netroof.net/help/index.php? ... &item=Time |
|
| Author: | AlexeyVorotnikov [ 2004-10-24 12:17:47 ] |
| Post subject: | Re: Вопрос про окошко Text и как туда добавить текущее время |
shaman52 wrote: В скрипте на ламбер (Lumberjacking / Рубка деревьев v7.3 Full) имеется такая функция, выводится в окошке текст когда человек выложил логи и указывается время. Как написать текст понятно, а вот как вывести текущее время, что-то не разобрался, помогите? Как это сделать? Напишите скрипт (для примера) который выводит время?
Заранее спасибо! А вот как в скрипте написано, так и выводить. |
|
| Author: | shaman52 [ 2004-10-24 12:38:40 ] |
| Post subject: | |
Синтакс: number uo.Time() Возвращает число вида HHMMSS, где SS - секунда, MM - минута, YY - час. Как это понимать? что такое number? Ну напишите скрипт, вставив который можно вывести то что нужно? если вставить это: var Time,Space Time=Time() Space=' ' uo.TextOpen() uo.TextPrint("Выкладываем логи - " +Space +Time) то выдаёт ошибку. |
|
| Author: | AGRS [ 2004-10-24 12:49:08 ] |
| Post subject: | |
shaman52 wrote: что такое number?
Это 8-и байтное с плавающей точкой в диапазоне 5.0 x 10^–324 .. 1.7 x 10^308 :) |
|
| Author: | shaman52 [ 2004-10-24 13:26:25 ] |
| Post subject: | |
Мне это ничего не говорит. Ну пожалуйста, напишите скрипт на выведение времени в окно text? |
|
| Author: | Edred [ 2004-10-24 13:35:33 ] |
| Post subject: | |
shaman52 wrote: Синтакс: number uo.Time()
Возвращает число вида HHMMSS, где SS - секунда, MM - минута, YY - час. Как это понимать? что такое number? В данном случае (и в аналогичных) показывает, что описываемая функция (UO.Time) вернет число. То есть если в скрипте написать: Code: VAR i То i - это число. |
|
| Author: | AGRS [ 2004-10-24 16:04:03 ] |
| Post subject: | |
Специально для тебя отвлекся от зафлуживания форумов и написал пример. Code: sub main() |
|
| Author: | Edred [ 2004-10-24 16:15:39 ] |
| Post subject: | |
AGRS wrote: Code: ; Определение часов Запусти этот скриптец после полуночи и ты получишь совсем неожиданный результат |
|
| Author: | AGRS [ 2004-10-24 16:17:54 ] |
| Post subject: | |
Edred wrote: Запусти этот скриптец после полуночи и ты получишь совсем неожиданный результат
Критика принята. Ща пофиксим. %) |
|
| Author: | Edred [ 2004-10-24 16:19:14 ] |
| Post subject: | |
Вот, выдрал из своего мининга: Code: Sub ConvertTime( tim ) Наврал в предыдущем посте. 0 часов вообще не показывается. И вообще, в комментариях в скрипте приведены варианты времени. |
|
| Author: | AGRS [ 2004-10-24 16:45:06 ] |
| Post subject: | |
Edred wrote: Вот, выдрал из своего мининга:
Тоже не катит. Нужен полный перебор. Есть даже варинт 3 (3 секунды после полуночи Вот так работает: Code: sub main() |
|
| Author: | shaman52 [ 2004-10-24 17:34:41 ] |
| Post subject: | |
А теперь скажите почему этот скрипт не работает? Что я не так делаю? И покажите как надо? Да, и всё же в скрипте на ламбер это как то проще реалезовано. sub main() #BETEP™# var mx, my, mz, i, j, jor, ser, noto Uo.exec("set norbcheck 1"); для рекола uo.exec("set norbcalc 1"); тоже uo.print('!!Viberi Lopatu!! ') uo.exec('addobject Shovel') while uo.targeting() wait(100) wend uo.print('!!Viberi Runebook!! ') uo.exec('addobject Runebook') while uo.targeting() wait(100) wend na4alo: mx = UO.GetX("self") my = UO.GetY("self") mz = UO.GetZ("self") UO.DeleteJournal() for i = mx-4 to mx+4 for j = my -4 to my+4 while not UO.Hidden() UO.Warmode("0") uo.print("Hiding...") UO.UseSkill("Hiding") wait(4000) wend UO.Print("Kopaem v koordinatah: "+str(mx-i)+" "+str(my-j)) while not UO.InJournal("no ore here") and not UO.InJournal("location") and not UO.InJournal("Copper Ore") and not UO.InJournal("Dull Copper Ore") and not UO.InJournal("Old Copper Ore") and not UO.InJournal("Rusty Ore") and not UO.InJournal("Iron Ore") and not UO.InJournal("far away") and not UO.InJournal("in rock") UO.DeleteJournal() if uo.waiting() then uo.canceltarget() endif UO.Waittargettile("1341", str(i), str(j), str(mz)) UO.Useobject("Shovel") while not UO.InJournal("You put") and not UO.InJournal("heavy") and not UO.InJournal("location") and not UO.InJournal("no ore") and not UO.InJournal("but fail") and not UO.InJournal("far away") and not UO.InJournal("in rock") wait (500) if uo.injournal("heavy") or uo.dead() then pwav() Pause() endif for jor = 0 to 9 ser = uo.journalserial(jor) noto = uo.getnotoriety(ser) if noto <> 1 and noto <> 0 and not uo.injournal("elemental") then if uo.waiting() then uo.canceltarget() endif Save() pwavw() realtime() uo.TextOpen() uo.TextPrint("Вроде ушли, ждем пока уйдёт ПК "+HR+":"+MIN+":"+SEC) wait(180000) ; время в секундах при ожидании пока уйдет ПК loot() wait(3000) goto reccal endif next wend if uo.weight > 250 then ; Максимальный вес при котором домой с рудой goto end endif wend UO.DeleteJournal() next next goto na4alo end: if uo.waiting() then uo.canceltarget() endif uo.exec("recall Runebook 21") ; домой ( в рунбуке слот 1 ) wait(15000) loot() wait(3000) reccal: uo.deletejournal() if uo.waiting() then uo.canceltarget() endif uo.exec("recall Runebook 94") ; в шахту ( в рунбуке слот 8 ) mx = UO.GetX("self") my = UO.GetY("self") wait(15000) if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then goto reccal endif goto na4alo end sub sub loot() ; перекладка руды в сундук realtime() uo.TextOpen() uo.TextPrint("Выкладываем оры в сундук "+HR+":"+MIN+":"+SEC) if uo.waiting() then uo.canceltarget() endif VAR a,Exit VAR UnloadCont='0x401f219d' ; АЙДИ сундука для руды DIM Ore[5] Ore[0]=0x19B9 ; 4 and more ore Ore[1]=0x19B7 ; 1 ore Ore[2]=0x19BA ; 2 ore Ore[3]=0x19B8 ; 3 ore UO.SetReceivingContainer(UnloadCont) wait(500) For a=0 to 3 Exit=0 repeat UO.FindType(Ore[a]) if UO.GetQuantity('finditem')>0 then UO.Grab('0','finditem') wait(1500) Else Exit=1 endif until Exit==1 Next UO.UnSetReceivingContainer() end sub sub Save() ; Реколл от ПК при их появлении (в паке рунка в безопасное место и реги) realtime() uo.TextOpen() uo.TextPrint("Нас атаковали, смываемся "+HR+":"+MIN+":"+SEC) var mx, my reccal: uo.deletejournal() if uo.waiting() then uo.canceltarget() endif mx = UO.GetX("self") my = UO.GetY("self") UO.DeleteJournal() UO.FindType('0x1F14',-1,'my') wait(200) UO.Cast('Recall','finditem') wait(4000) if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then goto reccal endif end sub sub pwav() ; звук при выкапывании ЭЛЕМЕНТАЛА uo.playwav("C:\Games\UO\inject\alarm.wav") endsub sub pwavw(); звук при появлении ПК uo.playwav("C:\Games\UO\inject\alarm.wav") endsub sub Pause() ; Пауза скрипта если выкопали Элема (продолжить сказав GO ) UO.DeleteJournal() REPEAT WAIT(3000) UO.Print("!!!Skript na pauze, napishi GO!!!!") UNTIL UO.InJournal('GO') UO.Print("!!!Skript prodoljen!!!!") endif end sub sub realtime() Var HR = '' Var MIN = '' Var SEC = '' ; Определение текущего времени Var CurrentTime = UO.Time() If CurrentTime>99999 Then ; Определение часов HR = Mid(STR(CurrentTime),0,2) ; Определение минут MIN = Mid(STR(CurrentTime),2,2) ; Определение секунд SEC = Mid(STR(CurrentTime),4,2) Else If CurrentTime > 9999 Then ; Определение часов HR = '0'+Mid(STR(CurrentTime),0,1) ; Определение минут MIN = Mid(STR(CurrentTime),1,2) ; Определение секунд SEC = Mid(STR(CurrentTime),3,2) Else If CurrentTime > 999 Then ; Определение часов HR = '00' ; Определение минут MIN = Mid(STR(CurrentTime),0,2) ; Определение секунд SEC = Mid(STR(CurrentTime),2,2) Else If CurrentTime > 99 Then ; Определение часов HR = '00' ; Определение минут MIN = '0'+Mid(STR(CurrentTime),0,1) ; Определение секунд SEC = Mid(STR(CurrentTime),1,2) Else If CurrentTime > 9 Then ; Определение часов HR = '00' ; Определение минут MIN = '00' ; Определение секунд SEC = STR(CurrentTime) Else ; Определение часов HR = '00' ; Определение минут MIN = '00' ; Определение секунд SEC = '0'+STR(CurrentTime) EndIf EndIf EndIf EndIf EndIf end sub |
|
| Author: | Edred [ 2004-10-24 18:04:56 ] |
| Post subject: | |
shaman52 wrote: Да, и всё же в скрипте на ламбер это как то проще реалезовано.
Мда? Проще? Сравни, вот оно, выдранное из запощенного тобой скрипта (и пости скрипты кодом, если хочешь чтобы тебе кто-то чего-то отвечал): Code: sub realtime() |
|
| Author: | shaman52 [ 2004-10-24 18:28:31 ] |
| Post subject: | |
Для начала спрошу как постить кодом? Ну и пока в обычнов виде шлю: sub Time() var hh,mm,ss,hms,t=str(uo.Time()) if len(t)<=2 then hh="0" mm="0" ss=t endif if len(t)==3 then hh="0" mm=left(t,len(t)-2) ss=right(t,len(t)-1) endif if len(t)==4 then hh="0" mm=left(t,len(t)-2) ss=right(t,len(t)-2) endif if len(t)==5 then hh=left(t,len(t)-4) hms=left(t,len(t)-2) mm=right(hms,len(hms)-1) ss=right(t,len(t)-3) endif if len(t)==6 then hh=left(t,len(t)-4) hms=left(t,len(t)-2) mm=right(hms,len(hms)-2) ss=right(t,len(t)-4) endif return hh+":"+mm+":"+ss end sub Вот он, который из ламбера, так что он вроде поменьше, но я понял что и как только после того, как вы тут отпостились, ОГРОМНОЕ ВАМ СПАСИБО!!! |
|
| Author: | Edred [ 2004-10-24 18:41:41 ] |
| Post subject: | |
Когда ты пишешь пост, у тебя слева есть кнопочка bbcode. Нажми ее и все внимательно прочитай. |
|
| Author: | AlexeyVorotnikov [ 2004-10-24 22:37:15 ] |
| Post subject: | |
А вот как ЭТО делаю я Code: sub GetTime() |
|
| Page 1 of 1 | All times are UTC+02:00 |
| Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |
|