Нет больше сил искать...
Moderators: Murderator+, Murderator
Нет больше сил искать...
Всем привет!
А найти я хочу скрипт такой чтоб чар кидал Протект и Блесс на персонажа написавшего например слово obkast , но чтоб не на каждого он кидал а на оределенных людей;) если вы видели подобный скрипт, скажите где. Буду очень признателен!!
А найти я хочу скрипт такой чтоб чар кидал Протект и Блесс на персонажа написавшего например слово obkast , но чтоб не на каждого он кидал а на оределенных людей;) если вы видели подобный скрипт, скажите где. Буду очень признателен!!
-
- Posts: 270
- Joined: 2006-08-05 14:09:06
- Contact:
-
- Posts: 2259
- Joined: 2005-04-19 18:00:29
- Location: Московская область
- Contact:
-
- Junior Expert
- Posts: 3221
- Joined: 2004-06-24 22:08:56
You Must Die wrote:slonopotam wrote:А что его искать? Написать не сложно.
Напиши. Докажи что твои сообщения не пустой флуд
Дык ведь и правда не сложно.. -)
Скрипт НЕ тестировался, писался в форме ответа -)
Code: Select all
sub obkast.daemon()
var jrnl, i, p_len = 1 ; количество игроков, в списке
var phrase = "obcast" ; фраза, на которую реагируем.
DIM players[]
; Список ID игроков, на которых вешаем обкаст.
players[0] = '0x0000000';
repeat
jrnl = uo.inJournal(phrase);
if jrnl then
for i=0 to p_len-1
if uo.journalserial(jrn-1l) == players[i] then
obkast.do( journalserial(jrnl-1) )
break
endif
next
uo.setjournalline(jrnl-1, '')
endif
wait(200)
until false
endsub
Sub obkast.do(serial)
var mana = uo.mana
uo.cast('Protection', serial)
while mana == uo.mana
wait(50)
wend
mana = uo.mana
uo.cast('Bless', serial)
while mana == uo.mana
wait(50)
wend
endsub
О работе скрипта - скрипт работает по принципу демона, т.е. висит до поры до времени, а как понадобится - делает нужные операции. Соответсвенно нужно запустить демона -
Code: Select all
,exec obkast.daemon
Code: Select all
while mana == uo.mana
wait(50)
wend
некоректно, мана поднимится на 1% и скрипт выходит из цыкла...
Code: Select all
(jrn-1l)
здесь нету ошыбки ?
Уроки языка Injection
Основные команды языка Injection
Yoko Injection Code Sweeper
Drw (2009) скрипты
2017 Начал играть на Uorpg.net
Основные команды языка Injection
Yoko Injection Code Sweeper
Drw (2009) скрипты
2017 Начал играть на Uorpg.net
NMY wrote:Code: Select all
while mana == uo.mana
wait(50)
wend
некоректно, мана поднимится на 1% и скрипт выходит из цыкла...Code: Select all
(jrn-1l)
здесь нету ошыбки ?
Ага так и есть выодит из строя как будет корректно не подскажеш?;)
а (jrn-1l) я исправил;)
Code: Select all
Sub obkast.do(serial)
var m = uo.mana
uo.cast('Protection', serial)
repeat
wait(50)
until uo.mana<m
m = uo.mana
uo.cast('Bless', serial)
repeat
wait(50)
until uo.mana<m
endsub
последний цыкл можно убрать, но если быстро опять иго ктото запустит, сфизлит

ищо медитацыя непомешает гдето

Уроки языка Injection
Основные команды языка Injection
Yoko Injection Code Sweeper
Drw (2009) скрипты
2017 Начал играть на Uorpg.net
Основные команды языка Injection
Yoko Injection Code Sweeper
Drw (2009) скрипты
2017 Начал играть на Uorpg.net
-
- Posts: 270
- Joined: 2006-08-05 14:09:06
- Contact:
You Must Die wrote:slonopotam wrote:А что его искать? Написать не сложно.
Напиши. Докажи что твои сообщения не пустой флуд
Я не волшебник, я только учусь. Но вот наваял

Code: Select all
VAR One='0x99999999' ; чар № 1
VAR Two='0x99999999' ; ИД чара № 2
VAR Three='0x99999999' ; ИД чара № 3
VAR Four='0x99999999' ; ИД чара № 4
VAR Five='0x99999999' ; ИД чара № 5
VAR goblin=1
sub Start()
repeat
Ojidanie()
wait(100)
until goblin>2
end sub
Sub Ojidanie()
If UO.InJournal('obkast') Then
Protection()
UO.DeleteJournal()
wait(100)
Else
Meditation()
Endif
end sub
Sub Protection()
DIM Chars[5]
Chars[0] = One
Chars[1] = Two
Chars[2] = Three
Chars[3] = Four
Chars[4] = Five
VAR i
For i = 0 To 5
If UO.Count(Chars[ i ]) == 0 Then
UO.Cast('Protection',Chars[ i ])
wait(2500)
Else
wait(100)
Endif
Next
end sub
Sub Meditation()
If UO.mana<=10 Then
UO.useskill('Meditation')
Else
wait(100)
EndIf
end sub
Проверено на птичках !!!

ДРВ
Spoiler
_________________
Антарес
Spoiler|Gostrabaiter|Umhra|Slog
Spoiler
_________________
Антарес
Spoiler|Gostrabaiter|Umhra|Slog
-
- Posts: 2259
- Joined: 2005-04-19 18:00:29
- Location: Московская область
- Contact:
У тебя 5 элементов массива, а ты ищешь до 6ого
Что касается -не уверен что будет работать т.к. думаю она проводит поиск в сумках и подсумках :\ Тогда уж если что, но в любом случае надо предварительно найти то,что ты принял за "chars". Если ты принял типы-тогда почему так много?
Если ID -то Count([object]) ошибка синтаксиса.
И не совсем понял принцип работы ожидания и медитации.
Не корректная запись :\
Что касается
Code: Select all
if uo.COunt(chars)
Code: Select all
uo.FindCount()
Если ID -то Count([object]) ошибка синтаксиса.
И не совсем понял принцип работы ожидания и медитации.
Code: Select all
Ждём 100 сек
Сообщения нет => Идём медитировать
Используем скил медитации
Ждём 100 сек
Возврат к первой строке.
Не корректная запись :\
-
- Posts: 270
- Joined: 2006-08-05 14:09:06
- Contact:
5 элементов . С 0 до 4 =5 и ищу вроде только 5
if uo.COunt(chars) ищет не только в паке и подсумках, по крайней мере находило птичек.
uo.FindCount() может ощибся, всяко бывает, но работает же
Принцип медитации простой, пока нет сообщений (тоесть его не вызывают) он медитирует.
Если подольше посидеть с этим скриптом, то можно и добор регов и чеклаг и реконект добавить. Да и напихать еще кастов можно. Тоесть при сообщении "блесс" чтоб кастовал только блесс, при сообщении "протекшен", только протекшен. А при сообщении "обкаст", все сразу.
if uo.COunt(chars) ищет не только в паке и подсумках, по крайней мере находило птичек.
uo.FindCount() может ощибся, всяко бывает, но работает же

Принцип медитации простой, пока нет сообщений (тоесть его не вызывают) он медитирует.
Если подольше посидеть с этим скриптом, то можно и добор регов и чеклаг и реконект добавить. Да и напихать еще кастов можно. Тоесть при сообщении "блесс" чтоб кастовал только блесс, при сообщении "протекшен", только протекшен. А при сообщении "обкаст", все сразу.
ДРВ
Spoiler
_________________
Антарес
Spoiler|Gostrabaiter|Umhra|Slog
Spoiler
_________________
Антарес
Spoiler|Gostrabaiter|Umhra|Slog
-
- Posts: 270
- Joined: 2006-08-05 14:09:06
- Contact:
-
- Posts: 2259
- Joined: 2005-04-19 18:00:29
- Location: Московская область
- Contact:
slonopotam wrote:5 элементов . С 0 до 4 =5 и ищу вроде только 5
if uo.COunt(chars) ищет не только в паке и подсумках, по крайней мере находило птичек.
uo.FindCount() может ощибся, всяко бывает, но работает же![]()
Принцип медитации простой, пока нет сообщений (тоесть его не вызывают) он медитирует.
Если подольше посидеть с этим скриптом, то можно и добор регов и чеклаг и реконект добавить. Да и напихать еще кастов можно. Тоесть при сообщении "блесс" чтоб кастовал только блесс, при сообщении "протекшен", только протекшен. А при сообщении "обкаст", все сразу.
У тебя нерациональное решение. Не пробовал забивать в массив название кастов?
Code: Select all
элемент 1 = Блесс
если в журнале(месага с содержанием элемент1) тогда
кастуй элемент 1 на того кто произнёс.
Вот и всё.
Что касается обкаста то и вовсе-если в журнале обкаст, тогда кастуй цикл. Скрипт на самом деле минутный.
2А если тебе нужна проверка на ИД то также забиваешь в том же скрипте второй массив и конструкция примерно следующая:
Code: Select all
цикл перебора сообщений кастов
если в журнале(месага элемент1) тогда
взять ИД объекта который произнёс строку журнала
цикл перебора ИД на кого кастовать
сравнить это значение с теми что в массиве. если == , тогда кастуй
вариант 1.
через серийники
варинт 2
те, на кого кастуешь каст должны говорить слово "каст" определенным цветом (можно сделать в инжекте), тогда:
не тестил возможны ошибки
через серийники
Code: Select all
sub obkast()
###############
var keyword = 'обкаст' ; слово на которое реагировать
var refreshtime = 0.5 ; время проверки сообщений в журнале в сек
##############
var i, t, reg
Dim a[5]
# серийники
a[0]='0x0000000'
a[1]='0x0000000'
a[2]='0x0000000'
a[3]='0x0000000'
a[4]='0x0000000'
repeat
if uo.injournal(keyword) then
for i=0 to 4
if uo.journalserial(uo.injournal(keyword))==a[i] then
uo.cast('Bless',a[i])
uo.deletejournal()
t=0
reg= uo.ns # Название рега присуствующего в касте
repeat
t=t+1
wait(500)
until uo.injournal('spell|mana') or t==15 or tmp<uo.ns #опять название рега
####
uo.cast('Protection',a[i])
uo.deletejournal()
t=0
reg=uo.ns # Название рега присуствующего в касте
repeat
t=t+1
wait(500)
until uo.injournal('spell|mana') or t==15 or tmp<uo.ns #опять название рега
end if
next
end if
wait(refreshtime*1000)
until uo.dead()
end sub
варинт 2
те, на кого кастуешь каст должны говорить слово "каст" определенным цветом (можно сделать в инжекте), тогда:
Code: Select all
sub obkast()
###############
var keyword = 'обкаст' ; слово на которое реагировать
var refreshtime = 0.5 ; время проверки сообщений в журнале в сек
##############
var t, reg
repeat
if uo.injournal(keyword) then
if uo.journalcolor(uo.injournal(keyworde))=='0x0000' then #цвет сообщений
uo.cast('Bless',uo.journalserial(uo.injournal(keyworde)))
uo.deletejournal()
t=0
reg= uo.ns # Название рега присуствующего в касте
repeat
t=t+1
wait(500)
until uo.injournal('spell|mana') or t==15 or tmp<uo.ns #опять название рега
####
uo.cast('Protection',uo.journalserial(uo.injournal(keyworde)))
uo.deletejournal()
t=0
reg=uo.ns # Название рега присуствующего в касте
repeat
t=t+1
wait(500)
until uo.injournal('spell|mana') or t==15 or tmp<uo.ns #опять название рега
end if
end if
wait(refreshtime*1000)
until uo.dead()
end sub
не тестил возможны ошибки