Два связанных потока

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Tiger1989
Posts: 35
Joined: 2010-06-19 22:59:51

Два связанных потока

Post by Tiger1989 »

Есть процедура проверки на пк, которая работает непрерывно, а есть вторая процедура с массивом рун по которым чар летит и выполняет различные действия по порядку, ну дык вот смысл в том чтобы, при обнаружении пк, происходил terminate первой процедуры, и чар летал в безопасное место либо, на след руну по массиву, как это лучше реализовать? с глоб переменным опасно, так как при одновременном обращении к одной и той же переменной может возникнуть конфликт.
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Два связанных потока

Post by Mirage »

Code: Select all

dim runa[3]
runa[0]=''
runa[1]=''
runa[2]=''
for runa = 0 to 2
   перелет на runa[i]
   копаем
      если проверка на ПК = 1 ;  нашли
             перелетаем на runa[i+1]
      конец если

без глобалок.
Вместо runa[i+1] можно вписать runa home и прождав там например 10 минут вернутся на runa[i]
Tiger1989
Posts: 35
Joined: 2010-06-19 22:59:51

Re: Два связанных потока

Post by Tiger1989 »

Да вариант не плохой, но тут проверка будет происходит с перерывами а мне надо непрерывно для моментальной реакции
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Два связанных потока

Post by Mirage »

моментально ты никак не сделаешь. Дерево рубится 6 секунд. Если рекольнутся в процессе рубки схлопочешь краш рано или поздно.
Опять же чуть подкорректировав мой вариант - прописываешь ID рун в 2 скриптах либо во внешней процедуре (в уроках про это есть толи в 1 толи во 2) и делаешь в проверке на пк чтото типо
если нашли ПК тогда
сверяем координаты чара
если х=123 у = 123
то прыгаем на руну 2
если х=312 у=321
прыгаем на руну 3

х и у координаты сторон большого квадрата в котором происходит добыча. Квадрат может быть очень большим.

Зато без глобалок ;)

ЗЫ имхо проще с глобалками сделать :)
Tiger1989
Posts: 35
Joined: 2010-06-19 22:59:51

Re: Два связанных потока

Post by Tiger1989 »

Проще да, но что надежнее вопрос посущественнее.
Смысл в том чтобы чар прерывал любое действия и начал выполнять рекол, тогда будет польза от скрипта =)
Tiger1989
Posts: 35
Joined: 2010-06-19 22:59:51

Re: Два связанных потока

Post by Tiger1989 »

Покажи пожалуйста, такой вариант, мой вариант который я тут пробую мне не нравиться с глоб переменными
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Два связанных потока

Post by Mirage »

Code: Select all

if uo.GetY()>=1449 and uo.GetY()<=1455 then
   UO.Print('Идем направо')
   walker(5896, 1455,0)
else
   if uo.GetY()>=1457 and uo.GetY()<=1463 then
      UO.Print('Идем налево')
      walker(5896, 1457,0)
   endif
endif

Ну как то так. Я примерно так тамил и убивал овец в двух спаренных загонах.
Post Reply