  | 
 | 
  | 
 
 | 
 
 
 
		
		
		
	
		
		
	
		
		
			| 
				
				[ВАЖНО] Помощь по JASS
				 |  
				
			  |  
| Сорнемус | Дата: Воскресенье, 20 Декабря 2009, 23:30:03 | Сообщение # 51 |  
9 уровень
 
Группа: Проверенные 
Сообщений: 854 
Награды:  0 
Репутация:  120 
Блокировки:    
 
 | Quote (inhuman89) в начале     Только надо    И в самом конце   
 |  
|   | 
 |   
  |  
| inhuman89 | Дата: Воскресенье, 20 Декабря 2009, 23:35:06 | Сообщение # 52 |  
5 уровень
 
Группа: Пользователи 
Сообщений: 106 
Награды:  0 
Репутация:  5 
Блокировки:    
 
 | я понял что надоел уже, но не играет анимацию ни в какую  Добавлено (20-12-2009, 23:35) --------------------------------------------- как я этого не хотел но похоже придется модель лишать всех аним кроме attack 2   
  
• 
 |  
|   | 
 |   
  |  
| pein | Дата: Понедельник, 21 Декабря 2009, 22:12:32 | Сообщение # 53 |  
9 уровень
 
Группа: Проверенные 
Сообщений: 1114 
Награды:  1 
Репутация:  272 
Блокировки:    
 
 | ребят сори что тут пишу но нужно чтоб кто то обяснил толком как избежать утечки памяти
 |  
|   | 
 |   
  |  
| H_A_PK | Дата: Понедельник, 21 Декабря 2009, 22:26:49 | Сообщение # 54 |  
| 
 Быдлокодер 
Группа: Проверенные 
Сообщений: 2605 
Награды:  1 
Репутация:  822 
Блокировки:    
 
 | Короче.   чтоб избежать утечек   нужно ширако использовать переменные , так как я приведу пример.   любая переменная засоряет память и любой обьект   и спользую постояно "применяющий юнит" мы каждый рас создаём переменую и она засоряяет память.   а если занеси "применяющий юнит" в переменную и использовать её всегда и витоге   онулить её с памощью функции   set udg_(название переменой) = null   мы не засори память.   или пример когда мы создаём спецэфект не удоляя его.   думая , что он сам уничтожился, нет он порожнему занимает память , и поэтому его необходимо удолять, тожесамое с мобами в доте. они удоляются после смери , чтоб он не занимал память.   нк ты понял?
  
проклятье ляжет на любого   кто дочитает до конца   нет не дочитывай не надо   остановись ну всё капец     
 |  
|   | 
 |   
  |  
| pein | Дата: Вторник, 22 Декабря 2009, 11:32:57 | Сообщение # 55 |  
9 уровень
 
Группа: Проверенные 
Сообщений: 1114 
Награды:  1 
Репутация:  272 
Блокировки:    
 
 | H_A_PK, болия мения понял спс огромное,   и щё 1 вопрос а аптимизировать можна токо на жасс иле на гуи тодже можно?
 |  
|   | 
 |   
  |  
| Сорнемус | Дата: Вторник, 22 Декабря 2009, 18:59:46 | Сообщение # 56 |  
9 уровень
 
Группа: Проверенные 
Сообщений: 854 
Награды:  0 
Репутация:  120 
Блокировки:    
 
 | Quote (pein) и щё 1 вопрос а аптимизировать можна токо на жасс иле на гуи тодже можно?     На ГУИ многие действия ограничены. Например, ГУИ не даёт обнулять некоторые типы переменных. Так что предпочтительней джасс.  H_A_PK, я плакал...    Quote (H_A_PK) Короче. чтоб избежать утечек нужно ширако использовать переменные , так как я приведу пример. любая переменная засоряет память и любой обьект     Утечки вызывают далеко не только это.   Quote (H_A_PK) и спользую постояно "применяющий юнит" мы каждый рас создаём переменую и она засоряяет память.     О бог мой... "GetSpellAbilityUnit()" возвращает константу, а они почти не засоряют память. Локалки тут используют для удобства.   Quote (H_A_PK) тожесамое с мобами в доте. они удоляются после смери , чтоб он не занимал память.     Где-то видел как писали, что ходячие юниты доты не вызывают утечек, так как после исчезания трупа они сами обнуляются  Самые страшные утечки - создание тонн точек. Если неопытный человек начнёт делать плавное перемещение то после 4-5 таких перемещений вар ляжет. По-этому надо использовать координаты.   pein, я тебе посоветую лучше поискать статьи по утечкам (ещё глянь в статье Sergey'я про утечки, там неплохо описано что это). 
 |  
|   | 
 |   
  |  
| [DUОS] | Дата: Вторник, 22 Декабря 2009, 21:13:29 | Сообщение # 57 |  
| 
 Группа: Заблокированные 
Сообщений: 6279 
Награды:  9 
Репутация:  1708 
Блокировки:    
 
 | Quote (inhuman89) call SetUnitAnimationByIndex(GetSpellAbilityUnit(),2)     inhuman89,   Попробуй строкой задать.  Сорнемус,    Quote (Сорнемус) "применяющий юнит"     Quote (Сорнемус) Локалки тут используют для удобства.      Ненене, не катит... Тут мы уменьшаем вызовы функции. Вот скажи мне, что лучше использовать:   Code local integer i = 1   loop       exitwhen i > 10       call BJDebugMsg(I2S(i))       set i = i + 1   endloop  или жеCode local integer i = 1   loop       exitwhen i > 10       call BJDebugMsg(I2S(i))       call BJDebugMsg(I2S(i + 1))       set i = i + 2   endloop  Этот вопрос был задан MaSer'ом мне. Ответь на него и ты. Если не поймёшь, разъясню.
  
 |  
|   | 
 |   
  |  
| inhuman89 | Дата: Вторник, 22 Декабря 2009, 21:25:41 | Сообщение # 58 |  
5 уровень
 
Группа: Пользователи 
Сообщений: 106 
Награды:  0 
Репутация:  5 
Блокировки:    
 
 | Quote (|DUОS|) inhuman89,   Попробуй строкой задать.      извини не понял.   как строкой? это разве не строкой?Добавлено (22-12-2009, 21:25) --------------------------------------------- и еще вопрос, при перемещении через set x\y происходят тн утечки?   например:    Code Custom script:   set udg_x1 = udg_x1 + udg_H_offset[1] * Cos(udg_H_angle_1)  
  
• 
 |  
|   | 
 |   
  |  
| Сорнемус | Дата: Вторник, 22 Декабря 2009, 23:00:53 | Сообщение # 59 |  
9 уровень
 
Группа: Проверенные 
Сообщений: 854 
Награды:  0 
Репутация:  120 
Блокировки:    
 
 | Quote (inhuman89) и еще вопрос, при перемещении через set x\y происходят тн утечки? например:     Если всё правильно, то нет.   Quote (|DUОS|) Попробуй строкой задать.     Ненене. Алексей писал что надо именно индекс, а не название тега.   Quote (|DUОS|) Этот вопрос был задан MaSer'ом мне. Ответь на него и ты. Если не поймёшь, разъясню.     Без разницы. Так как в 1 варианте цикл идёт 10 раз и вызов функций "BJDebugMsg" и "I2S" происходит по 10 раз, а во 2 варианте цикл идёт 5 раз, но вызовов функций по 2, так что и в сумме вызов также будет 10.
 
 Сообщение отредактировал Сорнемус - Вторник, 22 Декабря 2009, 23:01:03  |  
|   | 
 |   
  |  
| RAYMANTO16 | Дата: Среда, 23 Декабря 2009, 13:11:55 | Сообщение # 60 |  
9 уровень
 
Группа: Проверенные 
Сообщений: 1018 
Награды:  0 
Репутация:  362 
Блокировки:    
 
 | а подскажите как сделать ИИ.ну чтоб он копил армии,нападал и все такое делал.ну когда не все юниты и улучшения открыты
  
 |  
|   | 
 |   
  |  
| inhuman89 | Дата: Четверг, 24 Декабря 2009, 01:47:47 | Сообщение # 61 |  
5 уровень
 
Группа: Пользователи 
Сообщений: 106 
Награды:  0 
Репутация:  5 
Блокировки:    
 
 | вот попросил я на хайве сделать мне системку отбрасывания врагов. сделать сделалиб но как ее использовать сказать забыли) я понимаю что мне самому нужно учить джасс, а не просить постоянно.   по сабжу.   скажите как ее собственно запустить? мне например нужно при касте абилки.   Code    library Knockback 
   globals       private constant real Interval = 0.01 
       private constant string effekt = "Abilities\\Weapons\\AncientProtectorMissile\\AncientProtectorMissile.mdl" 
       private constant string blood = "Objects\\Spawnmodels\\Critters\\Albatross\\CritterBloodAlbatross.mdl"   endglobals 
   private struct data   unit u   real d1   real d2 
   real sin   real cos 
   boolean r   endstruct 
   globals       private timer Tim = CreateTimer()       private data array DATAS       private integer Total = 0   endglobals 
   private function IsCoordPathable takes real x, real y returns boolean       local item u = CreateItem( 'wolg', x,y )       local real xx = GetItemX( u ) - x       local real yy = GetItemY( u ) - y       call RemoveItem(u)       set u = null       if xx < 1 and xx > -1 and yy < 1 and yy > -1 then           return true       endif       return false   endfunction 
   private function Execute takes nothing returns nothing       local data dat       local integer i = 0       local real x       local real y       loop           exitwhen i >= Total           set dat = DATAS[i]           set x = GetUnitX(dat.u) + dat.d1 * dat.cos           set y = GetUnitY(dat.u) + dat.d1 * dat.sin           if IsCoordPathable(x, y) then               if dat.r then                   call SetUnitX(dat.u, x)                   call SetUnitY(dat.u, y)               else                   call SetUnitPosition(dat.u,x,y)               endif           endif           set dat.d1 = dat.d1 - dat.d2   if dat.d1 <= 0 or not IsCoordPathable(x, y) then               set DATAS[i] = DATAS[Total - 1]               set Total = Total - 1               call dat.destroy()           endif           set i = i + 1       endloop       if Total == 0 then           call PauseTimer(Tim)       endif   endfunction 
   function Knockback takes unit u, real d, real a, real t, boolean resist returns nothing       local data dat = data.create()       local integer q = R2I(t / Interval)       set a = a*bj_DEGTORAD       set dat.u = u       set dat.d1 = 2 * d / (q + 1)       set dat.d2 = dat.d1 / q       set dat.sin = Sin(a)       set dat.cos = Cos(a)       set dat.r = resist       if Total == 0 then           call TimerStart(Tim, Interval, true, function Execute)       endif       set Total = Total + 1       set DATAS[Total - 1] = dat   endfunction 
   endlibrary     
  
• 
 |  
|   | 
 |   
  |  
| Ak0n™ | Дата: Суббота, 26 Декабря 2009, 07:27:17 | Сообщение # 62 |  
 
10 уровень
 
Группа: Проверенные 
Сообщений: 1575 
Награды:  0 
Репутация:  568 
Блокировки:    
 
 | Я далеко не знаю возможности джаза(ток гуи) поэтому у меня к вам есть пару вопросов:   1.Можно сделать так,чтобы скажем при использовании спела,чел успел станцевать как майкл джексон?)))) )) )))   2.Ну или когда чела бьют,враг загорается?   3.Я инода видел что шеи у моделий шевелятся в разные стороны,это джаз?
  
 |  
|   | 
 |   
  |  
| inhuman89 | Дата: Понедельник, 28 Декабря 2009, 03:49:47 | Сообщение # 63 |  
5 уровень
 
Группа: Пользователи 
Сообщений: 106 
Награды:  0 
Репутация:  5 
Блокировки:    
 
 | Quote (Ak0n™) что шеи у моделий шевелятся     это как?
  
• 
 |  
|   | 
 |   
  |  
| [DUОS] | Дата: Понедельник, 28 Декабря 2009, 16:30:10 | Сообщение # 64 |  
| 
 Группа: Заблокированные 
Сообщений: 6279 
Награды:  9 
Репутация:  1708 
Блокировки:    
 
 | Quote (inhuman89) при перемещении через set x\y происходят тн утечки?      Никогда!   Quote (Сорнемус) Без разницы. Так как в 1 варианте цикл идёт 10 раз и вызов функций "BJDebugMsg" и "I2S" происходит по 10 раз, а во 2 варианте цикл идёт 5 раз, но вызовов функций по 2, так что и в сумме вызов также будет 10.      Нет, ни в коем разе. Второй вариант лучше, ест меньше тактов процессора.Добавлено (28-12-2009, 16:30) --------------------------------------------- Ak0n™,  Quote (Ak0n™) 2.Ну или когда чела бьют,враг загорается?      Пламя феникса дай атакующему.   Про остальное - тебе ответят в моделировании.
  
 |  
|   | 
 |   
  |  
| H_A_PK | Дата: Понедельник, 04 Января 2010, 21:48:44 | Сообщение # 65 |  
| 
 Быдлокодер 
Группа: Проверенные 
Сообщений: 2605 
Награды:  1 
Репутация:  822 
Блокировки:    
 
 | давай раскрой я пример с тебя возьму [DUОS],   PingMinimapLocForForceEx
  
проклятье ляжет на любого   кто дочитает до конца   нет не дочитывай не надо   остановись ну всё капец     
 |  
|   | 
 |   
  |  
| [DUОS] | Дата: Понедельник, 04 Января 2010, 21:55:40 | Сообщение # 66 |  
| 
 Группа: Заблокированные 
Сообщений: 6279 
Награды:  9 
Репутация:  1708 
Блокировки:    
 
 | H_A_PK,   function PingMinimapForForceEx takes force whichForce, real x, real y, real duration, integer style, real red, real green, real blue returns nothing   local integer red255 = PercentTo255(red)   local integer green255 = PercentTo255(green)   local integer blue255 = PercentTo255(blue)  if (IsPlayerInForce(GetLocalPlayer(), whichForce)) then   // Use only local code (no net traffic) within this block to avoid desyncs.   // Prevent 100% red simple and flashy pings, as they become "attack" pings.   if (red255 == 255) and (green255 == 0) and (blue255 == 0) then   set red255 = 254   endif   if (style == bj_MINIMAPPINGSTYLE_SIMPLE) then   call PingMinimapEx(x, y, duration, red255, green255, blue255, false)   elseif (style == bj_MINIMAPPINGSTYLE_FLASHY) then   call PingMinimapEx(x, y, duration, red255, green255, blue255, true)   elseif (style == bj_MINIMAPPINGSTYLE_ATTACK) then   call PingMinimapEx(x, y, duration, 255, 0, 0, false)   else   // Unrecognized ping style - ignore the request.   endif     //call StartSound(bj_pingMinimapSound)   endif   endfunction 
  
 |  
|   | 
 |   
  |  
| H_A_PK | Дата: Среда, 06 Января 2010, 13:47:31 | Сообщение # 67 |  
| 
 Быдлокодер 
Группа: Проверенные 
Сообщений: 2605 
Награды:  1 
Репутация:  822 
Блокировки:    
 
 | эээъъ, а почему я изминений не заметил ??   Добавлено (04-01-2010, 22:06)   ---------------------------------------------   call PingMinimapLocForForceEx(bI, 50, 50, 128, 50, 128 , 128 , 255)   Добавлено (04-01-2010, 22:43)   ---------------------------------------------    Code function PingMinimapForForceEx takes force whichForce, real x, real y, real duration, integer style, real red, real green, real blue returns nothing        local force bI        local integer red255   = PercentTo255(128)        local integer green255 = PercentTo255(128)        local integer blue255  = PercentTo255(255) 
        if (IsPlayerInForce(GetLocalPlayer(), bI)) then            // Use only local code (no net traffic) within this block to avoid desyncs. 
            // Prevent 100% red simple and flashy pings, as they become "attack" pings.            if (red255 == 255) and (green255 == 0) and (blue255 == 0) then                set red255 = 254            endif 
            if (style == bj_MINIMAPPINGSTYLE_SIMPLE) then                call PingMinimapEx(50, 50, 128, red255, green255, blue255, false)            elseif (style == bj_MINIMAPPINGSTYLE_FLASHY) then                call PingMinimapEx(50, 50, 128, red255, green255, blue255, true)            elseif (style == bj_MINIMAPPINGSTYLE_ATTACK) then                call PingMinimapEx(50, 50, 128, 255, 0, 0, false)            else                // Unrecognized ping style - ignore the request.            endif                         //call StartSound(bj_pingMinimapSound)        endif   endfunction     так чтоли ? _ОО ))Добавлено (06-01-2010, 12:31) ---------------------------------------------
  Code functions Global takes nothing returns nothing    local integer COUNT_OF_PLAYERS = 12    costant integer INVERSE = 1       global           global unit array Units           global boolean array Up[12]           global boolean array Down[12]           global boolean array Left[12]           global boolean array Right[12]             global boolean array ApplyCam[12]           global boolean array ApplyControl[12]           global integer array Anims[12]           global boolean array Arround[12]           global boolean array FlagArround[12]           global boolean array ResetFlag[12]           global location l[12]       endglobal   endfunction    АХТУНГ   что не так ? О_о Добавлено (06-01-2010, 13:47) ---------------------------------------------
  Code function Trig_cameraCren_Actions takes nothing returns nothing    local real u = gg_unit_hpea_0001    local real x = GetUnitX(u)    local real y = GetUnitY(u)    call TriggerSleepAction( 0.1 )     If ( RectContainsUnit(Rect(xy, yx, xy, yx), u) == true ) then      set udg_Fgle = ( udg_Fgle + GetRandomReal(-10.00, 10.00) )     endif    set u = null   endfunction     а тут О_о ?
  
проклятье ляжет на любого   кто дочитает до конца   нет не дочитывай не надо   остановись ну всё капец     
 
 Сообщение отредактировал H_A_PK - Понедельник, 04 Января 2010, 22:44:09  |  
|   | 
 |   
  |  
| Сорнемус | Дата: Среда, 06 Января 2010, 23:58:50 | Сообщение # 68 |  
9 уровень
 
Группа: Проверенные 
Сообщений: 854 
Награды:  0 
Репутация:  120 
Блокировки:    
 
 | Quote (H_A_PK) АХТУНГ что не так ? О_о     Во-первых, не global, a globals. Во-вторых, в блоке globals не нужна приставка globals перед переменной. В-третьих, если я не ошибаюсь, то глобалки нельзя внутри функции объявлять.   Quote (H_A_PK) а тут О_о ?     xy, yx, xy, yx откуда взялись?
 |  
|   | 
 |   
  |  
| YaponeZzZ | Дата: Четверг, 07 Января 2010, 00:30:56 | Сообщение # 69 |  
 
SW Hero 
Группа: Проверенные 
Сообщений: 658 
Награды:  2 
Репутация:  193 
Блокировки:    
 
 | Как обнулить логическую переменную?
  
 |  
|   | 
 |   
  |  
| Сорнемус | Дата: Четверг, 07 Января 2010, 00:32:55 | Сообщение # 70 |  
9 уровень
 
Группа: Проверенные 
Сообщений: 854 
Награды:  0 
Репутация:  120 
Блокировки:    
 
 | YaponeZzZ, её обнулять не надо. Да и не обнулишь. У неё только true или false.
 |  
|   | 
 |   
  |  
| Nightik | Дата: Четверг, 07 Января 2010, 00:34:10 | Сообщение # 71 |  
7 уровень
 
Группа: Проверенные 
Сообщений: 259 
Награды:  0 
Репутация:  9 
Блокировки:    
 
 | Jass очень трудно учить и прочем он слишком умный   Ну как delphi C++
  
Даш минус получишь обратно :(   Даш плюс получишь обратно :) 
 |  
|   | 
 |   
  |  
| YaponeZzZ | Дата: Четверг, 07 Января 2010, 00:36:11 | Сообщение # 72 |  
 
SW Hero 
Группа: Проверенные 
Сообщений: 658 
Награды:  2 
Репутация:  193 
Блокировки:    
 
 | Сорнемус, ууу спасибо, по GUI я еще норм... А вот Джасс тока учу, стараюсь сам...   А утечки с каких переменных могут происоходит?
  
 |  
|   | 
 |   
  |  
| Сорнемус | Дата: Четверг, 07 Января 2010, 00:36:46 | Сообщение # 73 |  
9 уровень
 
Группа: Проверенные 
Сообщений: 854 
Награды:  0 
Репутация:  120 
Блокировки:    
 
 | Quote (Nightik) Jass очень трудно учить и прочем он слишком умный     По сравнению с С++ джасс учиться легче лёгкого.   ЗЫ: Не стоит говорить о том, чего не знаешь.   ЗЫЫ: Не оффтопь.
 |  
|   | 
 |   
  |  
| H_A_PK | Дата: Четверг, 07 Января 2010, 00:39:21 | Сообщение # 74 |  
| 
 Быдлокодер 
Группа: Проверенные 
Сообщений: 2605 
Награды:  1 
Репутация:  822 
Блокировки:    
 
 | Quote (Сорнемус) то глобалки нельзя внутри функции объявлять.     как ? я видел в нароботке, они в функции были ))
  
проклятье ляжет на любого   кто дочитает до конца   нет не дочитывай не надо   остановись ну всё капец     
 |  
|   | 
 |   
  |  
| Сорнемус | Дата: Четверг, 07 Января 2010, 00:40:09 | Сообщение # 75 |  
9 уровень
 
Группа: Проверенные 
Сообщений: 854 
Награды:  0 
Репутация:  120 
Блокировки:    
 
 | Quote (YaponeZzZ) А утечки с каких переменных могут происоходит?     Почти все, кроме boolean, integer, real.   ЗЫ: Что упустил - напомните.   ЗЫЫ: Утечки это немного другое. Просто так объяснить трудно.
 |  
|   | 
 |   
  |     
		
		 | 
 | 
 
  | 
 | 
  | 
 
 
 | 
 
 
 |