XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Карты и проекты
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
TiM
Старичок
offline
Опыт: 8,594
Активность:
MMORPG на движке WarCraft
О проекте

Всё что вам нужно: иметь Win XP/Windows Vista и варкрафт версий:
1.20b до 1.21b. Сразу говорю, что версия 1.22 не поддерживается!
Отсюда http://217.174.104.187/mmorpg/
Регистрируемся, создаем героя, бегаем по миру. Чем больше пройдет времени с этого момента, тем больше функций появится в этой карте-игре.
Чтобы побольше узнать о проекте, рекомендуется прочитать весь этот пост:


Старый пост, от 17сентября 2007г

Цитата:

Немного о карте


Наткнулся на статью Алексея ''War III изнутри''. И понял, что совсем близко нам сделать самый большой проект по WarCraft III за всю его историю. Можеть быть, вы сейчас думаете, что я еще один выдумщик, который что-то придумал, и на самом деле я придумал туфту, но это не так.

Итак, идея в том, чтобы сделать из WarCraft самый настоящий MMORPG. Это становится реальным, если нам удастся с помощью внешней программы управлять некоторыми процессами в игре.
А точнее - нам хотя бы нужно читать и записывать в переменные необходимые данные для их выполнения.

Выглядеть это будет очень просто: пользователь запускает программу. Жмет: "Enter the world" и запускается WarCraft III. Прога (клиент) отправляет на сервер запрос: "какую карту загружать?", на что сервер отсылает название карты (прим:"256"), где остановился герой. Прога проверяет есть ли такая карта, или нет (это не так важно) и говорит игре запустить карту "256". Карта загружена, игрок в мире. Куда он ни пойдет - прога обо всем докладывает серверу. И в тоже время сервер сообщает о любых действиях обычных игроков. Где они, куда пошли. Если наш пользователь пишет что-нибудь в чат, например: "Привет всем!", то это заносится в переменную в игре => наш клиент считывает переменную, и отправляет это на сервер => сервер получает информацию и раздает это всем игрокам, находящимся на этой же карте => другие клиенты получают сообщение "Привет всем!", и заносят это в переменную => игра обрабатывает эту информацию и над игроком, стоящим поблизости появляется сообщение: "Привет всем!".

Что для всего этого нужно:
  • Сервер
  • Клиент
  • Возможность управления игрой клиентом.
  • Команда умелых и соображающих картостроителей
Первые два пункта я могу и хочу взять на себя. А вот с пунктом №3 я разобраться немогу, т.к. у меня нет Delphi и я в нем не шарю.
Картостроители нужны непосредственно для создания мира и его начинки.

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

Характеристики


Плюсы
  • Возможность в любой момент сыграть по мультиплееру
  • Переходя с карты на карту вы все-еще будете играть со знакомым.
  • Карты можно менять сколько угодно, и делать сколь угодно новые, игрок сможет попасть на любую!
  • Совсем реально будет хостить не один проект, а несколько сервером. Тобишь игроки с одного клиента могут поиграть в разные кампании.
  • Игрок не сможет написать коды на деньги, здоровье и т.п. Ведь за всем следит сервер. При подозрении в читах, игрок будет возвращаться в какую-нибудь исходную позицию, или вообще вылетать из игры.
  • Несколько картостроителей смогут работать над одним проектом, быстро тестировать в мультиплеере. Ведь всё что нужно будет: используя свои права, спонтанно позвать кого-нибудь в пока-еще несуществующую локацию.
  • Можно будет с верху быстро просмотреть карту. Программа-клиент будет улавливать нажатие кнопки M и покажет карту сверху. Какие-то карты можно избавлять от данной функции. Например подземелья. Или вообще можно сделать систему, которая будет показывать только куски карты, где побывал игрок. Это тоже вполне реально.
Минусы
  • Придется использовать стороннюю программу
  • Возможные проблемки с трафиком. Ведь придется закачивать карты при переходе с локации на локацию.


Собственно треть работы уже сделана. Осталось только сделать на данный момент:
1) Систему инвентаря
2) Систему боя
3) Систему заклинаний
4) Магазины
5) Квесты

После этого можно будет праздновать победу :) !
Цитата:
Сообщение от ScorpioT1000
Отвечаю на вопросы!
1. Почему сбивает закачку? - Потому. Залил, качайте с вебфайла!
2. Как запускать?
ВЫПОЛНЯЕМ:
  1. Качаем клиент
  2. Отключаем антивирь или добавляем файл в исключения
  3. Создаем ярлык для клиента, открываем свойства, в поле "Объект" дописываем " -unpack C:\Wc3MMORPG\" (с пробелом, без кавычек, в пути пишем любой путь тока с конечной папкой для файлов)
  4. Запускаем ярлык. После распаковки закрываем папку.
  5. Удаляем ярлык
  6. Запускаем клиент, жмем register пишем никнейм, почту, жмем ок. Далее сохраняем пароль, жмем назад
  7. Вводим данные и интер ворлд.
  8. Создаем игрока с именем в начале test
  9. Жмем начать игру
» Если игра НЕ запустилась

и контроль завис более 30 сек, то жмем ctrl+alt+del, закрываем диспетчер, запускаем из РАСПАКОВАННОЙ директории(када жали ярлык) RtcLauncher.
Если игра не запустилась, задаем директорию ему на карту(она находится все в этой же распакованной папке/maps) Жмем Launch.

(при этом лаунчер wc3mmorpg должен оставаться открытым)

» Если игра запустилась НО в главном меню!
Тогда перезапусти комп и попробуй запустить игру снова с пункта G.


Внимание! На 1.22 гримора не идет =)

ScorpioT1000 добавил:

Зарегай нового с новым мылом. А если не можешь - смени IP и зарегай нового(перезагрузи модем/подключение)
Спасибо, ScorpioT1000

Отредактировано TiM, 05.09.2008 в 17:45.
Старый 05.09.2007, 18:48
Sailar

offline
Опыт: 8,555
Активность:
У тебя нечё неполучиться. Надо минимум 3ех таких же програмистов как Алексей для написания такой проги, притом редко кто сейчас в дельфи работает восновном си++, все програмисты должны будут владеть одним и тем же языком ... Им предстоит декомпелировать движок вара для получения некоторых переменных. Да и я сомневаюсь что этот лимит на переменных построенн. Там скорее всего созданны свои функции. Это часть движка прогами необойтись факт.
Старый 05.09.2007, 19:37
XFaNT
Злобный Модер
offline
Опыт: 4,328
Активность:
Как я понял, вы хотите сделать следующее.
Создаём карту. Пишем много всяких триггеров и т.п.
Потом загружаем карту через клиент в сингл плеере. Загружается наш герой.
Вместо других игроков загружаются боты через записанные в карте триггеры, но переменные в эти триггеры вставляются с сервера.
Если какой-то игрок отдаёт герою приказ скажем идти то клиент передаёт на сервер инфу о точке приказа типе приказа и герое, который этот приказ получил. Сервер отсылает эту инфу другим игрокам и у них на карте соответствующий бот производит соответствующие действия.
Так?
Если да то думаю что это реально... правда стараться надо будет долго...
Старый 05.09.2007, 19:44
Sailar

offline
Опыт: 8,555
Активность:
Ну только так:): значит я плохо прочёл. Тогда всё возможно но сильные програмисты будут нужны.
Старый 05.09.2007, 19:52
XFaNT
Злобный Модер
offline
Опыт: 4,328
Активность:
KLAUD в движог лезть и ненадо. Единственное что будет приходить из вне -- это переменные. Хотя хз, я лицензионное соглашение не читал =). Тем не мение нужен вердикт програмистов, можно ли из вне пихать переменные в варик... Ну или на крайняк, каким способом это проверить.
А всё остальное -- дело техники.
Старый 05.09.2007, 19:54
XFaNT
Злобный Модер
offline
Опыт: 4,328
Активность:
DeathBringer с чего это будет лагать? От того что несколько переменных будут часто меняться?
Старый 05.09.2007, 20:02
Sailar

offline
Опыт: 8,555
Активность:
Конфликт движка и проги необойти, лаги будут.
Старый 05.09.2007, 20:12
Toadcop

offline
Опыт: 54,313
Активность:
ясно что всё бред =) НО !
Цитата:
Игрок не сможет написать коды на деньги, здоровье итп
xD для этого не надо никакого внешнего вмешательтсива...
Цитата:
демонстрируются безграничные возможности при использовании внешней проги, которая координально расширяет границы варкрафта.


афтору лет 15 и он аццкий мечтатель который прочёл крутую статью и решил нас всех наказать !

вообщем смотря твои расуждения ты вообще не шариш как и что реализовать. =\ короче вообщем желаю много удачи =). и я гарантирую что нехрена нормального у тебя не выйдет =) это просто факт когда планируют хрен знает что не зная как это делать. + много мапмейкеров малолетки которые узнали что у вара есть редактор. и при каких либо проблем начинают пенется и с ними нехрена не сделать. много народа == куча трабла 0 работы. забудь ! люди эгоистические быдла которые пытаютьса сделать как можно себе удобней ! (конечно есть и не такие НО ИХ ОООЧЕЕЕЕННЬЬЬЬЬЬ МАЛО !) вообщем если бы было видно что ты серьёзно что то написал то бы реакция могла быть чуть иной =) т.е. ты бы не вешал лапшу науши и не представлял что теоритетичсеи человек может улететь в физическом корабле на юпитер.


вы вообще не шарите что надо будет делать.... это напоследок =)
Старый 05.09.2007, 20:15
XFaNT
Злобный Модер
offline
Опыт: 4,328
Активность:
Ну тогда придётся делать отсеивающую и накопительную систему, чтобы в карту не поступала лишняя инфа, а нужная как нибудь шифровалась, а потом дешифровалась триггерами в карте.

XFaNT добавил:
Toadcop раз ты у нас такой мегатру умнег, может ты нам скажешь что надо будет делать?
Да и не суди о людях по себе... это на последок.
Старый 05.09.2007, 20:20
XFaNT
Злобный Модер
offline
Опыт: 4,328
Активность:
Toadcop а можно последнее ещё раз только человеческим языком. Да и кстати насчёт кодов на деньги. Клиент будет считывать всё что пишет игок, а информация о состоянии его счёта будет храниться на сервере --> когда он вводит например: greedisgood 1000000 то с сервера приходит команда : установить прежние значения золоту и лесу игрока.
Старый 05.09.2007, 20:26
TiM
Старичок
offline
Опыт: 8,594
Активность:
Цитата:
Сообщение от XFaNT
Как я понял, вы хотите сделать следующее.

Создаём карту. Пишем много всяких триггеров и т.п.

Потом загружаем карту через клиент в сингл плеере. Загружается наш герой.

Вместо других игроков загружаются боты через записанные в карте триггеры, но переменные в эти триггеры вставляются с сервера.

Если какой-то игрок отдаёт герою приказ скажем идти то клиент передаёт на сервер инфу о точке приказа типе приказа и герое, который этот приказ получил. Сервер отсылает эту инфу другим игрокам и у них на карте соответствующий бот производит соответствующие действия.

Так?
Если да то думаю что это реально... правда стараться надо будет долго...

Именно. Обмен сервера и клиента я беру на себя. Нужно только помочь нам сделать прогу для копания в варке.
Старый 05.09.2007, 20:31
Sailar

offline
Опыт: 8,555
Активность:
Мне просто интересно как это с эмулировать. В движке отведина роль кампании зделаны специальные функции для этого. Т.е прога должна будет блокировать эти функции чтобы начили работать функции проги или как? Это к таким лагам приведёт а возможно вабще работать небудит. Уж проще заного движок написать. А переменые. К сожеленью я нуб в програмирование и непонимаю как без декампилирования узнать имя и коды переменных.
Старый 05.09.2007, 20:37
TiM
Старичок
offline
Опыт: 8,594
Активность:
Цитата:
Сообщение от Toadcop
ясно что всё бред =) НО ! xD для этого не надо никакого внешнего вмешательтсива...


афтору лет 15 и он аццкий мечтатель который прочёл крутую статью и решил нас всех наказать !

вообщем смотря твои расуждения ты вообще не шариш как и что реализовать. =\ короче вообщем желаю много удачи =). и я гарантирую что нехрена нормального у тебя не выйдет =) это просто факт когда планируют хрен знает что не зная как это делать. + много мапмейкеров малолетки которые узнали что у вара есть редактор. и при каких либо проблем начинают пенется и с ними нехрена не сделать. много народа == куча трабла 0 работы. забудь ! люди эгоистические быдла которые пытаютьса сделать как можно себе удобней ! (конечно есть и не такие НО ИХ ОООЧЕЕЕЕННЬЬЬЬЬЬ МАЛО !) вообщем если бы было видно что ты серьёзно что то написал то бы реакция могла быть чуть иной =) т.е. ты бы не вешал лапшу науши и не представлял что теоритетичсеи человек может улететь в физическом корабле на юпитер.


вы вообще не шарите что надо будет делать.... это напоследок =)

Ну вообще-то по моему мнению я всё правильно расписал.
если бы было видно что ты серьёзно что то написал - представлюсь: Quad.Tims., скриптер ботов лиги QDL в батл.нете по доте, а скоро будет по-другому называться.
Далее я написал норм. прогу для игроков в варкрафт(правда только для юзеров лиги) - QDL_Client (652kb). вот здесь ты вкратце можешь прочитать о возможностях проги, которая в частности палит мапхак, и имеет прямую связь с каналом в батл.нете. www.etuva.ru/tim/QDL/client.html .
Так-же я создатель первого GGC-Бота, после чего нам дали комнатку там, [Europe] => QUAD Dota. И хотел бы узнать: что именно у нас неполучится?
Куча мапмейкеров-имеется ввиду не все желающие, а отборные, кого посоветуют люди, которым я доверяю. Естественно, перед любой публикацией карты она будет согласована несколькими мейкерами. Да и не об этом речь.

Речь о том, что нужно завладеть СТРОКОВОЙ переменной в варкрафте.
Про надежную передачу данных: метод шифрования будет md5. И не беспокойся об этом, я знаю как достаточно хорошо защитить код от взлома. Еще претензии есть?

TiM добавил:
KLAUD http://xgm.guru/forum/showthread.php?t=3783
Старый 05.09.2007, 20:51
TiM
Старичок
offline
Опыт: 8,594
Активность:
Обычная РПГ-шка, в которой будут стоять крипы итд итп. Возможно вар3 будет невыдерживать, если на одной карте будет стоять человек 10-20. Но мы можем просто сделать несколько таких "карт", тем самым огородить десятку одних игроков от других.

Продолжу:
Обычная РПГ-шка, в которой будут стоять крипы, и нужно будет только бегать по карте. В добавок нагрузки: будет триггер, который будет проверять: пришла ли какая-то НОВАЯ инфа, тобишь переменная не пустая? Если пустая, то триггер игнорит. Если непустая, то будет обрабатывать эту строчку до тех пор, пока она не кончится. например переменная у нас стала такой(пришла инфа):
createunit:Type,Player,Hp,Mana|giveexp:Hero,Player,Count|UnitOrder:Unit,Order,Pa rameter1(мб пустой),Parameter2(мб пустой)
Разделителями будут служить например вот-такие палочки |, так-что триггер читает всё до этой палочки, и выполняет дейсвтвие, потом переменная "сократилась", и стала уже не
createunit:Type,Player,Hp,Mana|giveexp:Hero,Player,Count|UnitOrder:Unit,Order,Pa rameter1(мб пустой),Parameter2(мб пустой)
а
giveexp:Hero,Player,Count|UnitOrder:Unit,Order,Parameter1(мб пустой),Parameter2(мб пустой)
И триггер идет дальше. Всё, что нужно будет,это выполнять действие, которой придется искать по определенному списку, после чего будет идти запуск функции. Если ты думаешь, что будет лагать от запуска функции CreateUnit, то ты ошибаешься.
Конечно, я могу ошибаться, что данные действия не перегрузят игроков. Но разве этот проект не стоит того, чтобы попробовать?
Старый 05.09.2007, 21:07
JesusHipster
Иисус Хипстос
offline
Опыт: 35,547
Активность:
TiM а ВО ВРЕМЯ "проверки "
Старый 05.09.2007, 21:19
Sailar

offline
Опыт: 8,555
Активность:
Недочитал но нужное нашол, но этого маловато, если. А вобще конечно проэкт того стоет и если у вас по фантастическому стичению обстоятельств всё получиться гиганский распект вам обеспечен. Можно видь и так карт без кампании. И внешнию прогу попробовать написать чтобы герой мог периходить с карты на карту в обычном режиме а не кампании это немного реальнее.
Старый 05.09.2007, 21:35
Reaver
I am Олдфаг!
offline
Опыт: 3,426
Активность:
Проблема в другом... Где найдётся столько рабочей силы, которая будет делать модели, иконки и.т.п?
Старый 05.09.2007, 21:37
TiM
Старичок
offline
Опыт: 8,594
Активность:
Разве это нужно немедленно? Модели иконки итп будут делать по мере роста проекта. А расти он будет во все стороны,если всё получится.

Toadcop раз ты написал про "ты 15ти летний..", то смею предположить, что тебе 16лет. И кончай п.деть, а говори объективно, что ты считаешь ненужным. А иначе ты от балабола ничем не отличаешься.
Старый 05.09.2007, 21:57
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
TiM, тоадкоп имеет явно достаточно скилла чтобы объективно оценить реализуемость подобного.
От себя могу сказать, что все упрется в управленческую деятельность/организацию-организованность команды. Наберешь цех программеров - всех организуешь, поставишь четкие задачи, вот иогда будет видно что все это не очередной "мегапрожект" © Q
Лично я только за то чтобы что-то подобное осуществялось, так что удачи. Только правильно оцените свои возможности и проглядите кунсткамеру - видите сколько сусаниных брали поводья в руки? делайте выводы. Удачи в начинаниях
Старый 05.09.2007, 22:09
Trok-Ferot
Silenced by Trok-Ferot
offline
Опыт: 80,259
Активность:
TiM, оформи тему в соответствии с правилами раздела.

Toadcop, полегче с выражениями.

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

Вот если проект начнёт реально буксовать - тогда сколько угодно.
Старый 06.09.2007, 00:05
Закрытая тема

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

Расширенный поиск

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

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 03:57.