изучение скилов
|
|
mishа | Дата: Понедельник, 18 Июня 2012, 18:59:36 | Сообщение # 1 |
6 уровень
Группа: Проверенные
Сообщений: 153
Награды: 0
Репутация: 78
Блокировки:
| как сделать автоизучение скилов?желательно соскринами если не сложно
Сообщение отредактировал mishа - Понедельник, 18 Июня 2012, 19:00:06 |
|
|
|
Extremator | Дата: Понедельник, 18 Июня 2012, 21:44:07 | Сообщение # 2 |
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
| Событие - боевая единица повышает уровень Действия:
Если (тип юнита (инициапора) = Паладин, то
*** Если *** *** ИЛИ - любое из условий *** *** *** Уровень героя (инициапора) равен 2 *** *** *** Уровень героя (инициапора) равен 3 *** *** *** Уровень героя (инициапора) равен 5 *** ТО - Герой - выучить заклинание "Благодать"
*** Если *** *** ИЛИ - любое из условий *** *** *** Уровень героя (инициапора) равен 9 *** *** *** Уровень героя (инициапора) равен 10 *** ТО - Герой - выучить заклинание "Божественный Щит"
*** Если *** *** ИЛИ - любое из условий *** *** *** Уровень героя (инициапора) равен 4 *** *** *** Уровень героя (инициапора) равен 7 *** *** *** Уровень героя (инициапора) равен 8 *** ТО - Герой - выучить заклинание "Доспехи Веры"
*** Если *** *** Уровень героя (инициапора) равен 6 *** ТО - Герой - выучить заклинание "Воскрешение"Добавлено (18 Июнь 2012, 21:44:07) --------------------------------------------- и так для каждого типа героя... это оооооочень муторно...
Сообщение отредактировал Extremator - Понедельник, 18 Июня 2012, 21:43:07 |
|
|
|
Naturekid | Дата: Вторник, 19 Июня 2012, 15:02:01 | Сообщение # 3 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| Quote (Extremator) и так для каждого типа героя... это оооооочень муторно... Вообще-то можно проще =).Quote (Extremator) *** ТО - Герой - выучить заклинание "Воскрешение" Quote (Extremator) *** ТО - Герой - выучить заклинание "Благодать" Quote (Extremator) *** ТО - Герой - выучить заклинание "Божественный Щит" Quote (Extremator) *** ТО - Герой - выучить заклинание "Доспехи Веры" Так как у героя обычно 1 скилпойнт за лвл, то прокачиваться будут доступные скиллы по порядку, конечно если пропуск уровня в игровых константах стоит как по умолчанию, то есть 2, то при данном обучении Доспехи веры будут изучаться лишь тогда когда все остальные скиллы будут выучены. Но и это поправимо, можно добавить случайность. if then else multiple conditions if random integer number between 1 and 3 = 2 then выучить благодать ELSE if then else multiple conditions if random integer number between 1 and 2 = 1 then выучить бОжественный щит ELSE выучить доспехи веры На ульту шанс делать не стоит пускай при возможности в первую очередь учит её всегда. (Как указано выше в фиксированном изучении.)
|
|
|
|
SirNikolas | Дата: Вторник, 19 Июня 2012, 15:06:22 | Сообщение # 4 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Quote (Extremator) и так для каждого типа героя... это оооооочень муторно... Создаем двумерный массив, по вертикали - типы героев, по горизонтали - уровни. В ячейках - скиллы.
|
|
|
|
Naturekid | Дата: Вторник, 19 Июня 2012, 15:17:07 | Сообщение # 5 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| Quote (SirNikolas) Создаем двумерный массив, по вертикали - типы героев, по горизонтали - уровни. В ячейках - скиллы. Двумерный массиииив говоришь? Интересно как это? Через джасс что ли??? В РТ вроде одномерные тока сделать можно. Зачем отвечать таким заумным ответом, человеку, задающему столь лёгкий вопрос?? Ряд массивов? Тоже не очень понятно. Проще тогда уж через остаток от деления что ли сделать если уж строгое расписание скиллов должно соблюдаться. Ненаю
|
|
|
|
Extremator | Дата: Вторник, 19 Июня 2012, 15:26:03 | Сообщение # 6 |
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
| Quote (SirNikolas) Создаем двумерный массив, по вертикали - типы героев, по горизонтали - уровни. В ячейках - скиллы.
я к тому что это будет "ж*па ну гуи" или "здоровый БД в который ещё нада понимать как делать" или"более глубокое обращение к коду... жасс и прочее на нём"
в общем... геморойчик... но сделать можно... но нужно деееееелать...
|
|
|
|
Naturekid | Дата: Вторник, 19 Июня 2012, 15:50:26 | Сообщение # 7 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| Quote (Extremator) я к тому что это будет "ж*па ну гуи" или "здоровый БД в который ещё нада понимать как делать" или"более глубокое обращение к коду... жасс и прочее на нём" в общем... геморойчик... но сделать можно... но нужно деееееелать... Ты по ходу понимаешь как он предлагает это сделать?) Я например не очень.Массив героев и абилок и по индексу их сопостовлять?? Фигня, не получится. Николас объясни-ка, вроде бы там не Паскаль и не дельфи, чтобы так запросто это было шмякнуть. =_=
|
|
|
|
SirNikolas | Дата: Вторник, 19 Июня 2012, 16:27:28 | Сообщение # 8 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Set HeroType[0] = Герой 1 Set HeroType[1] = Герой 2 Set HeroType[2] = Герой 3 ... Set SkillOrder[0] = Герой 1, скилл 1 Set SkillOrder[1] = Герой 1, скилл 2 Set SkillOrder[2] = Герой 1, скилл 3 Set SkillOrder[3] = Герой 2, скилл 1 Set SkillOrder[4] = Герой 2, скилл 2 Set SkillOrder[5] = Герой 2, скилл 3 ...
При повышении уровня: Code function LearnAISkill takes unit u returns boolean local integer id = GetUnitTypeId(u) local integer i = 0 loop if id == udg_HeroType[i] then call SelectHeroSkill(u, udg_SkillOrder[i * udg_SkillCount + GetHeroLevel(u) - 1]) return true endif exitwhen i == udg_HeroCount set i = i + 1 endloop return false endfunction
|
|
|
|