Сейчас 12:51:36 Пятница, 3 мая, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Как заставить дамми произносить несколько заклинаний подряд.
Как заставить дамми произносить несколько заклинаний подряд.
DenialsanДата: Суббота, 22 Января 2011, 03:03:50 | Сообщение # 1
10 уровень
Группа: Проверенные
Сообщений: 1225
Награды: 0
Репутация: 48
Блокировки:
У меня есть 3 уровня пасивки.
если герой выучил 1 уровень то он может с 50% шансом атаковать 1м боевым заклинанием не 1 раз а 3 а вторым 2.
и т.д. Так вот, мне надо чтобы дамми юнит произносил заклинаний столько, сколько мне нужно. Делал чтоб использовал 4 раза...дамми кастует 2 раза норм...а потом немного пауза и еще раз. Тоесть так как я хочу дамми не кастует. За рабочий триггер +.
 

SirNikolasДата: Суббота, 22 Января 2011, 09:07:40 | Сообщение # 2
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
После первого каста ставь таймер где-то на полсекунды. Потом второй каст и так далее.

 

ToycupoДата: Суббота, 22 Января 2011, 09:11:40 | Сообщение # 3
6 уровень
Группа: Проверенные
Сообщений: 242
Награды: 0
Репутация: 38
Блокировки:
а можно еще так
сделать одного дамми заставить его произнести закл. Убрать
Сделать второго. Произнести закл. удалить
сделать третго ... и.т.д. сколько тебе нужно.
Но SirNikolas лучше знает.
 

SirNikolasДата: Суббота, 22 Января 2011, 09:21:39 | Сообщение # 4
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
А между созданиями даммиков запускать таймер. Хотя, думаю, можно и одним дамми обойтись.

 

DenialsanДата: Суббота, 22 Января 2011, 13:28:25 | Сообщение # 5
10 уровень
Группа: Проверенные
Сообщений: 1225
Награды: 0
Репутация: 48
Блокировки:
Quote (SirNikolas)
А между созданиями даммиков запускать таймер. Хотя, думаю, можно и одним дамми обойтись.

у заклинания дамми кд 0.01 секунды, я ставил ждать 0.02.
 

lawsonДата: Суббота, 22 Января 2011, 13:31:38 | Сообщение # 6
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Событие юнит закнчивает использовать способность. Может так?

Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

KartohaДата: Суббота, 22 Января 2011, 13:40:46 | Сообщение # 7
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
Quote (Denialsan)
у заклинания дамми кд 0.01 секунды, я ставил ждать 0.02.

Во-первых почему не 0? Во-вторых дамми просто не успевает кастануть спелл за 0.01 сек.
 

DenialsanДата: Суббота, 22 Января 2011, 14:09:48 | Сообщение # 8
10 уровень
Группа: Проверенные
Сообщений: 1225
Награды: 0
Репутация: 48
Блокировки:
Quote (Kartoha)
Во-первых почему не 0? Во-вторых дамми просто не успевает кастануть спелл за 0.01 сек.

ну попробую с пол секундой.
 

FkoFFДата: Суббота, 22 Января 2011, 15:41:25 | Сообщение # 9
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Quote (Kartoha)
Во-первых почему не 0? Во-вторых дамми просто не успевает кастануть спелл за 0.01 сек.

успеет )

Denialsan, Создавай несколько дамми и заставляй их кастовать нужные спеллы.


 

ToycupoДата: Суббота, 22 Января 2011, 15:47:18 | Сообщение # 10
6 уровень
Группа: Проверенные
Сообщений: 242
Награды: 0
Репутация: 38
Блокировки:
Quote (FkoFF)
Denialsan, Создавай несколько дамми и заставляй их кастовать нужные спеллы.

Вот! Это я и имел в виду 3 постом =)
 

KartohaДата: Суббота, 22 Января 2011, 15:52:48 | Сообщение # 11
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
Quote (FkoFF)
успеет )

У меня не успевает. Может быть зависит от спелла?
 

sumertДата: Суббота, 22 Января 2011, 16:02:14 | Сообщение # 12
10 уровень
Группа: Проверенные
Сообщений: 2330
Награды: 2
Репутация: 1094
Блокировки:
Kartoha, у меня тоже дамми-юниты кастуют с небольшой задержок (около 0.1 сек).
 

romaN-1998Дата: Суббота, 22 Января 2011, 17:24:45 | Сообщение # 13
10 уровень
Группа: Проверенные
Сообщений: 1368
Награды: 0
Репутация: 10
Блокировки:
создавать несколько даммиков и заставлять их кастовать.
 

DenialsanДата: Суббота, 22 Января 2011, 17:34:24 | Сообщение # 14
10 уровень
Группа: Проверенные
Сообщений: 1225
Награды: 0
Репутация: 48
Блокировки:
Quote (romaN-1998)
создавать несколько даммиков и заставлять их кастовать.

допустим я создал 3х даммиков, теперь 2 вопроса:
Как ими одновременно манипулировать?
Как заставить их кастовать не одновременно а с задержкой по 0.2 секунды?
 

romaN-1998Дата: Суббота, 22 Января 2011, 17:37:31 | Сообщение # 15
10 уровень
Группа: Проверенные
Сообщений: 1368
Награды: 0
Репутация: 10
Блокировки:
Denialsan, создаёшь даммиков, приказываешь кастовать одному, ждёшь 0.2 приказываешь кастовать следуещему.. ммм ?
 

ToycupoДата: Суббота, 22 Января 2011, 19:25:39 | Сообщение # 16
6 уровень
Группа: Проверенные
Сообщений: 242
Награды: 0
Репутация: 38
Блокировки:
Нетиспользуй действие ждать и создавай следующего дамми убирая предыдущего

Сообщение отредактировал Toycupo - Суббота, 22 Января 2011, 19:25:56
 

Banzay89Дата: Суббота, 22 Января 2011, 19:33:42 | Сообщение # 17
9 уровень
Группа: Проверенные
Сообщений: 858
Награды: 1
Репутация: 77
Блокировки:
Quote
Denialsan, Создавай несколько дамми и заставляй их кастовать нужные спеллы.

+1

Quote
успеет )

нет. минимум время каста 0.15 сек вроди. если только это не мгновенное типа берсерк

 

DenialsanДата: Суббота, 22 Января 2011, 19:52:28 | Сообщение # 18
10 уровень
Группа: Проверенные
Сообщений: 1225
Награды: 0
Репутация: 48
Блокировки:
Quote (Banzay89)
нет. минимум время каста 0.15 сек вроди. если только это не мгновенное типа берсерк

мне нужно чтобы спелы юзались один за другим а не все вместе.
 

SirNikolasДата: Суббота, 22 Января 2011, 19:56:53 | Сообщение # 19
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Denialsan,
Quote (SirNikolas)
запускать таймер
Quote (romaN-1998)
ждёшь 0.2
Одно из двух.


 

basher006Дата: Суббота, 22 Января 2011, 20:02:30 | Сообщение # 20
6 уровень
Группа: Проверенные
Сообщений: 151
Награды: 0
Репутация: 9
Блокировки:
а если так:
в первом тригере создаётся дамми который кастует первый скилл, и запускается второй тригер,

где условие: юнит А начинает применят способность, с условием: "способность - способность дамми в первом тригере(например молния)". И далее дейсвее: дать тригерному юниту нужную способность(громовая поступь например) и заставить кастануть с задершкой или вовсе создать второго дамми с этим спелом, и так далее для всех скилов =)

хотя не думаю что это правельное решение :D


BossFight_Arena. (Hero vs Boss)
Общая готовность демки: [||||||______] 35% - верменно заброшена
*без названия* зборник мини игр (на данный момент 8 in 1 )
Общая готовность [|||||||_____] 50%
 

FkoFFДата: Суббота, 22 Января 2011, 20:06:44 | Сообщение # 21
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Quote (Banzay89)
нет. минимум время каста 0.15 сек вроди. если только это не мгновенное типа берсерк

ложь и провокация. Дамми за секунду до 700 спеллов кастует.

Denialsan,

function MultiCastSTLoop takes nothing returns nothing
local timer t = GetExpiredTimer()
local unit dummy = CreateUnit('dummyunitid',GetUnitX(u),GetUnitY(u),GetUnitFacing(u))
call UnitAddAbility(dummy,LoadInteger(udg_Data,GetHandleId(t), 0))
call UnitAddLifeTimer(dummy, 'timercode', 1)
call SetUnitAbilityLevel(dummy, LoadInteger(udg_Data,GetHandleId(t),0),LoadInteger(udg_Data,GetHandleId(t),1))
call OrderUnit(dummy, LoadInteger(udg_Data,GetHandleId(t),0), LoadUnitHandle(udg_Data,GetHandleId(t),2)
call SaveInteger(udg_Data,GetHandleId(t), 3, LoadInteger(udg_Data,GetHandleId(t),3)-1)

if LoadInteger(udg_Data,GetHandleId(t),3) <= 0 then
call DestroyTimer(t)
call FlushChildHashtable(udg_Data,GetHandleId(t)
set t = null
endif

set dummy = null
endfunction

function MultiCastSingleTarget takes unit u, integer spellid, integer level, integer CastTimes, real CastDelay, unit target returns nothing
local timer t = CreateTimer()
call SaveInteger(udg_Data,GetHandleId(t),0, spellid)
call SaveInteger(udg_Data,GetHandleId(t),1, level)
call SaveUnitHandle(udg_Data,GetHandleId(t),2, target)
call SaveInteger(udg_Data,GetHandleId(t),3, CastTimes)

call TimerStart(t, CastDelay, true, function MultiCastSTLoop)
set t = null
endfunction

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


 

SirNikolasДата: Суббота, 22 Января 2011, 20:09:09 | Сообщение # 22
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
basher006, как вариант можно, только способностей много надо будет делать.

 

Banzay89Дата: Суббота, 22 Января 2011, 20:42:40 | Сообщение # 23
9 уровень
Группа: Проверенные
Сообщений: 858
Награды: 1
Репутация: 77
Блокировки:
Quote
Дамми за секунду до 700 спеллов кастует

rly? lol

 

DenialsanДата: Суббота, 22 Января 2011, 22:37:14 | Сообщение # 24
10 уровень
Группа: Проверенные
Сообщений: 1225
Награды: 0
Репутация: 48
Блокировки:
Quote (FkoFF)
и так во всем. Писать через локалки было влом, так уж рука на этот раз легла, так что нормальный код будет на пару строк длинне и раза в два быстрее и читабельнее. Потом может сделаю.

Jass к сожалению мне не подходит.

Добавлено (22-01-2011, 22:37)
---------------------------------------------
Как правильно занести созданных юнитов в группу и потом дать им спел?

 

DreiiДата: Суббота, 22 Января 2011, 22:37:20 | Сообщение # 25
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
Denialsan, почему?Это очень удобно,и легко

 

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

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