Нужно что бы через способность можно было продавать уже обученного юнита, как на разных TD картах, по принципу (построил здание, потом когда уже оно не нужно продать за 70% от её стоимости)

Принятый ответ

Это просто гуглится. А ещё можно открыть близовскте карты и скопипастить оттуда.
Самый банальный способ.
В Редакторе Объектов ставишь своей башни Point Value равное стоимости башни. Даёшь башне способность Х на основе Channel (Канал).
А теперь триггер.
События:
	Юнит начинает применять способность.
Условия:
	Тип юнита равно Здание
	Применяемая способность равно Х
Действие:
	Add Integer(0.70 x (Real(Point Value of Casting Unit))) to (Owner of Casting Unit) Current Gold
	Удалить Casting Unit
Кто-нибудь, переведите части на английском на русский, я не пользуюсь русской версией редактора.
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
6 лет назад
0
Похожие вопросы:

ответ
Sucsonius, через скилы реализовать покупку/продажу юнитов(все действия описывать триггерно, а инфу показывать в мультибоарде)
ещё можно отдать дамми герою приказ на покупку и таким образом уменьшать
можно создать кучу зданий с разным количеством двенадцатого юнита и при необходимости сменить количество удалять здание и создавать новое возвращая выделение и количество юнитов с 1 по 11
можно сделать полноэкранную таверну с помощью дгуи
имхо последнее лучше всего будет
Sucsonius:
который обходит данную проблему
костыли не обходят проблему
они извращают всё таким образом что проблема не заметна на фоне этих костылей
если тебе надо обойти проблему то пиши новый вар3
ответ
Похоже, что никак. Смена владельца точно не помогает =)
ответ
Выбрать героя добавь еще.
ответ
Diaboliko, у предметов с этим бага
юзай юнитов
с ними намного проще
ответ
Поменяй обратно на здание, затем убери текстуру земли, затем смени назад на юнита.
Там графа просто плавающая.

0
32
6 лет назад
0
Nканал + база данных стоимости юнитов.
0
28
6 лет назад
Отредактирован PT153
0
Это просто гуглится. А ещё можно открыть близовскте карты и скопипастить оттуда.
Самый банальный способ.
В Редакторе Объектов ставишь своей башни Point Value равное стоимости башни. Даёшь башне способность Х на основе Channel (Канал).
А теперь триггер.
События:
	Юнит начинает применять способность.
Условия:
	Тип юнита равно Здание
	Применяемая способность равно Х
Действие:
	Add Integer(0.70 x (Real(Point Value of Casting Unit))) to (Owner of Casting Unit) Current Gold
	Удалить Casting Unit
Кто-нибудь, переведите части на английском на русский, я не пользуюсь русской версией редактора.
Принятый ответ
2
27
6 лет назад
Отредактирован MpW
2
можно использовать в вашей карте в качестве базы данных какие-то неиспользуемые поля (например уровень юнита GetUnitLevel, опыт за убийство GetUnitPointValue/GetUnitPointValueByType). Используем канал. При продаже можешь проверять уровень, и давать точно такое же значение.

Еще есть Custom Value of Unit (GetUnitUserData) - но это значение нам не поможет, дело в том, что когда юнит создается в игре, у него это значение изначально равно 0. Вы не узнаете сколько. Ибо в ро кажется нельзя задать, только триггерах можно менять

Придется использовать бд - на каждый тип юнита забиваете значение.
На хэш-таблице легко делается, ибо достается по ключам.
Ключ = это целое число. Тип юнита = rawcode = целое число.
parentKey - родительский ключ
childKey - младший ключ
Действие - Сохранить в Хэше по старшему ключу (parentKey=тип юнита) по младшему ключу (childKey=0) целое число (указываем золото)
Действие - Сохранить в Хэше по старшему ключу (parentKey=тип юнита) по младшему ключу (childKey=1) целое число (указываем дерево)

Достаем точно также:
Загрузить из Хэша целое по старшему ключу (parentKey=тип юнита) по младшему ключу (childKey=0)
можно также
<переменная> = Загрузить из Хэша целое число по старшему ключу (parentKey=тип юнита) по младшему ключу (childKey=0)
можно проделать так с каждым типом юнита, при инициализации все это подсохраняется в хэш.

левым игроком попробовать через даймика построить здание где-нибудь в невидимом уголке, и проверять разницу между "было золота" и "стало золота". И удалить здание с дамми.

попробовать нейтральным игроком купить этого юнита. И проверять разницу.

рассеять здание 'Auns' - это типа продать здание. При рассеиваний наносится урон зданию (ловится дебагом это в качестве урона от лица кастера). Урон относится к типу атаки "Заклинание", не понижается защитой. Поле "шаг накопления" - здесь указывают урон. В поле "коэффициент стоимости спасения" - указывают процент от стоимости здания (дерево и золото, указанных в ро здания), типа возвращает какой-то процент затраченных ресурсов на создание здания. Время действия заклинания не указано, это значит, оно действует до сих пор, пока здание не уничтожится. Урон наносится каждую секунду.
Формула вычисления прибавленного ресурса за 1 секунду: Ресурс=Cost/(hp/damage)*p

использовать трансмутацию. За уничтожение юнита дает деньги за стоимость. Правда, целевая. но.. не точное. можно на сайте поискать про трансмутацию.
PT153,
Действие - Add Integer(0.70 x (Real(Point Value of Casting Unit))) to (Owner of Casting Unit) Current Gold
Добавить игроку к текущему значению золото
0
28
6 лет назад
0
Еще есть Custom Value of Unit (GetUnitUserData) - но это значение нам не поможет, дело в том, что когда юнит создается в игре, у него это значение изначально равно 0. Вы не узнаете сколько. Ибо в ро кажется нельзя задать, только триггерах можно менять
Когда здание построится, можно записать в Custom Value Point Value (где записана стоимость), а при улучшении добавлять к Custom Value стоимость улучшения. Так сделано в близовских тдшках.
По поводу бд. Бд лучше сделать на структурах, это описано тут.
0
21
6 лет назад
Отредактирован scopterectus
0
Есть же функции:
native GetUnitGoldCost        takes integer unitid                    returns integer
native GetUnitWoodCost        takes integer unitid                    returns integer
Правда нелbзя использовать на воинов, у которых равкод начинается с прописной буквы (на героев).
0
28
6 лет назад
0
ScopteRectuS:
Есть же функции:
native GetUnitGoldCost        takes integer unitid                    returns integer
native GetUnitWoodCost        takes integer unitid                    returns integer
Правда нелbзя использовать на воинов, у которых равкод начинается с прописной буквы (на героев).
Это функции из какого патча? Я говорил про 1.26.
2
21
6 лет назад
2
не знаю когда добавили, но в 1.26 есть. только для начала их нужно объявить, так как они из common.ai.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.