Jump to content

Скрипты wow


MerGood

Recommended Posts

Общался недавно с Razgil'ом и он сказал, что ВоВ держится на С++, так вот, если вас не затруднит хотелось бы увидеть кусок какого-нить кода, отвечающего за скилл например, желательно с коментами =)
Link to comment
Share on other sites

единственное общедоступное репо 5.Х.Х + патча написано любителями на делфи, хотелось бы знать на чем бегает пандавовру

trinity или mangos, все остальные форки этих двух(если не считать что тринити форк мангоса)

Link to comment
Share on other sites

хотелось бы увидеть кусок какого-нить кода, отвечающего за скилл например, желательно с коментами =)

 

Основные хар-ки скиллов, такие как имя, описание, урон, эффекты и т.п., находяться в Spell.dbc, который прогружается в ядро, а скриптами уже задаются поверхносные условия, цели срабатывания и др., хотя и скриптом для них можно пропильнуть много всяческих действий.

Link to comment
Share on other sites

Основные хар-ки скиллов, такие как имя, описание, урон, эффекты и т.п., находяться в Spell.dbc, который прогружается в ядро, а скриптами уже задаются поверхносные условия, цели срабатывания и др., хотя и скриптом для них можно пропильнуть много всяческих действий.

И ты тут?!

Link to comment
Share on other sites

единственное общедоступное репо 5.Х.Х + патча написано любителями на делфи, хотелось бы знать на чем бегает пандавовру

 

Тринити. 4.3.4 основа сервера.

Link to comment
Share on other sites

ясн' date=' не малую работку проделали[/quote']

Есть 1 сервер на подобии этого, там делали с 335 основы, но при этом клиент полностью не обновляли до 505, просто ввели облики итемов, обьектов и тд.

Link to comment
Share on other sites

  • 4 weeks later...

Автор, если интересно - вот тебе пример.

 

case EVENT_WARN_BONE_STORM:

_boneSlice = false;

Talk(EMOTE_BONE_STORM);

me->FinishSpell(CURRENT_MELEE_SPELL, false);

DoCast(me, SPELL_BONE_STORM);

events.DelayEvents(3000, EVENT_GROUP_SPECIAL);

events.ScheduleEvent(EVENT_BONE_STORM_BEGIN, 3050);

events.ScheduleEvent(EVENT_WARN_BONE_STORM, urand(90000, 95000));

break;

case EVENT_BONE_STORM_BEGIN:

if (Aura* pStorm = me->GetAura(SPELL_BONE_STORM))

pStorm->SetDuration(int32(_boneStormDuration));

me->SetSpeed(MOVE_RUN, _baseSpeed*3.0f, true);

Talk(SAY_BONE_STORM);

events.ScheduleEvent(EVENT_BONE_STORM_END, _boneStormDuration+1);

// no break here

case EVENT_BONE_STORM_MOVE:

{

events.ScheduleEvent(EVENT_BONE_STORM_MOVE, _boneStormDuration/3);

Unit* unit = SelectTarget(SELECT_TARGET_RANDOM, 0, NonTankTargetSelector(me));

if (!unit)

unit = SelectTarget(SELECT_TARGET_RANDOM, 0, 0.0f, true);

if (unit)

me->GetMotionMaster()->MovePoint(POINT_TARGET_BONESTORM_PLAYER, *unit);

break;

}

case EVENT_BONE_STORM_END:

if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() == POINT_MOTION_TYPE)

me->GetMotionMaster()->MovementExpired();

me->GetMotionMaster()->MoveChase(me->getVictim());

me->SetSpeed(MOVE_RUN, _baseSpeed, true);

events.CancelEvent(EVENT_BONE_STORM_MOVE);

events.ScheduleEvent(EVENT_ENABLE_BONE_SLICE, 10000);

if (!IsHeroic())

events.RescheduleEvent(EVENT_BONE_SPIKE_GRAVEYARD, 15000, EVENT_GROUP_SPECIAL);

break;

 

 

Это кусок кода, который отвечает за каст Вихря Костей у Ребра в ЦЛК.

Link to comment
Share on other sites

Автор, если интересно - вот тебе пример.

 

case EVENT_WARN_BONE_STORM:

_boneSlice = false;

Talk(EMOTE_BONE_STORM);

me->FinishSpell(CURRENT_MELEE_SPELL, false);

DoCast(me, SPELL_BONE_STORM);

events.DelayEvents(3000, EVENT_GROUP_SPECIAL);

events.ScheduleEvent(EVENT_BONE_STORM_BEGIN, 3050);

events.ScheduleEvent(EVENT_WARN_BONE_STORM, urand(90000, 95000));

break;

case EVENT_BONE_STORM_BEGIN:

if (Aura* pStorm = me->GetAura(SPELL_BONE_STORM))

pStorm->SetDuration(int32(_boneStormDuration));

me->SetSpeed(MOVE_RUN, _baseSpeed*3.0f, true);

Talk(SAY_BONE_STORM);

events.ScheduleEvent(EVENT_BONE_STORM_END, _boneStormDuration+1);

// no break here

case EVENT_BONE_STORM_MOVE:

{

events.ScheduleEvent(EVENT_BONE_STORM_MOVE, _boneStormDuration/3);

Unit* unit = SelectTarget(SELECT_TARGET_RANDOM, 0, NonTankTargetSelector(me));

if (!unit)

unit = SelectTarget(SELECT_TARGET_RANDOM, 0, 0.0f, true);

if (unit)

me->GetMotionMaster()->MovePoint(POINT_TARGET_BONESTORM_PLAYER, *unit);

break;

}

case EVENT_BONE_STORM_END:

if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() == POINT_MOTION_TYPE)

me->GetMotionMaster()->MovementExpired();

me->GetMotionMaster()->MoveChase(me->getVictim());

me->SetSpeed(MOVE_RUN, _baseSpeed, true);

events.CancelEvent(EVENT_BONE_STORM_MOVE);

events.ScheduleEvent(EVENT_ENABLE_BONE_SLICE, 10000);

if (!IsHeroic())

events.RescheduleEvent(EVENT_BONE_SPIKE_GRAVEYARD, 15000, EVENT_GROUP_SPECIAL);

break;

 

 

Это кусок кода, который отвечает за каст Вихря Костей у Ребра в ЦЛК.

Офигеть и ты в етом шариш ?? Еще такой вопрос насчет скриптов возможно ли как то взять шаблоны с Оф сервера и втыкнутьв пиратку ??

Link to comment
Share on other sites

Офигеть и ты в етом шариш ?? Еще такой вопрос насчет скриптов возможно ли как то взять шаблоны с Оф сервера и втыкнутьв пиратку ??

Ахах, так ведь и делается)) Ну, не буквально - "взять и втыкнуть", но принцип похожий. Вот только не все запчасти с айфона подходят под "китайфоны", образно говоря))) Иначе на форуме баг-трекер был бы пуст))

  • Like 1
Link to comment
Share on other sites

Asylum, так всё и версталось в основном. Брались сниферы, воровались пакеты и опкоды с офы, после расшифровки и кучи хитрых манипуляций всё это писалось в код. Кстати всем известная чит программа wpe pro - есть снифер.
Link to comment
Share on other sites

  • 1 month later...
  • 4 weeks later...
единственное общедоступное репо 5.Х.Х + патча написано любителями на делфи, хотелось бы знать на чем бегает пандавовру

на данный момент уже есть тк 5.3.0. (сырое, но есть)

https://github.com/EmuDevs

Edited by КреведкО
  • Like 1
Link to comment
Share on other sites

на данный момент уже есть тк 5.3.0. (сырое, но есть)

https://github.com/EmuDevs

Не сравнивайте гавно-паблики с рабочим эмулятором. Никакой нормальный разработчик не станет выкладывать результаты проделанной работы для общего пользования. То, что там лежит - основа для разработки, те кому надо возьмут и наверстают оттуда рабочий сервер, а просто скомпилировав этот код - вы даже, я уверен на 100%, не сможете зайти в игровой мир и тем более вы нигде не найдёте базы под эту ревизию ядра и игровой патч. Только ручками, а для этого нужен мозг, нужно понимание структуры игровых архивов клиента, знание базы данных TrinityCore и знание SQL.

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...
Не сравнивайте гавно-паблики с рабочим эмулятором. Никакой нормальный разработчик не станет выкладывать результаты проделанной работы для общего пользования. То, что там лежит - основа для разработки, те кому надо возьмут и наверстают оттуда рабочий сервер, а просто скомпилировав этот код - вы даже, я уверен на 100%, не сможете зайти в игровой мир и тем более вы нигде не найдёте базы под эту ревизию ядра и игровой патч. Только ручками, а для этого нужен мозг, нужно понимание структуры игровых архивов клиента, знание базы данных TrinityCore и знание SQL.

 

а кто сравнивает? как бы - это(ссылка) была дана с намеком на то, что есть какой-то сырой сырец на основе 4.3.4 от тк, а не только "5.Х.Х + патча написано любителями на с#"

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Who's Online   1 Member, 0 Anonymous, 88 Guests (See full list)

×
×
  • Create New...