Добавление способности
|
|
Saladan | Дата: Пятница, 19 Ноября 2010, 22:24:29 | Сообщение # 1 |
2 уровень
Группа: Пользователи
Сообщений: 26
Награды: 0
Репутация: 2
Блокировки:
| Как сделать, чтобы при использовании предмета герой получил одну случайную способность из четырех возможных? И если возможно, то лучше ответить наработкой
когда тупость перестанет существовать, то люди тоже перестанут существовать, поэтому тупость никогда не перестанет существовать, потому что и люди будут долго жить, но когда цивилизация перестанет существовать, то тупость всё равно не перестанет существовать,потому что это тупость, когда мир существует без людей...
|
|
|
|
Saladan | Дата: Пятница, 19 Ноября 2010, 22:33:32 | Сообщение # 2 |
2 уровень
Группа: Пользователи
Сообщений: 26
Награды: 0
Репутация: 2
Блокировки:
| это не то) объясню подробней У героя есть предмет "Книга Способностей", который может дать герою способность: "Вихрь" или "Аура выносливости" или "Смертельный удар" или "Сильный удар". Я нажимаю на этот предмет и он исчезает, а вместо него герой получает способность "Смертельный удар"
когда тупость перестанет существовать, то люди тоже перестанут существовать, поэтому тупость никогда не перестанет существовать, потому что и люди будут долго жить, но когда цивилизация перестанет существовать, то тупость всё равно не перестанет существовать,потому что это тупость, когда мир существует без людей...
|
|
|
|
Saladan | Дата: Пятница, 19 Ноября 2010, 22:51:09 | Сообщение # 3 |
2 уровень
Группа: Пользователи
Сообщений: 26
Награды: 0
Репутация: 2
Блокировки:
| значит это я тебя не понял, ибо предоставленные тобой триггеры алогичны сделай наработку и скинь, я посмотрю
когда тупость перестанет существовать, то люди тоже перестанут существовать, поэтому тупость никогда не перестанет существовать, потому что и люди будут долго жить, но когда цивилизация перестанет существовать, то тупость всё равно не перестанет существовать,потому что это тупость, когда мир существует без людей...
|
|
|
|
BUUNI | Дата: Пятница, 19 Ноября 2010, 22:53:19 | Сообщение # 4 |
7 уровень
Группа: Проверенные
Сообщений: 347
Награды: 1
Репутация: 53
Блокировки:
| Событие: Игрок использует предмет Условие: Используемый предмет типа Книга способностей равно Да Действие: Установить случайное число для Random от 1 до 4 Если условие: Random = 1 Действие: Заставить Героя изучить способность типа Вихрь Если условие: Random = 2 Действие: Заставить Героя изучить способность типа Аура выносливости Если условие: Random = 3 Действие: Заставить Героя изучить способность типа Смертельный удар Если условие: Random = 4 Действие: Заставить Героя изучить способность типа Сильный удар
|
|
|
|
Saladan | Дата: Пятница, 19 Ноября 2010, 22:54:53 | Сообщение # 5 |
2 уровень
Группа: Пользователи
Сообщений: 26
Награды: 0
Репутация: 2
Блокировки:
| BUUNI, благодарю)
когда тупость перестанет существовать, то люди тоже перестанут существовать, поэтому тупость никогда не перестанет существовать, потому что и люди будут долго жить, но когда цивилизация перестанет существовать, то тупость всё равно не перестанет существовать,потому что это тупость, когда мир существует без людей...
|
|
|
|
BUUNI | Дата: Пятница, 19 Ноября 2010, 22:55:45 | Сообщение # 6 |
7 уровень
Группа: Проверенные
Сообщений: 347
Награды: 1
Репутация: 53
Блокировки:
| Только там надо фиксить то, если у героя есть эта способность.
|
|
|
|
DarkVader | Дата: Пятница, 19 Ноября 2010, 23:06:06 | Сообщение # 7 |
7 уровень
Группа: Проверенные
Сообщений: 357
Награды: 0
Репутация: 95
Блокировки:
| Quote (Saladan) Как сделать, чтобы при использовании предмета герой получил одну случайную способность из четырех возможных? И если возможно, то лучше ответить наработкой создаем предмет и даем ему способность пустышку но заранее при инициализации задаем в массив все наши способности потом создаем триггер Событие - Боевая единица - приводит способность в действие Условие - применяемая способность = наша способность действия: добавить способоность наш массив[ случайное целое число от 1 до 4] для применяющий юнит Добавлено (19-11-2010, 23:06) --------------------------------------------- BUUNI, Quote (BUUNI) Заставить Героя изучить способность типа Смертельный удар как герой может изучить ее если у него ее нет в способностях? нужно просто добавить ее ему и выставить нужный уровень
Сообщение отредактировал DarkVader - Пятница, 19 Ноября 2010, 23:03:56 |
|
|
|
BUUNI | Дата: Пятница, 19 Ноября 2010, 23:36:46 | Сообщение # 8 |
7 уровень
Группа: Проверенные
Сообщений: 347
Награды: 1
Репутация: 53
Блокировки:
| Quote (DarkVader) как герой может изучить ее если у него ее нет в способностях? нужно просто добавить ее ему и выставить нужный уровень Я это и имел в виду. Просто я по памяти писал.)
|
|
|
|
DarkVader | Дата: Суббота, 20 Ноября 2010, 05:04:16 | Сообщение # 9 |
7 уровень
Группа: Проверенные
Сообщений: 357
Награды: 0
Репутация: 95
Блокировки:
| Quote (BUUNI) Только там надо фиксить то, если у героя есть эта способность. если эта способность уже есть у юнита она еще раз не добавится Добавлено (20-11-2010, 04:27) --------------------------------------------- кароче посидел поломал голову, вот придумат триггер но ток к сожелению на jass и требует одного глобального массива типа интежер иначе триггер будет действовать бесконечно, может можно и лучше но в сонную голову что то ничего больше не идет, но зато у этого способа есть + и не малый, можно предотвратить использование книги если юнит уже имеет все спелы из нее. Code function Trig_spell_Conditions takes nothing returns boolean if( GetSpellAbilityId() == 'AHfs' and udg_AmountSpells[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))] < 4 )then return true else return false endif endfunction
function Trig_spell_Actions takes nothing returns nothing local integer k = GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit())) local integer i local integer array spell set spell[1] = 'AHbz' set spell[2] = 'AHre' set spell[3] = 'AHad' set spell[4] = 'AHwe' loop set i = GetRandomInt(1,4) exitwhen UnitAddAbility( GetSpellAbilityUnit(), spell[i]) == true endloop set udg_AmountSpells[k] = udg_AmountSpells[k] + 1 endfunction
//=========================================================================== function InitTrig_spell takes nothing returns nothing set gg_trg_spell = CreateTrigger( ) call TriggerRegisterAnyUnitEventBJ( gg_trg_spell, EVENT_PLAYER_UNIT_SPELL_EFFECT ) call TriggerAddCondition( gg_trg_spell, Condition( function Trig_spell_Conditions ) ) call TriggerAddAction( gg_trg_spell, function Trig_spell_Actions ) endfunction вот карта пример addability1.w3x юзаем огненный столб у героя и смотрим что получается=) Добавлено (20-11-2010, 04:58) --------------------------------------------- Взломчик-карт, Quote (Взломчик-карт) http://rghost.ru/3312480 вот неработка мда, именно что НЕработка 1) кто такой "нет боевой единицы"? а если "боевая единица есть"? она не получит способности? это как бэ дискриминация 2) как герой может выучить способность ту которую он не может выучить? 3) зачем у тебя 4 триггера делют( точнее пытаются сделать ) то что может сделать один триггер? 4) почему твои триггеры пытаются добавить сразу все 4 способности? если ключевое слово "случайную" из 4 5) ну получил герой предмет а дальше что он с ним будет делать? передаст другому? и так все герои на карте получат эти способности? 5 пункт можно исключить при условии что это наработка и вообще старайся логически думать когда ты делаешь триггеры Добавлено (20-11-2010, 05:04) --------------------------------------------- Saladan, и еще если ты хочешь получить ответ или наработку то конкретнее описывай желаемое, потому как мысли читать мы не умеем и из того что ты сказал выходит как минимум несколько вариантов P.S. а те кто умеет читать мысли пусть идут в <?> P.S.S сори за флуд
|
|
|
|
rep-30011 | Дата: Суббота, 20 Ноября 2010, 08:51:03 | Сообщение # 10 |
7 уровень
Группа: Проверенные
Сообщений: 300
Награды: 0
Репутация: 18
Блокировки:
| Quote (DarkVader) Code function Trig_spell_Conditions takes nothing returns boolean if( GetSpellAbilityId() == 'AHfs' and udg_AmountSpells[GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))] < 4 )then return true else return false endif endfunction function Trig_spell_Actions takes nothing returns nothing local integer k = GetConvertedPlayerId(GetOwningPlayer(GetSpellAbilityUnit())) local integer i local integer array spell set spell[1] = 'AHbz' set spell[2] = 'AHre' set spell[3] = 'AHad' set spell[4] = 'AHwe' loop set i = GetRandomInt(1,4) exitwhen UnitAddAbility( GetSpellAbilityUnit(), spell[i]) == true endloop set udg_AmountSpells[k] = udg_AmountSpells[k] + 1 endfunction //=========================================================================== function InitTrig_spell takes nothing returns nothing set gg_trg_spell = CreateTrigger( ) call TriggerRegisterAnyUnitEventBJ( gg_trg_spell, EVENT_PLAYER_UNIT_SPELL_EFFECT ) call TriggerAddCondition( gg_trg_spell, Condition( function Trig_spell_Conditions ) ) call TriggerAddAction( gg_trg_spell, function Trig_spell_Actions ) endfunction Опять джасовый тригер ну люди буте всё таки добрее веть смысл не зделать за него карту а научить тому или иному тригеру ***** ДЖАС ТУТ ЕСЛИ ТЫ ВСЁ САМ ОБЪЯСНИЛ ПО ПРОСТОМУ ТРИГЕРУ??? он же нефига не понимает по джасу и чему ты его научиш? копирования тригеров или джаса? Люди буте умнее Вот делай на обычном тригере Событие: Юнит использует предмет Условие: Сравнение предмета: ((Герой манипулирует предметом) = (Предмет Типа Книга Способностей)) Действие: Установить переменую Random = Математика - Случайное сисло от 1 до 4 Если\то\иначе Если Random = 1 То - Дать способность ....... Есои Random = 2 То - Дать способность ........... И так далее в подоюном духе И никакого дебильного джаса
ИНФА Ланшафтинг - 10% Декорирование - 5% Джасс - 3% Спелмейкер (создатель спелов) - 100% Основные триггеры - 100% Фантазия - 83%
|
|
|
|
Ty3uK | Дата: Суббота, 20 Ноября 2010, 09:56:03 | Сообщение # 11 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Жасс не дебильный, это ты зря. На жассе можно сделать то, что на гуи тебе и не снилось. Плюс меньше утечек... Так что- думай что говоришь...
|
|
|
|
Ramazan(off) | Дата: Суббота, 20 Ноября 2010, 10:25:51 | Сообщение # 12 |
11 уровень
Группа: Проверенные
Сообщений: 1670
Награды: 1
Репутация: 775
Блокировки:
| Quote (Ty3uK) что на гуи тебе и не снилось например, гуи не менее функционален я считаю. На джассе работают про.
|
|
|
|
Ty3uK | Дата: Суббота, 20 Ноября 2010, 11:24:59 | Сообщение # 13 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Нет, я не спорю, но гуи более утечен и в нем присутствуют не все функции жасса
|
|
|
|
Unetco | Дата: Суббота, 20 Ноября 2010, 12:01:00 | Сообщение # 14 |
10 уровень
Группа: Проверенные
Сообщений: 2307
Награды: 2
Репутация: 648
Блокировки:
| Задам вопрос по теме: Я знаю два вида покупки способности: 1-й - улучшение купленного спелла с помощью последующей покупки определенного предмета (тут ничего сложного) 2-й - покупка способности и возможность ее последующего улучшения без триггеров и прочего. Т.е купил способность и можно ее прокачивать как в обычных картах. Интересует как сделать второй способ. Знаю что нужно как то с помощью спелла "Техника", но как именно не знаю. Жедательно без jass`а)
|
|
|
|
AlphabeT | Дата: Суббота, 20 Ноября 2010, 12:13:33 | Сообщение # 15 |
6 уровень
Группа: Проверенные
Сообщений: 241
Награды: 0
Репутация: 115
Блокировки:
| Unetco, прокчивать в своем ивентаре?)
|
|
|
|
Unetco | Дата: Суббота, 20 Ноября 2010, 12:16:01 | Сообщение # 16 |
10 уровень
Группа: Проверенные
Сообщений: 2307
Награды: 2
Репутация: 648
Блокировки:
| AlphabeT, Нет. Есть предмет, к примеру "Аура смерти". Его покупаешь, и появляется способность, которую можно качать, как обычный спелл (т.е он не становится изученным, а его после этого нужно изучать самому, с повышением уровня, т.е как в обычных картах).
|
|
|
|
AlphabeT | Дата: Суббота, 20 Ноября 2010, 12:17:20 | Сообщение # 17 |
6 уровень
Группа: Проверенные
Сообщений: 241
Награды: 0
Репутация: 115
Блокировки:
| Unetco, я так и имелл ввиду)могу через часик сделать)
|
|
|
|
Unetco | Дата: Суббота, 20 Ноября 2010, 12:18:24 | Сообщение # 18 |
10 уровень
Группа: Проверенные
Сообщений: 2307
Награды: 2
Репутация: 648
Блокировки:
| AlphabeT, Попробуй. Если сделаешь, поставлю толстый плюс и скажу спасибо хD
|
|
|
|
AlphabeT | Дата: Суббота, 20 Ноября 2010, 12:19:14 | Сообщение # 19 |
6 уровень
Группа: Проверенные
Сообщений: 241
Награды: 0
Репутация: 115
Блокировки:
| Unetco, гы)ну щас в дотку рубану разок ок?)
|
|
|
|
DarkVader | Дата: Суббота, 20 Ноября 2010, 16:25:38 | Сообщение # 20 |
7 уровень
Группа: Проверенные
Сообщений: 357
Награды: 0
Репутация: 95
Блокировки:
| rep-30011, такой триггер как Quote (rep-30011) Событие: Юнит использует предмет Условие: Сравнение предмета: ((Герой манипулирует предметом) = (Предмет Типа Книга Способностей)) Действие: Установить переменую Random = Математика - Случайное сисло от 1 до 4 Если\то\иначе Если Random = 1 То - Дать способность ....... Есои Random = 2 То - Дать способность ........... не дает желаемого результата, потому что если ты используешь две такие книги и два раза например выпадет единица, то за две книги получишь всего один спел, я не стал делать на гуи лишь потому что возможность циклов там ой как ограничена, а прямой проверки на есть ли у юнита спел или нет нету, для этого я использовал цикл который будет повторять действия до тех пор пока не добавится именно новая способность, но в цикле этом есть минус если уже все способности есть он будет работать бесконечно, для этого создал целочисленный масив который при добавлении изменяется на 1 и при получении всех возможных спелов из книги он не дает запуститься триггеру, мало того еще и можно предотвращать ее применение.
|
|
|
|
AdMiRaLL | Дата: Суббота, 20 Ноября 2010, 16:43:16 | Сообщение # 21 |
8 уровень
Группа: Проверенные
Сообщений: 743
Награды: 1
Репутация: 61
Блокировки:
| закройте тему, автору уже ответ дали вроде а тут остался флуд
|
|
|
|
Unetco | Дата: Суббота, 20 Ноября 2010, 16:44:51 | Сообщение # 22 |
10 уровень
Группа: Проверенные
Сообщений: 2307
Награды: 2
Репутация: 648
Блокировки:
| Quote (Unetco) 2-й - покупка способности и возможность ее последующего улучшения без триггеров и прочего. Т.е купил способность и можно ее прокачивать как в обычных картах. Помогите сделать :) Лучше примером.
|
|
|
|
DarkVader | Дата: Суббота, 20 Ноября 2010, 16:50:28 | Сообщение # 23 |
7 уровень
Группа: Проверенные
Сообщений: 357
Награды: 0
Репутация: 95
Блокировки:
| Quote (rep-30011) Опять джасовый тригер ну люди буте всё таки добрее веть смысл не зделать за него карту а научить тому или иному тригеру ***** ДЖАС ТУТ ЕСЛИ ТЫ ВСЁ САМ ОБЪЯСНИЛ ПО ПРОСТОМУ ТРИГЕРУ??? он же нефига не понимает по джасу и чему ты его научиш? копирования тригеров или джаса? Люди буте умнее ну ты сначала посмотри что написано в первом посте. Quote (Saladan) Как сделать, чтобы при использовании предмета герой получил одну случайную способность из четырех возможных? И если возможно, то лучше ответить наработкой Я написал как это сделать и ответил еще наработкой. так как Saladan оставил мало информации вроде: как должна использоваться книга, может ли добыть больше одной такой книги и т.д поэтому я постарался сделать это универсально что бы работало во всех случаях, а на гуи я не знаю как такое сделать.
Сообщение отредактировал DarkVader - Суббота, 20 Ноября 2010, 16:53:52 |
|
|
|
rep-30011 | Дата: Суббота, 20 Ноября 2010, 17:57:43 | Сообщение # 24 |
7 уровень
Группа: Проверенные
Сообщений: 300
Награды: 0
Репутация: 18
Блокировки:
| Quote (DarkVader) Я написал как это сделать и ответил еще наработкой. так как Saladan оставил мало информации вроде: как должна использоваться книга, может ли добыть больше одной такой книги и т.д поэтому я постарался сделать это универсально что бы работало во всех случаях, а на гуи я не знаю как такое сделать. Живой пример на гуи мне это расплюнут как ты же сам сказал (заметь из твоих уст) что джас имеет минус повторять тригер т.е цикл и он будет работать бесконечно а что на гуи нельзя просто проверять обладает ли переключяющийся юнит этим спелом если да то вычеркиваем этот спел из списка. В случае если у тебя есть все спелы то тригер делает конечное действие Ничего не делать и всё тригер авто отключяется и вот тебе тоже самое без джаса
ИНФА Ланшафтинг - 10% Декорирование - 5% Джасс - 3% Спелмейкер (создатель спелов) - 100% Основные триггеры - 100% Фантазия - 83%
|
|
|
|
DarkVader | Дата: Суббота, 20 Ноября 2010, 19:34:39 | Сообщение # 25 |
7 уровень
Группа: Проверенные
Сообщений: 357
Награды: 0
Репутация: 95
Блокировки:
| Quote (rep-30011) гуи нельзя просто проверять обладает ли переключяющийся юнит этим спелом если да то вычеркиваем этот спел из списка. В случае если у тебя есть все спелы то тригер делает конечное действие Ничего не делать и всё тригер авто отключяется и вот тебе тоже самое без джаса пример в студию...
|
|
|
|