|
|
|
|
Что это за 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) насколько я понял записывает группы патом двигает юнита Добавлено (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) --------------------------------------------- Ещё из этой серии...
|
|
|
|
|
|
|
|
|
|
|