|
|
|
|
[Вопрос] Проблема с кодом (Дубль 2)
|
|
mazahan | Дата: Вторник, 21 Мая 2013, 14:57:31 | Сообщение # 26 |
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
| Цитата (Imba_pvL) Могу дать спел на гуи
Цитата Буду использовать , вообще мне нужны даммики в линию и чтобы они кастовали скилл ( станяющий скилл по области у героя орды , забыл как называется). Легко могу написать в триггерах , но 'Недавно начал осваивать jass '.
Добавлено (21 Мая 2013, 14:45:08) --------------------------------------------- Нашёл такую клавишу как Syntax Check врубил , зырнул пишет , что ошибка в коде присваивания d
set d = CreateUnit(p 'h00F', x, y, 270.)
И ещё кучу ошибок , он ненаписанно какая строка и тд , а при нажатии пишет : '' is not a valid integer value.
Добавлено (21 Мая 2013, 14:46:41) --------------------------------------------- И может ли версия патча эдитора несовпадать с варом?Т.к вроде эта ошибка ( баз триггеров) появилась, когда я поставил новый патч на вар.Добавлено (21 Мая 2013, 14:50:52) --------------------------------------------- Пока забыли о куче ошибок , в работающем коде тоже самое и то же количество ошибок.
что с d ? Добавлено (21 Мая 2013, 14:55:20) --------------------------------------------- function Trig_ret_Conditions takes nothing returns boolean GetSpellAbilityId() == 'A00N' endfunction function Trig_ret_Actions takes nothing returns nothing endfunction
//=========================================================================== function InitTrig_ret takes nothing returns nothing set gg_trg_ret = CreateTrigger( ) call TriggerRegisterAnyUnitEventBJ( gg_trg_ret, EVENT_PLAYER_UNIT_SPELL_EFFECT ) call TriggerAddCondition( gg_trg_ret, Condition( function Trig_ret_Conditions ) ) call TriggerAddAction( gg_trg_ret, function Trig_ret_Actions ) endfunction
Тоже не работает , ошибка в условии. Добавлено (21 Мая 2013, 14:57:31) --------------------------------------------- Всё , нашёл ( в условии)
Сообщение отредактировал mazahan - Вторник, 21 Мая 2013, 14:47:02 |
|
|
|
SirNikolas | Дата: Вторник, 21 Мая 2013, 15:10:30 | Сообщение # 27 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Цитата (mazahan) Нашёл такую клавишу, как Syntax Check Она кривая. Смотри ошибки при сохранении карты.
|
|
|
|
mazahan | Дата: Вторник, 21 Мая 2013, 15:14:35 | Сообщение # 28 |
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
| Цитата (SirNikolas) Она кривая. Смотри ошибки при сохранении карты.
Ничего не вылазит , написал работающий код ( в смысле карта запускается)
function Trig_looptrg_Conditions takes nothing returns boolean return GetSpellAbilityId() == 'A00N' endfunction function Trig_looptrg_Actions takes nothing returns nothing local integer i = 200 local real x local real y local integer t set udg_varvar_d_caster = GetSpellAbilityUnit() loop exitwhen i > 1200 set x = GetLocationX(GetUnitLoc(udg_varvar_d_caster)) + i * Cos(GetUnitFacing(udg_varvar_d_caster) * bj_DEGTORAD) set y = GetLocationY(GetUnitLoc(udg_varvar_d_caster)) + i * Sin(GetUnitFacing(udg_varvar_d_caster) * bj_DEGTORAD) call CreateUnitAtLoc (GetOwningPlayer(udg_varvar_d_caster), 'h00F', Location(x, y), bj_UNIT_FACING) set udg_varvar_d_dummy[t] = bj_lastCreatedUnit set i = i+200 set t = t+1 endloop endfunction
//=========================================================================== function InitTrig_looptrg takes nothing returns nothing set gg_trg_looptrg = CreateTrigger( ) call TriggerRegisterAnyUnitEventBJ( gg_trg_looptrg, EVENT_PLAYER_UNIT_SPELL_EFFECT ) call TriggerAddAction( gg_trg_looptrg, function Trig_looptrg_Actions ) call TriggerAddCondition( gg_trg_looptrg, Condition( function Trig_looptrg_Conditions ) ) endfunction
Но появляется только один думми.Добавлено (21 Мая 2013, 15:14:35) --------------------------------------------- Удаление думми потом напишу
|
|
|
|
Волчачка | Дата: Вторник, 21 Мая 2013, 15:16:09 | Сообщение # 29 |
САЙТ УМЕР ППЦ
Группа: Проверенные
Сообщений: 1361
Награды: 0
Репутация: 2165
Блокировки:
| mazahan, сейчас дам более адекватный исправленный код. Чуток позже, кое-что заметил.
|
|
|
|
mazahan | Дата: Вторник, 21 Мая 2013, 15:16:48 | Сообщение # 30 |
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
| Ок , спасибо
|
|
|
|
Волчачка | Дата: Вторник, 21 Мая 2013, 15:20:01 | Сообщение # 31 |
САЙТ УМЕР ППЦ
Группа: Проверенные
Сообщений: 1361
Награды: 0
Репутация: 2165
Блокировки:
| Код function Trig_looptrg_Actions takes nothing returns nothing local integer i = 200 local unit c = GetSpellAbilityUnit() local real x local real y local real F = GetUnitFacing(c) local real cF = Cos(F * bj_DEGTORAD) local real sF = Sin(F * bj_DEGTORAD) local player p = GetOwningPlayer(c) local unit d // ^Начальные настройки
loop exitwhen i > 1200 set F = I2R(i) // конверт из целого в реальное set x = GetUnitX(c) + F * cF set y = GetUnitY(c) + F * sF set d = CreateUnit(p, 'h00F', x, y, 270.) call IssueImmediateOrder(d, "stomp") // каста вложенного стана даммиком call UnitApplyTimedLife(d,'BTLF',2.) // жизнь даммика set i = i+200 endloop
// Обнуления v
set c = null set p = null set d = null endfunction
function Trig_looptrg_Condition takes nothing returns boolean return GetSpellAbilityId() == 'A00N' endfunction
//=========================================================================== function InitTrig_looptrg takes nothing returns nothing local integer i = 0 set gg_trg_looptrg = CreateTrigger( ) call TriggerAddAction( gg_trg_looptrg, function Trig_looptrg_Actions ) call TriggerAddCondition( gg_trg_looptrg, Condition(function Trig_looptrg_Condition) ) loop call TriggerRegisterPlayerUnitEvent( gg_trg_looptrg, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, null ) set i = i + 1 exitwhen i > 11 endloop endfunction Вот исправленная версия до: set d = CreateUnit(p 'h00F', x, y, 270.) после: set d = CreateUnit(p, 'h00F', x, y, 270.) забыл запятую там... ------ в общем проверил ещё раз, теперь должно работать.
|
|
|
|
mazahan | Дата: Вторник, 21 Мая 2013, 16:13:12 | Сообщение # 32 |
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
| Ура , работает:)
Так теперь насчёт путей и сохранений , есть место где функция проверки включается\выключается?
и используя call UnitApplyTimedLife(d,'h00F',2.) у некоторых моделей остаются разные 'части' ,предпочитаю удалять юнит. Есть ли функция , при которой через некоторое время юнит не умирал а удалялся?Добавлено (21 Мая 2013, 16:09:15) --------------------------------------------- А не удобнее вместо этого : loop call TriggerRegisterPlayerUnitEvent( gg_trg_looptrg, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, null ) set i = i + 1 exitwhen i > 11 endloop
Использовать это call TriggerRegisterAnyUnitEventBJ( gg_trg_looptrg, EVENT_PLAYER_UNIT_SPELL_EFFECT ) Добавлено (21 Мая 2013, 16:13:12) ---------------------------------------------
Цитата (mazahan) И вообще делаю сейчас арену , начал на триггерах , т.к давно с ними работаю , стоит ли всё переписывать в Jass (сделано совсем немного). И да, а реально найти модель Мойдодыра?
Сообщение отредактировал mazahan - Вторник, 21 Мая 2013, 16:07:11 |
|
|
|
Волчачка | Дата: Вторник, 21 Мая 2013, 16:15:34 | Сообщение # 33 |
САЙТ УМЕР ППЦ
Группа: Проверенные
Сообщений: 1361
Награды: 0
Репутация: 2165
Блокировки:
| mazahan, Тип смерти: Нельзя оживить, не разлагается. //Если ты про дамми юниты. Цитата (mazahan) loop call TriggerRegisterPlayerUnitEvent( gg_trg_looptrg, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, null ) set i = i + 1 exitwhen i > 11 endloop Код function TriggerRegisterAnyUnitEventBJ takes trigger trig, playerunitevent whichEvent returns nothing local integer index
set index = 0 loop call TriggerRegisterPlayerUnitEvent(trig, Player(index), whichEvent, null)
set index = index + 1 exitwhen index == bj_MAX_PLAYER_SLOTS endloop endfunction bj_MAX_PLAYER_SLOTS это ровно от 0 до 15 -> 16 игроков а моя регистрирует на 12 игроков. а так те лишние, на которые регистрирует. <!-- 12 (13 нейтрально враждебный) 13 (14 дополнительно нейтрально враждебный) 14 (15 нейтральная жертва) 15 (16 нейтрально пассивный) -->
Сообщение отредактировал Волчачка - Вторник, 21 Мая 2013, 16:16:51 |
|
|
|
mazahan | Дата: Вторник, 21 Мая 2013, 16:22:16 | Сообщение # 34 |
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
| Ясно , спасибо.А насколько сильно всё надо запороть , чтобы эти лишние мешали?)
|
|
|
|
SirNikolas | Дата: Вторник, 21 Мая 2013, 16:33:24 | Сообщение # 35 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Игроки 13 и 14 используются, например, для крипов сторон в DotA 6x6. Изначально они враждебны всем, но 13 считает всех врагами, а 14 - нейтральными. Для того чтобы их использовать, придется триггерно выставить союзы.
|
|
|
|
mazahan | Дата: Вторник, 21 Мая 2013, 19:53:06 | Сообщение # 36 |
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
| Но мне же не надо их использовать =_=
Поэтому проще ведь брать всех ) ( Писать короче )Добавлено (21 Мая 2013, 19:21:19) --------------------------------------------- Есть ли функция покороче для дамага по вражеским юнитам в диапозоне думми ?
function Trig_yh_Func001001003001 takes nothing returns boolean return ( IsUnitAlly(GetFilterUnit(), GetOwningPlayer(udg_vodinoy_e_caster)) == false ) endfunction
function Trig_yh_Func001001003002 takes nothing returns boolean return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(udg_vodinoy_e_caster)) == true ) endfunction
function Trig_yh_Func001001003 takes nothing returns boolean return GetBooleanAnd( Trig_yh_Func001001003001(), Trig_yh_Func001001003002() ) endfunction
function Trig_yh_Func001A takes nothing returns nothing call UnitDamageTargetBJ( udg_vodinoy_e_caster, GetEnumUnit(), ( I2R(GetHeroStatBJ(bj_HEROSTAT_INT, udg_vodinoy_e_caster, true)) * 20.00 ), ATTACK_TYPE_HERO, DAMAGE_TYPE_COLD ) endfunction
function Trig_yh_Actions takes nothing returns nothing call ForGroupBJ( GetUnitsInRangeOfLocMatching(600.00, udg_vodinoy_e_obl, Condition(function Trig_yh_Func001001003)), function Trig_yh_Func001A ) endfunction Добавлено (21 Мая 2013, 19:53:06) --------------------------------------------- Заменил первые 3 функции на if
|
|
|
|
Bru | Дата: Вторник, 21 Мая 2013, 20:44:17 | Сообщение # 37 |
i<3bo4k@
Группа: Акулы
Сообщений: 4750
Награды: 2
Репутация: 1960
Блокировки:
| Цитата (mazahan) function Trig_yh_Func001001003001 takes nothing returns boolean return ( IsUnitAlly(GetFilterUnit(), GetOwningPlayer(udg_vodinoy_e_caster)) == false ) endfunction
function Trig_yh_Func001001003002 takes nothing returns boolean return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(udg_vodinoy_e_caster)) == true ) endfunction
function Trig_yh_Func001001003 takes nothing returns boolean return GetBooleanAnd( Trig_yh_Func001001003001(), Trig_yh_Func001001003002() ) endfunction
function Trig_yh_Func001A takes nothing returns nothing call UnitDamageTargetBJ( udg_vodinoy_e_caster, GetEnumUnit(), ( I2R(GetHeroStatBJ(bj_HEROSTAT_INT, udg_vodinoy_e_caster, true)) * 20.00 ), ATTACK_TYPE_HERO, DAMAGE_TYPE_COLD ) endfunction если такие здоровые хрени можно в переменную закидывать
|
|
|
|
mazahan | Дата: Вторник, 21 Мая 2013, 20:59:00 | Сообщение # 38 |
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
| В чём ошибка ?
function Trig_razduv_Actions takes nothing returns nothing
local integer a = 1 local integer b = 6 local unit t local real c local effect array u set udg_d = GetSpellAbilityUnit() call SetUnitInvulnerable( udg_d, true ) call PauseUnitBJ( true, udg_d ) loop exitwhen a > b call SetUnitScalePercent( udg_d, I2R(a) * 100.00 ), ( I2R(a) * 100.00 ), ( I2R(a) * 100.00 ) ) call TriggerSleepAction( 0.50 ) set a = a + 1 endloop call CreateNUnitsAtLoc( 1, 'h009', GetOwningPlayer(udg_d), GetUnitLoc(udg_d), bj_UNIT_FACING ) set t = GetLastCreatedUnit() set a = 1 set b = 12 loop exitwhen a > b call AddSpecialEffectLocBJ( PolarProjectionBJ(GetUnitLoc(udg_d), 300.00, c), "Doodads\\Cinematic\\RisingWaterDoodad\\RisingWaterDoodad.mdl" ) set u[a] = GetLastCreatedEffectBJ() set c = ( c + 30.00 ) set a = a + 1 endloop
set a = 13 set b = 24 loop exitwhen a > b call AddSpecialEffectLocBJ( PolarProjectionBJ(GetUnitLoc(udg_d), 700, c), "Doodads\\Cinematic\\RisingWaterDoodad\\RisingWaterDoodad.mdl" ) set u[a] = GetLastCreatedEffectBJ() set c = ( c + 30.00 ) set a = a + 1 endloop
set a = 25 set b = 36 loop exitwhen a > b call AddSpecialEffectLocBJ( PolarProjectionBJ(GetUnitLoc(udg_d), 1200.00, c), "Doodads\\Cinematic\\RisingWaterDoodad\\RisingWaterDoodad.mdl" ) set u[a] = GetLastCreatedEffectBJ() set c = ( c + 30.00 ) set a = a + 1 endloop call TriggerSleepAction( 0.50 ) call SetUnitScalePercent( udg_d, 100.00, 100.00, 100.00 )
call KillUnit(udg_d) call SetUnitInvulnerable( udg_d, false ) call PauseUnitBJ( false, udg_d ) call TriggerSleepAction( 15.00 ) call RemoveUnit(t) set a = 1 set b = 36 loop exitwhen a > b call DestroyEffectBJ( u[a] ) set a = a + 1 endloop
function Trig_razduv_1 takes nothing returns nothing call UnitDamageTargetBJ(udg_d, GetEnumUnit(), ( I2R(GetHeroStatBJ(bj_HEROSTAT_INT, udg_d, true)) * 400.00 ), ATTACK_TYPE_HERO, DAMAGE_TYPE_COLD ) endfunction
if (IsUnitAlly ( GetFilterUnit(), GetOwningPlayer(udg_d))==false) and (IsUnitEnemy (GetFilterUnit(),GetOwningPlayer(udg_d))==true) then call ForGroupBJ( GetUnitsInRangeOfLocAll(1200.00,GetUnitLoc(udg_d),function Trig_razduv_1 )) endif endfunction
function Trig_razduv_Condition takes nothing returns boolean return GetSpellAbilityId() == 'A00F' endfunction //=========================================================================== function InitTrig_razduv takes nothing returns nothing set gg_trg_razduv = CreateTrigger( ) call TriggerRegisterAnyUnitEventBJ( gg_trg_razduv, EVENT_PLAYER_UNIT_SPELL_EFFECT ) call TriggerAddCondition( gg_trg_razduv, Condition( function Trig_razduv_Condition ) ) call TriggerAddAction( gg_trg_razduv, function Trig_razduv_Actions ) endfunction
Можно ли вместо
if (IsUnitAlly ( GetFilterUnit(), GetOwningPlayer(udg_d))==false) and (IsUnitEnemy (GetFilterUnit(),GetOwningPlayer(udg_d))==true) then call ForGroupBJ( GetUnitsInRangeOfLocAll(1200.00,GetUnitLoc(udg_d),function Trig_razduv_1 )) endif endfunction
Использовать сразу
UnitDamageTargetBJ(udg_d, GetEnumUnit(), ( I2R(GetHeroStatBJ(bj_HEROSTAT_INT, udg_d, true)) * 400.00 ), ATTACK_TYPE_HERO, DAMAGE_TYPE_COLD )
дабы не использовать глобальную переменную?
Сообщение отредактировал mazahan - Вторник, 21 Мая 2013, 21:01:46 |
|
|
|
Волчачка | Дата: Вторник, 21 Мая 2013, 21:39:16 | Сообщение # 39 |
САЙТ УМЕР ППЦ
Группа: Проверенные
Сообщений: 1361
Награды: 0
Репутация: 2165
Блокировки:
| Ужас, пойду выкинусь с окна. вот пример, он он не для даммика твоего Код function Trig_BlinkNoTarget_Actions takes nothing returns nothing local unit c = GetSpellAbilityUnit() local real x = GetUnitX(c) local real y = GetUnitY(c) local unit p call SetUnitX( c, x + 700 * Cos( GetUnitFacing(c) * bj_DEGTORAD ) ) call SetUnitY( c, y + 700 * Sin( GetUnitFacing(c) * bj_DEGTORAD ) ) set x = GetUnitX(c) set y = GetUnitY(c) call GroupEnumUnitsInRange(udg_G,x,y,450,null) loop set p = FirstOfGroup(udg_G) if IsUnitEnemy(c,GetOwningPlayer(p)) == true then call UnitDamageTarget(c,p,100,true,true,ATTACK_TYPE_MAGIC,DAMAGE_TYPE_NORMAL,null) call DestroyEffect( AddSpecialEffectTarget( "Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl", p, "origin" )) endif call GroupRemoveUnit(udg_G,p) exitwhen p == null endloop call GroupClear(udg_G) call DestroyEffect(AddSpecialEffect("Abilities\\Spells\\Orc\\WarStomp\\WarStompCaster.mdl", x, y)) set c = null set x = 0 set y = 0 endfunction А если подробно разбирать то можно так //udg_G - это глобальная переменная G Код function dummydamage_X1 takes unit d, unit c, real dmg, real radius returns nothing local real x = GetUnitX(d) local real y = GetUnitY(d) local unit p call GroupEnumUnitsInRange(udg_G,x,y,radius,null) loop set p = FirstOfGroup(udg_G) exitwhen p == null if IsUnitEnemy(c,GetOwningPlayer(p)) == true then call UnitDamageTarget(c,p,dmg,true,true,ATTACK_TYPE_MAGIC,DAMAGE_TYPE_NORMAL,null) endif call GroupRemoveUnit(udg_G,p) endloop call GroupClear(udg_G) endfunction call dummydamage_X1( 'dummy', 'caster', 'damage', 'radius' ) // Вместо пометок в кавычках нужные переменные.Добавлено (21 Мая 2013, 21:39:16) --------------------------------------------- Это всего лишь пример)
|
|
|
|
lawson | Дата: Среда, 22 Мая 2013, 00:10:55 | Сообщение # 40 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Цитата (mazahan) В чём ошибка ? Цитата (mazahan) function Trig_razduv_Actions takes nothing returns nothing а окончание функции где? endfunction функции Trig_razduv_Actions ?
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
mazahan | Дата: Среда, 22 Мая 2013, 11:35:28 | Сообщение # 41 |
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
| Не там где нужно , как буду у компа исправлю(окончание)
|
|
|
|
Bru | Дата: Среда, 22 Мая 2013, 15:41:26 | Сообщение # 42 |
i<3bo4k@
Группа: Акулы
Сообщений: 4750
Награды: 2
Репутация: 1960
Блокировки:
| Цитата (mazahan) Сообщение # 38
|
|
|
|
mazahan | Дата: Вторник, 28 Мая 2013, 11:36:57 | Сообщение # 43 |
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
| function Trig_razduv_2 takes nothing returns nothing if (h == bj_HEROSTAT_INT) then return GetHeroInt(udg_d, includeBonuses) endif endfunction
function Trig_razduv_1 takes nothing returns nothing return UnitDamageTarget(udg_d, GetEnumUnit(), (h * 400.00 ), ATTACK_TYPE_HERO, DAMAGE_TYPE_COLD ) endfunction function Trig_razduv_Actions takes nothing returns nothing
local integer a = 1 local integer b = 6 local unit t local real c local real g local integer h local effect array u local real x = GetLocationX(udg_d) + g * Cos(c * bj_DEGTORAD) local real y = GetLocationY(udg_d) + g * Sin(c * bj_DEGTORAD) set udg_d = GetSpellAbilityUnit() call SetUnitInvulnerable( udg_d, true ) call PauseUnit(udg_d, true) loop exitwhen a > b call SetUnitScalePercent( udg_d, I2R(a) * 100.00 ), ( I2R(a) * 100.00 ), ( I2R(a) * 100.00 ) ) call TriggerSleepAction( 0.50 ) set a = a + 1 endloop call CreateNUnitsAtLoc( 1, 'h009', GetOwningPlayer(udg_d), GetUnitLoc(udg_d), bj_UNIT_FACING ) set t = GetLastCreatedUnit() set a = 1 set b = 12 set g = 300 loop exitwhen a > b set u[a] = AddSpecialEffectLoc(x,y, c), "Doodads\\Cinematic\\RisingWaterDoodad\\RisingWaterDoodad.mdl" ) set c = ( c + 30.00 ) set a = a + 1 endloop set a = 13 set b = 24 set g = 700 loop exitwhen a > b set u[a] = AddSpecialEffectLoc(x,y, c), "Doodads\\Cinematic\\RisingWaterDoodad\\RisingWaterDoodad.mdl" ) set c = ( c + 30.00 ) set a = a + 1 endloop set a = 25 set b = 36 set g = 1200 loop exitwhen a > b set u[a] = AddSpecialEffectLoc(x,y, c), "Doodads\\Cinematic\\RisingWaterDoodad\\RisingWaterDoodad.mdl" ) set c = ( c + 30.00 ) set a = a + 1 endloop call TriggerSleepAction( 0.50 ) call SetUnitScalePercent( udg_d, 100.00, 100.00, 100.00 )
call KillUnit(udg_d) call SetUnitInvulnerable( udg_d, false ) call PauseUnit(udg_d, false) call TriggerSleepAction( 15.00 ) call RemoveUnit(t) set a = 1 set b = 36 loop exitwhen a > b call DestroyEffect(u[a]) set u[a]=null set a = a + 1 endloop if (IsUnitAlly ( GetFilterUnit(), GetOwningPlayer(udg_d))==false) and (IsUnitEnemy (GetFilterUnit(),GetOwningPlayer(udg_d))==true) then call ForGroup(GetUnitsInRangeOfLocAll(1200.00,GetUnitLoc(udg_d),function Trig_razduv_1 )) endif set a = null set b = null set t = null set c = null set g = null set h = null set Location(x,y)=null endfunction
function Trig_razduv_Condition takes nothing returns boolean return GetSpellAbilityId() == 'A00F' endfunction //=========================================================================== function InitTrig_razduv takes nothing returns nothing local integer i set gg_trg_razduv = CreateTrigger( ) call TriggerAddCondition( gg_trg_razduv, Condition( function Trig_razduv_Condition ) ) call TriggerAddAction( gg_trg_razduv, function Trig_razduv_Actions ) loop call TriggerRegisterPlayerUnitEvent( gg_trg_razduv, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, null ) set i = i + 1 exitwhen i > 11 endloop endfunction
Лучше?)
Сообщение отредактировал mazahan - Вторник, 28 Мая 2013, 11:56:21 |
|
|
|
Волчачка | Дата: Вторник, 28 Мая 2013, 12:22:34 | Сообщение # 44 |
САЙТ УМЕР ППЦ
Группа: Проверенные
Сообщений: 1361
Награды: 0
Репутация: 2165
Блокировки:
| О боже, о боже.......................................................... . mazahan, можно описание способности?
|
|
|
|
mazahan | Дата: Вторник, 28 Мая 2013, 12:47:26 | Сообщение # 45 |
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
| Герой раздувается ( не мгновенно ) и умирает , нанося инт героя * 40 ( вроде) дамага и создаётся 1 думми и много эффектов воды ( циклы в коде)
Лучше укажи на ошибки , я же учусь)
Сообщение отредактировал mazahan - Вторник, 28 Мая 2013, 12:51:50 |
|
|
|
SirNikolas | Дата: Вторник, 28 Мая 2013, 15:01:38 | Сообщение # 46 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Цитата (mazahan) local integer i Переменная не инициализирована (ей не присвоено начальное значение). Цикл выполнен не будет, т. е. в триггер не будут добавлены события.Добавлено (28 Мая 2013, 15:01:38) ---------------------------------------------
Цитата (mazahan) returns nothing Цитата (mazahan) return GetHeroInt(udg_d, includeBonuses) Цитата (mazahan) returns nothing Цитата (mazahan) return UnitDamageTarget(udg_d, GetEnumUnit(), (h * 400.00 ), ATTACK_TYPE_HERO, DAMAGE_TYPE_COLD ) Цитата (mazahan) set u[a] = AddSpecialEffectLoc(x,y, c), "Doodads\\Cinematic\\RisingWaterDoodad\\RisingWaterDoodad.mdl" ) Цитата (mazahan) set Location(x,y)=null И у тебя Редактор не выдает ошибки?
|
|
|
|
mazahan | Дата: Вторник, 28 Мая 2013, 17:24:38 | Сообщение # 47 |
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
| С i исправил
Сообщение отредактировал mazahan - Вторник, 28 Мая 2013, 17:29:59 |
|
|
|
SirNikolas | Дата: Вторник, 28 Мая 2013, 17:27:58 | Сообщение # 48 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Заскринь, как у тебя стоят галочки в настройках JNGP.
|
|
|
|
mazahan | Дата: Вторник, 28 Мая 2013, 17:34:35 | Сообщение # 49 |
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
| Настройки в самом редакторе , или есть отдельный файл?И да , если в редакторе , там же несколько окон , какое именно? Нашёл окно проверка карты и поставил высокий уровень. Появился jasshelper и показал одну ошибку
Сообщение отредактировал mazahan - Вторник, 28 Мая 2013, 17:35:20 |
|
|
|
SirNikolas | Дата: Вторник, 28 Мая 2013, 17:38:21 | Сообщение # 50 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Extensions, JassHelper, AdicHelper.
А лучше все, которых нет в стандартном WE.
Сообщение отредактировал SirNikolas - Вторник, 28 Мая 2013, 17:38:50 |
|
|
|
|
|
|
|
|
|
|