Page 1 of 2

Реально ли?

Posted: 2005-08-09 07:19:37
by mike
Загорелся желанием сделать ответ на атаку по парализу.
Сделал. Наткнулся на одну очень плохую вещь.
Если я кастую парализ, а затем мой противник делает это - мой парализ физлит и кастуется стрелка для сбивания каста противника.
Вырубать скрипт или делать через wait не лучший выход.
Можно ли как-то это обойти опираясь на журнал?
Если да то как?

Posted: 2005-08-09 11:42:41
by Leo
Я тоже сделал такой скрипт :)
Тока у меня он не атакует 5 друзей, которых задаёшь ты, ну и себя конечно. Так же столкнулся с ещё одной проблемой (я синий), что я кастую Des Mani на всех синих. Это тоже вроде исправил :D

Code: Select all

var SerialSelf='0x4019919B'
...
if UO.InJournal("An Ex Por") then
Enemy=UO.GetSerial(UO.JournalSerial(uo.InJournal("An Ex Por")-1))
if Enemy==SerialSelf then
...

Posted: 2005-08-09 12:28:17
by flake
Да лажа всё это. Вы этим только проблемы лишние себе создаете.
Ручками сбивайте, ручками.

Posted: 2005-08-09 12:31:05
by Leo
flake wrote:Да лажа всё это. Вы этим только проблемы лишние себе создаете.
Ручками сбивайте, ручками.


Я там накрутил всякого, так что бьёт только врагов)
Там и на цвет проверка и на гильдию...

Posted: 2005-08-09 13:18:07
by mike
Leo wrote:
flake wrote:Да лажа всё это. Вы этим только проблемы лишние себе создаете.
Ручками сбивайте, ручками.


Я там накрутил всякого, так что бьёт только врагов)
Там и на цвет проверка и на гильдию...

чето я не понял.
мне нужно как-то обходить проверку и задерживать скрипт, если я кастую первым. Как это сделать опираясь на журнал ума не приложу.
Кстати, проверку на цвет сообщения как ты сделал?

Posted: 2005-08-09 13:24:45
by Leo
mike wrote:чето я не понял.
мне нужно как-то обходить проверку и задерживать скрипт, если я кастую первым. Как это сделать опираясь на журнал ума не приложу.
Кстати, проверку на цвет сообщения как ты сделал?


Просто сравниваешь ID того кто касатанул парализ и свой ID. Если они равны, то не палим, если не равны, то сбиваем каст.

Проверка на цвет (тока не сообщения, а ника)
UO.GetNotoriety

Posted: 2005-08-09 13:26:02
by Leo
flake wrote:Да лажа всё это. Вы этим только проблемы лишние себе создаете.
Ручками сбивайте, ручками.


На ДРВ подобного рода скрипт сейчас вполне актуален. Парализом пользуются часто. А если за тобой бегут несколько человек...

Posted: 2005-08-09 13:34:08
by netol
на дрв лажа там вообще ничего не надо

Posted: 2005-08-09 13:35:09
by mike
Leo wrote:
mike wrote:чето я не понял.
мне нужно как-то обходить проверку и задерживать скрипт, если я кастую первым. Как это сделать опираясь на журнал ума не приложу.
Кстати, проверку на цвет сообщения как ты сделал?


Просто сравниваешь ID того кто касатанул парализ и свой ID. Если они равны, то не палим, если не равны, то сбиваем каст.

Проверка на цвет (тока не сообщения, а ника)
UO.GetNotoriety

не получается с такой проверкой.
сам проверь.
сначала ты кастани парализ, затем твой друг пусть это сделает через долю секунды.
твой каст собьется твоей же стрелкой и собьется каст парализа друга.
ВОТ ГДЕ СОБАКА ЗАРЫТА. Вот что я хочу чтоб не было.
ЧОРТ ( вот с сообщением бы...

Posted: 2005-08-09 13:37:18
by flake
Через глобалку делай.

Posted: 2005-08-09 13:37:36
by mike
Leo wrote:
flake wrote:Да лажа всё это. Вы этим только проблемы лишние себе создаете.
Ручками сбивайте, ручками.


На ДРВ подобного рода скрипт сейчас вполне актуален. Парализом пользуются часто. А если за тобой бегут несколько человек...

то тебе скоро настанет жопа =)

Posted: 2005-08-09 13:37:42
by Leo
netol wrote:на дрв лажа там вообще ничего не надо


Есть такая поговорка:
"Кто умеет - тот делает, кто не умеет - учит других".

Posted: 2005-08-09 13:38:12
by mike
flake wrote:Через глобалку делай.

примерный вариант можно?

Posted: 2005-08-09 13:39:47
by netol
ты прав мой бог !!!!!!!!!!

Posted: 2005-08-09 13:40:36
by Leo
flake wrote:Через глобалку делай.


Что-то типа?

Code: Select all

if UO.InJournal("An Ex Por") then 
uo.SetGlobal("serial",UO.GetSerial(UO.JournalSerial(0)))

Posted: 2005-08-09 13:54:49
by flake
Нет, я имею ввиду другое.
На макрах каста магии в начале макра даем глобальной переменной значение А, при окончании каста - Б.
А наша система сбивания парализа будет работать только когда значение той же глобальной переменной будет Б.

Posted: 2005-08-09 14:05:00
by Leo
Если правильно понял, то

Code: Select all

...
UO.SetGlobal("cast","a")
....
If UO.InJournal("An Ex Por") then
UO.SetGlobal("cast","b")
...
If UO.GetGlobal("cast")=="b" Then
UO.Cast('Weaken',Enemy)
...

Posted: 2005-08-09 14:43:02
by mike
flake wrote:Нет, я имею ввиду другое.
На макрах каста магии в начале макра даем глобальной переменной значение А, при окончании каста - Б.
А наша система сбивания парализа будет работать только когда значение той же глобальной переменной будет Б.

как все сложно и непонятно...

Posted: 2005-08-09 14:51:50
by flake
Не, примерно так:

Это наши макры на магию:

Code: Select all

Sub Paral()
UO.SetGlobal( 'cast', 'a' )
UO.Cast( 'Paralyze', 'lastattack')
UO.Wait(3500)
UO.SetGlobal( 'cast', 'b' )
endsub


А это система антипарализа:

Code: Select all

sub AntiParal()
...
...
If UO.InJournal( 'An Ex Por' ) AND UO.GetGlobal( 'cast' ) == 'b' Then
  ; остальные проверки на айди и сбитие каста
...
...
EndIf
endsub

Posted: 2005-08-09 15:08:34
by mike
flake wrote:Не, примерно так:

Это наши макры на магию:

Code: Select all

Sub Paral()
UO.SetGlobal( 'cast', 'a' )
UO.Cast( 'Paralyze', 'lastattack')
UO.Wait(3500)
UO.SetGlobal( 'cast', 'b' )
endsub


А это система антипарализа:

Code: Select all

sub AntiParal()
...
...
If UO.InJournal( 'An Ex Por' ) AND UO.GetGlobal( 'cast' ) == 'b' Then
  ; остальные проверки на айди и сбитие каста
...
...
EndIf
endsub


не радуют только эти строки....
UO.Wait(3500)
UO.SetGlobal( 'cast', 'b' )
в моих скриптах на парализ wait нету-иметь его глупо(физлы и т.д.), а что будет если его не сделать думаю понимаешь..