Как сделать кастомное кол-во игроков и команд?

Captain_Pan

Пользователь
20 Авг 2015
21
0
1. делаю кастомку по barebones не могу изменить кол-во команд и игроков.(пробовал и в addoninfo и в settings). Такое чувство, что компилятор просто игнорит эти строчки.
2. При запуске карты в левом верхнем углу появляется текст с ошибками:

Script Runtime Error: scripts/vscripts/utils/vscriptinit.lua:115: assertion failed!
stack traceback:
[C]: in function 'assert'
scripts/vscripts/utils/vscriptinit.lua:115: in function 'Dynamic_Wrap'
scripts/vscripts/barebones.lua:128: in function 'InitGameMode'
...dota_addons\defense\scripts\vscripts\addon_game_mode.lua:92: in function <...dota_addons\defense\scripts\vscripts\addon_game_mode.lua:90>
 
Последнее редактирование модератором:
[quote author=Captain_Pan link=topic=258.msg1388#msg1388 date=1440106888]
1. делаю кастомку по barebones не могу изменить кол-во команд и игроков.(пробовал и в addoninfo и в settings). Такое чувство, что компилятор просто игнорит эти строчки.
2. При запуске карты в левом верхнем углу появляется текст с ошибками:

Script Runtime Error: scripts/vscripts/utils/vscriptinit.lua:115: assertion failed!
stack traceback:
[C]: in function 'assert'
scripts/vscripts/utils/vscriptinit.lua:115: in function 'Dynamic_Wrap'
scripts/vscripts/barebones.lua:128: in function 'InitGameMode'
...dota_addons\defense\scripts\vscripts\addon_game_mode.lua:92: in function <...dota_addons\defense\scripts\vscripts\addon_game_mode.lua:90>
[/quote]
Во-1, забудь про ошибки внутри игры, смотри консоль на наличие ошибок в скриптах, она выдает подробно.
Во-2, заливаешь ошибку, залей и соответствующий код функции(с пометкой где ошибочка).
И лично мой совет, делай не по баребонс а по оверсроу, баребонс косячный до самой ... .-.
 
Последнее редактирование модератором:
И лично мой совет, делай не по баребонс а по оверсроу, баребонс косячный до самой ... .-.
В BAREBONES редко бывают косяки, там все по делу, плюс чувак, который их делает (BMD) разбирается в модах лучше, чем все СНГ моддеры вместе взятые. Как правило, большинство косяков - следствие неправильного использования.
 
Последнее редактирование модератором:
В BAREBONES редко бывают косяки, там все по делу, плюс чувак, который их делает (BMD) разбирается в модах лучше, чем все СНГ моддеры вместе взятые. Как правило, большинство косяков - следствие неправильного использования.
Баребонс переопределяют стандартные функции от валв. И BMD конечно хорош, но это не делает его код безошибочным. И про все снг модеров не говори, ты не знаешь их всех(да и звучало очень по политически, мол в снг одно говно, а в других странах всех хорошо). А переопределение рабочих функций от валв ведет к непредвиденным последствиям. Узко смотришь, друг.
 
Последнее редактирование модератором:
Мне действительно нужно говорить чем может обернуться переопределение стандартных функций? Несоответствие api? Отсутствие некоторых параметров?
 
Последнее редактирование модератором:
Мне действительно нужно говорить чем может обернуться переопределение стандартных функций? Несоответствие api? Отсутствие некоторых параметров?
Мне просто интересно, что там такого сделал БМД, что могло вызвать подобное мнение:
баребонс косячный до самой ...
 
Последнее редактирование модератором:
Мне просто интеренсо, что там такого сделал БМД, что могло вызвать подобное мнение:
Просто по ходу работы с ним вылетали очень неприятны ошибки, вроде креша игры к чертям, долго пытался понять в чем проблема, нашел ее в переопределенной подфункции для InitGameMode. Конечно все правится со временем, но тем не менее, косяки и там есть. Гораздо удобнее накосячить сделать самому, что бы потом не искать дофига времени чужой баг.
 
Последнее редактирование модератором:
Последнее редактирование модератором:
[quote author=doter.ua link=topic=258.msg1434#msg1434 date=1440665843]
Нельзя просто так взять написать БМД: "слышь ты, у тебя там баги кароч, где - не скажу, давай исправляй!"
Скинь линк из гитхаба https://github.com/bmddota/barebones на метод с "несоответствием параметров".
[/quote]
Тот баг был уже исправлен (прошедшее время в предложении?). И копаться сейчас на наличие других багов мне как то не особо хочется. Хочешь - используй баребонс, не хочешь - нет.
 
Последнее редактирование модератором:
Тот баг был уже исправлен (прошедшее время в предложении?). И копаться сейчас на наличие других багов мне как то не особо хочется. Хочешь - используй баребонс, не хочешь - нет.
Т.е ты не можешь назвать ни одного актуального бага, и тем не менее, агитируешь не использовать barebones, у которого плюсов намного больше, чем минусов. Думаю продолжать диалог нет смысла.
 
Последнее редактирование модератором:
Т.е ты не можешь назвать ни одного актуального бага, и тем не менее, агитируешь не использовать barebones, у которого плюсов намного больше, чем минусов. Думаю продолжать диалог нет смысла.
Поклоняйся дальше бездумно BMD, если так хочешь.
Насчет плюсов кстати, они не особо покрывают огромные затраты памяти на лишние действия. На основе баребонс делать попусту глупо, те же баги, те же прожиратели памяти. Удобство для кодера может и есть, но стоит ли ради этого использовать в десятки раз больше памяти чем на самом деле требуется, это под вопросом.
ps. Говорю и агитирую что хочу, если мне кажется что это поможет не наткнутся на глупые ошибки других разработчиков, я скажу это.Странное вообще то поведение, тебя адвокатом наняли?
 
Последнее редактирование модератором:
Ясно. Критическое мышление нам не знакомо.
Почитай свои комментарии, перед тем, как делать писать подобные высказывания. За весь диалог ты не привел ни одного примера с кодом, только отговорки и безосновательные выводы:
1) А переопределение рабочих функций от валв ведет к непредвиденным последствиям.
2) Мне действительно нужно говорить чем может обернуться переопределение стандартных функций?
3) Несоответствие api? Отсутствие некоторых параметров?
4) Куда подробнее о.О?

Действительно, куда еще подробнее..

5) Насчет плюсов кстати, они не особо покрывают огромные затраты памяти на лишние действия. ... "прожиратели памяти."

Специально для тебя:
Код:
----------------------------------  Overthrow
[ VScript       ]: LUA Memory usage: The VM has a usage of 3,145,728 bytes.
-------------------------------------- barebones
[ VScript       ]: LUA Memory usage: The VM has a usage of 4,194,304 bytes.
Я не знаю откуда ты берешь инфу, но 1 МБ сложно назвать "огромными затратами памяти".
Не доверяешь "адвокату БМД"? хорошо, вот проекты использующие barebones:
Angel Arena, DotaCraft, PetriReborn, Reflex и другие.
По поводу петров, которые топ3-топ4 стабильно (при том что первые два места всегда за картами от вольво). Так у них в гите есть интересная запись в разделе благодарностей
eed726db02bb096a5b794fe1aad8d05f.png

В ЖНА используются библиотеки от БМД: для физики и Таймеры, и то это скорее в силу их олдфажности, т.к. во время их создания barebons был менее распространен. Так же очень популярна его либа projectiles для снарядов. Нельзя не упомянуть свежие animations и notifications, последней вообще цены нет.
Но скорее всего это не весомые аргументы для такого профессионала, как CryDeS, известного своими модами, эм.. напомни-ка что ты изобрел? Ну да ладно.. известного своими высказываниями про "критическое мышление", "пожирателей памяти", "непредвиденные последствия от переопределения" и т.д.
 
Последнее редактирование модератором:
Я не говорил что я професионал, я не говорил что bmd плох, я сказал что использовать баребонс как основу плохая идея. Прекрати искать в этих словах другой смысл.
Там где 1 мб, там и 2, где два там и 4. Ангел арену даже картой назвать сложно, там куча кривого кода(хотя в моем моде так же, но это не суть).
И действительно, я сейчас же приведу тебе код ошибки которая возникла 2 недели назад, которую я уже выпилил к чертям как и весь баребонс. Сейчас, мгновенно схожу в прошлое и покажу тебе, как весомому человеку которому я собираюсь что то доказывать. Пусть люди используют баребонс и говорят что хотят, и что теперь?
И таки да, у тебя ненормальная реакция на мнения не похожие на твои. Хочешь навязать кому то баребонс? Навязывай, но не мне.
Я не афиширую ни один из своих модов и не пытаюсь пиарится, в мои моды играют те кто в них играют. И черт побери, эти игры в топе порты с варкрафта, что тут новаторского они изобрели? Новую доту?
Частью критического мышления является отсутствие необходимости доказывать кому то, что то, как и умение принимать другие мнения.
И почему, скажи мне, ты подумал что я как то плохо отношусь к самому BMD? Я не сказал про него ничего плохого, он отличный кодер, другое дело что он делает вещи которые не особо одобряются программистами в мире вообще.
И как то странно, что ты переходишь на личности. Узко смотришь, очень узко.
Если ты не работал в крупных проектах где какой то умник умудрился в одной из библиотек переопределить стандартную функцию вывода не подумав внести это в общий api проекта, то пожалуйста не нужно тут свои доводы нести про то какой баребонс хороший, а какой я такой сякой и плохой.
А про память, ее нужно экономить всегда, абсолютно, иначе может выходить боком для других людей, иногда лишнее использование памяти в конкретном случае можно использовать, но для общих случаев как баребонс использовать много памяти не есть хорошо. Все тесты не прогнать, и все баги не выловить. Вообще больше ничего не пишу, про твой уровень программирования уже все стало понятно еще по твоему заявлению что процедурный стиль программирования - быдлокод.
 
Последнее редактирование модератором:
Во всей истории фигурирует только 1 ошибка, которая, как ты говоришь давно исправлена. Так почему же одна ошибка делает "баребонс косячным до самой ... ". Может отказаться от всех программ, где есть хотя бы одна ошибка? т.е. вообще не пользоваться компьютером.
Когда оставляешь подобные призывы, нужно их четко аргументировать. Будет досадно, если много людей пройдет мимо этого мода и будут изобретать свои костыли и велосипеды. А все потому, что какой-то чувак однажды сгорел от трудноуловимого (для него) бага и решил оставить свой "гневный" коммент.
 
Последнее редактирование модератором:
Ребят, вы от темы отошли немного ))


Парень, что создавал темку, вот тебе ответ, до которого я тоже сам недавно долго шел:

Решил свой вопрос на следующий день, но забыл отписаться:

Итак, хвала богам и тем, кто разместил пример holdout_example в примерах в мастерской: не сумев составить такой запрос, что выкинул бы меня на нужный мне материал (я уверен, он где-то есть в инете) я обратил внимание на примеры в само мастерской. Держа кулаки я молился и проглядывал один пример за другим, пока не нашел тот, в котором была доступна игра лишь за силы света. Мои познания в языках программирования поспособствовали мне в 50% понимании скрипта addon_game_mode.lua данного мода и я вынес от туда для себя вот эти две строчки:

Код:
 GameRules:SetCustomGameTeamMaxPlayers( DOTA_TEAM_GOODGUYS, 5 )
  GameRules:SetCustomGameTeamMaxPlayers( DOTA_TEAM_BADGUYS, 0 )

После некоторого времени и танцев с бубном, я все таки сумел реализовать их в addon_game_mode.lua для своего режима, хоть и не так красиво, как это было в примере.


Пихаешь эти строчки в "function GameMode:InitGameMode()" в addon_game_mode.lua и все работает.
А если хочешь затем и сделать ограничение на количество искомых людей для игры уже непосредственно в самом стиме, когда игру выложишь, то тебе надо в addoninfo.txt прописать:

"AddonInfo"
{
"TeamCount" "1"
"maps" "invasion"
"IsPlayable" "1"
"invasion"
{
"MaxPlayers" "5"
}
}
 
Последнее редактирование модератором:
Реклама: