Sailar
offline
Опыт:
8,555Активность: |
Вопрос про локальные переменные
Подскажите у меня триггер делат локальный триггер и те локальные прем-ые что создавались ранее не работают в локальном, отаёться вариант создать такиеже и в нём но скрипт будет работать только с triggeringunit а если допустем мене надо getspelltargetunit преровнять а в этот промежуток времени другой игрок кастует магию и получаеться что переменая собёться и будет неккоректно работать тагже и с второстепенным условием
KLAUD добавил: Можно ли без глобальных обойтись в таких ситуациях если можно как? KLAUD добавил: А вот ещё почему если создавать if/then/else и вместо if lkll(название проверяемой функции)() ставить саму функцыю то она иногда не срабатывает а иногда срабатавает? |
16.06.2007, 01:02 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sailar
offline
Опыт:
8,555Активность: |
Я карту с сотовово не закину неполучитья да и ненадо скрипт работает я наверно вопрос нетак задал. Во допустим у юнита х есть способность он её кастнул и происходят действия разные в которых создаёться лок тригер каждые 0.01 в этом тригере я если поставлю лок п = жертве и перед срабатыванием другой юнит касует на другую цель заклинание переменная жертвы поменяеться. А можно перенести чтоли локалку 1триггера в локальный тр и бе глоб переменной
KLAUD добавил: Да и если цикл с условием создать а в цикле вайт каждые2 сек то его необходимо создавать проверочную функцию и туда нельзя в писать локальные что делать? Как лок перенести в другую функ? |
16.06.2007, 03:59 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
|
16.06.2007, 04:04 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sailar
offline
Опыт:
8,555Активность: |
А в это время пока цикл ктото наколдавал на другово и проверка в условии где вместо лок переменой х которая была =getspelltargetunit стоит просто это действие в это время ктонить пременяет чёнить жертва меняеться а проверка идёт не на перемемую а на getspelltargetunit и всё условие сорвалось
KLAUD добавил: Про кэш я знаю но для этого нужно создавать лишние глобальные а какая разница что один кэш и один массив просто путаница с ними возникают поэтому можно ли както без глобальных |
16.06.2007, 04:12 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
KLAUD чтобы юзать кеш нужна лиш одна глобальная пременая переменная с типом GameCache, можеш юзать кеш сколько хочеш, и где хочеш
ты прочитай на что я дал тебе сылки, там все ответы на твои вопросы |
16.06.2007, 04:19 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sailar
offline
Опыт:
8,555Активность: |
Усе прочитал тока функций как set_object_iparam несуществует не в коммо.дж негде редактор её не распазнаёт следовательно был зделан нестандартный код а карту пример мне скачать неполучиться. Может есть ещё способ или подскажите какой там код хотяб как приравнять? Да ещё на условие насколько я понел кэш не проверяет |
16.06.2007, 06:15 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
» SCV Код:
Jon добавил: пример смогу сделать только попоже.. ибо заняд Отредактировано Jon, 16.06.2007 в 11:03. |
16.06.2007, 07:49 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ComotozNick
Активность: 666
offline
Опыт:
26,206Активность: |
В общем если освобожусь быстрее джона, то сделаю вам примерчеГ. А пока что без абузов. |
16.06.2007, 08:56 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FellGuard
Losyash
offline
Опыт:
39,547Активность: |
в кэш надо раз запихнуть одно значение -
Integer, конвертированиый через РБ юнит, записаный как конверитрованый в строку интегер, который в совю очередь является конвертированным через РБ тригером, в mission LocalTargetUnit Код:
Отредактировано FellGuard, 16.06.2007 в 13:54. |
16.06.2007, 13:27 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
FellGuard неужели ты тоже юзаеш маленькие буквы в названиях функций RB? Ужос=/ мне кажется нечитабельно
|
16.06.2007, 13:42 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FellGuard
Losyash
offline
Опыт:
39,547Активность: |
пример писал на скорую руку, можно там даже циферки юзать, чтобы бедный взломщик 100% удавился, увидев код :): |
16.06.2007, 13:53 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sailar
offline
Опыт:
8,555Активность: |
Спасибо всем всё понятно только зачем в коде создавать локальный триггер? И как тогда мне проверить всё сахранённое в буффер загружать и равно да тогда проверет условия на локальную в буффере или как? |
16.06.2007, 15:51 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FellGuard
Losyash
offline
Опыт:
39,547Активность: |
KLAUD, инициализируеш локального юнита, приравниваеш тут же к тому, что сохранено в кэше, что тут неясного?
Цитата:
Проверять ВСЕ сохраненное в буфер - никак, можно лишь задать директорию и имя значения в кеше, а потом обратиться к нему из локального триггера. Если нужно условие для локального триггера, которое проверяет чтото у юнита из главного триггера - тоже самое, в условии локальный юнит = сохраненному в кэше (это то что мы сохраняем до создания локального триггера) Цитата:
Отредактировано FellGuard, 16.06.2007 в 17:00. |
||
16.06.2007, 16:46 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sailar
offline
Опыт:
8,555Активность: |
Спасибо щас буду разбираться. А почему если if создать в триггере без ссылки на функцию то он невсегда срабатывает. Только некотырые ифы типа рандом нумбер срабатывают а сложные проверки нет? |
16.06.2007, 17:20 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
FellGuard хм.. вообщето делается наоборот... в категорю суют хендл, а под ключ уже пишут индификационую строку...
|
16.06.2007, 18:59 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FellGuard
Losyash
offline
Опыт:
39,547Активность: |
как будто есть большая разница |
16.06.2007, 19:02 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
KLAUD вот попробуй используя данную фичу сделать функцию, котороая принимает юнита, угол и скорость, и чтобы при одном вызове функции... юнит начинал перемещатся в заданном направлении с указаной скоростью, только при одном вызове. Без глобальных переменых конешн (кроме кеша), и чтобы функция могла работать с большим количеством юнитов одновремено...
это будет чет вроде зачета... если несможеш, я дам тебе результат что должно получится... но серьезно... попробуй сделать сам, посторойся |
16.06.2007, 19:02 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sailar
offline
Опыт:
8,555Активность: |
Fell guard в том то и дело что есть разница попробуй сразу без сылки на функцию проверки. Зделать цикл там проверку допустим с тойже если локал юнит дистанция и жертва меньше 400 действие должны быть глюки. Jon щас буду пробовать делать. |
16.06.2007, 20:06 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
KLAUD насчет разныци он мне говорил.. хотя разница всеже есть... смотря как юзать кеш, чем больше стрингов в категорииили в ключе независимо друг от друга тем больше тратится производительности на их поиск соответственно
|
16.06.2007, 20:10 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sailar
offline
Опыт:
8,555Активность: |
Jon кажись до меня дошло но возник вопрос если из тригера запуска обращаться к коду и у меня накарте много скриптовых магий то код будет гиганским можно ли создавать лок триггер как всегда а не сылаться на код при этом чтоб сцв работала?
KLAUD добавил: По мере понятия этой системы Возникают дополнительные вопросы если из тригера запуска обращаться к коду и у меня накарте много скриптовых магий то код будет гиганским можно ли создавать лок триггер как всегда а не сылаться на код при этом чтоб сцв работала? |
16.06.2007, 21:28 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|