Yoko

All sides of Injection
It is currently 2025-11-12 13:31:35

All times are UTC+02:00




Post new topic  Reply to topic  [ 21 posts ]  Go to page 1 2 Next
Author Message
PostPosted: 2007-04-17 09:21:01 
Offline
User avatar

Joined: 2005-07-17 15:30:52
Posts: 308
Location: www.drw.ru
Пишу скриптовый массив на впв, сразу работают 2 скрипта, следующего типа:

Code:
   while
       if **** then
          ****
       else
          if **** then
            ****
          else
             if **** then
                ****
             else
                if **** then
                   ****
                else
                   if **** then
                      ****
                   else
                      wait(100)
                   endif
                 endif
             endif
          endif
       endif
   wend


При этом в первом ,который отвечает за синхронизацию процедур if..endif 6шт изложенный подобный образом, во втором около 50, тк он отслеживает все сообщения в журнале о пвп, будь по филз, атака тебя или удачный хил.

Скрипты работают через раз, при этом выдавая страшную непонятную ошибку, кто нить знает с чем это связано?


Last edited by Sanch on 2009-01-30 01:20:07, edited 1 time in total.

Top
   
 Post subject:
PostPosted: 2007-04-17 11:27:42 
Offline

Joined: 2005-04-19 18:00:29
Posts: 2259
Location: Московская область
Еще б понять что делает твой скрипт. Мб из-за несовместимости 2х циклов. Мб из-за наложения одного условия в одном скрипте на условие в другом.


Top
   
 Post subject:
PostPosted: 2007-04-18 03:43:53 
Offline
User avatar

Joined: 2007-02-21 20:15:57
Posts: 479
попробуй объеденить некоторые сообщения при одинаковом действии на них.

Code:
uo.injournal("see") or uo.injournal("heavy")

или
Code:
uo.injournal('see') || uo.injournal('heavy')

или
Code:
uo.injournal("see|heavy")

_________________
Шард Антарес
Ururu


Top
   
 Post subject:
PostPosted: 2007-04-18 13:33:46 
Offline
User avatar

Joined: 2005-07-17 15:30:52
Posts: 308
Location: www.drw.ru
Уруру, спасибо за подсказку, правда я уже сделал сам через ... or ..., ща поменяю на uo.injournal('||||||'), если их там будет порядка 50, это никак не скажется на работоспособности скрипта?

И исче вопрос, если получать сериал сообщения в журнале когда оно там отсутстует, к чему это мжет привести, вот пример, if uo.getserial(uo.journalserial(uo.injournal('In Flam Grav'))) == ... ?


Top
   
 Post subject:
PostPosted: 2007-04-18 14:17:52 
Offline

Joined: 2006-03-10 00:19:11
Posts: 265
Location: http://drw.ru/
Sanch wrote:
Уруру, спасибо за подсказку, правда я уже сделал сам через ... or ..., ща поменяю на uo.injournal('||||||'), если их там будет порядка 50, это никак не скажется на работоспособности скрипта?

И исче вопрос, если получать сериал сообщения в журнале когда оно там отсутстует, к чему это мжет привести, вот пример, if uo.getserial(uo.journalserial(uo.injournal('In Flam Grav'))) == ... ?

заменить на |, всё это конечно можно но единственный толк от этого - скрипт будет выглядить менее массивно, выполнятся от этого он лучше не станет, на работоспособности не как не отобразится.
Краши скрипта связанны скорее всего это с тем что парсер в инже хиленький, и не расчитан на такие массивные скрипты и скорее всего единсвенный вариант решить проблему - выкинуть лишнее.

по поводу uo.getserial(uo.journalserial(uo.injournal('In Flam Grav'))):
uo.getserial - лишний, от него никакого эффекта не будет journalserial и так вернёт айди "виновника" строки в журнале, причём этот айди будет не айди кастующего ФайрФилд(чего, как я полагаю ,хотелось добится) а айди объекта связанного со следующей строкой журнала, а то чего ты хотел добится делается так:

uo.journalserial(uo.injournal('In Flam Grav')-1)

_________________
DRW - Glorior Belli
Image


Top
   
 Post subject:
PostPosted: 2007-04-18 14:42:43 
Offline
User avatar

Joined: 2005-07-17 15:30:52
Posts: 308
Location: www.drw.ru
Мне нужен ID именно кастующего чара, сравнивать я собрался с uo.getserial('laststatus'). Что делает "-1", если не секрет? Предположительная причина ошибок парсера я думаю связана с количеством процедур, коих количество я смогу уменьшить до 3.


Last edited by Sanch on 2007-04-18 14:49:22, edited 1 time in total.

Top
   
 Post subject:
PostPosted: 2007-04-18 14:46:35 
Offline

Joined: 2006-03-10 00:19:11
Posts: 265
Location: http://drw.ru/
Sanch wrote:
Мне нужен ID именно кастующего чара. Что делает "-1", если не секрет?

как ни странно, вычитает единицу))
зы: http://yoko.netroof.net/help/help.php?l ... rnalSerial

_________________
DRW - Glorior Belli

Image


Top
   
 Post subject:
PostPosted: 2007-04-18 14:52:17 
Offline
User avatar

Joined: 2005-07-17 15:30:52
Posts: 308
Location: www.drw.ru
Code:
if uo.getserial('laststatus') == uo.journalserial(uo.injournal('In Flam Grav')-1) then
  uo.cast('Magic Arrow', 'laststatus')


так?


Top
   
 Post subject:
PostPosted: 2007-04-18 14:56:49 
Offline

Joined: 2006-03-10 00:19:11
Posts: 265
Location: http://drw.ru/
ну да

_________________
DRW - Glorior Belli

Image


Top
   
 Post subject:
PostPosted: 2007-04-18 15:08:07 
Offline
User avatar

Joined: 2005-07-17 15:30:52
Posts: 308
Location: www.drw.ru
Спасибо огромное за хелп.


Top
   
 Post subject:
PostPosted: 2007-04-18 15:26:01 
Offline
User avatar

Joined: 2007-02-21 20:15:57
Posts: 479
А если ты не 1 а с другом бегаешь. Друг кидает парализ на врага и ты стрелку в друга =)
Можно создать динамичный массив и заносить туда ид чаров атакующих тебя(по журналу) а потом стрелку кидать только в чаров из массива.

_________________
Шард Антарес

Ururu


Top
   
 Post subject:
PostPosted: 2007-04-18 16:19:51 
Offline

Joined: 2006-03-10 00:19:11
Posts: 265
Location: http://drw.ru/
Ururu wrote:
А если ты не 1 а с другом бегаешь. Друг кидает парализ на врага и ты стрелку в друга =)

только в случае если друг под ластстатусом, а хрена ему там делать?

_________________
DRW - Glorior Belli

Image


Top
   
 Post subject:
PostPosted: 2007-04-18 16:23:39 
Offline
User avatar

Joined: 2005-07-17 15:30:52
Posts: 308
Location: www.drw.ru
Уруру, ты не так понял принцип работы скрипта, атакуя или отводя в сторону статус чара его ID прописывается в laststatus, только если он начинает кастовать, в него же и летит стрелка, на все остальные касты скрипт внимания обращать не будет.


Top
   
 Post subject:
PostPosted: 2007-04-19 11:07:08 
Offline
User avatar

Joined: 2005-07-17 15:30:52
Posts: 308
Location: www.drw.ru
глюк браузера :)


Last edited by Sanch on 2007-04-19 11:10:37, edited 1 time in total.

Top
   
 Post subject:
PostPosted: 2007-04-19 11:07:17 
Offline
User avatar

Joined: 2005-07-17 15:30:52
Posts: 308
Location: www.drw.ru
Потестил сегодня данную мысль, есть 2 проблемы, если со времени входа в игру не был задействован ни 1 статус, то при запуске скрипта он пишет неверный сериал и до выделения какого либо статуса и последующего перезапука скрипта работать отказывается, как выяснить находится ся ли чей то ID в laststatus'e

Code:
if uo.getserial('laststatus') == true 


Может быть так??? Вторая проблема в том что цикл

Code:
while not uo.dead()
  if uo.getserial('laststatus') == uo.journalserial(***)-1) then
    uo.deletejournal()
    uo.cast(....


не может обойтись без предварительного определения наличия сообщения в журнале и его последующего удаления после проверки ID, тк если сообщение имело место, то каст будет проиводиться при последующем выделении статуса того кто когда то его скастовал, но эту то проблему я уже понял как решить

Code:
while not uo.dead()
  if uo.injo.... then
    if uo.getserial('laststatus') == uo.journalserial(***)-1) then
      uo.deletejournal()
      uo.cast(....
    else
      uo.deletejournal()
    endif


Top
   
 Post subject:
PostPosted: 2007-04-19 12:25:14 
Offline
Expert!
User avatar

Joined: 2004-04-04 11:13:54
Posts: 1205
Location: Балаково, Саратовская обл.
Не стоит упираться в ластстатус, большинство крашей возникает от этого, то есть от стаскивания статуса. Попробуй лучше переделать свой алгоритм под ластатак.


Top
   
 Post subject:
PostPosted: 2007-04-19 12:44:40 
Offline
User avatar

Joined: 2005-07-17 15:30:52
Posts: 308
Location: www.drw.ru
Надо будет попробовать, просто ластстатус немного удобнее в использовании.


Top
   
 Post subject:
PostPosted: 2007-04-20 08:52:08 
Offline
User avatar

Joined: 2005-07-17 15:30:52
Posts: 308
Location: www.drw.ru
Вобщем с определением сериала ластстатуса или того же ластатака возникли траблы, захожу в уо, запускаю скрипт:

Code:
sub test()
var a
uo.waittargetobject('lastattack')
uo.cast('Clumsy')
wait(2000)
a = uo.getserial('lastattack')
uo.print('ID '+a)
end sub


Он кидает кламси, выводит ID 0х0000000 и так постоянно, кламси кидает, но ID показывает кривой, тот же самый эфект если ластатак заменить на ластстатус, при этом что самое интересное, если кликнуть на статус чара ,info и он выведет достоверную инфу о чаре, причем только со второго раза, то скрипт начинает показывать то что нужно, как он ведет себя в дальнейшем при смене цели не извесно, пока не проверял, подскажите чтонибудь люди добные, инжект у мну стоит последний, последняя ддл, клиент 2.0.3, не скаченный с сайта шарда дрв, старый ихний же, пропатченый через яму. Подскажите что мне делать?


Top
   
 Post subject:
PostPosted: 2007-04-20 09:04:19 
Offline

Joined: 2006-03-10 00:19:11
Posts: 265
Location: http://drw.ru/
1. Включить track world items на вкладке main
2. Проще каставать так: uo.cast('Clumsy','lastattack')

_________________
DRW - Glorior Belli

Image


Top
   
 Post subject:
PostPosted: 2007-04-20 11:24:11 
Offline
User avatar

Joined: 2005-07-17 15:30:52
Posts: 308
Location: www.drw.ru
Биг спс за хелп, она у мну точно отключена, я думал так лагов меньше будет :) , что касается второго то разницы вроде никакой нет между

Code:
uo.waittargetobject('lastattack') 
uo.cast('Clumsy')


и

Code:
uo.cast('Clumsy','lastattack')


Есть ли разница между?

Code:
if uo.getserial('laststatus') == uo.journalserial(uo.injournal('In Nox|An Nox')-1) then


Code:
var a = uo.getserial('laststatus')
if a == uo.journalserial(uo.injournal('In Nox')-1) or a == uo.journalserial(uo.injournal('An Nox')-1) then


Я знаю что говарили "нет", просто одно работает а другое нет, не успел выяснить почему, на работу опаздывал.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 21 posts ]  Go to page 1 2 Next

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited