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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Столб дыма Спецэффект (Подробнее внутри..)
Столб дыма Спецэффект
sacar777Дата: Четверг, 02 Июня 2011, 14:24:47 | Сообщение # 1
7 уровень
Группа: Проверенные
Сообщений: 416
Награды: 0
Репутация: 35
Блокировки:
Видел в какой то карте, что когда юзаешь спел, то Юнит отталкивает другого и создается на протяжение всего пути (на которое отлетает юнит) столб дыма или земли, вообщем любого спец эффекта.
Все сделано было через триггер Для каждого () Сделать...
подскажите, как так сделать не пользовался ни разу этим тригом...


Legion

Герои: 10%
Ландшафт: 30%
Предметы: 10%
Баланс:80%
Код:70%
Общая готовность: 10%
Бета Тест карты выявил 4 довольно простых бага.
 

romaN-1998Дата: Четверг, 02 Июня 2011, 14:40:35 | Сообщение # 2
10 уровень
Группа: Проверенные
Сообщений: 1368
Награды: 0
Репутация: 10
Блокировки:
Триггер no1:

-----События:
--Юнит приводит способность в действие
----Условия:
--Способность РАВНО "отталкивание"
----Действия:
Set t = Цель заклинания
Включить триггер no2
Wait N секунд (длительность)
Выключить триггер no2
Custom Script: set udg_t = null

Триггер no2:
-----События:
--Каждые 0.NN секунд (скорость отталкивания 1)
----Условия
----Действия:
Set tp = Позиция (t)
Двигать t мгновенно в (tp) со смещением N точек (скорость отталкивния 2) в направлении ((Направление лица t) - 180)
Создать спецэффект "пыль" на tp
Custom Script: call RemoveLocation(udg_tp)
Custom Script: set udg_tp = null

Спрашивай если чё непонятно!


Сообщение отредактировал romaN-1998 - Четверг, 02 Июня 2011, 14:41:01
 

BuРyCДата: Четверг, 02 Июня 2011, 14:50:31 | Сообщение # 3
3 уровень
Группа: Пользователи
Сообщений: 74
Награды: 0
Репутация: -27
Блокировки:
http://rghost.ru/9050861

Добавлено (02-06-2011, 14:50)
---------------------------------------------
http://warcraft3ft.info/load/kartostroenie/narabotki/physik_knokback_system_v1_1/43-1-0-9312

 

romaN-1998Дата: Четверг, 02 Июня 2011, 14:50:45 | Сообщение # 4
10 уровень
Группа: Проверенные
Сообщений: 1368
Награды: 0
Репутация: 10
Блокировки:
BuРyC, ты бесишь, я уже написал как сделать, автор ничего не ответил, ты уже своё выкладываешь.
 

BuРyCДата: Четверг, 02 Июня 2011, 14:54:11 | Сообщение # 5
3 уровень
Группа: Пользователи
Сообщений: 74
Награды: 0
Репутация: -27
Блокировки:
http://warcraft3ft.info/forum/29-24458-1

Добавлено (02-06-2011, 14:51)
---------------------------------------------

Quote (romaN-1998)
я уже написал как сделать

Quote (romaN-1998)
Wait N секунд (длительность)

avtorfffuuu

Добавлено (02-06-2011, 14:52)
---------------------------------------------

Quote (romaN-1998)
Set tp = Позиция (t)
Двигать t мгновенно в (tp) со смещением N точек (скорость отталкивния 2) в направлении ((Направление лица t) - 180)

avtorfffuuu

Добавлено (02-06-2011, 14:53)
---------------------------------------------
romaN-1998, Ты этого хотел?

Добавлено (02-06-2011, 14:54)
---------------------------------------------

Quote (romaN-1998)
Создать спецэффект "пыль" на tp
А где же DestroyEffect
avtorfffuuu
 

romaN-1998Дата: Четверг, 02 Июня 2011, 14:55:18 | Сообщение # 6
10 уровень
Группа: Проверенные
Сообщений: 1368
Награды: 0
Репутация: 10
Блокировки:
Quote (BuРyC)
Wait N секунд (длительность)

avtorfffuuu

что не так?
Quote (BuРyC)
Set tp = Позиция (t)
Двигать t мгновенно в (tp) со смещением N точек (скорость отталкивния 2) в направлении ((Направление лица t) - 180)

avtorfffuuu

здесь что не так?
Quote (BuРyC)
Создать спецэффект "пыль" на tp
А где же DestroyEffect

не обязательно
 

[DS]Дата: Четверг, 02 Июня 2011, 15:00:31 | Сообщение # 7
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
Как не объязательно, ты остовляешь утечки.

 

BuРyCДата: Четверг, 02 Июня 2011, 15:02:41 | Сообщение # 8
3 уровень
Группа: Пользователи
Сообщений: 74
Награды: 0
Репутация: -27
Блокировки:
Quote (romaN-1998)
не обязательно

avtorfffuuu Ага, если хочешь себе видеокарту спалить то тогда не обязательно.
Quote (romaN-1998)

что не так?

Wait корявый и бажный при игре по мультиплэеру.
Quote (romaN-1998)
здесь что не так?

Точки в разы медленее координат и даже
Quote (romaN-1998)
call RemoveLocation(udg_tp)
не спасает от утечки +
Quote (BuРyC)
со смещением N точек (скорость отталкивния 2) в направлении ((Направление лица t) - 180)
утекающая неудалённая точка
 

romaN-1998Дата: Четверг, 02 Июня 2011, 15:06:41 | Сообщение # 9
10 уровень
Группа: Проверенные
Сообщений: 1368
Награды: 0
Репутация: 10
Блокировки:
Quote (BuРyC)

Wait корявый и бажный при игре по мультиплэеру.

wait нормальный, если использовать > 2.00 секунд

ты так помешан на утечках :(
 

BuРyCДата: Четверг, 02 Июня 2011, 15:10:39 | Сообщение # 10
3 уровень
Группа: Пользователи
Сообщений: 74
Награды: 0
Репутация: -27
Блокировки:
Quote (romaN-1998)
ты так помешан на утечках
Ты дал ему утечный код с переодическим событием. Так можно через 10 мин из карты выходить уже из за лагов.
 

DeadJassДата: Четверг, 02 Июня 2011, 15:18:29 | Сообщение # 11
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
Quote (romaN-1998)
ты так помешан на утечках

Утечки зло. Если ты не понял то ты просто нуб в картостоее ибо нормаль и уважающий себя картостроитель в первую очередь делает карту играбельной. В твоем же случаии на 20 минуте вар зависнет или вылетит с фаталл еррор.



^ кликабельно
Archers Of The Island v1.8 - на стадии завершения
 

FkoFFДата: Четверг, 02 Июня 2011, 15:23:01 | Сообщение # 12
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Quote (romaN-1998)
мгновенно в (tp) со смещением N точек (скорость отталкивния 2) в направлении ((Направление лица t) - 180)

утечная точка
Quote (BuРyC)
Ага, если хочешь себе видеокарту спалить то тогда не обязательно.

не сожжет, там в память идет утечка а не в видюху )
Quote (romaN-1998)
wait нормальный, если использовать > 2.00 секунд ты так помешан на утечках

кто тебе солгал? Вейт вообще бажный, а то что он вытворяет с памятью - вообще ад и погибель (фактически - тормозит весь поток в течении действия).


 

DeadJassДата: Четверг, 02 Июня 2011, 15:26:11 | Сообщение # 13
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
romaN-1998, насчет вейта.
Сделай цикл какойнибудь с вейтом и посмотри что у тебя будет с памятью через минут 5-10

Добавлено (02-06-2011, 15:26)
---------------------------------------------
sacar777, а вообще лучше делать так.
Просто создовай в том же цикле где идет движение юнита спецефект в координатах отталкиваемого юнита.



^ кликабельно
Archers Of The Island v1.8 - на стадии завершения
 

[DS]Дата: Четверг, 02 Июня 2011, 15:26:36 | Сообщение # 14
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
FkoFF, у меня есть такая система наз-ся PolledWait2 может глянешь мб он норм будет.

 

DeadJassДата: Четверг, 02 Июня 2011, 15:27:23 | Сообщение # 15
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
Лучше использовать таймеры и не мучить мозг ни себе ни людям.


^ кликабельно
Archers Of The Island v1.8 - на стадии завершения
 

BuРyCДата: Четверг, 02 Июня 2011, 15:27:36 | Сообщение # 16
3 уровень
Группа: Пользователи
Сообщений: 74
Награды: 0
Репутация: -27
Блокировки:
Quote (FkoFF)
не сожжет, там в память идет утечка а не в видюху )
Не знаю как иам в твоей теории, но у меня личный опыт :)
 

FkoFFДата: Четверг, 02 Июня 2011, 15:29:13 | Сообщение # 17
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Quote (|DS|)
FkoFF, у меня есть такая система наз-ся PolledWait2 может глянешь мб он норм будет.

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

Добавлено (02-06-2011, 15:29)
---------------------------------------------

Quote (BuРyC)
Не знаю как иам в твоей теории, но у меня личный опыт

не удаленный спецэффект == объект висящий в памяти, не более. А то что видюха пострадала - явно не от варкрафта (хотя если у тебя была Voodoo, тогда этот вариант еще возможен)


 

[DS]Дата: Четверг, 02 Июня 2011, 15:29:45 | Сообщение # 18
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
ща накалякаю

 

BuРyCДата: Четверг, 02 Июня 2011, 15:34:27 | Сообщение # 19
3 уровень
Группа: Пользователи
Сообщений: 74
Награды: 0
Репутация: -27
Блокировки:
FkoFF, у меня был старый pentium 4 с слабой видюхой, я там только в вар и играл, я тогда не только не знал джаса, я и в гуи еле разбирался. И после 5месячного истязания над компом не удалёнными спецэфектами, комп ласты склеил.
Пришлось похоранить
 

FkoFFДата: Четверг, 02 Июня 2011, 15:36:20 | Сообщение # 20
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Quote (BuРyC)
не удалёнными спецэфектами, комп ласты склеил. Пришлось похоранить

повторюсь - от эффектов в варе видюха сгореть не могла. Процессор и память - легко, а видюха = нет. И это не теория, нагрузка на видеокарту варкрафтом не превышает 100 мб. вообще ни при каких обстоятельствах.


 

BuРyCДата: Четверг, 02 Июня 2011, 15:40:48 | Сообщение # 21
3 уровень
Группа: Пользователи
Сообщений: 74
Награды: 0
Репутация: -27
Блокировки:
Quote (FkoFF)
Процессор
Возможно он, но суть в том что при проигрование 3D объектов, на экране начинали появляться короткие зелёные линии, и их становилось со временем всё больше, а в итоге вылетал дез скрин.
Сам монитор работал нормально так что лини были не из за него, а проблема была именно в сис. блоке.
 

[DS]Дата: Четверг, 02 Июня 2011, 15:42:17 | Сообщение # 22
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
function PolledWait2 takes real duration returns nothing
local real timeRemaning
local real st = TimerGetElapsed(gametime)

if duration > 0. then
loop
set timeRemaning = duration - TimeGetElepsed(gametime) + st
exitwhen timeRemaning <= 0
if timeRemaning > 2.00 then
call TriggerSleepAction(0.1 * timeRemaning)
else
call TriggerSleepAction(0.0)
endif
endloop
endif
endfunction


 

BuРyCДата: Четверг, 02 Июня 2011, 15:44:05 | Сообщение # 23
3 уровень
Группа: Пользователи
Сообщений: 74
Награды: 0
Репутация: -27
Блокировки:
Quote (|DS|)
TimerGetElapsed
Это что?
 

FkoFFДата: Четверг, 02 Июня 2011, 15:51:06 | Сообщение # 24
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Code
function PolledWait2 takes real duration returns nothing  
local real timeRemaning  
local real st = TimerGetElapsed(gametime)  

if duration > 0. then  
loop  
set timeRemaning = duration - TimeGetElepsed(gametime) + st  
exitwhen timeRemaning <= 0  
if timeRemaning > 2.00 then  
call TriggerSleepAction(0.1 * timeRemaning)  
else  
call TriggerSleepAction(0.0)  
endif  
endloop  
endif  
endfunction


Code
function PolledWait takes real duration returns nothing
     local timer t
     local real  timeRemaining

     if (duration > 0) then
         set t = CreateTimer()
         call TimerStart(t, duration, false, null)
         loop
             set timeRemaining = TimerGetRemaining(t)
             exitwhen timeRemaining <= 0

             // If we have a bit of time left, skip past 10% of the remaining
             // duration instead of checking every interval, to minimize the
             // polling on long waits.
             if (timeRemaining > bj_POLLED_WAIT_SKIP_THRESHOLD) then
                 call TriggerSleepAction(0.1 * timeRemaining)
             else
                 call TriggerSleepAction(bj_POLLED_WAIT_INTERVAL)
             endif
         endloop
         call DestroyTimer(t)
     endif
endfunction


[DS],
найди десять отличий. На самом деле TriggerSleepAction и есть тот бажный шоздвездец фрагмент который вообще противопоказанно использовать. Он перегружает память, страшным образом.


 

[DS]Дата: Четверг, 02 Июня 2011, 16:08:38 | Сообщение # 25
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
нет отличий))

Добавлено (02-06-2011, 16:08)
---------------------------------------------
тогда лучше таймерами пользоватся


 

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

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