
Injection + Perl
Moderators: Murderator+, Murderator
-
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
У меня всё работает! Пачфаенд в настройках УО включи... 

Last edited by DerMeister =) on 2006-05-09 14:35:37, edited 1 time in total.
DerMeister сейчас на нейрале!
-
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
.:NiK:. wrote:Der wrote:У меня всё работает! Пачфаенд в настройках УО включи...
он включен
а на работу say или wait он тоже чтоль влияет ?
Say чего? say(",buy asd") или say("asd")

ЗЫ: И ваще-то тут написано, что есть официальный форум этого проекта: http://pinject.darkuo.ru/forum/index.php Там всё написано (даже отдельная тема для пачфайнда есть)

DerMeister сейчас на нейрале!
-
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
Ник делается все просто проверяем работают ли утебя uo::print и uo::say если нет тогда будем думать...
Никаких настроек кроме скачиванияи настройки перла ничего больше ненадо... положить конфиг файл к клиенту и все...
Поповодупатч файдинга... я его неписал и не я его варганил...
я просто нашел где эта функция лежит в клиенте и дал вам возмодность ее напрямую вызывать, изначально у функции всего 2 параметра, это экраные координатыв пикселях...
я нехитрым образом перевожу их в мировые... по этому и относительные координаты..
Выковырял уже более серьездную штуку на которой основан сам паффайд там уже более сурьездные параметры... ходите по готовому пути... там 100% вероятность чтовы придете туда куда надо...
Никаких настроек кроме скачиванияи настройки перла ничего больше ненадо... положить конфиг файл к клиенту и все...
Поповодупатч файдинга... я его неписал и не я его варганил...
я просто нашел где эта функция лежит в клиенте и дал вам возмодность ее напрямую вызывать, изначально у функции всего 2 параметра, это экраные координатыв пикселях...
я нехитрым образом перевожу их в мировые... по этому и относительные координаты..
Выковырял уже более серьездную штуку на которой основан сам паффайд там уже более сурьездные параметры... ходите по готовому пути... там 100% вероятность чтовы придете туда куда надо...
-
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
Grin wrote:Поповодупатч файдинга... я его неписал и не я его варганил...
я просто нашел где эта функция лежит в клиенте и дал вам возмодность ее напрямую вызывать, изначально у функции всего 2 параметра, это экраные координатыв пикселях...
я нехитрым образом перевожу их в мировые... по этому и относительные координаты..
Выковырял уже более серьездную штуку на которой основан сам паффайд там уже более сурьездные параметры... ходите по готовому пути... там 100% вероятность чтовы придете туда куда надо...
Тоесть получается, что если в команде &pathfind добавить параметр "точность подхода к цели", то это будет уже не тот самый пачфаенд, что в УО зашит, а нечто, что использует часть кода пачфаенда для поиска пути, да? (вобщем как я понял к вшитому в УО пачфаенду не так уж просто прилепить точность подхода) =(
И еще вопрос: вот например я хочу узнать могу ли я подойти к цели (подходить не нужно, только узнать можно или нет) могу ли я использовать такую конструкцию:
Code: Select all
if &pathfind(dx,dy) {
}
Или нужно через &trace(...)?? Хотя я не понимаю как этой командой пользоватся так как не понимаю вот это:
Функция возвращает ССЫЛКУ на двумерный масив...
DerMeister сейчас на нейрале!
-
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
Edred wrote:Сделали бы еще возможность включения патчфайнда в настройках клиента (и выключения соответственно) из скрипта...
http://pinject.darkuo.ru/forum/viewtopic.php?t=31 почаще заглядывай

DerMeister сейчас на нейрале!
для pathfind можно организовать вы ставление флага только потому что это1параметр а не десяток...
Поповоду можно ли пройти. Совершенно верно надо использовать трейс. Ссылку в перле можно сравнить с указатлем в любом другом языке... То есть мы не получаем в свое распореждение сам объек а получаем его адрес... после чего мы можем обратится к самому объекту через его адрес. На перле это на зывается refference как бы это не моя капризнасть а достоинство языка... Небуду пережеслеть преимущество указателей, простопочитай синтаксис перла.
а длякраткости
@a=@{trace($startx, $starty, $startz, $endx, $endy, $endz, 500, $prec)};
в @a будет уже реальный масив (двухмерный)
Дальше если число элементов(scalar(@a)) даного масива равна 0 то следовательно путь не найден...
Поповоду можно ли пройти. Совершенно верно надо использовать трейс. Ссылку в перле можно сравнить с указатлем в любом другом языке... То есть мы не получаем в свое распореждение сам объек а получаем его адрес... после чего мы можем обратится к самому объекту через его адрес. На перле это на зывается refference как бы это не моя капризнасть а достоинство языка... Небуду пережеслеть преимущество указателей, простопочитай синтаксис перла.
а длякраткости
@a=@{trace($startx, $starty, $startz, $endx, $endy, $endz, 500, $prec)};
в @a будет уже реальный масив (двухмерный)
Дальше если число элементов(scalar(@a)) даного масива равна 0 то следовательно путь не найден...
-
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
Grin wrote:Эда тут толком ничего и не пишется;) пишет всего пара людей;)
Если бы еще пара людей из всех которызх используют это все мне бы писали о найденых багах все было бы намного быстрей...
На почве проверок приходится играть в уо;)
Grin, у меня,например, сейчас сессия на носу, курсовик еще не защитил... Времени нету перл начать изучать (уже давно 3 здоровенные книжки у отца взял, но времени нету). А тупо переводить скрипты из обычного формата в перловый без осознания того, что делаешь не правильно и не интересно...
DerMeister сейчас на нейрале!
Grin wrote:Эда тут толком ничего и не пишется;) пишет всего пара людей;)
Все дело в том, что этот скриптовый модуль опоздал на пару лет. Два года назад тут было достаточно много пишущих скрипты, да и Йоко хоть как-то обновлял инжект, а счас из всех, кто тогда на форуме был, остался Савадж и я. Не знаю насчет Саваджа, а я уже год как не играю и скрипты новые не пишу. А если и начну играть снова, то, быстрее всего, это будет РанУО, последний клиент и ИзиУО. Тем более что на Изе я как раз года полтора назад и начал писать скрипты.
А беда инжекта - в несовременности. У него нет поддержки новых клиентов, а значит он устаревает с каждым днем и популярность его будет только падать. Когда я играл еще на пилоте и начинал присматриваться к инжекту, существовало три больших форума по инжекту, и этот был только одним из них. Остальные два уже давно почили в бозе. Да и этот покоцан сильно и лишь бледная тень прошлого форума.
Поэтому, вполне возможно, ваш скриптовый модуль и очень хорош, но нет ему применения. Я вообще здесь давно не вижу никого, кто хотел бы писать скрипты под инжект. Почти никого. 1-2 человека погоды не делают.
Больше всего посетителей (180) здесь было Сб Дек 25, 2004 12:16 pm
Вот когда ваш скриптовый модуль был бы востребован...

а до 2.0 еще не скоро + латания...
Кто знает может Ёкыч выложит исходники (по исковой давности;)))...
Да и много чего в скриптовом модуле можно сделать что бы восполнить инжект.
Сейчас есть механзм работы с тайлами... и я считаю что он на много быстрей чкем все остальное что есть...
пара примеров по ново ведению
пример использования tile
в данном примере реализован privategettile
gettile(x, y, type_start, type_end)
возвращает масив если тип в координатах х у встречается в диапозоне type_start type_end
Массив содержит: тип, ИД, координата Z.
Пример использования list
Масив заполнится именами скриптов.
Пример использования state
Остоновит скрипт с именем foo.
пример использования tile
Code: Select all
sub gettile($$$$){
foreach $a (@{tile($_[0], $_[1])}){
if (${$a}[0]>=$_[2] && ${$a}[0]<=$_[3]){
return @{$a};
}
}
return 0;
}
в данном примере реализован privategettile
gettile(x, y, type_start, type_end)
возвращает масив если тип в координатах х у встречается в диапозоне type_start type_end
Массив содержит: тип, ИД, координата Z.
Пример использования list
Code: Select all
@script=split(/\n/, list);
Масив заполнится именами скриптов.
Пример использования state
Code: Select all
state('foo', 0);
Остоновит скрипт с именем foo.
Grin wrote:
Пример использования listCode: Select all
@script=split(/\n/, list);
Масив заполнится именами скриптов.
Непонял
