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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Круг, кольцо
Круг, кольцо
Lich_LordДата: Вторник, 30 Ноября 2010, 18:42:25 | Сообщение # 1
5 уровень
Группа: Проверенные
Сообщений: 148
Награды: 0
Репутация: 38
Блокировки:
Народ помогите, я вот много раз видел спелы када вокруг гера создаются разные спецэффекты и дамажат территорию вокруг себя, но как это сделать я знаю что это надо делать через цикл но как
 

wandamДата: Вторник, 30 Ноября 2010, 18:54:42 | Сообщение # 2
5 уровень
Группа: Проверенные
Сообщений: 122
Награды: 0
Репутация: -37
Блокировки:
Ото ковать территорию вокруг себя спецэффектами?

Selar.
 

Lich_LordДата: Вторник, 30 Ноября 2010, 18:59:50 | Сообщение # 3
5 уровень
Группа: Проверенные
Сообщений: 148
Награды: 0
Репутация: 38
Блокировки:
даквот как их создать чтоб вокруг)
 

wandamДата: Вторник, 30 Ноября 2010, 19:10:24 | Сообщение # 4
5 уровень
Группа: Проверенные
Сообщений: 122
Награды: 0
Репутация: -37
Блокировки:
В редакторе параметры объектов: файл графики ульта. А как вокруг. Может аура.

Selar.
 

Master12Дата: Вторник, 30 Ноября 2010, 19:11:59 | Сообщение # 5
8 уровень
Группа: Проверенные
Сообщений: 775
Награды: 0
Репутация: 184
Блокировки:
wandam, не аура, а действие с радиусом

Говори, что бы я тебя увидел.

 

DeviLlundeadДата: Вторник, 30 Ноября 2010, 19:16:14 | Сообщение # 6
1 уровень
Группа: Пользователи
Сообщений: 16
Награды: 0
Репутация: 0
Блокировки:
Lich_Lord,
Для каждого числа A от 1 до 10 делать:
Установить точка1 = позиция применяющий юнит.
Устаноыить точка2 = точка 1 смещешие на 500 относительно Degrees градусов
Создать 1 юнит с моделькой спецэффекта в точка 2.
Добавить (время которое спецэффект будет существовать) таймер истечения к посл созданный юнит.
Установить Degrees = Degrees+1
call RemoveLocation(udg_Точка1)
call RemoveLocation(udg_Точка2)


[img]http://www.webgeneration.ru/pics/lines/raduga.gif[/img]
 

DarkVaderДата: Вторник, 30 Ноября 2010, 19:57:09 | Сообщение # 7
7 уровень
Группа: Проверенные
Сообщений: 357
Награды: 0
Репутация: 95
Блокировки:
Quote (DeviLlundead)
Установить Degrees = Degrees+1

круга не получится
если 10 действий то
Установить Degrees = Degrees+36.

а вообще лажа это все

 

KartohaДата: Вторник, 30 Ноября 2010, 22:34:25 | Сообщение # 8
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
Для создания спецэффектов по кругу используются формулы.
Например

Цикл от 0 до 12
Создать спецэффект в <точка> offset by <расстояние спецэффектов от точки> towards Integer A * 28 degress - создаст 12 спецэффектов вокруг указанной точки (например позиция кастера) на указаном расстоянии (например 500).

ИЛИ

Цикл от 1 до 16
Создать спецэффект в <точка> offset by <расстояние спецэффектов от точки> towards Integer A * 22.5 degress - создаст 16 спецэффектов вокруг указанной точки (например позиция кастера) на указаном расстоянии (например 500).

Такие формулы довольно просто создавать самому проводя не хитрые математические вычисления.

Урон наносить так:

Отряд:Pick Every Units in Range Matching Condition - Units within <радиус урона от героя> of Position Of (Casting Unit) matching unit is Здание = Нет and Matching Unit is Alive = да and
Matching belongs to an enemy of Owner of (Casting Unit) = да - везде пользуйсяboolean comporision and do Боевая Единица - Damage Target - Cause (Casting Unit) to damage (Picked Unit) .

 

Banzay89Дата: Среда, 01 Декабря 2010, 03:14:54 | Сообщение # 9
9 уровень
Группа: Проверенные
Сообщений: 858
Награды: 1
Репутация: 77
Блокировки:
Code
local unit   u
local real   x=GetUnitX(u)
local real   y=GetUnitY(u)
local real   x1
local real   y1
local integer n=1
loop
exitwhen n>12
set   x1=x + 600*Cos(n*30)
set   y1=y + 600*Sin(n*30)
call   DestroySpecialEffect(AddSpecialEffect("modelName"),x1,y1)
set   n=n+1
endloop
set   u=null

Так нэ?

Сообщение отредактировал Banzay89 - Среда, 01 Декабря 2010, 03:15:18
 

DarkVaderДата: Среда, 01 Декабря 2010, 03:29:59 | Сообщение # 10
7 уровень
Группа: Проверенные
Сообщений: 357
Награды: 0
Репутация: 95
Блокировки:
Quote (Banzay89)
Так нэ?

нэ

Code

local unit   u = GetSpellAbilityUnit()
local real   x=GetUnitX(u)  
local real   y=GetUnitY(u)  
local integer n=1  
loop  
exitwhen n>12  
call   DestroyEffect(AddSpecialEffect("modelName",x + 600*Cos(n*30*bj_DEGTORAD) ,y + 600*Sin(n*30*bj_DEGTORAD) ) )
set   n=n+1  
endloop  
set   u=null
 

Banzay89Дата: Среда, 01 Декабря 2010, 03:37:09 | Сообщение # 11
9 уровень
Группа: Проверенные
Сообщений: 858
Награды: 1
Репутация: 77
Блокировки:
Code
local unit   u = GetSpellAbilityUnit()

КЭП?

Code
set   x1=x + 600*Cos(n*30)   
set   y1=y + 600*Sin(n*30)   
call   DestroySpecialEffect(AddSpecialEffect("modelName"),x1,y1)

Да.

А вообще пробуем делать так

Code
local unit   u=GetSpellAbilityUnit()
local real   x=GetUnitX(u)   
local real   y=GetUnitY(u)   
local real   x1   
local real   y1   
local integer n=1   
loop   
exitwhen n>12   
set   x1=x + 600*Cos(n*30)   
set   y1=y + 600*Sin(n*30)   
call   DestroySpecialEffect(AddSpecialEffect("modelName"),x1,y1)   
set   n=n+1   
endloop   
set   u=null

и понимаем что

Quote
нэ

чушь.

Добавлено (01-12-2010, 03:37)
---------------------------------------------
А вообще

Quote
Каждый кодит как ему удобно (с) ScorpioT1000


Сообщение отредактировал Banzay89 - Среда, 01 Декабря 2010, 03:37:40
 

DarkVaderДата: Среда, 01 Декабря 2010, 04:20:15 | Сообщение # 12
7 уровень
Группа: Проверенные
Сообщений: 357
Награды: 0
Репутация: 95
Блокировки:
Quote (Banzay89)
Да.

нуп ты

Quote

set x1=x + 600*Cos(n*30)
set y1=y + 600*Sin(n*30)

у тиргонометрических функций угол берется в радианах, не знал?

Quote (Banzay89)
DestroySpecialEffect(AddSpecialEffect("modelName"),x1,y1)   

такой функции вообще нет, и на скобки обрати внимание...

и зачем две лишние локалки? Оо

Добавлено (01-12-2010, 04:20)
---------------------------------------------

Quote (Banzay89)
чушь.

это то что ты написал

Quote (Banzay89)
Каждый кодит как ему удобно (с) ScorpioT1000

ты слышал о таком понятии как чистый код? то что пишешь ты это не удобство а мусор

 

Banzay89Дата: Среда, 01 Декабря 2010, 15:44:53 | Сообщение # 13
9 уровень
Группа: Проверенные
Сообщений: 858
Награды: 1
Репутация: 77
Блокировки:
Quote
DestroySpecialEffect(AddSpecialEffect("modelName"),x1,y1)

такой функции вообще нет, и на скобки обрати внимание...

писал по памяти

Quote
и зачем две лишние локалки? Оо

О читабельности кода чтото слышал?

Quote
нуп ты

та конечно lol

Quote
у тиргонометрических функций угол берется в радианах, не знал?

я то думаю, почему у меня все нормально работает? А я просто не знал, что у тиргонометрических функций угол берется в радианах lol какбэ намикаю что можна и без этого
короче учи свою бабушку, а не меня

 

FkoFFДата: Среда, 01 Декабря 2010, 16:38:05 | Сообщение # 14
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
к слову Banzay89, у тебя действительно не лучшая формула, хотя бы по той причине что у тебя идет инит двух лишних локалок (x1\y1) тогда как можно вполне обойтись

x = x + 600 * Cos(37*A*bj_RADTODEG)
y = y + 600 * Sin(37*A*bj_RADTODEG)

юнита забивать в переменную для такого действия тоже не вижу смысла. По той причине что для получения X\Y лучше использовать GetUnit чем забивать его в локу, которую еще и обнулить потом надо.


 

DarkVaderДата: Среда, 01 Декабря 2010, 16:45:49 | Сообщение # 15
7 уровень
Группа: Проверенные
Сообщений: 357
Награды: 0
Репутация: 95
Блокировки:
Quote (Banzay89)
писал по памяти

память у тебя плохая

Quote (Banzay89)
О читабельности кода чтото слышал?

чистый код читается хорошо, и не требует лишних локалок

call DestroyEffect(AddSpecialEffect("modelName",x + 600*Cos(n*30*bj_DEGTORAD) ,y + 600*Sin(n*30*bj_DEGTORAD) ) ) - эта строка сложно читается? Оо

Quote (Banzay89)
я то думаю, почему у меня все нормально работает? А я просто не знал, что у тиргонометрических функций угол берется в радианах какбэ намикаю что можна и без этого

еще раз доказывает что ты полный 0 в Jass, хоть раз пробовал код то писать?

Quote (Banzay89)
короче учи свою бабушку, а не меня

тебе как раз нужно бы самому поучиться

Quote (Banzay89)
та конечно

конечно,своими постами ты это еще больше подтвердил
 

[stebashka]Дата: Среда, 01 Декабря 2010, 16:56:40 | Сообщение # 16
пути и нити разными бывают
Группа: Библиотекари
Сообщений: 4719
Награды: 5
Блокировки:
Banzay89, не спорь с DarkVader он как бэ знает что говорит
еще он может тебя съесть


 

DarkVaderДата: Среда, 01 Декабря 2010, 17:06:40 | Сообщение # 17
7 уровень
Группа: Проверенные
Сообщений: 357
Награды: 0
Репутация: 95
Блокировки:
Quote (|stebashka|)
еще он может тебя съесть

не пугай ребенка=)

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

 

FkoFFДата: Среда, 01 Декабря 2010, 17:29:06 | Сообщение # 18
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
DarkVader, Не, с тобой поспорю. Читабельность кода повышается в разы если формулы вынести или в отдельные функции или, как минимум в локалки. Просто в противном случае код действительно глаза режет

 

DarkVaderДата: Среда, 01 Декабря 2010, 18:55:14 | Сообщение # 19
7 уровень
Группа: Проверенные
Сообщений: 357
Награды: 0
Репутация: 95
Блокировки:
Quote (FkoFF)
DarkVader, Не, с тобой поспорю. Читабельность кода повышается в разы если формулы вынести или в отдельные функции или, как минимум в локалки. Просто в противном случае код действительно глаза режет

ну способнсть прочитать написанный код, это уже навык, я стараюсь например для читабельности не делать строки больше чем входит в длинну экрана
а формулы вынесенные как в этом примере это исключительно можно сделать в обучающих целях

 

Lich_LordДата: Среда, 01 Декабря 2010, 19:10:15 | Сообщение # 20
5 уровень
Группа: Проверенные
Сообщений: 148
Награды: 0
Репутация: 38
Блокировки:
Тему можно Закрывать всем спасибо :D
 

Banzay89Дата: Среда, 01 Декабря 2010, 21:52:13 | Сообщение # 21
9 уровень
Группа: Проверенные
Сообщений: 858
Награды: 1
Репутация: 77
Блокировки:
DarkVader, приношу извинения - bj_DEGTORAD действительно нужно, хотя всегда делал без этого и все работало.. Оо

Quote
Banzay89, я как бы помню что ты выкладывал свою мапу, так вот, тогда мне было лень ее смотреть, но сейчас я ради интереса заглянул в нее, ты такую ересь там пишешь в коде...

Например?

Добавлено (01-12-2010, 21:52)
---------------------------------------------
Хотя все возможно. Эта карта делалась еще когда я только начинал изучать жасс

 

DarkVaderДата: Среда, 01 Декабря 2010, 23:38:37 | Сообщение # 22
7 уровень
Группа: Проверенные
Сообщений: 357
Награды: 0
Репутация: 95
Блокировки:
Quote (Banzay89)
приношу извинения

да как бы незачто, ты меня не обижал ничем

если еще будут вопросы, то спрашивай у моей бабушки=)

 

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

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