Ru-MaNGOS

Вернуться   Ru-MaNGOS > Документация > Новичкам

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

Новичкам Информация для всех новичков, новичкам рекомендуется задавать свои вопросы здесь

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.06.2012, 17:16   #1
Jank
Гость
 
Сообщений: n/a
По умолчанию Описание кода MaNGOS

Добрый день! Хотелось бы узнать полное описание кода ядра. Все что там было использовано, некоторое понятно, но все же хочется знать все. Гугля я наткнулся вот сюда. http://old.ru-mangos.ru/mangos.ru/fo....html?p=265544 , да скачать не получилось. Если у кого-то остался тот файл или другой источник, исчерпывающе описывающий код ядра, буду очень признателен. Перевод на русский не обязателен.
  Ответить с цитированием
Старый 10.06.2012, 18:12   #2
Den
Ученый
 
Регистрация: 10.03.2010
Адрес: Бобруйск
Сообщений: 284
Сказал(а) спасибо: 213
Поблагодарили 98 раз(а) в 84 сообщениях
Den Скоро придёт к известностиDen Скоро придёт к известности
По умолчанию

Цитата:
Сообщение от Jank Посмотреть сообщение
Хотелось бы узнать полное описание кода ядра.
Такого в природе не существует, или как это там называется, перевод языка на разговорный, классно наверное, только кому это надо? Хороший код с нужными комментариями, эх.... Этим нужно было заниматься, с самого начала, а так комментарии кое-какие есть:
Код:
return SPELL_CAST_OK; // cast ok
Так вам такое вот описание нужно ?
Den вне форума   Ответить с цитированием
Старый 10.06.2012, 18:17   #3
Jank
Гость
 
Сообщений: n/a
По умолчанию

Код:
return SPELL_CAST_OK; // cast ok
Так вам такое вот описание нужно ?[/QUOTE]

Почти. Вот на пример:

pCaster - вроде это тот, кто что-то кастует, в данном случаи по приставке p я предположил что игрок.(разбирался сам, если что поправьте).

CastSpell - Произнесение заклинания.

Вот полный пример:

pCaster->CastSpell(pCreatureTarget, SPELL_SUMMON_HAISHULUD, true)

Игрок произносит заклинание(появляется кто-то, сам кто-то, а вот это я не понял).
  Ответить с цитированием
Старый 10.06.2012, 18:21   #4
Den
Ученый
 
Регистрация: 10.03.2010
Адрес: Бобруйск
Сообщений: 284
Сказал(а) спасибо: 213
Поблагодарили 98 раз(а) в 84 сообщениях
Den Скоро придёт к известностиDen Скоро придёт к известности
По умолчанию

Цитата:
Сообщение от Jank Посмотреть сообщение
pCaster - вроде это тот, кто что-то кастует, в данном случаи по приставке p я предположил что игрок.(разбирался сам, если что
Не правильно вы поняли.
Префикс p обозначает указатель.
Den вне форума   Ответить с цитированием
Старый 10.06.2012, 18:25   #5
Jank
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от Den Посмотреть сообщение
Не правильно вы поняли.
Префикс p обозначает указатель.
Спасибо, а так все остальное правильно понял?
  Ответить с цитированием
Старый 10.06.2012, 18:43   #6
Jank
Гость
 
Сообщений: n/a
По умолчанию

Код:
if (uiEffIndex == EFFECT_INDEX_2)
Код:
switch(urand(0,2))
Код:
pCreatureTarget->ForcedDespawn()
Код:
Creature* pMatureBoneSifter = pCaster->SummonCreature(NPC_MATURE_BONE_SIFTER, pCreatureTarget->GetPositionX(), pCreatureTarget->GetPositionY(), pCreatureTarget->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000
(то что выделено красным)
Что это обозначает?
  Ответить с цитированием
Старый 10.06.2012, 18:56   #7
Den
Ученый
 
Регистрация: 10.03.2010
Адрес: Бобруйск
Сообщений: 284
Сказал(а) спасибо: 213
Поблагодарили 98 раз(а) в 84 сообщениях
Den Скоро придёт к известностиDen Скоро придёт к известности
По умолчанию

0.0f - точно не помню код надо глянуть, вроде в какую сторону будет направлен.
TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT - тип суммона.
30000 - на какое время.

О, оказывается у этой функции-члена класса WorldObject, есть еще и 8-й аргумент bool asActiveObject = false, он инициализирован по умолчанию, во как.

Последний раз редактировалось Den; 10.06.2012 в 19:00.
Den вне форума   Ответить с цитированием
Старый 11.06.2012, 09:19   #8
Jank
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от Den Посмотреть сообщение
0.0f - точно не помню код надо глянуть, вроде в какую сторону будет направлен.
TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT - тип суммона.
30000 - на какое время.

О, оказывается у этой функции-члена класса WorldObject, есть еще и 8-й аргумент bool asActiveObject = false, он инициализирован по умолчанию, во как.
Так, если переводить с буржуйского, то
Код:
TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT
Вне боя, так?

И так что насчет моей проблемы? Где найти вот такие описания функций?
И еще 3 верхних кода, забыл красным выделить)
Какие параметры для них и тд?

Последний раз редактировалось Jank; 11.06.2012 в 13:20.
  Ответить с цитированием
Старый 11.06.2012, 10:37   #9
BloodWarrior
Ученый
 
Аватар для BloodWarrior
 
Регистрация: 08.05.2010
Адрес: Новокузнецк
Сообщений: 141
Сказал(а) спасибо: 32
Поблагодарили 21 раз(а) в 9 сообщениях
BloodWarrior На верном пути
По умолчанию

Курим правила
__________________
MZero - z1686 SDZero - z0354 - 17.05.2011
BloodWarrior вне форума   Ответить с цитированием
Старый 11.06.2012, 11:13   #10
Jank
Гость
 
Сообщений: n/a
По умолчанию

Все, убрал ссылку. Помогите пожалуйста, очень нужно!

Последний раз редактировалось Jank; 11.06.2012 в 13:08.
  Ответить с цитированием
Старый 13.06.2012, 08:51   #11
KiriX
Умный
Старожил
 
Аватар для KiriX
 
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
KiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человек
По умолчанию

Цитата:
Сообщение от Jank Посмотреть сообщение
Код:
if (uiEffIndex == EFFECT_INDEX_2)
Код:
switch(urand(0,2))
Код:
pCreatureTarget->ForcedDespawn()
Код:
Creature* pMatureBoneSifter = pCaster->SummonCreature(NPC_MATURE_BONE_SIFTER, pCreatureTarget->GetPositionX(), pCreatureTarget->GetPositionY(), pCreatureTarget->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000
(то что выделено красным)
Что это обозначает?
1) Если тип эффекта (uiEffIndex) равен значению EFFECT_INDEX_2 обрабатываемого спелла, то...
2) Перебор (switch) значений. В данному случае в switch попадает случайное значение от 0 до 2 (urand(0,2)). Потом в case выполняется действие, если urand(0,2) оказался равен значению, которое указано в case.
3) Деспавн существа. В данном случае цели обрабатываемого объекта.
4) Тебе уже объяснили.
Странные вопросы, если ты хорошо понимаешь "буржуйский"...
Цитата:
Сообщение от Jank Посмотреть сообщение
Так, если переводить с буржуйского, то
Код:
TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT
Вне боя, так?
И так что насчет моей проблемы? Где найти вот такие описания функций?
И еще 3 верхних кода, забыл красным выделить)
Какие параметры для них и тд?
1) Не совсем так - как тебе уже сказали - тип призываемого существа, в данном случае - призванное существо, время жизни которого равно опред значению, но только в том случае, если существо вне боя. Т.е. у нас указано (например) 30000 мс - это означает, что если после призыва существо будет заходится вне боя более 30000 мс - оно деспавнится. Если же будет в бою, спокойно может существовать более 30000 мс. По выходу из боя таймер начинается с нуля.
2) Описания нигде не найдёшь. В принципе, в мангосе все объекты названы очень логично, знаешь инглишь - поймёшь. Юзай VisualStudio. Встретил непонятную функцию - правой кнопкой по ней - перейти к определению - там уже смотришь сам код (но, думаю, для тебя это будет сложновато, если ты код и так не особо понимаешь, но иного варианта нет...). И вообще VisualStudio даёт очень много подсказок: написал объект, пытаешься вызвать его свойство/метод - студия сразу подсказывает все возможные варианты. Там уже по смыслу подбираешь то, что нужно.
3) Ответил.
4) Ну вроде как тоже ответил

P.S: 50% твоих вопросов - азы, основы... Лучше бы тебе книжку почитать по Visual С++... Какую, предвижу вопрос В твоём случае совершенно любую Не бери толстенные тома, возьми самую простенькую, тоненьку, для чайников, только основы. Поймёшь основы - отпадёт 50% вопросов и дальше уже сам решишь, стоит ли углубляться в изучение...
KiriX вне форума   Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разбор кода Спелов partizanes Прочая документация 7 24.01.2012 15:29
расшифровка 16-ричного кода Fedia22 Флудильня 11 21.08.2011 13:28
Где в коде посмотреть описание поле data для item_instance? KiriX Флудильня 9 17.06.2011 18:18
Стандарты написания кода в патчах virusav Прочая документация 15 23.12.2010 09:40
Редактирование кода Klark Корзина 8 31.05.2010 10:39


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


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