Ru-MaNGOS  

Вернуться   Ru-MaNGOS > Дополнения > Скрипты

Важная информация

Скрипты ScriptDev2

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.04.2010, 21:07   #1
MuTaToR
Новичок
 
Регистрация: 08.03.2010
Сообщений: 26
Сказал(а) спасибо: 7
Поблагодарили 1 раз в 1 сообщении
MuTaToR На верном пути
По умолчанию Равномерное передвижение NPC

как сделать чтоб равномерно передвигался.
Код:
        m_creature->GetMap()->CreatureRelocation(m_creature, -5087, -11253, 0.5, m_creature->GetOrientation());
        m_creature->SendMonsterMove(-5087,-11253, 0.5, 0, 0, 1500);
с начало бежит быстро, а подходя ближе к точке замедляется.
MuTaToR вне форума   Ответить с цитированием
Старый 17.04.2010, 12:05   #2
PSZ
Ученый
 
Регистрация: 07.03.2010
Сообщений: 138
Сказал(а) спасибо: 200
Поблагодарили 143 раз(а) в 49 сообщениях
PSZ Обладатель прекрасной аурыPSZ Обладатель прекрасной ауры
По умолчанию

Зачем хаки использовать, если есть MovePoint()?
PSZ вне форума   Ответить с цитированием
Старый 17.04.2010, 12:33   #3
MuTaToR
Новичок
 
Регистрация: 08.03.2010
Сообщений: 26
Сказал(а) спасибо: 7
Поблагодарили 1 раз в 1 сообщении
MuTaToR На верном пути
По умолчанию

когда спрашивал мне указали на эти 2 функции, и потом я их смотрел в скрипте с иллиданом.
вроде разобрался, спс.

Последний раз редактировалось MuTaToR; 17.04.2010 в 12:53.
MuTaToR вне форума   Ответить с цитированием
Старый 17.04.2010, 12:41   #4
YuruY
YTDB Dev
 
Аватар для YuruY
 
Регистрация: 01.02.2010
Сообщений: 286
Сказал(а) спасибо: 125
Поблагодарили 97 раз(а) в 53 сообщениях
YuruY Скоро придёт к известностиYuruY Скоро придёт к известности
По умолчанию

Цитата:
Сообщение от PSZ Посмотреть сообщение
Зачем хаки использовать, если есть MovePoint()?
А если они группой идут?
__________________
http://ytdb.ru/
http://svn2.assembla.com/svn/ytdbase/
YuruY вне форума   Ответить с цитированием
Старый 17.04.2010, 23:20   #5
PSZ
Ученый
 
Регистрация: 07.03.2010
Сообщений: 138
Сказал(а) спасибо: 200
Поблагодарили 143 раз(а) в 49 сообщениях
PSZ Обладатель прекрасной аурыPSZ Обладатель прекрасной ауры
По умолчанию

А какая разница? Ну всем MovePoint(). Или одному MovePoint, остальным - MoveChase(). Тут уже надо конкретные задачи рассматривать.
PSZ вне форума   Ответить с цитированием
Старый 23.04.2010, 21:00   #6
MuTaToR
Новичок
 
Регистрация: 08.03.2010
Сообщений: 26
Сказал(а) спасибо: 7
Поблагодарили 1 раз в 1 сообщении
MuTaToR На верном пути
По умолчанию

А не подскажите где тут ошибка? он проходит только в 1 точку, а во 2 не хочет...
Код:
        if(MoveTime < uiDiff)
        {
            switch(MovePoint)
            {
                case 0:
                    m_creature->GetMotionMaster()->MovePoint(0, -5095.5, -11249.5, 1);
                    MoveTime = 8700;
                    MovePoint++;
                    break;
                case 1:
                    m_creature->GetMotionMaster()->MovePoint(0, -5089.5, -11253, 1);
                    MoveTime = 63000;
                    MovePoint++;
                    break;
во втором MovePoint точку вместо нуля ставил 1, не помогает.
Это может быть из-за того что функция и переменная с одинаковым именем? Мне кажется что не из-за этого.

Последний раз редактировалось MuTaToR; 23.04.2010 в 21:08. Причина: дополненил
MuTaToR вне форума   Ответить с цитированием
Старый 23.04.2010, 21:20   #7
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 57
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Курим маны на предмет MovementInform, грузим все точки сразу и двигаем моба по траектории. Или если ты хочешь заставить работать свою конструкцию, лови ручками приход его в точку 0, кидай ->GetMotionMaster()->MovementExpired() и только после этого давай следующую точку 0, а то она для него так и остается непройденной...
rsa вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
MuTaToR (23.04.2010)
Старый 23.04.2010, 21:21   #8
YuruY
YTDB Dev
 
Аватар для YuruY
 
Регистрация: 01.02.2010
Сообщений: 286
Сказал(а) спасибо: 125
Поблагодарили 97 раз(а) в 53 сообщениях
YuruY Скоро придёт к известностиYuruY Скоро придёт к известности
По умолчанию

В тринити реализовано, ест таблица для этого "creature_formations", но в точке разворота группы косяк, не заметен игрокам, но разрабам виден.
__________________
http://ytdb.ru/
http://svn2.assembla.com/svn/ytdbase/
YuruY вне форума   Ответить с цитированием
Старый 03.08.2010, 23:40   #9
Lordronn
Умный
 
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
Lordronn Скоро придёт к известности
По умолчанию

Код:
MovePoint++;
на
Код:
++MovePoint;
Lordronn вне форума   Ответить с цитированием
Старый 04.08.2010, 17:28   #10
nuclear
Новичок
 
Регистрация: 07.03.2010
Сообщений: 7
Сказал(а) спасибо: 13
Поблагодарили 1 раз в 1 сообщении
nuclear На верном пути
По умолчанию

Разница какая?
nuclear вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
KiriX (05.08.2010)
Старый 04.08.2010, 17:41   #11
MangMan
Новичок
 
Аватар для MangMan
 
Регистрация: 24.03.2010
Сообщений: 25
Сказал(а) спасибо: 11
Поблагодарили 14 раз(а) в 7 сообщениях
Записей в дневнике: 6
MangMan На верном пути
По умолчанию

Код:
i++
сперва использозуется значение и, потом увеличивается значение (постинкремент). Операция с переменной
Код:
++i
сперва увеличивается значение, потом используется. Это будет копия результата операции с переменной
MangMan вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
tempura (21.08.2010)
Старый 04.08.2010, 18:33   #12
nuclear
Новичок
 
Регистрация: 07.03.2010
Сообщений: 7
Сказал(а) спасибо: 13
Поблагодарили 1 раз в 1 сообщении
nuclear На верном пути
По умолчанию

Я знаю. Тут разница какая? Но пусть ответит Lordronn
nuclear вне форума   Ответить с цитированием
Старый 05.08.2010, 07:09   #13
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 57
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Ничего он не ответит. Бред потому что
rsa вне форума   Ответить с цитированием
Старый 05.08.2010, 07:15   #14
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Не бред, пре-инкрементация работает быстрее, чем пост-инкрементация.
LordJZ вне форума   Ответить с цитированием
Старый 05.08.2010, 12:12   #15
KiriX
Умный
Старожил
 
Аватар для KiriX
 
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 431 раз(а) в 181 сообщениях
Записей в дневнике: 4
KiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человек
По умолчанию

Цитата:
Сообщение от LordJZ Посмотреть сообщение
Не бред, пре-инкрементация работает быстрее, чем пост-инкрементация.
Возможно, но в данном случае ничего принципиально не меняет.
KiriX вне форума   Ответить с цитированием
Старый 05.08.2010, 12:13   #16
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 57
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от LordJZ Посмотреть сообщение
Не бред, пре-инкрементация работает быстрее, чем пост-инкрементация.
может посчитаешь количество микросекунд экономии с учетом что счетчик щелкнет 3-5 раз всего?
rsa вне форума   Ответить с цитированием
Старый 05.08.2010, 12:20   #17
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 465
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

Цитата:
Сообщение от LordJZ Посмотреть сообщение
Не бред, пре-инкрементация работает быстрее, чем пост-инкрементация.
теоритически - да. на практике нет никакой разницы в современных компиляторах. они давно уже умеют оптимизировать эти участки кода.
RomanRom2 вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



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


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot