Простые вопросы #3

-ExotiC-

Какой-то ноунэйм
Команда форума
11 Авг 2014
498
56
customgames.ru
Для сервера количество юнитов важно только когда они изменяют свое состояние. Активно передвигаются толпой и для каждого нужно рассчитать путь например.
Для клиента это больше про сложность прорисовки моделей и т.д.
Например в LiA, если мне не изменяет память, юнитов тоже достаточно много, и вполне себе играбельно. По крайней мере на своём старом ПК я не помню ни просадок по FPS, ни лоссов, надо перепроверить будет :rolleyes:

Скорее всего только тесты, а так вроде 9 или 90 точно не помню тыс.
Это учитываются деревья и остальные пропы на карте? Или именно npc?
В чём суть вопроса: уже давно хочу реализовать нечто похожее на Rabbits vs Sheeps, написал простенький спавнер, но уже на начальной стадии все эти крипочки ищут путь к персонажу и начинает жутчайше проседать FPS на средненьком компе (i5-10600k + RTX 2060).
 

Дикий Пёс

Друзья CG
28 Июн 2017
411
96
Проект
Petri Reborn
Например в LiA, если мне не изменяет память, юнитов тоже достаточно много, и вполне себе играбельно. По крайней мере на своём старом ПК я не помню ни просадок по FPS, ни лоссов, надо перепроверить будет :rolleyes:


Это учитываются деревья и остальные пропы на карте? Или именно npc?
В чём суть вопроса: уже давно хочу реализовать нечто похожее на Rabbits vs Sheeps, написал простенький спавнер, но уже на начальной стадии все эти крипочки ищут путь к персонажу и начинает жутчайше проседать FPS на средненьком компе (i5-10600k + RTX 2060).
так виталя уже делал пигс вс чикенс.
там вроде не лагало, насколько я помню
 

Greyd1s

Пользователь
19 Авг 2019
22
1
Вопрос следующий, как спавнить что-либо на карте не подключая при этом таймеры из баребонса?... 100% же есть варианты... если у кого-то есть полезная ссылка или кто-то может объяснить, заранее спасибо... При прямом спавне через триггер вылетает карта. не понимаю в чём проблема, возможно в кривых руках...
 

kain

Активный
2 Окт 2015
125
63
steamcommunity.com
Проект
GreenCircleTD
Вопрос следующий, как спавнить что-либо на карте не подключая при этом таймеры из баребонса?... 100% же есть варианты... если у кого-то есть полезная ссылка или кто-то может объяснить, заранее спасибо... При прямом спавне через триггер вылетает карта. не понимаю в чём проблема, возможно в кривых руках...

баребонс это обертка для стандартных возможностей (расширенние функционала) по таймерам в api_dota.

вот события/слушатели, если надо именно хз в какое время выполнять функцию...
 
  • Нравится
Реакции: Greyd1s

Greyd1s

Пользователь
19 Авг 2019
22
1
баребонс это обертка для стандартных возможностей (расширенние функционала) по таймерам в api_dota.

вот события/слушатели, если надо именно хз в какое время выполнять функцию...
Т.е. если например, я хочу спавнить нейтралов (условно), через триггер-бокс, то мне для каждого бокса нужно использовать листнера?... я всё правильно понимаю?... просто не вяжется это с концепциями, которые направленны на оптимизацию (лишь моё мнение, не более того)...
 

Greyd1s

Пользователь
19 Авг 2019
22
1
Просто в InitGameMode ставишь слушателя
И что он должен отслеживать?.. скиньте пример, пожалуйста, вообще не понятно ничего со спавном, отсидел целый день или не спавнит юнита, или падает карта... при том, что отлов через коробку работает и через принты всё отлавливает, пытаешься респавнить юнита бай нейм, всё, падает игра... вот ничего не понимаю, ошибок то нет (не остаётся в консоли), просто выкинуло и всё...
 

kain

Активный
2 Окт 2015
125
63
steamcommunity.com
Проект
GreenCircleTD
Т.е. если например, я хочу спавнить нейтралов (условно), через триггер-бокс, то мне для каждого бокса нужно использовать листнера?... я всё правильно понимаю?... просто не вяжется это с концепциями, которые направленны на оптимизацию (лишь моё мнение, не более того)...
тригербоксы это одно оно не вместо, не вместе - оно просто другой подход.
про слушателей событий вот список и там же в самом верху есть ссылки на гитхаб где более свежие списки событий.
это "тригеры" которые отслеживает дота , а ты можешь ей указать при наступлении нужного события запустить нужную функцию.

пример из вики
function MyClass:InitGameMode ()

self.numSpawned = 0
ListenToGameEvent("npc_spawned", MyClass.MyFunction, self)
end

function MyClass:MyFunction ()
self.numSpawned = self.numSpawned + 1
print("Number of times an NPC has spawned: " .. self.numSpawned)
end
ListenToGameEvent("Событиекотороеждем", ТВОЯ_ФУНКЦИЯ, self)

PS вместо кода применил цитирование что бы цветами можно было
 
  • Нравится
Реакции: Greyd1s

Greyd1s

Пользователь
19 Авг 2019
22
1
А есть ссылка на пример кода с репавном предметов на землю?.. много где видел, что они просто репавнятся на пол... Подскажите и просто наведите на мысль, заранее спасибо!
вот, что я нашёл у Вальв:
Код:
function CreateDrop ()
   local newItem = CreateItem("item_flask", nil, nil)
   local pos = Entities: FindByName(nil, "Spawner_1"):GetAbsOrigin() --Создал инфотаргет в хаммере, отлавливаю его позицию
   newItem:SetPurchaseTime(0)
   CreateItemOnPositionSync(pos, "item_flask")
   newItem:LaunchLoot(false, 300, 0.75, pos + RandomVector(RandomFloat(50, 350)))
end
 
Последнее редактирование:

ION

Активный
10 Ноя 2019
88
7
Проект
Memethrow
Помогите решить проблему. Когда на определённом персонаже нажимаешь альт или наводишь мышкой на древо талантов, крашится с такой ошибкой:

eror.png
Знаю что такая проблема так же была в кастомке Definetely not dota. Полазив по сообществу доты узнал что такая ошибка не редкость и обычно никак не фиксится пользователем, проблема в вальв. Ошибка эта у меня уже давненько, и на разных клиентах на разных компьютерах (абсолютно у всех). DefinetelyNotDota должно быть исправил же как-то это..
Открыл этот файл, но тут даже нету UpgradeName9, только от 1 до 8. Думал проблема может быть в самих талантах. Проверил - нет. Помогите((
 
Последнее редактирование:

stranger568

Активный
7 Сен 2015
113
28
bmemov.ru
Проект
Birzha Memov
Помогите решить проблему. Когда на определённом персонаже нажимаешь альт или наводишь мышкой на древо талантов, крашится с такой ошибкой:

Посмотреть вложение 1298
Знаю что такая проблема так же была в кастомке Definetely not dota. Полазив по сообществу доты узнал что такая ошибка не редкость и обычно никак не фиксится пользователем, проблема в вальв. Ошибка эта у меня уже давненько, и на разных клиентах на разных компьютерах (абсолютно у всех). DefinetelyNotDota должно быть исправил же как-то это..
Открыл этот файл, но тут даже нету UpgradeName9, только от 1 до 8. Думал проблема может быть в самих талантах. Проверил - нет. Помогите((
Просто посмотри на каких способностях теперь таланты у героя в оригинальном npc_heroes
 
  • Нравится
Реакции: ION

Greyd1s

Пользователь
19 Авг 2019
22
1
Очередной дурацкий вопрос...
Как работает аванпост в доте?... это определённый триггер с нажатием или это как-то хитро делается?... если есть ссылка на тред или пример буду благодарен...
Непонятно следующее:
  • Какой триггер используется
  • Как к объекту применяется изменение владельца (именно кому он принадлежит в данный момент даер или рэдиант)
  • Как отследить нажатие мышкой на объект который является триггером и заставить героя взаимодействовать с ним?
 
Последнее редактирование:

SniperX

Друзья CG
26 Фев 2018
539
100
Проект
Dota 2x4
Очередной дурацкий вопрос...
Как работает аванпост в доте?... это определённый триггер с нажатием или это как-то хитро делается?... если есть ссылка на тред или пример буду благодарен...
Непонятно следующее:
  • Какой триггер используется
  • Как к объекту применяется изменение владельца (именно кому он принадлежит в данный момент даер или рэдиант)
  • Как отследить нажатие мышкой на объект который является триггером и заставить героя взаимодействовать с ним?
1) UNSELECTABLE юнит с обзором и предмет для захвата
2) Скорее всего меняется моделька, и команда юнита
3) Можно попробовать создать предмет с "ItemCastOnPickup" "1"
но валвы могли сделать аванпост по другому
 
  • Нравится
Реакции: Greyd1s

Greyd1s

Пользователь
19 Авг 2019
22
1
1) UNSELECTABLE юнит с обзором и предмет для захвата
2) Скорее всего меняется моделька, и команда юнита
3) Можно попробовать создать предмет с "ItemCastOnPickup" "1"
но валвы могли сделать аванпост по другому
тогда небольшое уточнение, какая функция меняет команду юнита ?.. Логику я понимаю: получить команду через get --> поменять коману через set, но функцию не нашёл (скорее всего невнимательно смотрел, но возможно просто забил. когда наткнулся на тему форума, где реализация была сделана через панараму, а с ней я совсем плохо знаком)
 
Реклама: