Помогите с режимом тд

  • Автор темы Автор темы aizek
  • Дата начала Дата начала
И как можно сделать что бы он в чат не писал какая волна идет ? еще раз спасибо большое за помощь
 
Ты теперь возьми и разбери каждую строчку своего кода (не весь модуль баребонеса, а лишь тот блок, что ты в него вставлял). Каждую переменную. Используемые функции тут ищи и вникай.

А крипов ты делаешь за radiant (DOTA_TEAM_GOODGUYS), а тебе нужны DOTA_TEAM_BADGUYS или DOTA_TEAM_NEUTRALS.
Когда разберешь свой код, переходи к коду крипов и чтению гайдов, блин. Там все написано. Есть прям конкретный гайд по крипам.
 
ну дальше я уже понял что и как, зону телепорта доделал)
Ты говорил что если все хорошо будет поможете с кругом и жизнями
 
а можешь еще помочь кое с чем, как сделать чтобы опыт шел всем ?
И как сделать так чтобы теже самые крипы шли по похожей траектории из другой точки карты(просто в редакторе копирование и вставлянии точки респавна крипов не помогла , идут по 1й) ?
 
И как сделать так чтобы теже самые крипы шли по похожей траектории из другой точки карты(просто в редакторе копирование и вставлянии точки респавна крипов не помогла , идут по 1й) ?

Не понял, чего ты хочешь и что ты для этого делал.
 
Последнее редактирование модератором:
С "опытом" я не экспериментировал, но думаю можно попросту как-то расширить радиус его получения при смерти крипа. Может кто другой тебе тут подскажет.

А если нет, то лично я бы поступил так: через datadriven файлы не давал бы опыт за крипов вообще. Вместо этого, отслеживал смерть крипа и начислял бы каждому в команде опыт вручную (через AddExperience() и прочие похожие функции, там их полно).
 
Последнее редактирование модератором:
Можете подсказать как к примеру сделать 10 волн по 10 крипов и их цель наступить на круг и когда наступают вычитается очку жизней у команды.

С точки зрения кода: заводишь глобальную переменную. На место "круга" ставишь триггер, который по входу в него крипов активирует скрипт. В надлежащем скрипте уменьшаешь значение глобальной переменной, что отвечает за "очки жизни".

Как красиво оформить некий баннер "очков жизней команды" - вопрос не ко мне. У меня нужды в ней разбираться не было, хватало и стандартного интерфейса, поэтому я в ней не разбираюсь - жди других форумчан или изучай вопрос сам.
 
Последнее редактирование модератором:
Не понял, чего ты хочешь и что ты для этого делал.
вот сейчас крипы идут по левой стороне, но мне надо чтобы они теже самые крипы в это же время шли по правой стороне. Пытался просто в редакторе точку респавна скопировать и вставить в другое место но не получилось
 
Последнее редактирование модератором:
Ты снова не слушаешь советов: разберись в каждой строчке своего кода.

Не достаточно просто скопировать точку спавна, тебе надо логику всю повторить в lua!
 
Слушай, я тут подумал. А есть ли какой нибудь способ открывать кастомки которые у меня есть вигротеке. Чтоб можно было скрипты для примера посмотреть. Тот же даркмун, есть в игротеке. И в нем есть то что я хотел бы реализовать у себя.
 
Слушай, я тут подумал. А есть ли какой нибудь способ открывать кастомки которые у меня есть в игротеке. Чтоб можно было скрипты для примера посмотреть. Тот же даркмун, есть в игротеке. И в нем есть то что я хотел бы реализовать у себя.
gcfscape в помощь. (вроде на моддоте есть прога получше, но забыл название)
что касается даркмуна, его код можно посмотреть и без всяких программ.
 
Последнее редактирование модератором:
Последнее редактирование модератором:
Ты снова не слушаешь советов: разберись в каждой строчке своего кода.

Не достаточно просто скопировать точку спавна, тебе надо логику всю повторить в lua!
как бы я не пытался, у меня крипы выходят либо с одной точки, либо с другой. Лтбо вообще ошибит и не выходят вообще. Может подскажешь где и что надо поменять чтобы было 2 точки респавна с одними и темиже крипами
 
Последнее редактирование модератором:
Ну вот скинь сюда свои мысли по поводу каждой строчки. Сначала пишешь строчку кода, затем снизу свое её понимание.
Например:

Код:
 local point = Entities:FindByName( nil, "spawnerino"):GetAbsOrigin()

Создаем локальную переменную с именем point. В неё что-то заносим, а что сейчас глянем:
Entities: - обращение к сущностям, присутствующим в моде.

Через это обращение вызываем метод FindByName(), который ищет сущность с определенным именем. В методе используем два параметра:( nil, "spawnerino"). Первый необязательный (как написано на сайте API), точнее можно передавать nill - ноль, а второй имя искомой сущности. В данном случае "spawnerino" - имя точки (блока) спавна.

Обращаемся через ":" к найденной сущности и вызываем у неё метод GetAbsOrigin(), который передает нам координаты этой сущности, точки спавна "spawnerino". Эти координаты и заносятся в нашу переменную point, и имеют тип векторных данных, согласно API.

То есть в переменной point будет храниться "вектор" с тремя координатами х, у и z.

Проделав подобную работу, ты резко многое осознаешь и начнешь уже сам отвечать на свои вопросы. Или хотя бы понимать гайды, в которых есть ответы на большинство твоих вопросов.
 
Последнее редактирование модератором:
[quote author=Илья link=topic=1393.msg8969#msg8969 date=1490534850]
Ну вот скинь сюда свои мысли по поводу каждой строчки. Сначала пишешь строчку кода, затем снизу свое её понимание.
Например:

Код:
 local point = Entities:FindByName( nil, "spawnerino"):GetAbsOrigin()

Создаем локальную переменную с именем point. В неё что-то заносим, а что сейчас глянем:
Entities: - обращение к сущностям, присутствующим в моде.

Через это обращение вызываем метод FindByName(), который ищет сущность с определенным именем. В методе используем два параметра:( nil, "spawnerino"). Первый необязательный (как написано на сайте API), точнее можно передавать nill - ноль, а второй имя искомой сущности. В данном случае "spawnerino" - имя точки (блока) спавна.

Обращаемся через ":" к найденной сущности и вызываем у неё метод GetAbsOrigin(), который передает нам координаты этой сущности, точки спавна "spawnerino". Эти координаты и заносятся в нашу переменную point, и имеют тип векторных данных, согласно API.

То есть в переменной point будет храниться "вектор" с тремя координатами х, у и z.

Проделав подобную работу, ты резко многое осознаешь и начнешь уже сам отвечать на свои вопросы. Или хотя бы понимать гайды, в которых есть ответы на большинство твоих вопросов.
[/quote]
Честно , вообще ничего не понял))
 
Последнее редактирование модератором:
Ну вот отсюда и идут все твои вопросы. Разбирай, что я тебе тут написал и в таком же духе разбирай свой код, если хочешь двигаться дальше.
 
Ну вот отсюда и идут все твои вопросы. Разбирай, что я тебе тут написал и в таком же духе разбирай свой код, если хочешь двигаться дальше.
просто если я убераю ненужный nil , то скрипт ошибается
 
Последнее редактирование модератором:
Елки палки, я тебе не говорил что-то править в этой строчке.

Мы сейчас не говорим о том, как решить какие-то там твои новые вопросы. Я тебе говорю: сядь и осознай то, что ты уже сделал, что работает. Разбери каждую строчку того рабочего блока кода. Если не знаешь как разбирать - я тебе вот привел пример разбора строчки кода.

И nil в ней не "ненужны", он нужный, читай описание FindByName() :
Find entities by name. Pass nil to start an iteration, or reference to a previously found entity to continue a search

Метод ищет сущность по имени. Передайте nil, чтобы начать итерацию поиска или же ссылку на предыдущий объект.

А своей фразой:

Первый необязательный (как написано на сайте API), точнее можно передавать nil - ноль, а второй имя искомой сущности. В данном случае "spawnerino" - имя точки (блока) спавна.

Я говорил, что необязательно нужен какой-то там handle первым параметром, можно просто nil передать, чтобы начать поиск.
 
Последнее редактирование модератором:
Слушай, А КАК ЧЕРЕЗ ADDON info отредоктировать чтобы была только команда света ? на карте только одна точка респавна героев а при выборе есть и тьма и свет
 
Реклама: