Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Новичкам (http://mangos.ytdb.ru/forumdisplay.php?f=40)
-   -   нпс и обход препятствий (http://mangos.ytdb.ru/showthread.php?t=1236)

Arafrael 25.05.2010 10:56

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

Everheit 25.05.2010 11:23

да. на старых форумах (то ли на аглийском, то ли на русском, не помню) видел подобную тему
http://ru-mangos.ru/showthread.php?t=156 почитай тут

Konctantin 25.05.2010 11:30

http://getmangos.com/community/showt...57-mmaps-redux

KiriX 25.05.2010 11:57

Цитата:

Сообщение от Konctantin (Сообщение 7257)

А сам тестировал? Как оно?

Konctantin 25.05.2010 13:37

Собирал, заходил, да действительно мобы оббегают препятствия.
Только вот ммапсы у меня генерировались больше 2х суток.

KiriX 25.05.2010 15:13

Цитата:

Сообщение от Konctantin (Сообщение 7263)
Собирал, заходил, да действительно мобы оббегают препятствия.
Только вот ммапсы у меня генерировались больше 2х суток.

Ага... Значит, там нужно извлекать карты... Много они весят?

Konctantin 25.05.2010 16:07

весят не много (2 или 3 гб), а извлекаются очень долго

извлекал с помощью батники следующего содержания
http://paste2.org/p/850662

LordJZ 25.05.2010 16:13

Цитата:

Сообщение от Konctantin (Сообщение 7281)
весят не много (2 или 3 гб), а извлекаются очень долго

извлекал с помощью батники следующего содержания
http://paste2.org/p/850662

Классный батник. Кто его писал?

YuruY 25.05.2010 16:21

Цитата:

Кто его писал?
Теоретически - чистый математик. =)

Deamon 25.05.2010 16:29

Цитата:

Сообщение от LordJZ (Сообщение 7284)
Классный батник. Кто его писал?

Цикл for в C++

PS: хорошо, что ползователи начали называть вещи своими именами. Уже не встретишь мозговзрывных фраз на подобие "у меня на сервере не работают текстуры"

Konctantin 25.05.2010 16:32

Я писал, чтоб не парится:
Код:

using (StreamWriter sw = new StreamWriter("mmaps_convert.bat", false, Encoding.ASCII))
{
        foreach (var str in Directory.GetFiles("maps", "*.map"))
        {
                sw.WriteLine("generator.exe {0} {1} {2}", str.Substring(5, 3), str.Substring(8, 2), str.Substring(10, 2));
        }
}

Если кто-то бы написал подобное на бат, было бы прикольно посмотреть, а так как смог

LordJZ 25.05.2010 16:37

Черт, я искренне думал что это вручную сделано, и номера - это чанки из wdt :(

Deamon 25.05.2010 16:41

Цитата:

Сообщение от LordJZ (Сообщение 7289)
Черт, я искренне думал что это вручную сделано, и номера - это чанки из wdt :(

Будто бы сделать такую утилитку - это нечто запредельно сложное... :)

Konctantin 25.05.2010 19:34

насколько я понимаю, то сейчас faramir118 хочет переписать конвертер, чтобы он использовал vmap3, и продолжить разработку на основе этого.
Основными преимуществами использования vmap3 является поддержка обработки wmo.

KiriX 25.05.2010 21:26

Вообще - клёвая вещь. Во всяком случае на ютубе то что выложено выглядит очень впечатляюще...
Но мне пока искренне лень мучится с извлечением карт =)

YuruY 25.05.2010 21:39

Открою тайну? Там косяков в системе куча. ;)

Konctantin 25.05.2010 21:45

Ну косяки косяками, а ведь работает, основной косяк в том, что он как крокодил жрет ресурсы ЦП. Остальное нормально.

MaxXx2021 27.05.2010 05:20

Цитата:

Сообщение от YuruY (Сообщение 7313)
Открою тайну? Там косяков в системе куча. ;)

Красота и Правильность работы требует жертв :) Если бы автор также думал а не стремился к лудшему то он бы забил уже на это!

wedmak 30.05.2010 02:15

Цитата:

Сообщение от MaxXx2021 (Сообщение 7380)
Красота и Правильность работы требует жертв :) Если бы автор также думал а не стремился к лудшему то он бы забил уже на это!

да на самом деле красиво Youtube

Konctantin 30.05.2010 09:11

то старое видео, вот поновее http://www.youtube.com/watch?v=Vm3Fo1Pfed4

MaxXx2021 31.05.2010 05:14

Цитата:

Сообщение от Konctantin (Сообщение 7645)
то старое видео, вот поновее http://www.youtube.com/watch?v=Vm3Fo1Pfed4

Блин вчера пробовал сгенерировать данные карты. Скомпилил ядро. Скомпилил генератор. Извлек maps и vmaps. Скинул их в D:/server/generate прописал этот путь в коняиг генератора. Запускаю он грузит первые 4 карты потом крашит. Не могу сгенерировать. Он на какую версию предназначет? Вроде ядро само на 3.3.3 но карты не генерирует :)

Konctantin 31.05.2010 08:30

Цитата:

Запускаю он грузит первые 4 карты потом крашит.
Пропустите их, и конвертируйте дальше, батник просто циклически запускает генератор с нужными параметрами (видимо поймал что-то ненужное)

MaxXx2021 01.06.2010 05:23

Цитата:

Сообщение от Konctantin (Сообщение 7707)
Пропустите их, и конвертируйте дальше, батник просто циклически запускает генератор с нужными параметрами (видимо поймал что-то ненужное)

Вы меня не много не так поняли параметр подходит нормально. Вот примерно что мне пишет дебаг. Для первого параметра без остальных запускаю генератор только с
generator.exe 000 20 35
Код:

Create Grid For Map 000 20 35
Load Map 000 20 35
Load Map 000 21 35
Load Map 000 20 36
Load Map 000 21 36

все потом программе Зибель Шнейбер.

Konctantin 01.06.2010 10:04

я вас правильно понял, вот и говорю, пропустить надо, а вообще-то я ступил, надо было сделать проверку мап файла, если он "совсем маленький", тогда не экстактить с него параметр, а пропустить.

MaxXx2021 01.06.2010 10:42

Цитата:

Сообщение от Konctantin (Сообщение 7770)
я вас правильно понял, вот и говорю, пропустить надо, а вообще-то я ступил, надо было сделать проверку мап файла, если он "совсем маленький", тогда не экстактить с него параметр, а пропустить.

Те сильно мелкие карты пропускать? Можете показать как вы генерировали?

Konctantin 01.06.2010 10:53

http://ru-mangos.ru/showpost.php?p=7288&postcount=11

MaxXx2021 01.06.2010 10:58

Цитата:

Сообщение от Konctantin (Сообщение 7776)

Простите за нубский вопрос куда это вставлять. Если мои глаза не изменяют мне то это код. =)))

Konctantin 01.06.2010 11:23

Вложений: 1
Во вложении скомпилированный файл
Я не знаю какой размер "пустых" карт, поэтому сами введете в програмке это число.
Код:

using System;
using System.Linq;
using System.Text;
using System.IO;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Введите размер файла (в байтах) которые надо пропустить: ");
            int size = int.Parse(Console.ReadLine());

            using (StreamWriter sw = new StreamWriter("mmaps_convert.bat", false, Encoding.ASCII))
            {
                foreach (var file in new DirectoryInfo("maps").GetFiles("*.map").Where(n => (n.Length > size)))
                {
                    string str = String.Format("generator.exe {0} {1} {2}", file.Name.Substring(0, 3), file.Name.Substring(3, 2), file.Name.Substring(5, 2));
                    sw.WriteLine(str);
                    Console.WriteLine(str);
                }
            }

            Console.ReadLine();
        }
    }
}



Текущее время: 17:44. Часовой пояс GMT +3.

ru-mangos.ru - Русское сообщество MaNGOS