[ВАЖНО] Помощь по JASS
|
|
WE_new_maper | Дата: Среда, 23 Июня 2010, 13:45:07 | Сообщение # 501 |
8 уровень
Группа: Проверенные
Сообщений: 692
Награды: 0
Репутация: 28
Блокировки:
| ой щас Добавлено (23-06-2010, 13:42) --------------------------------------------- вот подчеркиваем set gg_trg_Stack_Pickup = CreateTrigger( ) З.Ы. поч я не проверенный!? Добавлено (23-06-2010, 13:45) --------------------------------------------- отсудствует название переменной set gg_trg_Stack_Pickup = CreateTrigger( ) название отсудствует call TriggerRegisterAnyUnitEventBJ( gg_trg_Stack_Pickup, EVENT_PLAYER_UNIT_PICKUP_ITEM ) call TriggerAddAction( gg_trg_Stack_Pickup, function Trig_Stack_Pickup_Actions )
|
|
|
|
DragoN | Дата: Среда, 23 Июня 2010, 17:59:49 | Сообщение # 502 |
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
| WE_new_maper, у тя триггер называется Stack_Pickup?
El Psy Congroo
|
|
|
|
WE_new_maper | Дата: Среда, 23 Июня 2010, 18:11:37 | Сообщение # 503 |
8 уровень
Группа: Проверенные
Сообщений: 692
Награды: 0
Репутация: 28
Блокировки:
| да Добавлено (23-06-2010, 18:04) --------------------------------------------- а нет Добавлено (23-06-2010, 18:11) --------------------------------------------- ай драгон молодец спс заработало
|
|
|
|
Ramazan(off) | Дата: Четверг, 24 Июня 2010, 23:27:37 | Сообщение # 504 |
11 уровень
Группа: Проверенные
Сообщений: 1670
Награды: 1
Репутация: 775
Блокировки:
| Вахахахах я ржу) когда я ему эту наработку давал я русским языком сказал: созда триггер Stack Pickup => конвертируй в код, и замени вот этим текстом. МДа..
|
|
|
|
Faion | Дата: Пятница, 25 Июня 2010, 09:01:33 | Сообщение # 505 |
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
| Ищу доброго человека, который поможет собрать мувинг систему, бился 10 дней - результата не добился, даж пришлось погрузится в изучение jass, хотя во многом проблема в том что гребаный jngp глючит, чего я только не делал с ним.
О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас. My Project: Nindogatari MAL
|
|
|
|
DragoN | Дата: Пятница, 25 Июня 2010, 15:53:15 | Сообщение # 506 |
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
| Faion, оке,сёдня начну писать на координатах)
El Psy Congroo
|
|
|
|
Faion | Дата: Пятница, 25 Июня 2010, 16:33:32 | Сообщение # 507 |
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
| Dragon93, я тебя убью :3 зачем ты меня мучил целых 3 дня?=) Это типо прикол?=) Испытывал мою выдержку? =) Кстати... я вообще в панике, реально, вар сломался, при запуске мапы в варе (разных версиях) половина отказывается работать, даж самых простых функций. Кажись я доигрался, придется наверно винду переставлять. Сейчас еще попробую ток прошлый бэкап, мб какой то jngp сломал мапу.
О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас. My Project: Nindogatari MAL
|
|
|
|
EdiTTORR | Дата: Пятница, 25 Июня 2010, 19:17:14 | Сообщение # 508 |
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
| Кста как добавлять в Blizzard.j свои функции? p.s. В мапе они работают а када вставляю в BJ вар выкидывают ошибки компилляции.А функции самые простые и 100% рабочие!
Местами здесь.
|
|
|
|
Faion | Дата: Пятница, 25 Июня 2010, 19:31:43 | Сообщение # 509 |
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
| Не в близардж над добавлять, а в мапу.
О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас. My Project: Nindogatari MAL
|
|
|
|
DragoN | Дата: Пятница, 25 Июня 2010, 23:32:20 | Сообщение # 510 |
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
| Quote (Faion) Кстати... я вообще в панике, реально, вар сломался, при запуске мапы в варе (разных версиях) половина отказывается работать, даж самых простых функций. Кажись я доигрался, придется наверно винду переставлять. Сейчас еще попробую ток прошлый бэкап, мб какой то jngp сломал мапу. ну верни ту ветку,что сбэкапил винда ни при чём Quote (EdiTTORR) Кста как добавлять в Blizzard.j свои функции? p.s. В мапе они работают а када вставляю в BJ вар выкидывают ошибки компилляции.А функции самые простые и 100% рабочие! со стандартных нативок собирал?
El Psy Congroo
|
|
|
|
FlaReoN | Дата: Суббота, 26 Июня 2010, 01:02:23 | Сообщение # 511 |
7 уровень
Группа: Проверенные
Сообщений: 456
Награды: 0
Репутация: 144
Блокировки:
| Quote Не в близардж над добавлять, а в мапу. ф-ции в blizzard.j, а сам файл уже непосредственно в карту
|
|
|
|
EdiTTORR | Дата: Вторник, 29 Июня 2010, 16:10:50 | Сообщение # 512 |
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
| Quote (Dragon93) со стандартных нативок собирал? Ну со стандартных а что? БЖ нельзя?Добавлено (29-06-2010, 16:10) --------------------------------------------- БЖ в мапу заливал чет не фурычит... Вообще не видит(Отсутствует название функции)
Местами здесь.
|
|
|
|
DragoN | Дата: Среда, 30 Июня 2010, 12:57:31 | Сообщение # 513 |
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
| EdiTTORR, закинь в кастом код и радуйся...
El Psy Congroo
|
|
|
|
EdiTTORR | Дата: Среда, 30 Июня 2010, 16:10:36 | Сообщение # 514 |
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
| Так обычно и делаю просто во многих статьях пишут что можно для удобства добавлять Так удобства захотелось...
Местами здесь.
|
|
|
|
DragoN | Дата: Четверг, 01 Июля 2010, 00:12:59 | Сообщение # 515 |
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
| EdiTTORR, ну сделай,импортни с путём scripts/blizzard.j и тестируй
El Psy Congroo
|
|
|
|
EdiTTORR | Дата: Четверг, 01 Июля 2010, 18:38:41 | Сообщение # 516 |
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
| ОК спс
Местами здесь.
|
|
|
|
SirNikolas | Дата: Пятница, 02 Июля 2010, 12:10:54 | Сообщение # 517 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| У меня вопрос. Локальные переменные каких типов не нужно обнулять?
|
|
|
|
EdiTTORR | Дата: Пятница, 02 Июля 2010, 12:28:25 | Сообщение # 518 |
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
| SirNikolas, Есть статья на этом сайте. "Оптимизация"
Местами здесь.
|
|
|
|
FlaReoN | Дата: Пятница, 02 Июля 2010, 13:38:41 | Сообщение # 519 |
7 уровень
Группа: Проверенные
Сообщений: 456
Награды: 0
Репутация: 144
Блокировки:
| Quote Локальные переменные каких типов не нужно обнулять? integer, real и boolean. остальные надо
Сообщение отредактировал FlaReoN - Пятница, 02 Июля 2010, 13:39:16 |
|
|
|
EdiTTORR | Дата: Пятница, 02 Июля 2010, 13:45:25 | Сообщение # 520 |
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
| А player тоже надо XD XD XD XD XD
Местами здесь.
|
|
|
|
kaisar | Дата: Понедельник, 05 Июля 2010, 09:45:45 | Сообщение # 521 |
9 уровень
Группа: Проверенные
Сообщений: 814
Награды: 0
Репутация: 91
Блокировки:
| Я вот прочёл надавно начало статьи по jass, там сказанно как оптимизировать свой код, я вот не понял, если в условии if содержится больше 1 условия то как оптимизировать свой код?, записать в if через запятую условия? Вот текст из самой статьи с xgm.ru Code Рассмотрим такой пример: имеется фрагмент триггерного действия For each (Integer i) from 1 to 10, do (Actions) Цикл If (All Conditions are True) then do (Then Actions) else do (Else Actions) Условие i равно 1 Действие Set s = (s + 2) Иначе Set s = (s + 1)
Цикл по i от 1 до 10 и условие внутри цикла. Во что превратится это действие, когда мы переведем его в jass? Создай в редакторе такой триггер и проверь. Действие превратится в следующий фрагмент set udg_i = 1 loop exitwhen udg_i > 10 if ( Trig_____________________________________001_Func001Func001C() ) then set udg_s = ( udg_s + 2 ) else set udg_s = ( udg_s + 1 ) endif set udg_i = udg_i + 1 endloop
Думаю, что пока не очень понятно, что здесь за что отвечает. Начнем с оператора if. Очевидно, он превратился в строки: if ( Trig_____________________________________001_Func001Func001C() ) then set udg_s = ( udg_s + 2 ) else set udg_s = ( udg_s + 1 ) endif
Все что ниже первой строки - понятно, но почему вместо нормального условия в первой строке стоит "( Trig_____________________________________001_Func001Func001C() )"? Дело в том, что редактор триггеров довольно глупо переводит условия из триггеров или триггерных действий. После такого перевода часто приходится исправлять и оптимизировать код. В нашем случае, редактор создал специальную функцию с именем Trig_____________________________________001_Func001Func001C() для того, чтобы проверить нужное нам условие, что i=1. Эту функцию ты можешь увидеть вверху триггера: function Trig_____________________________________001_Func001Func001C takes nothing returns boolean if ( not ( udg_i == 1 ) ) then return false endif return true endfunction
Пока не будем вдаваться в то, что это за функция и что она делает. Самое главное - эта функция возвращает значение true (истина) если i=1, или ложь, если i не равно 1. Возникает вопрос: что же, при каждом применении оператора if нам придется создавать какую-то функцию? Ничего подобного - можно обойтись и без нее! Стираем эту ненужную функцию, а в строчку вносим изменения: if (udg_i == 1) then
И все. остальное оставляем неизменным. У нас получится фрагмент кода: set udg_i = 1 loop exitwhen udg_i > 10 if (udg_i == 1) then set udg_s = ( udg_s + 2 ) else set udg_s = ( udg_s + 1 ) endif set udg_i = udg_i + 1 endloop
Сообщение отредактировал kaisar - Понедельник, 05 Июля 2010, 09:46:05 |
|
|
|
Banzay89 | Дата: Понедельник, 05 Июля 2010, 13:47:35 | Сообщение # 522 |
9 уровень
Группа: Проверенные
Сообщений: 858
Награды: 1
Репутация: 77
Блокировки:
| kaisar, вот тебе кусок кода, вырваного из опен доты (ульт ярнеро): Code function Omnislash_Filter takes nothing returns boolean if(GetUnitTypeId(GetFilterUnit())!='o003')then if(GetUnitTypeId(GetFilterUnit())!='e00C')then if(IsUnitAliveBJ(GetFilterUnit()))then if(IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE) ==false)then if(GetUnitAbilityLevelSwapped('A04R',GetFilterUnit())!=1)then return true endif endif endif endif endif return false endfunction Думаю, понятно?
|
|
|
|
[DUОS] | Дата: Понедельник, 05 Июля 2010, 16:37:31 | Сообщение # 523 |
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
| Banzay89, А без ВJ слабо?)
|
|
|
|
Banzay89 | Дата: Понедельник, 05 Июля 2010, 16:55:05 | Сообщение # 524 |
9 уровень
Группа: Проверенные
Сообщений: 858
Награды: 1
Репутация: 77
Блокировки:
| Quote вырваного из опен доты своей руки я сюда не прилажевал
|
|
|
|
SirNikolas | Дата: Понедельник, 05 Июля 2010, 17:34:25 | Сообщение # 525 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Quote (|DUОS|) А без ВJ слабо? Code if (GetUnitStateSwap(UNIT_STATE_LIFE, Unit) > 0.00) then Так, что ли?
Сообщение отредактировал SirNikolas - Понедельник, 05 Июля 2010, 17:35:44 |
|
|
|