0pJl9lTa
offline
Опыт:
2,997Активность: |
Вылетает варик при этом
Код:
Где tar = GetSpellTargetUnit() если вместо него ставить null то все ок. datr - локальный триг, создаваемый при касте спела. Как править? |
28.03.2006, 00:36 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FellGuard
Losyash
offline
Опыт:
39,547Активность: |
0pJl9lTa, вопрос может ламовский, но ты все переменные объявил != null выше этого действия? У меня такого косяка не было (оно и понятно, я в Джассе 2-ой ень :)). Вообще, выложи сам код, в 50% ошибка сидит не в косяке близзофф, а в самом построении.
|
28.03.2006, 08:17 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,762Активность: |
0pJl9lTa очевидно что tar на самом деле не является юнитом. Для проверки поставь вместо этой строки вывод имени юнита tar - TEXT("Noau:"+GetUnitName(tar)) тут может быть два варианта - либо ты используешь не ту функцию то есть GetSpellTargetUnit() возможно не для того триггера(банально, но такое бывает), либо это глюк, но не функции TriggerRegisterUnitEvent
|
28.03.2006, 09:01 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
0pJl9lTa
offline
Опыт:
2,997Активность: |
NETRAT Самый прикол, если вместе "tar" поставить "cas" то все работает :)
Час погляжу 0pJl9lTa добавил: Вот весь код... все равно вылетает Код:
|
28.03.2006, 11:58 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,762Активность: |
0pJl9lTa ничего удивительного - у тебя наверняка абила без указания цели, напиши вот так
Код:
NETRAT добавил: call PolledWait (GetRandomReal(10,20)) фи, как некрасиво - во-первых дурацкое ожидание, лучше тогда возьми TriggerSleepAction если уж очень нужно вешать этот поток, во-вторых рандом для real - где не надо рандом лучше не использовать - это математически достаточно сложная функция, жрет цп NETRAT добавил: и вот эти H2I(label) лучше занеси заранее в локалку - это же неудобно и неоптимально |
28.03.2006, 12:09 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
0pJl9lTa
offline
Опыт:
2,997Активность: |
NETRAT спел с указанием цели на основе Forked Lightning (разветвелнной молнии)
Да, насчетп полед ваейте чуток ступил ) эээ в твоем варианте ниче кроме строчки не добавилось... а как она может повлиять?? |
28.03.2006, 13:04 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,762Активность: |
0pJl9lTa что выводит на экран эта строка? [Test InGame]
проверим для начала что выдает функция GetSpellTargetUnit() то есть выведем на экран имя юнита в переменной tar То есть закомменти ту строчку, которая вылетает и проверь что выводит на экран это сообщение NETRAT добавил: Оптимизация твоего триггера выглядет примерно так: Код:
|
28.03.2006, 13:53 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
0pJl9lTa
offline
Опыт:
2,997Активность: |
Ты думаешь твой вариант не будет вылетать???
Час попробую... а вообще странное дело, всего один String и игра не вылетает... хм... 0pJl9lTa добавил: Кстати скрипт твой совершено под мой спел не подходит. Там после первого получения даага триг выключаеца, и ниче не делается. Кроме того зачем ты проверку убрал??? Вернее вставил ее в действия. Вот эти строки Код:
Будут выполняеться зря очень много раз... зачем это нада??? Еще ты локалку t не обнулил :-P |
28.03.2006, 16:52 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,762Активность: |
0pJl9lTa для полной оптимизации нужно знать весь триггер, локалку обнулить забыл(или забил?)
Поверь, это Код:
Намного хуже чем это Код:
Ага, я просто немного не понял когда он должен был выключаться |
28.03.2006, 19:48 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FellGuard
Losyash
offline
Опыт:
39,547Активность: |
NETRAT, каким образом в варе определяется рандом? Где можно просмотреть сам код функции?
Код:
|
29.03.2006, 08:26 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,762Активность: |
FellGuard датчик(генератор базовой случайной величины) Маклорена-Марсальи, сам код никак не посмотришь
|
29.03.2006, 23:25 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
0pJl9lTa
offline
Опыт:
2,997Активность: |
Ответ довольно простой и глупый. Действие = событие. Т.е. наносится дамаг и сразу по нему наностся еще дамаг... а там еще.. и еще... и вылетает ) вот. |
02.04.2006, 21:09 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Markiz
offline
Опыт:
11,392Активность: |
:rofl: у мну нет слов. нетрат тут насоветовал всего,а тут на тебе :D |
02.04.2006, 23:05 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
0pJl9lTa
offline
Опыт:
2,997Активность: |
Markiz Да, я тоге долго улыбался :)
|
03.04.2006, 10:16 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,762Активность: |
:lol: в любом случае дело говорил =) |
03.04.2006, 18:17 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
0pJl9lTa
offline
Опыт:
2,997Активность: |
NETRAT неа, упрощение скрипта нифига не упращение :)
лана забыли.. но ваще тупо :D |
03.04.2006, 18:41 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,762Активность: |
Просто попрактикуйся в этом, возможно тебе кажется что это сложнее или хуже или некрасиво, но это обычный процесс оптимизации, вполне очевидный для кодера. Что именно тебе не понравилось в моих методах? |
04.04.2006, 00:17 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
tysch_tysch
Работаем
online
Опыт: отключен
|
оффтопик: нт считает себя уберсупер кодером?=) |
04.04.2006, 00:21 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,762Активность: |
Есть вещи, которые просто очевидны, например, зачем писать
set a = MegaFunction() set b = Megafunction() если можно написать set a = MegaFunction() set b = a я просто хочу им стать, но до Алексея мне еще далеко NETRAT добавил: Я не страдаю завышенной самооценкой, обычно наоборот =) |
04.04.2006, 01:53 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
0pJl9lTa
offline
Опыт:
2,997Активность: |
В твоем случае ничего. А вот допустим local group gr = CreateGroup () local group gr2 = gr Большая разница... И вообще, зачем создавать лишние локалки если моно обойтись без них??? А потом еще и обнулять... жуть |
04.04.2006, 12:13 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|