Сейчас 23:55:38 Пятница, 19 апреля, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » [ВАЖНО] Помощь по JASS
[ВАЖНО] Помощь по JASS
kaisarДата: Среда, 02 Июня 2010, 13:21:56 | Сообщение # 451
9 уровень
Группа: Проверенные
Сообщений: 814
Награды: 0
Репутация: 91
Блокировки:
а спецэеффект?))) special effect?
 

SvyagaДата: Среда, 02 Июня 2010, 13:53:54 | Сообщение # 452
7 уровень
Группа: Проверенные
Сообщений: 472
Награды: 0
Репутация: 65
Блокировки:
kaisar, effect
 

[DUОS]Дата: Среда, 02 Июня 2010, 14:00:09 | Сообщение # 453
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
type agent extends handle
type event extends agent
type player extends agent
type widget extends agent
type unit extends widget
type destructable extends widget
type item extends widget
type ability extends agent
type buff extends ability
type force extends agent
type group extends agent
type trigger extends agent
type triggercondition extends agent
type triggeraction extends handle
type timer extends agent
type location extends agent
type region extends agent
type rect extends agent
type boolexpr extends agent
type sound extends agent
type conditionfunc extends boolexpr
type filterfunc extends boolexpr
type unitpool extends handle
type itempool extends handle
type race extends handle
type alliancetype extends handle
type racepreference extends handle
type gamestate extends handle
type igamestate extends gamestate
type fgamestate extends gamestate
type playerstate extends handle
type playerscore extends handle
type playergameresult extends handle
type unitstate extends handle
type aidifficulty extends handle

type eventid extends handle
type gameevent extends eventid
type playerevent extends eventid
type playerunitevent extends eventid
type unitevent extends eventid
type limitop extends eventid
type widgetevent extends eventid
type dialogevent extends eventid
type unittype extends handle

type gamespeed extends handle
type gamedifficulty extends handle
type gametype extends handle
type mapflag extends handle
type mapvisibility extends handle
type mapsetting extends handle
type mapdensity extends handle
type mapcontrol extends handle
type playerslotstate extends handle
type volumegroup extends handle
type camerafield extends handle
type camerasetup extends handle
type playercolor extends handle
type placement extends handle
type startlocprio extends handle
type raritycontrol extends handle
type blendmode extends handle
type texmapflags extends handle
type effect extends agent
type effecttype extends handle
type weathereffect extends handle
type terraindeformation extends handle
type fogstate extends handle
type fogmodifier extends agent
type dialog extends agent
type button extends agent
type quest extends agent
type questitem extends agent
type defeatcondition extends agent
type timerdialog extends agent
type leaderboard extends agent
type multiboard extends agent
type multiboarditem extends agent
type trackable extends agent
type gamecache extends agent
type version extends handle
type itemtype extends handle
type texttag extends handle
type attacktype extends handle
type damagetype extends handle
type weapontype extends handle
type soundtype extends handle
type lightning extends handle
type pathingtype extends handle
type image extends handle
type ubersplat extends handle
type hashtable extends agent


Взято из common.j


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


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

SvyagaДата: Среда, 02 Июня 2010, 14:01:38 | Сообщение # 454
7 уровень
Группа: Проверенные
Сообщений: 472
Награды: 0
Репутация: 65
Блокировки:
[DUОS], Ты бы написал напротив каждого пункта что чем является, а то ведь начнут спрашивать :D
 

[DUОS]Дата: Среда, 02 Июня 2010, 14:02:11 | Сообщение # 455
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Svyaga,
Сейчас в таблицу запихну с расшифровкой.


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


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

SvyagaДата: Среда, 02 Июня 2010, 14:03:57 | Сообщение # 456
7 уровень
Группа: Проверенные
Сообщений: 472
Награды: 0
Репутация: 65
Блокировки:
[DUОS], кстати.
Мне бы очень не помешала jass система отталкивания (knockback)
У самого руки не доходят написать, а в нете к-ые видел все либо слишком баганные либо слишком огромные :D
Есть нормальная какая-нибудь?
 

[DUОS]Дата: Среда, 02 Июня 2010, 14:06:51 | Сообщение # 457
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Svyaga,
А чем система Paladon'a (MUI, non-leaking) не устроила?


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


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

SvyagaДата: Среда, 02 Июня 2010, 14:07:38 | Сообщение # 458
7 уровень
Группа: Проверенные
Сообщений: 472
Награды: 0
Репутация: 65
Блокировки:
[DUОS], она гуишная)
 

[DUОS]Дата: Среда, 02 Июня 2010, 14:10:21 | Сообщение # 459
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Svyaga,
Зато ни единой утечки.
Могу на жасс перебить, если очень хочешь.


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


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

Учиха_СаскеДата: Среда, 02 Июня 2010, 14:11:26 | Сообщение # 460
8 уровень
Группа: Проверенные
Сообщений: 647
Награды: 0
Репутация: 103
Блокировки:
[DUОS], загляни пожалуйсто в личку! %)
 

SvyagaДата: Среда, 02 Июня 2010, 14:11:33 | Сообщение # 461
7 уровень
Группа: Проверенные
Сообщений: 472
Награды: 0
Репутация: 65
Блокировки:
[DUОS], очень бы помогло, а то у самого ни капли времени, вот по мировой культуре реферат струячу, а ещё инженерная графика, технические процессы и теоретическая механика...
 

[DUОS]Дата: Среда, 02 Июня 2010, 14:55:17 | Сообщение # 462
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Svyaga,
2 триггера. Какой тип у какой переменной, думаю, поймёшь.
Code
function Trig_Actions_to_apply_Actions takes nothing returns nothing
     // This is the caster of the knockback.
     // If you use spells, it_s mostly the 'triggering unit' or the 'casting unit'.
     set udg_KBA_Caster = GetTriggerUnit()
     //   
     // This is the unit knocked back. Set this variable to the unit which should receive the knockback.
     // Use for example 'Target unit of ability being cast' or 'picked unit', 'attacking unit', 'casting unit', 'triggering unit' or whatever.
     set udg_KBA_TargetUnit = GetSpellTargetUnit()
     //   
     // This is the location from where the unit should be knocked back.
     // Don_t set this location to the position of the unit which should be knocked back.
     set udg_KBA_StartingPositionX = GetUnitX(udg_KBA_Caster)
     set udg_KBA_StartingPositionY = GetUnitY(udg_KBA_Caster)
     //   
     // This saves the level of the spell.
     // If the level shouldn_t influence the knockback, set the variable to 1.
     set udg_KBA_Level = GetUnitAbilityLevel(udg_KBA_Caster,GetSpellAbilityId())
     //   
     // This determines the speed of the knockback.
     // If you set the speed to 0, the unit won_t move.
     set udg_KBA_Speed = 7.00
     //   
     // This determines the distance knockbacked per level of the spell.
     // If the level shouldn_t influence the knockback, simply set this variable to the distance you wish.
     set udg_KBA_DistancePerLevel = 150.00
     //   
     // The following both variables store the path of the effects used.
     // Effect[1] is more often used than Effect[2].
     set udg_KBA_SpecialEffects[1] = "Abilities\\Spells\\Human\\FlakCannons\\FlakTarget.mdl"
     set udg_KBA_SpecialEffects[2] = "Abilities\\Weapons\\AncientProtectorMissile\\AncientProtectorMissile.mdl"
     //   
     // Set the following variable to 'false' to allow trees to survive a collision with a knocked unit.
     // Set the following variable to 'true' to kill trees upon collision with a knocked unit.
     set udg_KBA_DestroyTrees = true
     //   
     // After setting the needed variables we start the knockback.
     if TriggerEvaluate(gg_trg_Cast_A_Knockback) then
         call TriggerExecute(gg_trg_Cast_A_Knockback)
     endif
     // Done. The unit knockbacked if the trigger triggers.
endfunction

//===========================================================================
function InitTrig_Actions_to_apply takes nothing returns nothing
     set gg_trg_Actions_to_apply = CreateTrigger()
     call TriggerAddAction(gg_trg_Actions_to_apply,function Trig_Actions_to_apply_Actions)
endfunction

Это инициализация Knockback-системы
Code
function Knockback_KillDestructable takes nothing returns nothing
     call KillDestructable(GetEnumDestructable())  
endfunction

function Trig_Knockback_Moving takes nothing returns nothing
     local real x1  
     local real y1
     local real x2
     local real y2
     local rect r
     set udg_KB_GeneralIntegers[1] = 1
     loop
         exitwhen udg_KB_GeneralIntegers[1] > udg_KB_TotalKnockUnits
         if IsUnitInGroup(udg_KB_Units[udg_KB_GeneralIntegers[1]], udg_KB_KnockbackedUnits) == true then
             if udg_KB_ReachedDistance[udg_KB_GeneralIntegers[1]] >= udg_KB_MaxDistance[udg_KB_GeneralIntegers[1]] then
                 call GroupRemoveUnit(udg_KB_KnockbackedUnits,udg_KB_Units[udg_KB_GeneralIntegers[1]])
                 set udg_KB_CountBuffs = udg_KB_CountBuffs - 1
                 if udg_KB_TotalKnockUnits > udg_KB_GeneralIntegers[1] then
                     set udg_KB_Levels[udg_KB_GeneralIntegers[1]] = udg_KB_Levels[udg_KB_TotalKnockUnits]
                     set udg_KB_Units[udg_KB_GeneralIntegers[1]] = udg_KB_Units[udg_KB_TotalKnockUnits]
                     set udg_KB_Angle[udg_KB_GeneralIntegers[1]] = udg_KB_Angle[udg_KB_TotalKnockUnits]
                     set udg_KB_MaxDistance[udg_KB_GeneralIntegers[1]] = udg_KB_MaxDistance[udg_KB_TotalKnockUnits]
                     set udg_KB_ReachedDistance[udg_KB_GeneralIntegers[1]] = udg_KB_ReachedDistance[udg_KB_TotalKnockUnits]
                     set udg_KB_ReduceSpeedReal[udg_KB_GeneralIntegers[1]] = udg_KB_ReduceSpeedReal[udg_KB_TotalKnockUnits]
                     set udg_KB_SpecificSpeed[udg_KB_GeneralIntegers[1]] = udg_KB_SpecificSpeed[udg_KB_TotalKnockUnits]
                     set udg_KB_Effects_1[udg_KB_GeneralIntegers[1]] = udg_KB_Effects_1[udg_KB_TotalKnockUnits]
                     set udg_KB_Effects_2[udg_KB_GeneralIntegers[1]] = udg_KB_Effects_2[udg_KB_TotalKnockUnits]
                     set udg_KB_DestroyTrees[udg_KB_GeneralIntegers[1]] = udg_KB_DestroyTrees[udg_KB_TotalKnockUnits]
                     set udg_KB_EffectCounter[udg_KB_GeneralIntegers[1]] = udg_KB_EffectCounter[udg_KB_TotalKnockUnits]
                     set udg_KB_EffectCounter2[udg_KB_GeneralIntegers[1]] = udg_KB_EffectCounter2[udg_KB_TotalKnockUnits]
                     set udg_KB_GeneralIntegers[1] = udg_KB_GeneralIntegers[1] - 1
                 endif
                 set udg_KB_Units[udg_KB_TotalKnockUnits] = null
                 set udg_KB_TotalKnockUnits = udg_KB_TotalKnockUnits - 1
                 if udg_KB_CountBuffs == 0 then
                     set udg_KB_TotalKnockUnits = 0
                     call PauseTimer(GetExpiredTimer())
                     call DestroyTimer(GetExpiredTimer())
                 endif
             else
                 set udg_KB_ReducedReal = udg_KB_SpecificSpeed[udg_KB_GeneralIntegers[1]] / udg_KB_MaxDistance[udg_KB_GeneralIntegers[1]] * udg_KB_ReachedDistance[udg_KB_GeneralIntegers[1]]
                 set udg_KB_ReduceSpeedReal[udg_KB_GeneralIntegers[1]] = udg_KB_ReducedReal - udg_KB_ReduceSpeedReal[udg_KB_GeneralIntegers[1]] * 0.10
                 set udg_KB_TempReal = udg_KB_SpecificSpeed[udg_KB_GeneralIntegers[1]] - udg_KB_ReduceSpeedReal[udg_KB_GeneralIntegers[1]] * 2.00
                  
                 set x1 = GetUnitX(udg_KB_Units[udg_KB_GeneralIntegers[1]])
                 set y1 = GetUnitY(udg_KB_Units[udg_KB_GeneralIntegers[1]])
                 set x2 = x1 + udg_KB_TempReal * Cos(udg_KB_Angle[udg_KB_GeneralIntegers[1]] * .0174532)
                 set y2 = y1 + udg_KB_TempReal * Sin(udg_KB_Angle[udg_KB_GeneralIntegers[1]] * .0174532)
                  
                 set udg_KB_EffectCounter[udg_KB_GeneralIntegers[1]] = udg_KB_EffectCounter[udg_KB_GeneralIntegers[1]] + 1
                 set udg_KB_EffectCounter2[udg_KB_GeneralIntegers[1]] = udg_KB_EffectCounter2[udg_KB_GeneralIntegers[1]] + 1
                 if udg_KB_DestroyTrees[udg_KB_GeneralIntegers[1]] == true then
                     set r = Rect(x2 - 200.,y2 - 200,x2 + 200.,y2 + 200.)
                     call EnumDestructablesInRect(r,null,function Knockback_KillDestructable)
                     call RemoveRect(r)
                     set r = null
                 endif
                 if udg_KB_EffectCounter[udg_KB_GeneralIntegers[1]] == 6 then
                     set udg_KB_EffectCounter[udg_KB_GeneralIntegers[1]] = 0
                     call DestroyEffect(AddSpecialEffect(udg_KB_Effects_1[udg_KB_GeneralIntegers[1]],x1,y1))
                 endif
                 if udg_KB_EffectCounter2[udg_KB_GeneralIntegers[1]] == 8 then
                     set udg_KB_EffectCounter2[udg_KB_GeneralIntegers[1]] = 0
                     call DestroyEffect(AddSpecialEffect(udg_KB_Effects_2[udg_KB_GeneralIntegers[1]],x1,y1))
                 endif
                 call SetUnitX(udg_KB_Units[udg_KB_GeneralIntegers[1]],x2)
                 call SetUnitY(udg_KB_Units[udg_KB_GeneralIntegers[1]],y2)
                 set udg_KB_ReachedDistance[udg_KB_GeneralIntegers[1]] = udg_KB_ReachedDistance[udg_KB_GeneralIntegers[1]] + udg_KB_TempReal
             endif
         endif
         set udg_KB_GeneralIntegers[1] = udg_KB_GeneralIntegers[1] + 1
     endloop
endfunction

function Trig_Cast_A_Knockback_Actions takes nothing returns nothing
     local timer t
     if IsUnitInGroup(udg_KBA_TargetUnit,udg_KB_KnockbackedUnits) == true then
         call GroupRemoveUnit(udg_KB_KnockbackedUnits,udg_KBA_TargetUnit)
         set udg_KB_CountBuffs = udg_KB_CountBuffs - 1
         set udg_KB_GeneralIntegers[2] = 1
         loop
             exitwhen udg_KB_GeneralIntegers[2] > udg_KB_TotalKnockUnits
             if udg_KB_Units[udg_KB_GeneralIntegers[1]] == udg_KBA_TargetUnit then
                 set udg_KB_GeneralIntegers[1] = udg_KB_GeneralIntegers[2]
                 set udg_KB_GeneralIntegers[2] = udg_KB_TotalKnockUnits
             endif
             set udg_KB_GeneralIntegers[2] = udg_KB_GeneralIntegers[2] + 1
         endloop
         if udg_KB_TotalKnockUnits > udg_KB_GeneralIntegers[1] then
             set udg_KB_Levels[udg_KB_GeneralIntegers[1]] = udg_KB_Levels[udg_KB_TotalKnockUnits]
             set udg_KB_Units[udg_KB_GeneralIntegers[1]] = udg_KB_Units[udg_KB_TotalKnockUnits]
             set udg_KB_Angle[udg_KB_GeneralIntegers[1]] = udg_KB_Angle[udg_KB_TotalKnockUnits]
             set udg_KB_MaxDistance[udg_KB_GeneralIntegers[1]] = udg_KB_MaxDistance[udg_KB_TotalKnockUnits]
             set udg_KB_ReachedDistance[udg_KB_GeneralIntegers[1]] = udg_KB_ReachedDistance[udg_KB_TotalKnockUnits]
             set udg_KB_ReduceSpeedReal[udg_KB_GeneralIntegers[1]] = udg_KB_ReduceSpeedReal[udg_KB_TotalKnockUnits]
             set udg_KB_SpecificSpeed[udg_KB_GeneralIntegers[1]] = udg_KB_SpecificSpeed[udg_KB_TotalKnockUnits]
             set udg_KB_Effects_1[udg_KB_GeneralIntegers[1]] = udg_KB_Effects_1[udg_KB_TotalKnockUnits]
             set udg_KB_Effects_2[udg_KB_GeneralIntegers[1]] = udg_KB_Effects_2[udg_KB_TotalKnockUnits]
             set udg_KB_DestroyTrees[udg_KB_GeneralIntegers[1]] = udg_KB_DestroyTrees[udg_KB_TotalKnockUnits]
             set udg_KB_EffectCounter[udg_KB_GeneralIntegers[1]] = udg_KB_EffectCounter[udg_KB_TotalKnockUnits]
             set udg_KB_EffectCounter2[udg_KB_GeneralIntegers[1]] = udg_KB_EffectCounter2[udg_KB_TotalKnockUnits]
             set udg_KB_GeneralIntegers[1] = udg_KB_GeneralIntegers[1] - 1
         endif
         set udg_KB_Units[udg_KB_TotalKnockUnits] = null
         set udg_KB_TotalKnockUnits = udg_KB_TotalKnockUnits - 1
         if udg_KB_CountBuffs == 0 then
             set udg_KB_TotalKnockUnits = 0
         endif
     endif
     if udg_KB_CountBuffs == 0 then
         set t = CreateTimer()
         call TimerStart(t,0.02,true,function Trig_Knockback_Moving)
         set t = null
     endif
     set udg_KB_CountBuffs = udg_KB_CountBuffs + 1
     set udg_KB_TotalKnockUnits = udg_KB_TotalKnockUnits + 1
     set udg_KB_Casters[udg_KB_TotalKnockUnits] = udg_KBA_Caster
     set udg_KB_Levels[udg_KB_TotalKnockUnits] = udg_KBA_Level
     set udg_KB_Units[udg_KB_TotalKnockUnits] = udg_KBA_TargetUnit
     set udg_KB_TempPoint[udg_KB_TotalKnockUnits] = GetUnitLoc(udg_KBA_TargetUnit)
     set udg_KB_Angle[udg_KB_TotalKnockUnits] = 57.295827 * Atan2(GetUnitY(udg_KBA_TargetUnit) - udg_KBA_StartingPositionY, GetUnitX(udg_KBA_TargetUnit) - udg_KBA_StartingPositionX)
     set udg_KB_MaxDistance[udg_KB_TotalKnockUnits] = udg_KBA_DistancePerLevel * udg_KBA_Level
     set udg_KB_ReachedDistance[udg_KB_TotalKnockUnits] = 0.00
     set udg_KB_ReduceSpeedReal[udg_KB_GeneralIntegers[1]] = 0.00
     set udg_KB_SpecificSpeed[udg_KB_TotalKnockUnits] = udg_KBA_Speed
     set udg_KB_Effects_1[udg_KB_TotalKnockUnits] = udg_KBA_SpecialEffects[1]
     set udg_KB_Effects_2[udg_KB_TotalKnockUnits] = udg_KBA_SpecialEffects[2]
     set udg_KB_DestroyTrees[udg_KB_TotalKnockUnits] = udg_KBA_DestroyTrees
     set udg_KB_EffectCounter[udg_KB_GeneralIntegers[1]] = 0
     set udg_KB_EffectCounter2[udg_KB_GeneralIntegers[1]] = 0
     call GroupAddUnit(udg_KB_KnockbackedUnits,udg_KBA_TargetUnit)
endfunction

//===========================================================================
function InitTrig_Cast_A_Knockback takes nothing returns nothing
     set gg_trg_Cast_A_Knockback = CreateTrigger()
     call TriggerAddAction(gg_trg_Cast_A_Knockback,function Trig_Cast_A_Knockback_Actions)
endfunction

Это само отталкивание.


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


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

kaisarДата: Четверг, 03 Июня 2010, 11:48:12 | Сообщение # 463
9 уровень
Группа: Проверенные
Сообщений: 814
Награды: 0
Репутация: 91
Блокировки:
я вот решил сделать кое что через локальные переменные:

но он пишет вот такую ошибку:
"Отсутствует название переменной".
Что делать? найдите ошибку. Смысл триггера в том что при получении предмета героем(колодцем) то предмет исчезает через 5 секунл после его получения, и появляется другой предмет - ведро с водой.
 

SvyagaДата: Четверг, 03 Июня 2010, 12:17:58 | Сообщение # 464
7 уровень
Группа: Проверенные
Сообщений: 472
Награды: 0
Репутация: 65
Блокировки:
kaisar, если ты переключишь этот триг на жасс, то ты увидишь, что все твои действия и условия разделены на несколько функций, в то время как локальная переменная будет назначена и будет существовать только в одной из них, т.е. в той, где написано "local unit u" и т.д., поэтому она и не может задействоваться там, где её нет :)
 

СамокатДата: Четверг, 03 Июня 2010, 13:01:57 | Сообщение # 465
5 уровень
Группа: Проверенные
Сообщений: 124
Награды: 0
Репутация: 15
Блокировки:
kaisar, ты зачем функции значение присваиваешь?
Не set GetTriggerUnit() = u, а set bj_lastCreatedUnit = u
 

kaisarДата: Четверг, 03 Июня 2010, 14:28:28 | Сообщение # 466
9 уровень
Группа: Проверенные
Сообщений: 814
Награды: 0
Репутация: 91
Блокировки:
Quote (Самокат)
kaisar, ты зачем функции значение присваиваешь? Не set GetTriggerUnit() = u, а set bj_lastCreatedUnit = u

хм, чтобы прошло определенное время, и не было баггов. Я хочу занести юнит в эту переменную, потом идет действие прошло 5 сек, потом наоборот юнит равен переменной, и сделать действия.
 

SvyagaДата: Четверг, 03 Июня 2010, 14:38:47 | Сообщение # 467
7 уровень
Группа: Проверенные
Сообщений: 472
Награды: 0
Репутация: 65
Блокировки:
Самокат, совсем чтоли? ПРИ ЛЮБОЙ возможности следует избегать bj_lastCreatedUnit
kaisar, понял что я имел ввиду?


Сообщение отредактировал Svyaga - Четверг, 03 Июня 2010, 14:38:56
 

СамокатДата: Четверг, 03 Июня 2010, 15:02:03 | Сообщение # 468
5 уровень
Группа: Проверенные
Сообщений: 124
Награды: 0
Репутация: 15
Блокировки:
Quote (Svyaga)
Самокат, совсем чтоли? ПРИ ЛЮБОЙ возможности следует избегать bj_lastCreatedUnit

По твоему лучше присвоить значение Функции?
 

SvyagaДата: Четверг, 03 Июня 2010, 15:05:58 | Сообщение # 469
7 уровень
Группа: Проверенные
Сообщений: 472
Награды: 0
Репутация: 65
Блокировки:
Самокат, а как по-твоему ты будешь юзать bj_lastCreatedUnit если в триге юнит не создаётся? Кем будет bj_lastCreatedUnit???))
 

kaisarДата: Четверг, 03 Июня 2010, 15:40:24 | Сообщение # 470
9 уровень
Группа: Проверенные
Сообщений: 814
Награды: 0
Репутация: 91
Блокировки:
Quote (Svyaga)
kaisar, понял что я имел ввиду?

да, я понял, if/then/else:
это что то вроде начала нового триггера, и создание локальных переменных должны быть в них, если они используются в этой функции.
 

SvyagaДата: Суббота, 05 Июня 2010, 23:47:27 | Сообщение # 471
7 уровень
Группа: Проверенные
Сообщений: 472
Награды: 0
Репутация: 65
Блокировки:
kaisar, так что для того чтоб работала локалка, нужно редактировать всё полностью в жасс и объединять все действия вместе с условиями в 1 функцию

Добавлено (05-06-2010, 23:47)
---------------------------------------------

Quote (|DUОS|)
Svyaga,
2 триггера. Какой тип у какой переменной, думаю, поймёшь.

Посмотрел систему, и она меня всё же не устроила, вот почему:
В ней всё заточено под отталкивание от атаки юнитом ближнего боя, но если я захочу сделать например отталкивание всех в разные стороны от указанной точки, то эта система будет абсолютно бесполезна :( Да и не особо удобная она. Мне очень помогла бы система, к-ую импортируешь, а затем когда нужно отталкивание то пишешь (например):
Code
call KnockBackUnit (GetEnumUnit(), 400.0, 3.0, 360.0)

Где:
GetEnumUnit() - отталкивающийся юнит
400.0 - расстояние на к-ое надо оттолкнуть
3.0 - время, за к-ое надо оттолкнуть
360.0 - градус, на к-ый надо оттолкнуть


Сообщение отредактировал Svyaga - Четверг, 03 Июня 2010, 20:07:37
 

[DUОS]Дата: Воскресенье, 06 Июня 2010, 11:48:11 | Сообщение # 472
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Svyaga,
Т.е. система, которую можно вынести в отдельную функцию?
Сделал тебе такую простенькую системку, там неважно, какой юнит, главное укажи ей всё :)
Вот ссыль на темку системы.


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


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


Сообщение отредактировал [DUОS] - Воскресенье, 06 Июня 2010, 14:43:02
 

SvyagaДата: Воскресенье, 06 Июня 2010, 20:20:22 | Сообщение # 473
7 уровень
Группа: Проверенные
Сообщений: 472
Награды: 0
Репутация: 65
Блокировки:
[DUОS], Ну я имею ввиду, что система может быть и большая, и не из 1 функции, но её задействование должно производиться с помощью 1 строки, и чтобы отталкивать можно было любого юнита под любым градусом на любое растояние за любой промежуток времени :)
Как смогу посмотрю систему, но мне нужна не простенькая :)

Добавлено (06-06-2010, 20:20)
---------------------------------------------
[DUОS], Попробую эту систему в карте, потом отпишусь =)
----------------------------------------
Хм, я могу сделать, чтобы система не использовала хэштабл и была немного покороче, если хочешь, тот как сделаю скину тебе :)

Сообщение отредактировал Svyaga - Воскресенье, 06 Июня 2010, 20:22:48
 

[DUОS]Дата: Воскресенье, 06 Июня 2010, 23:14:32 | Сообщение # 474
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Quote (Svyaga)
Хм, я могу сделать, чтобы система не использовала хэштабл и была немного покороче, если хочешь, тот как сделаю скину тебе :)

vJass?


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


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

kaisarДата: Вторник, 08 Июня 2010, 14:39:32 | Сообщение # 475
9 уровень
Группа: Проверенные
Сообщений: 814
Награды: 0
Репутация: 91
Блокировки:
как будет переменная jass типа "точка", и типа "тип ландшафта".
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » [ВАЖНО] Помощь по JASS
Поиск:

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