Для новичков - FAQ и обсуждение

-ExotiC-

Какой-то ноунэйм
Команда форума
11 Авг 2014
498
56
customgames.ru
Обсуждаем и помогаем. Первый пост будет пополняться интересной инфой.

FAQ
 

dumbaq

Новичок
12 Авг 2014
3
0
Re: Общее обсуждение (события, методы, API)

Спойлеры не показывает, говорит, что просмотр содержимого запрещён.
 

Gulich

Новичок
12 Авг 2014
4
0
Re: Общее обсуждение (события, методы, API)

За сниппет спасибо :)
 

-ExotiC-

Какой-то ноунэйм
Команда форума
11 Авг 2014
498
56
customgames.ru
Re: Общее обсуждение (события, методы, API)

В первый пост добавлена инфа как прикрепитьэффект частицы к оружию героя.
 

Slavko

Продвинутый
22 Июн 2015
224
4
Можно ли дать возможность первой команде пикать только разрешенных персонажей, и второй также, только уже других ?
 

doter.ua

Продвинутый
17 Авг 2014
280
5
Можно ли дать возможность первой команде пикать только разрешенных персонажей, и второй также, только уже других ?
Раздавать всем рандомного героя с последующим реплейсом на нормального (через кастомные UI меню ). Но тут нужно хорошо разбираться в Панораме.
 
Последнее редактирование модератором:

Slavko

Продвинутый
22 Июн 2015
224
4
doter.ua, а нельзя ли при пике перса узнать тиму игрока и в зависимости от тимы поменять ему перса ?
 

doter.ua

Продвинутый
17 Авг 2014
280
5
[quote author=Slavko link=topic=2.msg726#msg726 date=1435838235]
doter.ua, а нельзя ли при пике перса узнать тиму игрока и в зависимости от тимы поменять ему перса ?
[/quote]
Есть метод гет тим номер и событие плеер выбрал героя.
 

Slavko

Продвинутый
22 Июн 2015
224
4
Код:
function Activate()
  ListenToGameEvent("dota_player_pick_hero", ReplaceHero, nil)
end

function ReplaceHero(event)
  local pID = event.hero:GetPlayerID()
end
attempt to call method 'GetPlayerID' (a nil value)
Что я не так делаю ?

З.Ы. Работает.
Код:
function ReplaceHero(event)
    local kek = event.heroindex
    local krk = EntIndexToHScript(kek)
    local ktk = krk:GetPlayerID()
end
 
Последнее редактирование модератором:

doter.ua

Продвинутый
17 Авг 2014
280
5
[quote author=Slavko link=topic=2.msg729#msg729 date=1435919466]
Код:
function Activate()
  ListenToGameEvent("dota_player_pick_hero", ReplaceHero, nil)
end

function ReplaceHero(event)
  local pID = event.hero:GetPlayerID()
end
attempt to call method 'GetPlayerID' (a nil value)
Что я не так делаю ?

З.Ы. Работает.
Код:
function ReplaceHero(event)
    local kek = event.heroindex
    local krk = EntIndexToHScript(kek)
    local ktk = krk:GetPlayerID()
end
[/quote]
Названия переменных норм сделай ( camel case и т. д.).
 
Последнее редактирование модератором:

MeowHellYeah

Пользователь
4 Июл 2015
66
0
Функция RespawnHero требует 3 параметра типа boolean. Первый - является ли воскрешение байбеком, а для чего ещё два?
 

Escapists Harmony

Активный
4 Июл 2015
70
0
Datadriven вопросы :)

Здравствуйте! Несколько вопросов по способностям. Но сначала хочу узнать, правильно ли я понял, просто поправьте если не так:

npc_abilities_custom.txt - создаем абилку с нуля используя KV.
npc_abilities_override.txt - туда можно добавить любую дефолтную абилку в качестве шаблона и изменять ее по аналогии с npc_abilities_custom.txt, используя поведения, события, действия.

Теперь вопросы :)

Где можно прочитать про AbilitySpecial в способностях, что туда и зачем? Примеры видел, но нужна общая информация т.к. абилки разные.

DOTA_ABILITY_BEHAVIOR_NOT_LEARNABLE - насколько я понял по гайду и комментариям она не дает уже готовую выученную способность. В таком случае, как их сделать? Мне нужно дать уже выученные абилки без дальнейшей их прокачки.

Какая строчка делает способность уже с AghanimUpgrade?

Названия дефолтных абилок, анимаций и звуков нужно искать в установленных сниппетах или есть какие то списки в интернете?

Можно ли обойтись без скриптов для создания следующих способностей: 1) Дефолтная шрапнель снайпера (6.84) с раскрытием невидимости помимо самого вижена на области применения. 2) The Swarm вивера который цепляется к юниту и раскрывает при прицепе его невидимость (независимо был ли он уже невидимый, или ушел в нее уже с паразитом на ноге, т.е. держится на нем в любом случае пока его не разбить, или не кончится действие). Если да, какие строчки нужны, и если нет, то есть ли туториалы по скриптам абилок?
 

MeowHellYeah

Пользователь
4 Июл 2015
66
0
Re: Datadriven вопросы :)

Escapists Harmony, npc_abilities_custom.txt - создаем абилку с нуля используя KV.
npc_abilities_override.txt - туда можно добавить любую дефолтную абилку в качестве шаблона и изменять ее по аналогии с npc_abilities_custom.txt, используя поведения, события, действия.Так и есть.

DOTA_ABILITY_BEHAVIOR_NOT_LEARNABLE - насколько я понял по гайду и комментариям она не дает уже готовую выученную способность. В таком
случае, как их сделать? Мне нужно дать уже выученные абилки без
дальнейшей их прокачки.
При спауне обладателя в Lua пропиши abil:SetLevel(уровень), вместо abil - переменная, хранящая способность

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

Названия дефолтных абилок, анимаций и звуков нужно искать в установленных сниппетах или есть какие то списки в интернете?
Смотри раздел Reference на вики
 

Escapists Harmony

Активный
4 Июл 2015
70
0
Re: Datadriven вопросы :)

"При спауне обладателя в Lua пропиши abil:SetLevel(уровень), вместо abil - переменная, хранящая способность"

Я собираюсь делать форсированный пик виспов для последующего выбора героев, решая тем самым вопрос разного пула для разных команд. Будет ли это конфликтовать с этим?

"Не знаю, есть ли более рациональный путь... Я бы создал 2 способности и менял бы их друг на друга когда обладатель покупает/продаёт скипетр. Пока кто-то что-то лучше не подскажет, можешь пользоваться этим методом)"

Мне нужно дать герою уже сразу аганимный инфест (последнего лвл) т.е. с возможностью поглощать одного и потом вместе с первым залазить в другого , тем самым создавая "матрешку". Если дать герою с обычным инфест аганим, будет ли это работать?
 
Последнее редактирование модератором:

MeowHellYeah

Пользователь
4 Июл 2015
66
0
Re: Datadriven вопросы :)

Escapists Harmony,
Я собираюсь делать форсированный пик виспов для последующего выбора героев, решая тем самым вопрос разного пула для разных команд. Будет ли
это конфликтовать с этим?
Нет, это делается в две строки, после чего переменную можно забыть. Можно и вовсе без переменной, но тогда строка будет некрасиво выглядеть)

Мне нужно дать герою уже сразу аганимный инфест (последнего лвл) т.е. с возможностью поглощать одного и потом вместе с первым залазить в другого
, тем самым создавая "матрешку". Если дать герою с обычным инфест аганим, будет ли это работать?
Должно работать. Вместо вещи в инвентаре можешь дать модификатор аганима (как тот, который Алхимик даёт).
 
Последнее редактирование модератором:

Escapists Harmony

Активный
4 Июл 2015
70
0
Re: Datadriven вопросы :)

Упс, а мне нужно только само улучшение без характеристик. Это мне придется делать кастомный аганим в npc_items_custom и потом уже его давать?

Ок, спасибо большое, +реп . остались вопросы по AbilitySpecial и по абилкам с true sight.)
 

Escapists Harmony

Активный
4 Июл 2015
70
0
Re: Datadriven вопросы :)

А хотя можно попробовать дать просто две абилки - одна infest вторая life_stealer_consume, и не заморачиваться :D
 

MeowHellYeah

Пользователь
4 Июл 2015
66
0
Re: Datadriven вопросы :)

Escapists Harmony, а тебе это для матрёшек только? Добавь тогда просто способность life_stealer_assimilatе и скипетр не нужен)
[UPD] ну вот, ты и сам догадался, пока я писал) Только consume - это вылезти, тебе же съесть надо?
 
Реклама: