Как это сделать?

  • Автор темы Автор темы TopKun
  • Дата начала Дата начала

TopKun

Пользователь
22 Июл 2016
46
0
Нужно сделать так, чтобы у каждый стороны был свой набор героев для пика. Например, для света это антимаг, гуля, акс, а для тьмы найт сталкер, дум, квопа. И, чтобы с самого начала были прокачены все скиллы на максимум. И нельзя вкачать плюсики. Начал изучать только недавно и ещё многого не знаю. Помогите чайнику
 
Нужно сделать так, чтобы у каждый стороны был свой набор героев для пика. Например, для света это антимаг, гуля, акс, а для тьмы найт сталкер, дум, квопа. И, чтобы с самого начала были прокачены все скиллы на максимум. И нельзя вкачать плюсики. Начал изучать только недавно и ещё многого не знаю. Помогите чайнику
Начнем сначала.

1. Стандартное меню пика НЕЛЬЗЯ разделить на две стороны(так, что бы для отдельной команды/игрока были отдельные герои). Тут можно написать свой велосипедик с меню пика, а как его реализовать дело твое. Можно как какого-нибудь виспа с 6 абилками где каждая абилка отдельный герой, а можно написать полностью свое меню пика с блекджеком и путанами на панораме(местная система отрисовки интерфейса, по сути является чем то вроде html, включает в себя панели(в xml файле), стили( почти стандартный css формат), скрипты (javascript + что то вроде jQuery с его методами) и изображениями(любят png и psd). Подробнее читай на вики, там довольно хорошая документация на этот счет.

2. Прокачать все скиллы довольно легко,можно при респавне юнита(см. слушатели/listeners) делать все абилки максимальным уровнем. (это делается в VMScript, и пишется на lua)

3. Плюсики это отдельная способность, так что ты можешь ее убрать совсем у героя/юнита через datadriven конфиг героя(npc_heroes_custom.txt).

Так же раз ты новичок, есть вики(eng) на которой указана куча всего, с примерами, а так же есть гайды на форуме(rus), либо на моддоте(eng), если не грузится запускай через прокси, почему то в СНГ сайт работает у некоторых людей криво).

И валве снабдили нас примерами модов, и исходниками overthrow, которые сразу скачались вместе с воркшоп тулзом.
Находится это дело по пути: dota 2 beta\content\dota_addons и dota 2 beta\game\dota_addons. В контенте исходники панорамы и карт из хаммера. В game скрипты, datadriven файлы, иконки скиллов и предметов, флеш(который лучше не использовать, в виду того что есть панорама валв ушли от флеша с его actionscript'ом), а так же скомпиленые файлы панорамы и карт.
 
Последнее редактирование модератором:
И, чтобы с самого начала были прокачены все скиллы на максимум. И нельзя вкачать плюсики.

В функции OnHeroInGame:

Код:
 for i=0,15 do
  local ability = hero:GetAbilityByIndex(i)
  if ability then 
    ability:SetLevel(ability:GetMaxLevel())
    hero:SetAbilityPoints(0)
  end
 end
 
Я бы добавил эти вопросы TopKun с ответами Cry в FAQ. Ибо часто подобные вопросы задают люди, что просто заходят на форум минуя любые гайды и темы и клепают свою "универсальную" и "оригинальную" на вопросы тему.

Exotic, даешь добро? Я перенесу. Чтобы каждый раз кидать всего одну ссылку в виде ответа, а не расписывать.
 
Последнее редактирование модератором:
[quote author=-ExotiC- link=topic=996.msg5363#msg5363 date=1469168282]
В функции OnHeroInGame:

Код:
 for i=0,15 do
  local ability = hero:GetAbilityByIndex(i)
  if ability then 
    ability:SetLevel(ability:GetMaxLevel())
    hero:SetAbilityPoints(0)
  end
 end
[/quote]

А чтобы вообще не вкачивать атрибуты нельзя сделать?
 
TopKun, у всех героев пропиши в кастом хироу, чтобы 5 абилка пустая была и все.
 
[quote author=I_GRIN_I link=topic=996.msg5407#msg5407 date=1469429001]
TopKun, у всех героев пропиши в кастом хироу, чтобы 5 абилка пустая была и все.
[/quote]
Тогда все атрибуты и дамаг, который я задал, сбрасываются.

 
Код:
"Ability5" ""
Вот так надо
 
Последнее редактирование модератором:
[quote author=I_GRIN_I link=topic=996.msg5413#msg5413 date=1469438761]
Код:
"Ability5" ""
Вот так надо
[/quote]
Всё равно также.
 
Последнее редактирование модератором:
Во первых, строчка

Код:
"Ability5" ""

Не поможет, ибо не у всех героев атрибуты стоят пятой абилкой, либо вообще забиты на абилку.

А во вторых: какой файл ты редактируешь и с фига у тебя что-то слетает?
npc_heroes_custom.txt - это текстовый файл, просто редактором текстовым редактируешь. Блокнотом, например. У тебя вон, вижу, вроде notepad++. Как там что-то может слетать? Если только ты вносишь изменения и закрываешь файл без сохранения...
 
Последнее редактирование модератором:
А, я понял: ты нарушаешь синтаксис datadriven: ставишь ключ на абилку ("Ability5"), но не дописываешь значение, оставляешь далее пустой строку. Естественно компилятор это не съест и выдаст ошибку, что у тебя файл неверно прочтен.
 
Последнее редактирование модератором:
А, я понял: ты нарушаешь синтаксис datadriven: ставишь ключ на абилку ("Ability5"), но не дописываешь значение, оставляешь далее пустой строку. Естественно компилятор это не съест и выдаст ошибку, что у тебя файл неверно прочтен.
НЕТ!
Так можно, я делал, все работало
 
Последнее редактирование модератором:
Код:
 "npc_dota_hero_magneto" //имя юнита
	{
	    // General
	    //----------------------------------------------------------------
			"override_hero"			"npc_dota_hero_silencer"
	    "HealthBarOffset"    "140" //насколько высоко будет хп бар

    //-------------------------------------------------------------------------------------------------------------
		"AbilityLayout"				"4"
		//-------------------------------------------------------------------------------------------------------------
		"Ability1"		"magneto_telekinesis"
		"Ability2"		"magneto_telekinesis_land"
		"Ability3"		"magneto_natural_order"
		"Ability4"		"magneto_shield"
		"Ability5"		"magneto_reverse_polarity"
		"Ability6"		""
		"Ability7"		"attribute_bonus"
		"Ability10"		"admin"

    // Armor
	    //----------------------------------------------------------------
	    "ArmorPhysical"     "0"
	    "MagicalResistance"   "24"

	    // Attack
	    //----------------------------------------------------------------
	    "AttackCapabilities"		"DOTA_UNIT_CAP_RANGED_ATTACK"
	    "AttackDamageType"   "DAMAGE_TYPE_ArmorPhysical"
	    "AttackDamageMin"    "32.0"
	    "AttackDamageMax"    "43.0"
      "AttackRate"      "1.35"
	    "AttackAnimationPoint" "0.5"
	    "AttackAcquisitionRange" "500"
	    "AttackRange"      "490"

	    // Bounds
	    //----------------------------------------------------------------
	    "BoundsHullName"    "DOTA_HULL_SIZE_HERO"
	    "RingRadius"      "70"

    // Movement
	    //----------------------------------------------------------------
      "MovementCapabilities" "DOTA_UNIT_CAP_MOVE_GROUND"
	    "MovementSpeed"     "300"
	    "MovementTurnRate"   "0.6"

	    // Status
	    //----------------------------------------------------------------
	    "StatusHealth"     "520"
	    "StatusHealthRegen"   "0.95"
	    "StatusMana"      "450"
	    "StatusManaRegen"    "1"

	    // Vision
	    //----------------------------------------------------------------
	    "VisionDaytimeRange"  "1400"
	    "VisionNighttimeRange" "800"

	    //"AttributePrimary"   "DOTA_ATTRIBUTE_AGILITY"
			"AttributeBaseStrength"  "23"          // Base strength
			"AttributeStrengthGain"  "1"          // Strength bonus per level.
			"AttributeBaseIntelligence" "23"          // Base intelligence
			"AttributeIntelligenceGain" "2.6"          // Intelligence bonus per level.
			"AttributeBaseAgility"  "13"          // Base agility
			"AttributeAgilityGain"  "1.5"          // Agility bonus per level.
 }
 
Последнее редактирование модератором:
Что ты делал?

Если ты про :

Код:
"Ability6"		""

То у тебя значение стоит - это nil:

Код:
  ""

А вот так делать нельзя:

Код:
"Ability5"
 
Последнее редактирование модератором:
Реклама: