Сообщения без ответов | Активные темы Текущее время: Вс янв 22, 2017 12:36 am



Ответить на тему  [ Сообщений: 37 ]  На страницу 1, 2, 3, 4  След.
GPS функционал 
Автор Сообщение
Администратор
Аватар пользователя

Зарегистрирован: Пн янв 12, 2015 2:58 pm
Сообщений: 1076
Сообщение GPS функционал
Короче наконец-то закончил свой GPS третья бета уже доступна:
Изображение
Список изменений\Функционал:
    Трансляция координат, правка координатной сетки
    Автоматическая загрузка карты в зависимости от координат
    Загрузка базы SQlite
    Отрисовка точек и путей из базы
    Оптимизация отображения, улучшение качества картинки (Bilinear фильтр)
    Загрузка подземных карт, изменение уровня
    Первая бета 24.03.2016
    Сохранение настроек
    Изменение цветовой гаммы для лучшей видимости
    Улучшение интерфейса для удобства
    Добавлены поля для фильтрации\изменения точек иправлены мелкие ошибки
    Вторая бета 27.03.2016
    Добавлен Help на 2х языках
    Добавлена поддержка бота (отображение текущих координат, запись маршрута, добавление точек НПЦ)
    Добавлено добавление точек из скриптов в базу
    Исправлены ошибки чтения\записи из базы бота
    Третья Бета 29.03.2016
    Добавлена поддержка 8к Карт, улучшено отображение на больших мониторах, мониторах с большим разрешенем
    Добавлено увеличение до 16х
    Добавлена возможность восстановить базу (при выходе)
    Первый релиз 31.03.2016

Небольшая справка: есть на моем сайте

Скрипт для перемещения уже по готовой базе:
viewtopic.php?p=25522#p25522

Вам понадобится пустая сама база:
Вложение:
path.7z [1.76 KiB]
Скачиваний: 4713

Скрипт для передачи данных в GPS.
https://yadi.sk/d/oIFi68G1333Xzu

А вот тут, я отвечал на вопросы страждущих, возможно найдете там ответы.
viewtopic.php?f=6&t=4170

_________________

Мой Сайт, Тут есть все скрипты: 1-85, Заточка, Аугмент и много чего другого
skype: live:ivanius51
вопросы по СКРИПТАМ, не программированию - БЕСПЛАТНО!



Сб янв 09, 2016 4:19 am
Профиль WWW
Куда я попал
Аватар пользователя

Зарегистрирован: Вс авг 23, 2015 8:12 pm
Сообщений: 62
Откуда: Москва
Сообщение Re: GPS функционал
IvaniuS писал(а):
Вот сделал для Вас скрипт для записи маршрута...

Спасибо!

_________________
Viva la Robolution!


Сб янв 09, 2016 4:54 am
Профиль WWW
Куда я попал
Аватар пользователя

Зарегистрирован: Вт дек 30, 2014 12:27 pm
Сообщений: 36
Откуда: Москва
Сообщение Re: GPS функционал
IvaniuS писал(а):
Вот сделал для Вас скрипт для записи маршрута - генерирует код SQl запоросов, который можно в любом редакторе выполнить.
Начальную точку нужно указывать в первом поле, конечную (связанную) можно вписывать вручную или генерировать автоматически (НА СЛЕДУЮЩУЮ).
Изображение

Скачать скрипт:
https://yadi.sk/d/x4pfxKOjmkc7R

Скрипт для перемещения уже по готовой базе:
viewtopic.php?p=25522#p25522

Вам понадобится пустая сама база:
Вложение:
path.7z


А вот тут, я отвечал на вопросы страждущих, возможно найдете там ответы.
viewtopic.php?f=6&t=4170

Спасибо. За проделанную работу, и Хороший пример!

_________________
Procedure Nub;
Skype Gika2dll


Сб янв 09, 2016 12:50 pm
Профиль ICQ WWW
Куда я попал
Аватар пользователя

Зарегистрирован: Вс авг 23, 2015 8:12 pm
Сообщений: 62
Откуда: Москва
Сообщение Re: GPS функционал
А как им пользоваться?
Я нажимаю Start и даю персонажу команду двигаться в точку.
Скрипт завершает свою работу со следующей ошибкой:
Код:
Module: "GPSAdd", Line: 235, Message: Format '%s' invalid or incompatible with argument
ScriptRec - Stopped

_________________
Viva la Robolution!


Пн янв 11, 2016 6:24 am
Профиль WWW
Администратор

Зарегистрирован: Вт фев 10, 2015 7:46 am
Сообщений: 12
Сообщение Re: GPS функционал
slightly edited movement recorder from l2shadow forum, no idea why encrypted xD

_________________
Scripting service - krn.l2bot.eu
Skype - lux2ury


Вт янв 12, 2016 12:21 am
Профиль
Куда я попал

Зарегистрирован: Вс дек 27, 2015 6:28 pm
Сообщений: 22
Сообщение Re: GPS функционал
1) Падает сразу после нажатия Start, ошибка такая же как у mece.
2) Настолько суровая разработка с перезаписью MoveTo? Почему closed source то? :)


Вт янв 12, 2016 12:47 am
Профиль
Куда я попал
Аватар пользователя

Зарегистрирован: Вс авг 23, 2015 8:12 pm
Сообщений: 62
Откуда: Москва
Сообщение Re: GPS функционал
Сегодня утром, пока бот еще работал, написал свой вариант:
Код:
unit Pathfinder;

interface

uses SysUtils, Classes;

function MoveTo( X, Y : Integer ) : Boolean;
function GpsMoveTo(x, y, z: integer): boolean;  // GPS движение
procedure RecordPath(p: pointer);

type
TPoint = packed record
   X: Integer;
   Y: Integer;
   Z: Integer;
end;

PPoint = ^TPoint;

TRange = packed record
   X : Integer;
   Y : Integer;
   Z : Integer;
   Range : Cardinal;
   ZRange : Cardinal;
end;

const
Cedric : TRange = ( X : -72018; Y : 258963;   Z : -3141; Range : 5000; ZRange : 5000 );

function UserInRange( Range : TRange ) : Boolean;
function GetMyLocation : string;

implementation

function UserInRange( Range : TRange ) : Boolean;
var
   Loaction : string;
begin
   Result := User.InRange(Range.X, Range.Y, Range.Z, Range.Range, Range.ZRange);
end;

function GetMyLocation : string;
begin
   Result := 'Unknown Location';
   if UserInRange(Cedric) then begin Result := 'Cedric Training Hall'; exit; end;
end;

function GetLastId( SQL : TStringList ) : Integer;
var
   Start, Finish, Last : Integer;
   Str : string;
begin
   Result := -1;
   Start := 0;
   Last := SQL.Count;
   while Last > 0 do
   begin
      Dec(Last);
      if Pos('Point',SQL[Last]) <> 0 then
      begin
         Start := Pos('VALUES (',SQL[Last]);   
         break;
      end;
   end;
   if Start = 0 then exit;
   Start := Start + Length('VALUES (');
   Str := Copy(SQL[Last], Start, Length(SQL[Last]));
   Finish := Pos(',',Str) - 1;
   Str := Copy(SQL[Last], Start, Finish);
   Result := StrToInt(Str);
end;

procedure RecordPath(p: pointer);
var
   SQL : TStringList;
   FileName, PointName : string;
   PointLast, PointNew : PPoint;
   IdLast, IdNew, Radius : Integer;
   FistRecord : Boolean;
begin
   FileName := './sql.txt';
   SQL := TStringList.Create;
   New(PointLast);
   New(PointNew);
   PointLast.X := 0;
   PointLast.Y := 0;   
   PointLast.Z := 0;   
   Radius := 250;
   IdLast := -1;
   FistRecord := true;
   if FileExists(FileName) then
   begin
      SQL.LoadFromFile(FileName);
      IdLast := GetLastId(SQL);
   end;
   IdNew := IdLast + 1;
   while Engine.Status = lsOnline do
   begin
      PointNew.X := User.ToX;
      PointNew.Y := User.ToY;   
      PointNew.Z := User.ToZ;   
      if (PointNew.X <> PointLast.X) or (PointNew.Y <> PointLast.Y) or (PointNew.Z <> PointLast.Z)  then
      begin
         PointName := GetMyLocation;
         SQL.Add('INSERT INTO Point (id,x,y,z,name,radius) VALUES ('+ IntToStr(IdNew) +','+ IntToStr(PointNew.X) + ',' + IntToStr(PointNew.Y) + ',' + IntToStr(PointNew.Z) + ',''' + PointName + ''',' + IntToStr(Radius) + ');');
         if not FistRecord then
            SQL.Add('INSERT INTO Link (start_point_id,End_point_id, one_way) VALUES ('+ IntToStr(IdLast) +','+ IntToStr(IdNew) +',0);');
         SQL.SaveToFile(FileName);
         PointLast.X := PointNew.X;
         PointLast.Y := PointNew.Y;
         PointLast.Z := PointNew.Z;   
         IdLast := IdNew;   
         Inc(IdNew);
         FistRecord := false;
      end;   
   end;
   Dispose(PointLast);
   Dispose(PointNew);
   Sql.Free;
end;

function MoveTo( X, Y : Integer ) : Boolean;
var
  j: Integer;
  Point: PPoint;
  PathList : TList;
  Path : TList;
begin
  PathList := TList.Create;
  Path := TList.Create;
  if not Engine.FindPath(User.X, User.Y, X, Y, PathList) then
    Print('Path not found.');
  j := 0;
  while j < PathList.Count do           
    begin
      New(Point);                                                         
      Point.X := Integer(PathList[j]);
      Point.Y := Integer(PathList[j+1]);
      Path.Add(Point);
      j := j + 2;
    end;
  for j := 0 to Path.Count - 1 do
    begin                                                                                   
      Point := PPoint(Path[j]);
      Print(IntToStr(Point.X) + ' ' + IntToStr(Point.Y));
      Engine.MoveTo(Point.X, Point.Y, User.Z);
      Dispose(Point);
    end;
  PathList.Free;
  Path.Free;
  end;
 
function GpsMoveTo(x, y, z: integer): boolean;  // GPS движение
var dist: integer;  i: integer;
begin
  dist:= trunc(GPS.GetPath((user.x), (user.y), (user.z), (x), (y), (z)));
  engine.msg('[GpsMoveTo]',format('Mowing to the point %d (x=%d y=%d z=%d), distance: %d m',[i,x,y,z,dist]), 4210752);
  if (GPS.count > 0) then
  begin
    for i:= 0 to GPS.count-1 do
    begin
      if not Engine.MoveTo(trunc(GPS.items(i).x), trunc(GPS.items(i).y), trunc(GPS.items(i).z)) then
      begin
        engine.msg('[GpsMoveTo]',format('Error while moving to № %d : (%d, %d, %d)',[i,trunc(GPS.items(i).x), trunc(GPS.items(i).y), trunc(GPS.items(i).z)]), 222);
        result:= false;
        break;
      end;
    end;
      result:= Engine.MoveTo(x, y, z) or (user.distto(x, y, z) < 150);
  end
  else engine.msg('[GpsMoveTo]','Path not found.', 128);
end;
 
end.

Код:
uses PathFinder;

begin
  Script.NewThread(@PathFinder.RecordPath);
  Gps.LoadBase('.\path.db3');
  //Pathfinder.GpsMoveTo( 115422, -178190, -928 );
end.

_________________
Viva la Robolution!


Вт янв 12, 2016 12:52 am
Профиль WWW
Администратор
Аватар пользователя

Зарегистрирован: Пн янв 12, 2015 2:58 pm
Сообщений: 1076
Сообщение Re: GPS функционал
Скачать - https://yadi.sk/d/WLVGfrx5qbkcx
Отзывы и ошибки пишем тут, сделал максимально удобно.

Изображение

_________________

Мой Сайт, Тут есть все скрипты: 1-85, Заточка, Аугмент и много чего другого
skype: live:ivanius51
вопросы по СКРИПТАМ, не программированию - БЕСПЛАТНО!



Ср мар 30, 2016 10:00 pm
Профиль WWW
Флудер
Аватар пользователя

Зарегистрирован: Чт авг 27, 2015 6:03 pm
Сообщений: 100
Сообщение Re: GPS функционал
Перезалей плз.

Цитата:
Ничего не найдено
Возможно, владелец удалил файлы или закрыл к ним доступ.
А может быть, вам досталась ссылка с опечаткой.


Чт мар 31, 2016 1:18 am
Профиль ICQ
Администратор
Аватар пользователя

Зарегистрирован: Пн янв 12, 2015 2:58 pm
Сообщений: 1076
Сообщение Re: GPS функционал
https://yadi.sk/d/gVPN8TnVqcEdh
Там скрипт для подхвата общения бота с программой, пустая база + джпс

_________________

Мой Сайт, Тут есть все скрипты: 1-85, Заточка, Аугмент и много чего другого
skype: live:ivanius51
вопросы по СКРИПТАМ, не программированию - БЕСПЛАТНО!



Чт мар 31, 2016 6:10 am
Профиль WWW
Показать сообщения за:  Сортировать по:  
Ответить на тему   [ Сообщений: 37 ]  На страницу 1, 2, 3, 4  След.

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Разработано: g-yar.
Русская поддержка phpBB