Прописать юнит создание в скиле

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

Epselot

Пользователь
11 Янв 2017
34
0
Есть строка кода:
Код:
local caster_up = CreateUnitByName(tower_up, tower_loc, false, caster, caster, caster:GetTeam())

Хочу что бы юнит который будет создан заносился в способность, обычно это делается через AbilitySpecial.
Код:
		"AbilitySpecial"
		{
			"01"
			{
				"var_type"				"FIELD_FLOAT"
				"tower_up"				"tower_stone_ii"
			}
		}

Но но не выходит занести переменную через
Код:
local tower_up = ability:GetSpecialValueFor("tower_up")

Скажите, как правильно сделать, чтоб работало?
 
Последнее редактирование модератором:
[quote author=Epselot link=topic=1295.msg8010#msg8010 date=1486201092]
Есть строка кода:
Код:
local caster_up = CreateUnitByName(tower_up, tower_loc, false, caster, caster, caster:GetTeam())

Хочу что бы юнит который будет создан заносился в способность, обычно это делается через AbilitySpecial.
Код:
		"AbilitySpecial"
		{
			"01"
			{
				"var_type"				"FIELD_FLOAT"
				"tower_up"				"tower_stone_ii"
			}
		}

Но но не выходит занести переменную через
Код:
local tower_up = ability:GetSpecialValueFor("tower_up")

Скажите, как правильно сделать, чтоб работало?
[/quote]
Во-1, что блять ты хочешь?
Во-2, какого хера у тебя указан тип FLOAT, а по факту строка?
 
Последнее редактирование модератором:
Последнее редактирование модератором:
Во-1, что бабушка ты хочешь?
Во-2, какого хера у тебя указан тип FLOAT, а по факту строка?

Он хочет, чтобы вместо FLOAT была строка с именем юнита.

Насколько я знаю: через speacial так не сделать, т.к. не встречал в этом блоке строковых переменных.
Но ты можешь сделать абилку не через lua, а через dd и вызывать в ней по касту скрипт, в который сможешь передать в параметрах имя.

Либо ты можешь в самой абилке, в её скрипте, хранить имена юнитов в hash table, в которой у тебя в качестве ключей к именам будут выступать цифры, которые ты уже сможешь запрашивать из ability special.
 
Последнее редактирование модератором:
Либо ты можешь в самой абилке, в её скрипте, хранить имена юнитов в hash table, в которой у тебя в качестве ключей к именам будут выступать цифры, которые ты уже сможешь запрашивать из ability special.

Да этот вариант не такой элегантный, но наверное самый простой в данном случае. А вообще странно что такой возможности нет, тоже искал, найти не смог.

А можно взять название скила, отредактировать его программно и использовать как название юинта?
 
Последнее редактирование модератором:
Можно ссылку на гайды по dd на эту тему, его не касался ещё.

Да этот вариант не такой элегантный, но наверное самый простой в данном случае. А вообще странно что такой возможности нет, тоже искал, найти не смог.

А можно взять название скила, отредактировать его программно и использовать как название юинта?
Код:
ability:GetName()
А потом делай что хочешь с этим, это ж строка.
ps. вместо бабушки было бл*дь, но гениальная система антимата такая гениальная :D
 
Последнее редактирование модератором:
ps. вместо бабушки было бл*дь, но гениальная система антимата такая гениальная :D


Я помню статью тут писал, так там пришлось потом перечитывать и исправлять, ибо все её "литертаурные" маты были чьими-то родственниками : ))


Можно ссылку на гайды по dd на эту тему, его не касался ещё.


Ссыль и ссыль.
 
Последнее редактирование модератором:
Я непонял что иммено ты хочеш, но если ты типо хочеш сделать что то типо,
Есть абилка ( при юзе выдает одного) , создаеться юнит - при юзе абилки она выдает другое, создаеться еще юнит - при юзе абилки создаеться еще -
делай при спавне глобальную переменную _G.MyAbility = {}, _G.MyAbility[ply].u =,потом каждого игрока заноси туда, и потом при создании юнита делай уже что хочеш, заноси в переменную _G.MyAbility[ply].u id юнита, или прибавляй 1, можеш туда еще id из кв закинуть, а если юнит сдох то абилку ему прихерач на смерть...
 
[quote author=gameizeazy link=topic=1295.msg8030#msg8030 date=1486264273]
Если надо несколько юнитов делай
Код:
_G.MyAbility.u = {}
[/quote]
Сейчас бы в глобальные переменные записывать без нужды, ага.
 
ай всё исправил
Да нихрена ты не исправил.
Ненужно записывать в глобальные переменные что то, когда можно записать это же самое с тем же самым успехом в локальные.
 
Последнее редактирование модератором:
Реклама: