Сейчас 13:12:36 Вторник, 26 ноября, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Что это за OMG функция?
[DUОS]Дата: Среда, 05 Мая 2010, 17:34:12 | Сообщение # 1
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Code
function CasterSystemMovementTimer takes nothing returns nothing
  local timer t=GetExpiredTimer()
  local group g=GetTableGroup("CasterSystem","MOVEMENT_GROUP")
  local group x=CreateGroup()
  local unit p

  local string k
  local gamecache H=CSCache()

     call GroupAddUnit(g,null) //Sometimes removed / exploded units may be in a group, and FirstOfGroup wouldn't
                    //return null but a invalid pointer
     loop
         set p=FirstOfGroup(g)
         exitwhen (p==null)
         call GroupRemoveUnit(g,p)
         set k=I2S(GetStoredInteger(H,"MOVEMENT_TABLES",GetAttachmentTable(p)) )
         if (k!=null) and (k!="") then
             if GetStoredBoolean(H,k,"IsCollisionMissile") then

                 if not(CollisionMissile_Move(H,p,k)) then

                     call GroupAddUnit(x,p)
                 endif            
             elseif GetStoredBoolean(H,k,"IsProjectile") then
                 if not(UnitMoveToAsProjectileAnySpeed_Move(H,p,k )) then
                     call GroupAddUnit(x,p)
                 endif
             else

             endif
         else
             call BJDebugMsg("Caster System: Unexpected Error (2)")
         endif
     endloop

     if (FirstOfGroup(x)==null) then
         call SetTableObject("CasterSystem","MOVEMENT_TIMER",null)
         call SetTableObject("CasterSystem","MOVEMENT_GROUP",null)
         call CleanAttachedVars(t)
         call DestroyTimer(t)
         call DestroyGroup(x)
     else
         call SetTableObject("CasterSystem","MOVEMENT_GROUP",x)
     endif
     call DestroyGroup(g)

  set p=null
  set x=null
  set g=null
  set t=null
  set H=null
endfunction

Сабж.


НУ И ЧТО ТЕПЕРЬ?


Кликайте на дракошку ;)
 

NormДата: Среда, 05 Мая 2010, 17:36:23 | Сообщение # 2
Директор компании
"УГ Production"
Группа: Проверенные
Сообщений: 4015
Награды: 2
Репутация: 656
Блокировки:
Создать таймер xD


 

[DUОS]Дата: Среда, 05 Мая 2010, 17:50:20 | Сообщение # 3
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Norm,
Отжёг...


НУ И ЧТО ТЕПЕРЬ?


Кликайте на дракошку ;)
 

ProfiДата: Среда, 05 Мая 2010, 17:59:57 | Сообщение # 4
7 уровень
Группа: Проверенные
Сообщений: 332
Награды: 0
Репутация: 131
Блокировки:
Да набор нативок какойто.. По одной этой функции тяжело судить для чего она.
 

windrunnerДата: Четверг, 06 Мая 2010, 07:36:52 | Сообщение # 5
10 уровень
Группа: Проверенные
Сообщений: 1259
Награды: 0
Репутация: 218
Блокировки:
[DUОS], а в чем вопрос то?

Добавлено (06-05-2010, 07:36)
---------------------------------------------
Насколько я понял это движение снаряда.А если быть точным,то это проверка есть ли ктото рядом.


И в правду мир сошел с ума...
И до тех пор пока нас не обесточат
Пока не догорит аварийных фонарей заряд
Мы будем жечь тут электричество что есть мочи
Русский мапмейкинг - бессмысленный и беспощадный.xD
 

AlternativeWarriorДата: Четверг, 06 Мая 2010, 09:20:16 | Сообщение # 6
7 уровень
Группа: Пользователи
Сообщений: 329
Награды: 0
Репутация: -208
Блокировки:
создание группы при условиях

ПОСТАВЬ МИНУС В РЕПУ, СУКА!!!
 

FaionДата: Четверг, 06 Мая 2010, 10:05:39 | Сообщение # 7
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Это мувинг система как я понял, в которой использовали вместо цикла группы.

О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

windrunnerДата: Четверг, 06 Мая 2010, 13:40:31 | Сообщение # 8
10 уровень
Группа: Проверенные
Сообщений: 1259
Награды: 0
Репутация: 218
Блокировки:
Quote (Faion)
Это мувинг система как я понял, в которой использовали вместо цикла группы.

Там нету движения.
Quote (AlternativeWarrior)
создание группы при условиях

(С) кеп

Добавлено (06-05-2010, 13:40)
---------------------------------------------
[DUОS],
Смысл давать 1 голую функцию без того что там есть еще?Вообще это насколько я понял записывает группы патом двигает юнита(но движение представлено не в этой функции)


И в правду мир сошел с ума...
И до тех пор пока нас не обесточат
Пока не догорит аварийных фонарей заряд
Мы будем жечь тут электричество что есть мочи
Русский мапмейкинг - бессмысленный и беспощадный.xD
 

FaionДата: Четверг, 06 Мая 2010, 19:21:59 | Сообщение # 9
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Quote (windrunner)
Там нету движения.

Quote (windrunner)
насколько я понял записывает группы патом двигает юнита

:o

Добавлено (06-05-2010, 19:21)
---------------------------------------------
Это именно мувинг для спелов, данная часть отвечает за добавление\ремов юнита который нужно двигать в группу юнитов, и есть как минимум еще 1 тригер, который отвечает за движение юнитгрупп.


О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

[DUОS]Дата: Суббота, 08 Мая 2010, 18:08:49 | Сообщение # 10
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Code
function AddCaster takes nothing returns unit
     return AddCasterFacing(0)
endfunction

function AddCasterFacing takes real fac returns unit
  local unit m=CreateUnit( Player(15), Caster_UnitId(), 0 ,0 ,fac)
     call UnitAddAbility(m, 'Aloc')
     call UnitAddAbility(m, ChangeableFlyingHeightAllowerId())
     call UnitRemoveAbility(m, ChangeableFlyingHeightAllowerId())
  set udg_currentcaster=m
  set m=null
  return udg_currentcaster
endfunction

constant function Caster_DefaultAttackType takes nothing returns attacktype

constant function Caster_DefaultDamageType takes nothing returns damagetype

function Caster_SetZAngle takes unit caster, real ang returns nothing
  local real a=(ModuloReal(GetUnitFacing(caster),360)*bj_DEGTORAD)
  local real x
     set ang=ModuloReal(ang,360)
     if ( ang == 90 ) then
         set ang = 89
     endif
     if ( ang == 270 ) then
         set ang = 271
     endif
     if (ang>90) and (ang<270) then
         set x=-1
     else
         set x=1
     endif
     set ang=ang*bj_DEGTORAD
     call SetUnitLookAt(caster,"Bone_Chest",caster, 10000.0*Cos(a)*Cos(ang), 10000.0*Sin(a)*Cos(ang), x*(10000.0*Tan(ang)+90.0) )
endfunction

function Caster_UnitId takes nothing returns integer
     return 'e000' //// Caster Unit type rawcode  (changes betwen maps, always use it inside '')
endfunction

function CasterAOE_IsFilterAlly takes nothing returns boolean
     return IsUnitAlly( GetFilterUnit(), bj_groupEnumOwningPlayer ) and not(IsUnitDeadBJ(GetFilterUnit()))
endfunction

function CasterAOE_IsFilterEnemy takes nothing returns boolean
     return IsUnitEnemy( GetFilterUnit(), bj_groupEnumOwningPlayer ) and not(IsUnitDeadBJ(GetFilterUnit()))
endfunction

function CasterCastAbility takes player owner, integer abilid, string order, widget target, boolean instant returns unit
     return CasterCastAbilityLevel( owner, abilid, 1, order, target, instant )
endfunction

function CasterCastAbilityAOE takes player owner, integer abilid, string order, real x, real y, real radius, boolean goodeffect, boolean instant returns nothing
     call CasterCastAbilityLevelAOE(owner,abilid,1,order,x,y,radius,goodeffect,instant)
endfunction

function CasterCastAbilityAOELoc takes player owner, integer abilid, string order, location center, real radius, boolean goodeffect, boolean instant returns nothing
     call CasterCastAbilityLevelAOE(owner, abilid,1, order, GetLocationX(center),  GetLocationY(center), radius, goodeffect, instant)
endfunction

function CasterCastAbilityEx takes player owner, real x, real y, real z, integer abilid, integer level, string order, widget target, real delay returns unit
  local unit caster=GetACaster()
  local boolean done=false
     call SetUnitOwner( caster, owner, false)
     call UnitAddAbility( caster, abilid)
     call SetUnitAbilityLevel(caster,abilid,level)
     call CS_MoveUnit( caster, x,y)
     call SetUnitFlyHeight(caster,z,0)
     if S2I(order) != 0 then
         set done=IssueTargetOrderById( caster, S2I(order), target )
     else
         set done=IssueTargetOrder( caster, order, target )
     endif
     if (delay<=0) or not(done) then
         call UnitRemoveAbility( caster, abilid)
         call RecicleCaster( caster)
     else
         call RecicleCasterAfterCastEx(caster, delay, abilid, true)
     endif
  set udg_currentcaster=caster
  set caster=null
  return udg_currentcaster
endfunction

Добавлено (08-05-2010, 18:08)
---------------------------------------------
Ещё из этой серии...


НУ И ЧТО ТЕПЕРЬ?


Кликайте на дракошку ;)
 

  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz