Сейчас 02:02:45 Суббота, 20 апреля, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Добавление способности
Добавление способности
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
Блокировки:
Жасс не дебильный, это ты зря. На жассе можно сделать то, что на гуи тебе и не снилось. Плюс меньше утечек... Так что- думай что говоришь... <_<

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

Ramazan(off)Дата: Суббота, 20 Ноября 2010, 10:25:51 | Сообщение # 12
11 уровень
Группа: Проверенные
Сообщений: 1670
Награды: 1
Репутация: 765
Блокировки:
Quote (Ty3uK)
что на гуи тебе и не снилось

например, гуи не менее функционален я считаю.
На джассе работают про.
 

Ty3uKДата: Суббота, 20 Ноября 2010, 11:24:59 | Сообщение # 13
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Нет, я не спорю, но гуи более утечен и в нем присутствуют не все функции жасса ^_^

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

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)
гуи нельзя просто проверять обладает ли переключяющийся юнит этим спелом если да то вычеркиваем этот спел из списка. В случае если у тебя есть все спелы то тригер делает конечное действие Ничего не делать и всё тригер авто отключяется и вот тебе тоже самое без джаса

пример в студию...

 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Добавление способности
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz