Custom Script
|
|
FkoFF | Дата: Среда, 27 Апреля 2011, 04:20:21 | Сообщение # 26 |
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
| Quote (FatalBlade) Так я решил проблему "У меня болела рука - я отрезал её, так я решил проблему" Quote (FatalBlade) Unit Group - Remove all units from UnitGroup разве не то же самое что call DestroyGroup(udg_ug) Одно из них удаляет всех юнитов из группы, другое удаляет саму группу, тоесть объект. Это два абсолютно разных действия. Quote (FatalBlade) И как мне удалять точки, если у меня идёт цикл, а сама точка постоянно равна X = X + Y (например), или Point = Point + I итд итп.... Я ведь не могу вписать внутрь цикла вот это вот: - call DestroyGroup(udg_переменная), посколько это испортит всё уровнение. точки не надо спамить через цикл - создал точку, сделал действия ,удалил точку, так же как с спецэффектами. Группу можно удалять когда доделаешь все действия.
|
|
|
|
FatalBlade | Дата: Среда, 27 Апреля 2011, 04:31:14 | Сообщение # 27 |
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
| Quote (FkoFF) точки не надо спамить через цикл - создал точку, сделал действия ,удалил точку, так же как с спецэффектами. Типа создавать отдельный триггер? Добавлено (27-04-2011, 04:31) --------------------------------------------- И как удалять группы игроков?
|
|
|
|
FkoFF | Дата: Среда, 27 Апреля 2011, 07:46:43 | Сообщение # 28 |
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
| Quote (FatalBlade) Типа создавать отдельный триггер? нет. вообще с точками лучше не работать, координаты всяко лучше. Quote (FatalBlade) И как удалять группы игроков? call DestroyForce(forcehandle)
|
|
|
|
FatalBlade | Дата: Среда, 27 Апреля 2011, 10:23:27 | Сообщение # 29 |
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
| Move Unit (Instantly) ведь не создаёт новую точку при использовании? И как удалять массив (юнитов, точек)?
|
|
|
|
SirNikolas | Дата: Среда, 27 Апреля 2011, 12:33:17 | Сообщение # 30 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Если ты хочешь узнать, как что нужно удалять, вот статья. Добавлено (27-04-2011, 12:33) --------------------------------------------- Quote (FkoFF) Удалять надо все объекты, группы, группыигроков, точки, юниты, области - все, что не реальные, целочисленные, були и стринги. Забыл про code.
Сообщение отредактировал SirNikolas - Среда, 27 Апреля 2011, 12:34:18 |
|
|
|
rixt7956 | Дата: Среда, 27 Апреля 2011, 14:32:23 | Сообщение # 31 |
9 уровень
Группа: Проверенные
Сообщений: 1097
Награды: 0
Репутация: 153
Блокировки:
| SirNikolas, и про player
|
|
|
|
FkoFF | Дата: Среда, 27 Апреля 2011, 17:23:34 | Сообщение # 32 |
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
| Quote (FatalBlade) Move Unit (Instantly) ведь не создаёт новую точку при использовании? создает Quote (FatalBlade) И как удалять массив (юнитов, точек)? руками все по индексам. или через цикл. Добавлено (27-04-2011, 17:14) --------------------------------------------- вернее во многих случаях там не создается новый игрок а лишь используются ссылки на существующего игрока, по этой причине нет повода их подтирать.Добавлено (27-04-2011, 17:23) --------------------------------------------- что бы автор темы понял правильно. set w = null это не удаление и избавляет лишь от части утечки call DestroyWidget(w) удаляет с карты сам объект обе эти операции требуется совершать каждый раз когда ты создаешь переменную и по совместительству объект. точка (location) является объектом состоящим всего то из двух реалов и номера хэндла, но проблема с ними (почему о них так много известно) - они создаются в половине функций на GUI, вернее во всех требующих указать точку. И когда ты пишешь set p[1] = GetUnitPositionLoc(u) ты создаешь точку которая записывается в переменную p[1], тогда как если ты просто в гуи указываешь Позиция Юнита - точка создается но никуда не записывается и у тебя даже нет возможности её удалить в последствии. и вот на самом деле одна функция Polar Offset может создавать до 10 точек одновременно при сложных формулах аля offset by distance(p1,p2)\40+30 toward angle(p1,p2)-(90-Distance(p1,p2)\10)) Еще одну точку функция возвращает. И это далеко не предел. На джассе мы не пользуемся точками, координаты однозначно быстрее и удобнее.
Сообщение отредактировал FkoFF - Среда, 27 Апреля 2011, 17:15:03 |
|
|
|
lawson | Дата: Среда, 27 Апреля 2011, 17:42:15 | Сообщение # 33 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Я испоьзую области если есть возможность с ними проблем меньше и ими легче оперировать.
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
FkoFF | Дата: Среда, 27 Апреля 2011, 18:08:21 | Сообщение # 34 |
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
| Quote (lawson) Я испоьзую области если есть возможность с ними проблем меньше и ими легче оперировать. области тоже утечны, наслаждайся )
|
|
|
|
FatalBlade | Дата: Среда, 27 Апреля 2011, 20:01:39 | Сообщение # 35 |
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
| Quote (FkoFF) set w = null это не удаление и избавляет лишь от части утечки call DestroyWidget(w) удаляет с карты сам объект Это ты про какой тип переменных? Добавлено (27-04-2011, 20:01) --------------------------------------------- Quote (FkoFF) координаты однозначно быстрее и удобнее. А координаты не оставляют точки? Хоть это и 2 Реала, вместе то они - точка. Когда я например пишу X of (Position of (Unit))... Position of Unit это и есть уже существующая точка. Нет?
Сообщение отредактировал FatalBlade - Среда, 27 Апреля 2011, 20:03:17 |
|
|
|
FkoFF | Дата: Среда, 27 Апреля 2011, 20:12:32 | Сообщение # 36 |
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
| Quote (FatalBlade) Это ты про какой тип переменных? это пример Quote (FatalBlade) А координаты не оставляют точки? Хоть это и 2 Реала, вместе то они - точка. Когда я например пишу X of (Position of (Unit))... Position of Unit это и есть уже существующая точка. Нет? X of (Position of Unit) создает точку всегда. Вообще Position of Unit создает точку.
|
|
|
|
FatalBlade | Дата: Среда, 27 Апреля 2011, 20:28:50 | Сообщение # 37 |
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
| Bash Knock Norm Events Time - Every 0.02 seconds of game time Conditions Actions Unit - Move BashUnit instantly to ((Position of BashUnit) offset by 5.00 towards (BashAngle + 20.00) degrees) Set Temp = (Position of BashUnit) Custom script: call RemoveLocation(udg_Temp) Так правльно удаляется точка?
|
|
|
|
FkoFF | Дата: Среда, 27 Апреля 2011, 20:39:20 | Сообщение # 38 |
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
| Quote (FatalBlade) Bash Knock Norm Events Time - Every 0.02 seconds of game time Conditions Actions Unit - Move BashUnit instantly to ((Position of BashUnit) offset by 5.00 towards (BashAngle + 20.00) degrees) Set Temp = (Position of BashUnit) Custom script: call RemoveLocation(udg_Temp) Так правльно удаляется точка? нет set temp[1] = Position of BashUnit set temp[2] = temp[1] offset by 5 toward bashangle+20 degrees unit - move insantly BashUnit to temp[2] call RemoveLocation(udg_temp[1]) call RemoveLocation(udg_temp[2])
|
|
|
|
lawson | Дата: Среда, 27 Апреля 2011, 22:58:13 | Сообщение # 39 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Quote (FkoFF) области тоже утечны, наслаждайся ) Как скажешь с таких кодером как ты спорить не буду.Добавлено (27-04-2011, 22:58) ---------------------------------------------
Quote (FatalBlade) Так правльно удаляется точка? Так удаляеться не точка а область call RemoveLocation()
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
FkoFF | Дата: Четверг, 28 Апреля 2011, 02:15:41 | Сообщение # 40 |
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
| lawson, location == точка, rect == область
|
|
|
|
lawson | Дата: Четверг, 28 Апреля 2011, 08:27:21 | Сообщение # 41 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Если ты об этом то и region что тогда?
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
FkoFF | Дата: Четверг, 28 Апреля 2011, 08:54:28 | Сообщение # 42 |
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
| Quote (lawson) Если ты об этом то и region что тогда? почти тоже самое только с меньшим функционалом и служит для работы с эвентами и разрушаемыми объектами + в отличии от ректа имеет фиксированные размеры равные х64 ед. расстояния (клетка). Вообщем это не то чем ты каждый раз пользуешься? Однако для событий используется регион на rect'e, абракадабра с ними.
|
|
|
|
FatalBlade | Дата: Четверг, 28 Апреля 2011, 08:59:13 | Сообщение # 43 |
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
| Если я использую Cause unit Damage Area... Надо удалять регион?
|
|
|
|
SirNikolas | Дата: Четверг, 28 Апреля 2011, 11:42:16 | Сообщение # 44 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Насколько я помню, эта функция дамажит всех в радиусе, а окружность не является утечным объектом (она вообще не является объектом). В UnitDamagePointLoc нужно только позаботиться о точке (центре окружности). И лучше бы делал через pick юнитов и UnitDamageTarget, тогда урон (по желанию) не будет наноситься союзникам и зданиям.Quote (FkoFF) call DestroyWidget(w) Это просто пример или действительно есть такая функция?Quote (FkoFF) не создается новый игрок, а лишь используются ссылки на существующего игрока, по этой причине нет повода их подтирать. А в каких случаях создается?Quote (FkoFF) почти тоже самое, только с меньшим функционалом и служит для работы с эвентами и разрушаемыми объектами, + в отличии от ректа, имеет фиксированные размеры, равные х64 ед. расстояния (клетка). В общем, это не то, чем ты каждый раз пользуешься? Однако для событий используется регион на rect'e, абракадабра с ними. А мне всегда казалось, что region - это совокупность областей (rect). И да, FatalBlade, вот полный список, как что удаляется: Code native DestroyBoolExpr takes boolexpr e returns nothing native DestroyCondition takes conditionfunc c returns nothing native DestroyDefeatCondition takes defeatcondition whichCondition returns nothing native DestroyFilter takes filterfunc f returns nothing native DestroyFogModifier takes fogmodifier whichFogModifier returns nothing native DestroyForce takes force whichForce returns nothing native DestroyImage takes image whichImage returns nothing native DestroyItemPool takes itempool whichItemPool returns nothing native DestroyLeaderboard takes leaderboard lb returns nothing native DestroyMultyboard takes multyboard lb returns nothing native DestroyQuest takes quest whichQuest returns nothing native DestroyTimerDialog takes timerdialog whichDialog returns nothing native DestroyTrigger takes trigger whichTrigger returns nothing native DestroyUbersplat takes ubersplat whichSplat returns nothing native DestroyUnitPool takes unitpool whichPool returns nothing native RemoveDestructable takes destructable d returns nothing native RemoveItem takes item whichItem returns nothing native RemovePlayer takes player whichPlayer, playergameresult gameResult returns nothing native RemoveRect takes rect whichRect returns nothing native RemoveRegion takes region whichRegion returns nothing native RemoveUnit takes unit whichUnit returns nothing native RemoveWeatherEffect takes weathereffect whichEffect returns nothing
|
|
|
|
FatalBlade | Дата: Четверг, 28 Апреля 2011, 13:19:04 | Сообщение # 45 |
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
| Loop - Actions Set ThunderPoint[ThunderIndex] = (ThunderCast offset by (Random real number between 1.00 and 300.00) towards (Random angle) degrees) Special Effect - Create a special effect at ThunderPoint[ThunderIndex] using war3mapImported\CloudOfFog.mdx Set ThunderEffect[ThunderIndex] = (Last created special effect) Custom script: call RemoveLocation(udg_ThunderPoint[ThunderIndex]) Set ThunderIndex = (ThunderIndex + 1) Вроде так норм. Почему же на строке Custom Script он пишет "Expected a name" ?
Сообщение отредактировал FatalBlade - Четверг, 28 Апреля 2011, 14:54:08 |
|
|
|
FkoFF | Дата: Четверг, 28 Апреля 2011, 15:19:01 | Сообщение # 46 |
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
| Quote (SirNikolas) А в каких случаях создается? когда речь идет о функциях, создающих объекты, таких как GetxxLoc(), GetxxRect(), ForGroup(). еще невероятно злой утечкой являются булэкспры. FatalBlade, udg_ThunderIndex
|
|
|
|
lawson | Дата: Четверг, 28 Апреля 2011, 17:43:19 | Сообщение # 47 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Quote (SirNikolas) А мне всегда казалось, что region - это совокупность областей (rect). call RegionAddRect(regin, rect) так и есть, просто FkoFF, очень себя переоценил.
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
Сообщение отредактировал lawson - Четверг, 28 Апреля 2011, 17:43:28 |
|
|
|
FkoFF | Дата: Пятница, 29 Апреля 2011, 03:33:35 | Сообщение # 48 |
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
| lawson, ага, внимательно присмотрись к остальным функциям native RegionAddCell takes region whichRegion, real x, real y returns nothing native RegionAddCellAtLoc takes region whichRegion, location whichLocation returns nothing И да, научись таки читать. Quote (FkoFF) почти тоже самое Quote (FkoFF) с меньшим функционалом Quote (FkoFF) служит для работы с эвентами и разрушаемыми объектами Quote (FkoFF) в отличии от ректа имеет фиксированные размеры равные х64 ед. расстояния (клетка Quote (FkoFF) Однако для событий используется регион на rect'e, абракадабра с ними. И где я себя переоценил?
|
|
|
|
lawson | Дата: Пятница, 29 Апреля 2011, 08:40:22 | Сообщение # 49 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Quote (FkoFF) И где я себя переоценил? Quote (lawson) Если ты об этом то и region что тогда? знаю про эти region, я спросил если rect это область а location по твоему это точки, то что тогда region, а ты мне начал лекции писать из чего состоит region и с чем его ипсользовать. Quote (FkoFF) И да, научись таки читать. Будет свободное время таки научусь.
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
Сообщение отредактировал lawson - Пятница, 29 Апреля 2011, 08:45:12 |
|
|
|
rixt7956 | Дата: Пятница, 29 Апреля 2011, 11:38:01 | Сообщение # 50 |
9 уровень
Группа: Проверенные
Сообщений: 1097
Награды: 0
Репутация: 153
Блокировки:
| и правда, что такое регион?
|
|
|
|