Yoko

All sides of Injection
It is currently 2025-11-03 17:17:54

All times are UTC+02:00




Post new topic  Reply to topic  [ 37 posts ]  Go to page Previous 1 2
Author Message
 Post subject:
PostPosted: 2006-11-26 16:48:19 
Offline
Expert!
User avatar

Joined: 2004-10-15 22:38:04
Posts: 1396
Location: Moscow City.
А лучше 200-300 и никто не остановит :twisted: + как ты сказал шард наберет немного онлайна ;)

_________________
The End.


Top
   
 Post subject:
PostPosted: 2006-11-26 17:53:55 
Offline
Expert!
User avatar

Joined: 2005-09-14 15:31:58
Posts: 2152
Location: Latvia
неумеит инжа определять такие вещи, можно занести спелы в массив + время каждого спела, получется +\- нормально...

_________________
Уроки языка Injection
Основные команды языка Injection
Yoko Injection Code Sweeper
Drw (2009) скрипты
2017 Начал играть на Uorpg.net


Top
   
 Post subject:
PostPosted: 2006-11-26 18:15:50 
Offline

Joined: 2005-04-19 18:00:29
Posts: 2259
Location: Московская область
NMY wrote:
неумеит инжа определять такие вещи, можно занести спелы в массив + время каждого спела, получется +\- нормально...

Я думаю ты не всё знаешь )


Top
   
 Post subject:
PostPosted: 2006-11-26 18:24:59 
Offline

Joined: 2005-04-19 18:00:29
Posts: 2259
Location: Московская область
You Must Die wrote:
NMY wrote:
неумеит инжа определять такие вещи, можно занести спелы в массив + время каждого спела, получется +\- нормально...

Я думаю ты не всё знаешь )


А вот что касается спелов + одноимённых им элементов другого массива со временем -неплохая вроде мысль. Ну вот что получится?!
Разве что при получении слов каста в журнале, инжект в цикле с вейтом на проверку журнала проверяет эти слова на наличие подобных в одном из элементов массива с кастами.
Затем если нашёл то сравнивает значение элемента другого массива под тем же номером
Code:
 (
 cast[10]= uo.GetName('laststatus') + ': Kal Vas Flam'
 time[10]=3.5 )
со временем других -более быстрых кастов( лайт, поизон, стрелка )- если время меньше чем лайта- то сравнивай с поизоном. Если меньше поизона то кидай стрелку. (аналогично: если больше меньше лайты, но больше болта- то кидай болт (или параль-как автор впишет или кто там вообще этот скрипт пишет ) )

Вот это уже на чтото похоже разумное ,- но ближе к автоботу. Вопрос тогда как быть ,если есть еще 3ий массив с ИД врагов в мясе(5-10 человек). Проверка каждого следующего на каст, может задевать предыдущего- тем самым физлы. То, что выше описал скорее может подойти к 1х1- если конечно грамотно написать-но эт многого стоит =\

п.с.
В этом не уверен, но думаю если будет желание и востребованность- как то воплотить в жизнь можно будет.
Code:
 (
 cast[10]= uo.GetName('laststatus') + ': Kal Vas Flam'
 time[10]=3.5 )


Top
   
 Post subject:
PostPosted: 2006-11-26 18:59:29 
Offline
User avatar

Joined: 2005-07-10 21:53:05
Posts: 457
Destruction как всегда, спросил так спросил…
Вот примерно так можно

Code:
myAntiCast(Circle)
   var LTimer = UO.Timer(), a, time = 0
   repeat
      if a = UO.GetSerial(UO.InJournal("Uus Jux|Rel Wis|In Por Ylem|Des Mani")-1) <> "self" then
         time = UO.Timer() + (0.5 + 0.25 * 1)
      endif
      if a = UO.GetSerial(UO.InJournal("An Mani")-1) <> "self"  then
         time = UO.Timer() + (0.5 + 0.25 * 2)
      endif
      if a = UO.GetSerial(UO.InJournal("Vas Flam|In Nox")-1) <> "self"  then
         time = UO.Timer() + (0.5 + 0.25 * 3)
      endif
      if a = UO.GetSerial(UO.InJournal("Des Sanct|Por Ort|Ort Rel")-1) <> "self"  then
         time = UO.Timer() + (0.5 + 0.25 * 4)
      endif
      if a = UO.GetSerial(UO.InJournal("In Jux Hur Ylem|Por Corp Wis|An Ex Por")-1) <> "self"  then
         time = UO.Timer() + (0.5 + 0.25 * 5)
      endif
      if a = UO.GetSerial(UO.InJournal("Corp Por|Vas Ort Flam")-1) <> "self"  then
         time = UO.Timer() + (0.5 + 0.25 * 6)
      endif
      if a = UO.GetSerial(UO.InJournal("Vas Ort Grav|Kal Vas Flam|Ort Sanct|Flam Kal Des Ylem")-1) <> "self"  then
         time = UO.Timer() + (0.5 + 0.25 * 7)
      endif
      if a = UO.GetSerial(UO.InJournal("In Vas Por|Vas Corp Por")-1) <> "self"  then
         time = UO.Timer() + (0.5 + 0.25 * 8)
      endif
   until LTimer + (0.5 + 0.25 * Circle) > UO.Timer() || time <> 0

   if LTimer + (0.5 + 0.25 * Circle) - time > 0.5 + 0.25 * 1 then
      UO.Cast("", a)
   endif
   endsub


Top
   
 Post subject:
PostPosted: 2006-11-26 19:42:13 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Сказал же, проверку по времени не предлагать.

Впринципе - я думаю ,set animecho помучать и прочую лабуду..


Top
   
 Post subject:
PostPosted: 2006-11-26 20:49:44 
Offline
User avatar

Joined: 2005-07-10 21:53:05
Posts: 457
по анимации не выйдет, она от каста не зависит. Время анимации тоже.


Top
   
 Post subject:
PostPosted: 2006-11-26 20:59:36 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
omi4 wrote:
по анимации не выйдет, она от каста не зависит. Время анимации тоже.

Хмм.

Надо что-нибудь кастануть и посмотреть, что там экое есть..


Top
   
 Post subject:
PostPosted: 2006-11-26 23:10:54 
Offline
User avatar

Joined: 2005-07-10 21:53:05
Posts: 457
Я поступаю проще, смотрю исходники сервера.
Там все точно - сколько, чего, кому и когда.
Единственный вариант это время.

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

Скриптом такую задачу решать почти бесполезно, скорости не хватит.


Top
   
 Post subject:
PostPosted: 2006-11-27 06:25:55 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
1. Мне пофиг на резист. Говорю же - для массовых сражений -)

2. Коннект сколько не учитывай, а конструкция такая:
Code:
set timer
checklag
some action
check timer


Погрешность коннекта как раз учтётся чеклагом -)

3. Там точно кромь времени ничего нету? -( И всё-таки я не понимаю, када кастуют ФС - появляется анимация ФСа, почему вы говорите, что низя через неё сделать ?


Top
   
 Post subject:
PostPosted: 2006-11-27 06:37:41 
Offline

Joined: 2005-04-19 18:00:29
Posts: 2259
Location: Московская область
Destruction wrote:
1. Мне пофиг на резист. Говорю же - для массовых сражений -)

2. Коннект сколько не учитывай, а конструкция такая:
Code:
set timer
checklag
some action
check timer


Погрешность коннекта как раз учтётся чеклагом -)

3. Там точно кромь времени ничего нету? -( И всё-таки я не понимаю, када кастуют ФС - появляется анимация ФСа, почему вы говорите, что низя через неё сделать ?


1А у тебя на каждый каст своя анимация?
2Сядь на лошадь и одень щит и оружие и посмотри на свою анимацию.


Top
   
 Post subject:
PostPosted: 2006-11-27 06:40:56 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
1. Своя или нет - не принципиально, разве uo.journalserial() отменили ?

2. Я говорю про конец каста, помнишь как летит болт? -)) А как файр стрелка ? -) Ты ещё скажи, что на каждый каст одна анимация :-D


Top
   
 Post subject:
PostPosted: 2006-11-27 06:45:27 
Offline

Joined: 2005-04-19 18:00:29
Posts: 2259
Location: Московская область
Destruction wrote:
1. Своя или нет - не принципиально, разве uo.journalserial() отменили ?

2. Я говорю про конец каста, помнишь как летит болт? -)) А как файр стрелка ? -) Ты ещё скажи, что на каждый каст одна анимация :-D


Нет, но на нек. шардах (ФОрестВарс,пвп) к примеру-я запускал скрипт который кастовал 3 подряд каста максимально быстро-тоесть была проверка на ману и реги потраченные вроде. Так смысл в том-что когда еще не было 1ой анимации, уже начинался каст второго спела( ~ 1 сек задержки )


Top
   
 Post subject:
PostPosted: 2006-11-27 06:50:32 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Может анимация не успела воспроизвестись?...


Top
   
 Post subject:
PostPosted: 2006-11-27 06:52:26 
Offline

Joined: 2005-04-19 18:00:29
Posts: 2259
Location: Московская область
Destruction wrote:
Может анимация не успела воспроизвестись?...

Мб. Ничего точно сказать не могу- но возможно другие с этим сталкивались...

Удачи в написании вобщем. Уехал учиться )


Top
   
 Post subject:
PostPosted: 2006-11-27 11:19:40 
Offline
User avatar

Joined: 2005-07-10 21:53:05
Posts: 457
Это что бы нельзя было кастовать как из пулемета..
private static TimeSpan NextSpellDelay = TimeSpan.FromSeconds( 0.75 );
Это время анимации, самих анимаций несколько.
private static TimeSpan AnimateDelay = TimeSpan.FromSeconds( 1.5 );

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

Есть еще звук, но его шлют только кастующему.
Визуальные эфекты шлют только после каста.

Остается только время. Но чисто по нему погрешность сильно большая.

Чтобы построить автоматику на бой, нужно просчитывать всех участников разом.
Взгляд на поле боя глазами каждого участника. Если объект А ведет сражение с Б, вряд ли он будет кастовать на В. И т.д.

Только так можно построить бота, способного уложить людей пачками. Вариантов действий у персонажа управляемого человеком не так уж много, просчитать можно. Только это не сделать скриптом.

Руки по прежнему рулят.


Top
   
 Post subject:
PostPosted: 2006-11-27 23:10:15 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Quote:
Визуальные эфекты шлют только после каста.

Ну дык, мне и надо, после каста :-D

Quote:
Остается только время. Но чисто по нему погрешность сильно большая.

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


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

All times are UTC+02:00


Who is online

Users browsing this forum: Bing [Bot] and 7 guests


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