Page 1 of 1

кто знает как заставить вендора сдвинутся с места(повернутся

Posted: 2007-11-26 19:12:18
by admir
вобщем всем известный факт что допустим если я прилетаю в магазинг и там стоит вендор , не двигается , то я немогу узнать его координаты чтоб подойти , как только он сдвинется с места то я тут же узнаю ...
( без использования ТВИ)

может кто знает фишку как узнать координаты или заставить сдвинутся с места ?

Posted: 2007-11-26 19:18:16
by Scripts Writer
Ни разу не замечал.
Тоесть даже поиск по типу на земле, или взятие ИД из журнала после того как он ответит на какую то из твоих фраз не позволят определить его координаты? Или взятие ИД по имени из журнала?

Posted: 2007-11-26 19:46:27
by admir
значит суть в том что я знаю ID его , но пока он не сдвинется , я не вижу его координаты и чар не может к нему подбежать.

я пробовал ресенд , нифига , Банкир в приницпе при крике банк - оборачивается на меня , что достаточно чтоб я узнал координаты .

Posted: 2007-11-26 19:55:07
by Scripts Writer
Ну если тебе к банкиру то вопрос наверно решён.
Если к торговцам то попробуй train, чтоб не открывать диалоговое окно покупки

Posted: 2007-11-27 01:01:25
by admir
даже на buy не разворачиваются , не говоря уже о hello , Vendor hello , По имени hello и тд .

Posted: 2007-11-27 15:41:30
by volhram
трек ворд итем - галочка обычно помогает

Posted: 2007-11-27 16:03:57
by Scripts Writer
volhram wrote:трек ворд итем - галочка обычно помогает


Прежде чем отвечать смотрите содержание темы. В посте первом автор написал что "без использования тви"

Posted: 2007-11-27 19:03:18
by Grin
звисит от эмулятора, но инжект черпает инфу о координатах из
update item 0x1a
enter world 0x1b
update player 0x20 - относится только к игровому чару
update contained item 0x25
update contained items 0x3c
confirm walk
update character 0x77 - все остальные
deny walk

Как можно заставить сервер выслать эти пакеты?
uo.click
uo.useobject
uo.grab

PS звисит от эмулятора

Posted: 2007-11-28 06:24:00
by admir
как всегда Грину респект за подмогу)) )
эмулятор сфера ,
уо клик чето не помогает так же как и юз обжект (вендора) . уо граб не пробовал .
Грин а ты можешь реализовать подборку координат из клиента ? и воткнуть функцию в перл инж ?
,grab не помогает

Posted: 2007-11-28 10:36:32
by MacTepeo
тоже сталкивался с такой проблемой) решил с помощью асм.

Code: Select all

sub TWION() ### включение
While UO.asmGetFlag('twi')=='UNCHECKED'
 UO.asmClickFlag('twi')
Wend
UO.asmSaveInjParams()
end sub

sub TWIOFF() ### выключение
While UO.asmGetFlag('twi')=='CHECKED'
 UO.asmClickFlag('twi')
Wend
UO.asmSaveInjParams()
end sub


асм в чём-то помогает, но сейчас отказался от него.

Posted: 2007-11-28 10:37:13
by MacTepeo
после включения тви желателен ресенд :)

Posted: 2007-11-28 14:25:14
by Scripts Writer
MacTepeo wrote:после включения тви желателен ресенд :)


В первом посту автор указал что без использования TWI.
Неужели все только на форуме пишут, и никто его не читает?

Posted: 2007-11-28 14:47:23
by admir
при включении - выключении ТВИ , вскоре наступит КРАШ .
а макроса такие что работают 24 часа, я за ними не слежу , поэтому не подходит ..

в догонку такой вопрос : Изи уо может решить мою проблему ?

Posted: 2007-11-28 18:15:28
by Edred
И изя может, и стелс.

Posted: 2007-11-28 21:32:30
by MacTepeo
Scripts Writer wrote:
MacTepeo wrote:после включения тви желателен ресенд :)


В первом посту автор указал что без использования TWI.
Неужели все только на форуме пишут, и никто его не читает?


мой косяк) просто писал спросонья.

Posted: 2007-11-28 23:54:13
by Grin
admir wrote:как всегда Грину респект за подмогу)) )
эмулятор сфера ,
уо клик чето не помогает так же как и юз обжект (вендора) . уо граб не пробовал .
Грин а ты можешь реализовать подборку координат из клиента ? и воткнуть функцию в перл инж ?
,grab не помогает


tile(x, y, client3D) - работа с тайлами в точке с координатами х у Quote:
Возвращает ССЫЛКУ на двухмерный масив (n, 3) содержащий в даном порядке тип тайла, ИД (если это динамический объект), высота. Умеет видить все от тайлов карты до динамики. Если client3D = 0 то функция работает коректно с 2Д клиентами, иначе с 3Д.


Чем не устраивает? ;)

Posted: 2007-11-29 01:37:17
by admir
:D !! Действитльно интересная штука .

вот нашел скрипт от Грина , типа привата гет тайла .

Code: Select all

sub gettile($$$$){
uo::print("START");
   foreach $a (@{tile($_[0], $_[1])}){
      if (${$a}[0]>=$_[2] && ${$a}[0]<=$_[3]){

         return @{$a};
      }
   }
uo::print("konec");
   return 0;
}



а никто не заморачивался с написанием ходилки с открыванием дверей ?



по поводу изи уо - действительно вот функция , работает на ура )
ищет объект и бегает к нему )
;finditem CGONC
;event pathfind #FINDX #FINDY #FINDZ 1 3s

;===========================================================
; Name: pathFind
; Author: ScriptFellow (the.WZA)
; Parameters: %1 = X
; %2 = Y
; %3 = Z
; %4 = tolerance
; %5 = timeout (in seconds)
; Purpose: Pathfind to the given coordinates
; Return: %return (#true or #false )

Posted: 2007-11-29 02:08:41
by Grin
нет не замарачивались, проблема была только с подъемом на разные этажи.

Posted: 2007-11-29 04:42:41
by admir
по поводу функции патфанд в клиенте там нету 3 параметра z и прецижона и времени как в изи уо сделано ?
а то действительно проблемы возникали чар пытается убежать на 2 этаж , когда объект на 1 стоит ..


модернизировал пару функций ..

findid($)
Параметр - ИД
результат Массив(x,y,z)

Пример :
@coord=findid("0x00012332");

Code: Select all

sub findid($){
my($i,$j,@a);
for ($i=uo::getx()-20;$i<=uo::getx()+20;$i++){
  for ($j=uo::gety()-20;$j<=uo::gety()+20;$j++){
    @a=findidtile($i,$j,$_[0]);
    if ($a[0]>0){
   return $i,$j,$a[2];
    }
  }
}
return 0;
}

sub findidtile($$$){
  my($a);
   foreach $a (@{tile($_[0], $_[1])}){
      if (${$a}[1] == hex($_[2])) {

         return @{$a};
      }
   }
   return 0;
}


заметил что в изи уо не обязательно чтоб была включена опция патфайнд...

Posted: 2007-11-29 11:09:47
by Grin
то что видел я имет только 2 параметра, как бы сказать это функция идет перед вызовом самого файндера.

По этому для желающих больше экстрима была реализована команда трейс, все ты спрашивал там есть, осталось только идти куда сказано;)

поповоду поиска было бы не плоо чуть код упростить, а так возможностей куча;)