Page 2 of 3
Posted: 2006-05-02 09:24:48
by Rijo
You Must Die wrote:DIM loot[10]
это хорошо, но посчитай пальцем )
0.1.2.3...10 = 11 элементов, а ты задал тока 10.
как я понял ты говоришь про этот массив

:
Code: Select all
Loot[0]=0x1089 ;
Loot[1]=0x1F0A ;
Loot[2]=0x1F07 ;
Loot[3]=0x1F06 ;
Loot[4]=0x1F09 ;
Loot[5]=0x108A ;
Loot[6]=0x0EED ;
Loot[7]=0x1086 ;
Loot[8]=0x1087 ;
Loot[9]=0x1F08 ;
Loot[10]=0x1088 ;
но когда я задаю в цикле
он у меня начинает тупить. Потому чисто методом втыка

поставил 10, заработало нормально
Posted: 2006-05-02 10:49:18
by Scripts Writer
это уже на то что бы понять.
дим (скока всего)
for само мленькое to самое большое
Posted: 2006-05-02 12:09:41
by Rijo
так у меня ж в скрипте массив обозначен DIM Loot[20] , а элементов массива 10. Скрипт за рамки не вылазиет... блин запутался
Вот еще непонятка
Code: Select all
if uo.InJournal(PKMagArr) or uo.InJournal(PKTeleport) or uo.InJournal(PKParaliz) or uo.InJournal(PKpf) or uo.InJournal(PKPoison) or uo.InJournal(PKFire)or uo.InJournal(PKSumVort) or uo.InJournal(PKSumVort) then
он должен искать в журнале переменные, и если находит то выполняет следующие действия. Но он ничег оне делает

Posted: 2006-05-02 12:23:10
by Rijo
ну в общем выглядит функция на АнтиПК примерно так:
Code: Select all
sub AntiPK()
if Apk == 1 then
while not uo.Dead()
uo.DeleteHournal()
if uo.InJournal(PKMagArr) or uo.InJournal(PKTeleport)
Terminate()
RunebookRecall()
endif
endif
wait (500)
wend
wait (500)
end sub
может я опять где то че то намудрил. Чар должен видеть заклинания из журнала и тыкаться в рунбуку
Posted: 2006-05-02 12:49:20
by Scripts Writer
говорят как надо, а ты как самому заблагоразумется. Сам тогда и решай все свои вопросы
Posted: 2006-05-02 13:00:44
by Rijo
You Must Die wrote:говорят как надо, а ты как самому заблагоразумется. Сам тогда и решай все свои вопросы
Ну я просто не понял на что мне толком указывают

Posted: 2006-05-02 14:39:16
by Scripts Writer
Я тебе указываю, что если ты обозначил
то пиши либо
либо
Чтобы если обозначил 20 элементов массива,что бы их 20 и было.А что качается for :
Code: Select all
for (цифра 1 элемента массива) to (цифра последнего элемента)
Posted: 2006-05-02 15:24:16
by Rijo
А ну в принципе врубился

. Спасибо за то что понял меня
А какую посоветуешь проверку для АнтиПК, чтобы чар смывался оттуда? У меня сейчас проверка в журнале, если появляются заклинания то чар убегает. Но помоему это не нажено
Posted: 2006-05-02 15:44:04
by Scripts Writer
по цвету ника . Такая проверка в мининге или ламбере у ВЕТЕРана есть.
Posted: 2006-05-02 15:50:58
by Rijo
но ведь может и синий вылезти и убить меня. И тем более я убиваю красных НПСников. Я уже думал об этом.. Нада какой нибудь скрипт с новым принципом определения

Posted: 2006-05-02 16:02:34
by Savage
You Must Die wrote:Я тебе указываю, что если ты обозначил
то пиши либо
либо
Чтобы если обозначил 20 элементов массива,что бы их 20 и было.А что качается for :
Code: Select all
for (цифра 1 элемента массива) to (цифра последнего элемента)
Нет ты неправ, если юзается 20-й элемент массива то объявлять надо 21 элемент потому что отсчет идет от 0.
Posted: 2006-05-02 20:06:01
by Scripts Writer
Savage wrote:You Must Die wrote:Я тебе указываю, что если ты обозначил
то пиши либо
либо
Чтобы если обозначил 20 элементов массива,что бы их 20 и было.А что качается for :
Code: Select all
for (цифра 1 элемента массива) to (цифра последнего элемента)
Нет ты неправ, если юзается 20-й элемент массива то объявлять надо 21 элемент потому что отсчет идет от 0.
каким образом =\
Элементов 20
начиная с 0 , последний элемент будет 19ый.
Posted: 2006-05-02 21:20:30
by Savage
Верно, а начиная с 1 последний будет 20-й а всего 21 потому что нулевой хоть и не используется в скрипте все равно учтен.
Posted: 2006-05-02 23:08:47
by Edred
Точнее, не в скрипте учтен, а автоматически создан скриптовым модулем, только не проинициализирован скриптом. Мастдай, читай доку. Элементы массивов всегда нумеруются с 0. Если ты нумеруешь с 1, совсем не означает, что элемента 0 нету.
Posted: 2006-05-03 01:47:20
by Rijo
Блин, а чего нибудь по существу моей проблемы у вас есть? Как мне сделать проверку на ПК, если меня может убить и синий и крассный. И прошу принять к сведению что проверка на пол тоже не подходит, так как я убиваю НПСников и у них такой же пол как и у плееров. Как нибудь НПС от плееров отличаются в клиетне или инже?
Posted: 2006-05-03 09:42:02
by Edred
Rijo wrote:Как нибудь НПС от плееров отличаются в клиетне или инже?
По большому счету нет, если, естественно, используются одни "тела". Можно пробовать сделать проверку по сериалу, у НПСов обычно маленькие сериалы, по сравнению с игроками, но ненадежно. Можно по имени, но это срабатывает только в том случае, если у тебя есть заранее список возможных имен НПСов в этом месте.
Posted: 2006-05-03 10:15:06
by Rijo
Ну я стою на возвышенности, точнее на крыше и единственный способ ко мне забраться это телепортануться, а убить меня с полу можно только заклинаниями, я поставил проверку на спелы которые появляются в журнале, но чар начинает шкерится от своих же заклинаний

. Как себя проигнорить в журнали. Я использовал твою(Edred) функцию на удаление строки,
Code: Select all
Sub DeleteJournal( string1 )
VAR nom = UO.InJournal( string1 )
If nom > 0 Then
UO.SetJournalLine( Nom - 1, 'string replaced' )
DeleteJournal( string1 )
Endif
endsub
но почему то не получается себя из неё удалить.
DeleteJournal(char)
Posted: 2006-05-03 10:34:53
by Savage
Как вариант, на теле найденом недалеко от чара, искать какой нить шмот, например часть доспеха или бакпак.
А из лука тебя разве достать не смогут?
Posted: 2006-05-03 11:10:16
by Rijo
Savage wrote:Как вариант, на теле найденом недалеко от чара, искать какой нить шмот, например часть доспеха или бакпак.
А из лука тебя разве достать не смогут?
Из лука сверху вниз не стреляет, я думаю снизу вверх тоже.
А искать шмот на ком нибудт, придется перебрать оочень много всякого армора. Или ты предлагаешь искать одну вещь(допустим оружие) и если она находится, то убегаем? Если да, то как бы это пограмотнее реализовать?
Posted: 2006-05-03 15:42:26
by Edred
Rijo wrote:Как себя проигнорить в журнали.
Ты же по журналу берешь сериал чара? Ну так вставь после этого проверку типа:
Code: Select all
If charserial <> UO.GetSerial( 'self' ) Then
charserial - это сериал чара, считанный из журнала.