Работают ли ещё скрипты?
16 Feb 2016 в 17:18
16 Feb 2016 в 17:18 #1
Вечер добрый. Такой вопрос — работают ли сейчас скрипты в доте? До НГ в каждой катке юзали, видно было.
Решил попробовать — скачал от НСа на инвокера и мипо, пробовал с ботами — ничего не пашет вроде.
Так что же случилось?
16 Feb 2016 в 17:20 #2
вроде работают, пс сам не пользуюсь
16 Feb 2016 в 17:21 #3
Ну вот только что тестил он НСа — не пашут. Хз что такое
16 Feb 2016 в 17:22 #4
16 Feb 2016 в 17:24 #5
Они же так и называются. Есть ещё и макросы
16 Feb 2016 в 17:28 #6
скрипты на инвокера? Каждое твое действие должно быть продолжением твоей мысли, то должен доставать заклинания из глубин своей памяти а не по нажатию кнопки, плюю тебе в лицо в презрением.
16 Feb 2016 в 17:33 #7
Эммм. Я как бы сказал, что решил попробовать, пашут ли вообще эти скрипты.
16 Feb 2016 в 17:37 #8
Скрипты есть. Первая строка в гугле на запрос скрипты дота 2. Ты не из деревни?
16 Feb 2016 в 17:37 #9
Не имеет значения, жди санстрайка!
16 Feb 2016 в 18:06 #10
А теперь из этого дерьма в первой строчке гугла попробуй найди рабочий скрипт, без вспоенного парсера шмоток и вирусов.
Источник
Проблемы и пути их решения в Dota 2. Скрипты и конфиги
Многие любители профессиональной доты явно заметили, что многие игроки, комментаторы и аналитики стали много говорить о скриптах для доты. Давайте же попробуем разобраться что такое скрипты и всё что с ними связанно. Если вкратце:
- Скрипты – набор действий, состоящих из консольных команд, которые выполняет компьютер, при нажатии на заданную кнопку. (Пример: каст комбинацииTornado+Meteor+Blastпри нажатии всего на одну кнопку).
- Консольные команды – текстовые команды, которые реализуют некоторые действии в игре, используя для этого консоль. (Пример: команда, которая включает функцию повтора клика, и при зажатии ПКМ повторяет это действие со скоростью 10 кликов/секунда).
Давайте же подумаем, нужны ли в доте скрипты и консольные команды.
Никто не будет спорить, если я скажу, что Dota 2 – это в первую очередь соревновательная игра. Это одна из популярнейших и крупных киберспортивных дисциплин. В Dota 2 соревнования происходят не только на профессиональном уровне, но и в обычных пабах люди сражаются за очередные +25, для того чтобы стать лучшими. И естественно, логично предположить, что лучшими должны становится сильнейшие. Что определяет силу игрока в Dota 2? Его способности быстро принимать решения и прожимать необходимые кнопки в нужное время. Его реакция, внимание, стойкость и многие другие качества влияют на скилл игрока. Однако вернёмся к самому главному. Нажимать кнопки вовремя и быстрее твоего соперника – вот что определяет победителя. Но скрипты – это то, что уничтожает эту соревновательную систему, возможно не полностью, ибо каждый имеет право использовать скрипты. Но давайте задумаемся, как сильно влияют консольные команды и скрипты на соревнования.
Например, возьмём стандартную ситуацию с отбиранием первой руны. Представьте, что на реке вы встретились с вражеским алхимиком 1 на 1, остаётся 5 секунд до появления руны, вы подходите, встаёте на точку спавна и яростно начинаете кликать правой кнопкой мышки в точку появления руны с целью не дать вражескому алхимику большого преимущества в начале игры, а вражеский алхимик спокойно, с полной уверенностью подходить к месту появлению руны, не напрягаясь зажимает ПКМ и ждёт. Обычный игрок, даже если он очень на тренированный не сможет сделать более 4-5 кликов за секунду, в то время ваш оппонент возможно даже ещё медленнее вас, но он использую консольную команду, благодаря которой он превышает возможные для человека нормы и делает более 10 кликов в секунду. Естественно в 99% именно человек, использовавший консольные команды заберёт руну. Многие скажут, что первому мешает использовать эту же команду. Я отвечу, да в принципе ничего, только если встретятся 2 человека, использующих эту команду, то тут уже будет включена система рандома и руну получит тот, кому повезёт. И где же тут соревновательный элемент?
Ещё один пример, но уже со скриптами. Представьте, турнир 1 на 1 среди мидеров всей планеты. Вот финальный этап, решающая карта и последним героем на этом турнире для вас станет Invoker.Первый финалист – человек, который очень много играл на инвокере, ещё со времён первой доты, он очень хорошо знает героя, тайминги, никогда не путается в кнопках и возможно именно он является лучшим игроком в доте на этом герое. А его соперник – обычный неизвестный игрок, который конечно играл на инвокере и тоже его не плохо знает, ведь он в финале турнира среди мидеров всей планеты. И логично что в большинстве случаев побеждать должен задрот инвокера. Однако второй игрок имеет скрипты на инвокера, благодаря которым, при нажатии всего на 1 кнопку, компьютер сам прожмёт за него каждую сферу, скастует каждый скилл идеально в тайминги, что позволит нанести ему лишние
300-500 урона. Конечно в такой борьбе ещё влияет интеллект, понимание героя, настроение и прочие факторы. Однако сам факт того, что какой-то левый игрок с “5-а” сможет скастовать способности инвокера лучше, чем известные и сильнейшие игроки Dendi, Arteezy, Suma1L, которые тренировались ни год, ни два, а более 5, а некоторые и более 7 лет, очень пугает.
А ведь скрипты бывают не только такие, есть множество разных моментов, которые можно упростить, использовав скрипты – абуз боттла, проверка рун, стаки нейтралов и прочие другое. Все это множество действий будут выполняться компьютером, и всё что сделает для этого человек – нажмёт одну кнопку. Это очень сильно влияет на соревновательную составляющую Dota 2.
Как по мне, стоит отключить консоль, а все консольные команды, которые никак не влияют на игру (показ fps, изменение размеров иконок героев на карте и прочие) вынести в меню настроек Dota 2. Либо же просто запретить использовать большинство консольных команд, как это было с командами на отдаление камеры и демонстрацией радиуса получения опыта вокруг героя.
На этом у меня всё. Я против большинства скриптов и консольных команд, и невозможно решить эту проблему, просто не играя с ними. Очень трудно победить у игрока, который использует всё возможное для облегчения игры. И пока скрипты официально работают и разрешены ими будут пользоваться все – игроки, профессионалы и я в том числе.
Источник
Ошибка в скрипте [Dota 2 Workshop Tools]
13 Aug 2014 в 14:50
13 Aug 2014 в 14:50 #1
В общем в отдельном lua (winner.lua) файле вставил скрипт. (Игра до 50 килов)
Отредактировал его под себя.
В lua файле addon_init.lua подключил данный скрипт.
require( «winner» )
При старте игры выбивает ошибку в игре,и скрипт не работает.
Что прописано не правильно?
13 Aug 2014 в 17:00 #2
13 Aug 2014 в 17:03 #3
не уверен, но мб надо вот так?
require( «winner.lua» )
13 Aug 2014 в 19:44 #4
13 Aug 2014 в 19:47 #5
Скриншоты слишком маленькие, ничего не разглядеть, сделай побольше
13 Aug 2014 в 19:49 #6
мб. потому что нужно не addon_init.lua , а в addon_game_mode.lua
require( «winner» )
13 Aug 2014 в 20:00 #7
насколько мне было известно сначало подгружается addon_init.lua,но щас попробую подгружать winner через addon_game_mode.lua
13 Aug 2014 в 20:02 #8
function jungle_war:OnEntityKilled( keys )
local killedUnit = EntIndexToHScript( keys.entindex_killed )
if killedUnit:IsRealHero() == true then
local killedTeam = killedUnit:GetTeam()
if killedTeam == DOTA_TEAM_BADGUYS then
self.scoreRadiant = self.scoreRadiant + 1
if killedTeam == DOTA_TEAM_GOODGUYS then
self.scoreDire = self.scoreDire + 1
if self.scoreDire >= 50 then
GameRules:SetGameWinner(DOTA_TEAM_BADGUYS)
GameRules:MakeTeamLose(DOTA_TEAM_GOODGUYS)
GameRules:Defeated()
if self.scoreRadiant >= 50 then
GameRules:SetGameWinner(DOTA_TEAM_GOODGUYS)
GameRules:MakeTeamLose(DOTA_TEAM_BADGUYS)
GameRules:Defeated()
end
end
13 Aug 2014 в 20:06 #9
13 Aug 2014 в 20:39 #10
function jungle_war:OnEntityKilled( keys )
local killedUnit = EntIndexToHScript( keys.entindex_killed )
if killedUnit:IsRealHero() == true then
local killedTeam = killedUnit:GetTeam()
if killedTeam == DOTA_TEAM_BADGUYS then
self.scoreRadiant = self.scoreRadiant + 1
if killedTeam == DOTA_TEAM_GOODGUYS then
self.scoreDire = self.scoreDire + 1
if self.scoreDire >= 50 then
GameRules:SetGameWinner(DOTA_TEAM_BADGUYS)
GameRules:MakeTeamLose(DOTA_TEAM_GOODGUYS)
GameRules:Defeated()
if self.scoreRadiant >= 50 then
GameRules:SetGameWinner(DOTA_TEAM_GOODGUYS)
GameRules:MakeTeamLose(DOTA_TEAM_BADGUYS)
GameRules:Defeated()
end
end
function jungle_war:OnEntityKilled( keys )
local killedUnit = EntIndexToHScript( keys.entindex_killed )
if killedUnit:IsRealHero() == true then
local killedTeam = killedUnit:GetTeam()
if killedTeam == DOTA_TEAM_BADGUYS then
self.scoreRadiant = self.scoreRadiant + 1
end
if killedTeam == DOTA_TEAM_GOODGUYS then
self.scoreDire = self.scoreDire + 1
end
if self.scoreDire >= 50 then
GameRules:SetGameWinner(DOTA_TEAM_BADGUYS)
GameRules:MakeTeamLose(DOTA_TEAM_GOODGUYS)
GameRules:Defeated()
end
if self.scoreRadiant >= 50 then
GameRules:SetGameWinner(DOTA_TEAM_GOODGUYS)
GameRules:MakeTeamLose(DOTA_TEAM_BADGUYS)
GameRules:Defeated()
end
end
end
13 Aug 2014 в 21:18 #11
function jungle_war:OnEntityKilled( keys )
local killedUnit = EntIndexToHScript( keys.entindex_killed )
if killedUnit:IsRealHero() == true then
local killedTeam = killedUnit:GetTeam()
if killedTeam == DOTA_TEAM_BADGUYS then
self.scoreRadiant = self.scoreRadiant + 1
end
if killedTeam == DOTA_TEAM_GOODGUYS then
self.scoreDire = self.scoreDire + 1
end
if self.scoreDire >= 50 then
GameRules:SetGameWinner(DOTA_TEAM_BADGUYS)
GameRules:MakeTeamLose(DOTA_TEAM_GOODGUYS)
GameRules:Defeated()
end
if self.scoreRadiant >= 50 then
GameRules:SetGameWinner(DOTA_TEAM_GOODGUYS)
GameRules:MakeTeamLose(DOTA_TEAM_BADGUYS)
GameRules:Defeated()
end
end
end
не помогло( Щас скину ошибку.
13 Aug 2014 в 21:20 #12
Это еще только альфа — билд тулзы. Скорее всего баг.
13 Aug 2014 в 21:26 #13
Ты там свое название функции поставил? Если так, то поставил ли ты их в других соответствующих местах или скрипт только один у тебя?
13 Aug 2014 в 21:35 #14
вообщем вот файлы lua которые присутствуют:
addon_game_mode.lua
— Generated from template
if CAddonTemplateGameMode == nil then
CAddonTemplateGameMode = class(<>)
end
function Precache( context )
—[[
Precache things we know we’ll use. Possible file types include (but not limited to):
PrecacheResource( «model», «*.vmdl», context )
PrecacheResource( «soundfile», «*.vsndevts», context )
PrecacheResource( «particle», «*.vpcf», context )
PrecacheResource( «particle_folder», «particles/folder», context )
]]
end
— Create the game mode when we activate
function Activate()
GameRules.AddonTemplate = CAddonTemplateGameMode()
GameRules.AddonTemplate:InitGameMode()
end
function CAddonTemplateGameMode:InitGameMode()
print( «Template addon is loaded.» )
GameRules:GetGameModeEntity():SetThink( «OnThink», self, «GlobalThink», 2 )
end
— Evaluate the state of the game
function CAddonTemplateGameMode:OnThink()
if GameRules:State_Get() == DOTA_GAMERULES_STATE_GAME_IN_PROGRESS then
—print( «Template addon script is running.» )
elseif GameRules:State_Get() >= DOTA_GAMERULES_STATE_POST_GAME then
return nil
end
return 1
end
Источник