|
Ответы на вопросы
|
|
| Saef | Дата: Среда, 19.02.2014, 23:48 | Сообщение # 1246 |
Группа: Проверенные
Сообщений: 144
Награды: 1
Репутация: 8
Статус: Offline
загрузка наград ...
| Mystogan-Jellal, у меня есть одна догадка. Скажи, ты знаешь, что такое переменная и как её делать?
|
| |
| |
| Mystogan-Jellal | Дата: Четверг, 20.02.2014, 00:49 | Сообщение # 1247 |
Группа: Пользователи
Сообщений: 40
Награды: 0
Репутация: 0
Статус: Offline
загрузка наград ...
| Не особо, читал вот в статьях с помощью которых переносил спеллы, что там вот выбираешь в параметрах - общие - и поставить галку к этой функции и там упоминается эта переменная. Больше ничего о ней не знаю. Мне кажется что это я в триггерах что то перепутал, в триггерах должны быть те же самые функции что и в готовых спеллах? или их нужно привязывать к персам, которым добавляешь способности?
|
| |
| |
| Naruto007 | Дата: Четверг, 20.02.2014, 07:37 | Сообщение # 1248 |
Группа: Проверенные
Сообщений: 207
Награды: 6
Репутация: 146
Статус: Offline
загрузка наград ...
| Mystogan-Jellal, а попробуй очередями: Сначало импорт,потом заклинания,потом вещи,потом триггеры с переменными. потом в самих триггерах поставь все на свое место,потому-что иногда WE меняет значения. К примеру используемая способность = непонять что.... поставь на свое место.
|
| |
| |
| Mystogan-Jellal | Дата: Четверг, 20.02.2014, 10:59 | Сообщение # 1249 |
Группа: Пользователи
Сообщений: 40
Награды: 0
Репутация: 0
Статус: Offline
загрузка наград ...
| Naruto007, пробывал сегодня с другим персов все переносил как ты написал. Ток вот стал проверять мапу мне все триггеры написали заблокированы из за ошибок, недописанных строк и никакие скиллы не работали. Что делать?
|
| |
| |
| GoodMaker | Дата: Четверг, 20.02.2014, 11:11 | Сообщение # 1250 |
Группа: Проверенные
Сообщений: 102
Награды: 6
Репутация: 25
Статус: Offline
загрузка наград ...
| Mystogan-Jellal, файл ------> параметры -------------> поставь галку на Автом. создавать неизвестные переменные. После снованачни копировать спелл
|
| |
| |
| SaMuRa][ | Дата: Пятница, 21.02.2014, 16:53 | Сообщение # 1251 |
![SaMuRa][](/avatar/23/9887-668272.jpeg)
Группа: VIP пользователь
Сообщений: 525
Награды: 11
Репутация: 140
Статус: Offline
загрузка наград ...
| Naruto007, лови автор wetalq
Функция: function WaveSpell takes unit caster, integer dummytype, real MAXrange, real speed, real damage , real radius returns nothing
Данная функция создает в позиции кастера, юнита. тип юнита указываеться как dummytype Созданный юнит движеться со скоростью speed на расстояния MAXrange, нанося всем врагам урон damage, в радиусе radius ВАЖНО: Данная функция требует 1 глобальную переменную, типа Hashtable, с названиям Hash. А также эту переменную нужно объявить: События: прошло 0.10 секунд Действия: Личный сценарий ( set udg_Hash = InitHashtable() )
function Wave_Spell_Loop takes nothing returns nothing local timer t = GetExpiredTimer () local integer i = GetHandleId(t) local unit caster = LoadUnitHandle(udg_Hash,i,0) local unit dummy = LoadUnitHandle(udg_Hash,i,1) local real angle = LoadReal(udg_Hash,i,2) local real range = LoadReal(udg_Hash,i,3) local real MAXrange = LoadReal(udg_Hash,i,4) local real speed = LoadReal(udg_Hash,i,5) local real damage = LoadReal(udg_Hash,i,6) local group DG = LoadGroupHandle(udg_Hash,i,7) local real radius = LoadReal(udg_Hash,i,8) local group TG = CreateGroup() local real x1 = GetUnitX(dummy) local real y1 = GetUnitY(dummy) local real x2 = (x1 + speed * Cos(angle)) local real y2 = (y1 + speed * Sin(angle)) local unit u
call GroupEnumUnitsInRange(TG, x1, y1, radius, null) loop set u = FirstOfGroup(TG) if IsUnitInGroup(u, DG) == false and IsUnitEnemy(u,GetOwningPlayer(caster)) == true then call UnitDamageTarget(caster, u, 100, false, false, ATTACK_TYPE_CHAOS, DAMAGE_TYPE_NORMAL, null) endif call GroupAddUnit(DG, u) call GroupRemoveUnit(TG, u) exitwhen u == null endloop
call SetUnitX(dummy,x2) call SetUnitY(dummy,y2) set range = range + speed call SaveReal(udg_Hash,GetHandleId(t),3,range)
if range >= MAXrange then call DestroyTimer(t) call RemoveUnit(dummy) endif
endfunction
function WaveSpell takes unit caster, integer dummytype, real MAXrange, real speed, real damage, real radius returns nothing local timer t = CreateTimer() local integer i = GetHandleId(t) local real x0 = GetLocationX(GetSpellTargetLoc()) local real y0 = GetLocationY(GetSpellTargetLoc()) local real x1 = GetUnitX(caster) local real y1 = GetUnitY(caster) local real angle = Atan2(y0-y1,x0-x1) local real x2 = (x1 + speed * Cos(angle)) local real y2 = (y1 + speed * Sin(angle)) local real range = 0 local player p = GetOwningPlayer(caster) local group DG = CreateGroup() local unit dummy = CreateUnit(p,dummytype,x2,y2,GetUnitFacing(caster))
call SaveUnitHandle(udg_Hash,i,0,caster) call SaveUnitHandle(udg_Hash,i,1,dummy) call SaveReal(udg_Hash,i,2,angle) call SaveReal(udg_Hash,i,3,range) call SaveReal(udg_Hash,i,4,MAXrange) call SaveReal(udg_Hash,i,5,speed) call SaveReal(udg_Hash,i,6,damage) call SaveGroupHandle(udg_Hash,i,7,DG) call SaveReal(udg_Hash,i,9,radius)
call TimerStart(t,0.03,true,function Wave_Spell_Loop)
set caster = null set dummy = null set t = null endfunction
|
| |
| |
| GoodMaker | Дата: Воскресенье, 23.02.2014, 00:15 | Сообщение # 1252 |
Группа: Проверенные
Сообщений: 102
Награды: 6
Репутация: 25
Статус: Offline
загрузка наград ...
| Люди, как сделать так что бы юнит очень быстро вертелся вокруг своей оси по часовой стрелке? Через Make unnit face angle делал но там он то в 1 сторону крутится, то в другую
|
| |
| |
| SaMuRa][ | Дата: Воскресенье, 23.02.2014, 05:11 | Сообщение # 1253 |
![SaMuRa][](/avatar/23/9887-668272.jpeg)
Группа: VIP пользователь
Сообщений: 525
Награды: 11
Репутация: 140
Статус: Offline
загрузка наград ...
| Сделать анимацию, либо задавать градусы, но быстро не получится.
|
| |
| |
| GoodMaker | Дата: Воскресенье, 23.02.2014, 10:12 | Сообщение # 1254 |
Группа: Проверенные
Сообщений: 102
Награды: 6
Репутация: 25
Статус: Offline
загрузка наград ...
| SaMuRa][, жаль... Спс)
|
| |
| |
| Mystogan-Jellal | Дата: Воскресенье, 23.02.2014, 11:27 | Сообщение # 1255 |
Группа: Пользователи
Сообщений: 40
Награды: 0
Репутация: 0
Статус: Offline
загрузка наград ...
| Пришлите пожалуйста образец, как приблизительно заполнять строки на правой панели у персонажей. Я приблизительно разобрался, но не знаю что обозначают некоторые строки.
|
| |
| |
| player | Дата: Воскресенье, 23.02.2014, 13:39 | Сообщение # 1256 |
 ТовариСЧ АдминКО
Группа: Администраторы
Сообщений: 1951
Награды: 66
Репутация: 920
Статус: Offline
загрузка наград ...
| Mystogan-Jellal, имеешь в виду заполнение в редакторе объектов? Там же все написано итак, какое поле за что отвечает
Учитель должен быть умнее ученика в 10 раз.
|
| |
| |
| Mystogan-Jellal | Дата: Воскресенье, 23.02.2014, 21:54 | Сообщение # 1257 |
Группа: Пользователи
Сообщений: 40
Награды: 0
Репутация: 0
Статус: Offline
загрузка наград ...
| Слушайте вот я делаю выбор через круг у меня 8 персов и 8 игроков. Получается должно быть 8 триггеров? В статье написано что для выбора нужно создавать триггер( событие - юнит вошел в зону; действия: удалить триггерный юнит из игры) а вот дальше действия( переместить мгновенно юнита к указанной области; сделать юнита принадлежащим какому либо игроку и сменить цвет; переместить камеру и сделать выбор для какого либо игрока). Вот все эти действия невозможно конкретно задать: ведь в зависимости светлячок какого игрока войдет в круг, на такую область переместится юнит( у меня их 2) от этого зависит какого игрока он станет, куда переместить камеру. Это все нужно задавать через перменные? И еще вопрос что нужно сделать чтобы не появлялись автоматические позиции игроков? А то очень надоело их удалять все время.
|
| |
| |
| SaMuRa][ | Дата: Понедельник, 24.02.2014, 03:43 | Сообщение # 1258 |
![SaMuRa][](/avatar/23/9887-668272.jpeg)
Группа: VIP пользователь
Сообщений: 525
Награды: 11
Репутация: 140
Статус: Offline
загрузка наград ...
| Никак не уберёшь.
|
| |
| |
| Naruto007 | Дата: Понедельник, 24.02.2014, 11:28 | Сообщение # 1259 |
Группа: Проверенные
Сообщений: 207
Награды: 6
Репутация: 146
Статус: Offline
загрузка наград ...
| SaMuRa][, Для чего эта строчка,это строчка ведь проверяет сколько осталось лететь дамми(радиус 600) If range >= MAXrange then
|
| |
| |
| SaMuRa][ | Дата: Понедельник, 24.02.2014, 15:06 | Сообщение # 1260 |
![SaMuRa][](/avatar/23/9887-668272.jpeg)
Группа: VIP пользователь
Сообщений: 525
Награды: 11
Репутация: 140
Статус: Offline
загрузка наград ...
| Проверить расстояние до точки.
|
| |
| |