XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Проекты> Активные проекты> Beyond the Dark Portal
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
WordEdit

offline
Опыт: 11,597
Активность:
Без неё не будет урона и спецэфекта, там еще незабуть дами юнита и дами заклинание для этого юнита перекопировать. Как раз этот дами юнит и должен быть за какогонибуть игрока.
Старый 09.10.2007, 18:11
Trok-Ferot
Silenced by Trok-Ferot
offline
Опыт: 80,809
Активность:
Сразу все это выдать было никак?..
Итак, стартовая локация, юнит и заклинание (в архив загнать было не дано?..). Ещё что?
Старый 09.10.2007, 18:15
WordEdit

offline
Опыт: 11,597
Активность:
Чет забыл. В архив загнал...так что просто перекопируй юнита и заклинание..
Ну вроде всё.
Еще раз:
Молния:
Модель молнии должна присутсвовать в импотрте.
Метеорит:
Юнит(дамми) так и называется, заклинание для него(тож легко найти)...
Ну и соответсвено поставить этому игроку(сине-зелёному) отношения ко всем на враги, даж на нейтрально пассивных, ну и всё.
Старый 09.10.2007, 18:51
Trok-Ferot
Silenced by Trok-Ferot
offline
Опыт: 80,809
Активность:
WordEdit, а переименовывать юнитов можно?
Старый 11.10.2007, 10:59
WordEdit

offline
Опыт: 11,597
Активность:
Юнитов дами чтоль? можно...
Старый 11.10.2007, 12:10
Trok-Ferot
Silenced by Trok-Ferot
offline
Опыт: 80,809
Активность:
Блин, дорого бы я дал, чтобы понять, каким шаманским макаром это работает...
Ты мне вот что скажи - нафига дамми юниту модель?
И нужен ли дамми-юнит на карте?..
И обязательно ли ставить третьего игрока, он кое-где занят-с...
Старый 11.10.2007, 12:20
WordEdit

offline
Опыт: 11,597
Активность:
Цитата:
Блин, дорого бы я дал, чтобы понять, каким шаманским макаром это работает...

Особой проблемы не вижу =)
Цитата:
Ты мне вот что скажи - нафига дамми юниту модель?

Модель можешь изменить на менее полёвую, иль вообще убрать(хз можно или нет)
Цитата:
И нужен ли дамми-юнит на карте?..

Изначально не нужен,при паданье метеорита он создаётся, кастует заклинание, и удаляется.
Цитата:
И обязательно ли ставить третьего игрока, он кое-где занят-с...

Ставь кого хош, ток надо будет изменять строку:
Код:
function set_effect1 takes nothing returns nothing      
    call AddSpecialEffectLocBJ( GetDestructableLoc(GetEnumDestructable()), "Doodads\\LordaeronSummer\\Props\\SmokeSmudge\\SmokeSmudge1.mdl" )
    set udg_efect[udg_i] = GetLastCreatedEffectBJ()
    set udg_i = udg_i + 1
endfunction

function set_effect2 takes nothing returns nothing
    call AddSpecialEffectLocBJ( GetDestructableLoc(GetEnumDestructable()), "Doodads\\Cinematic\\FireRockSmall\\FireRockSmall.mdl" )
    set udg_efect[udg_i] = GetLastCreatedEffectBJ()
    set udg_i = udg_i + 1
endfunction

function set_effect3 takes nothing returns nothing
    call AddSpecialEffectLocBJ( GetDestructableLoc(GetEnumDestructable()), "Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl" )
    set udg_efect[udg_i] = GetLastCreatedEffectBJ()
    set udg_i = udg_i + 1
endfunction

function set_effect4 takes nothing returns nothing
    call KillDestructable( GetEnumDestructable() )
endfunction

function set_effect5 takes nothing returns nothing
    call AddSpecialEffectLocBJ( GetDestructableLoc(GetEnumDestructable()), "Abilities\\Spells\\Human\\FlameStrike\\FlameStrikeDamageTarget.mdl" )
    set udg_efect[udg_i] = GetLastCreatedEffectBJ()
    set udg_i = udg_i + 1
endfunction

function set_effect6 takes nothing returns nothing
    call RemoveDestructable( GetEnumDestructable() )
endfunction  

function Meteor takes location p returns nothing
       set udg_i = 1
       loop
        set udg_efect[udg_i]=null
        set udg_i = udg_i + 1
        exitwhen udg_i > 15
       endloop
       call TerrainDeformationRippleBJ( 2.00, false, p, 256.00, 256.00, 64, 1, 512 )
       call CreateNUnitsAtLoc( 1, 'h000', Player(2), p, bj_UNIT_FACING )
       call IssueImmediateOrderBJ( GetLastCreatedUnit(), "thunderclap" )
       call UnitDamagePointLoc( GetLastCreatedUnit(), 0, 500, p, 100, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
       set udg_i = 1
       call EnumDestructablesInRectAll( RectFromCenterSizeBJ(p, 500.00, 500.00), function set_effect1 )
       call TriggerSleepAction( 0.40 )
       call KillUnit( GetLastCreatedUnit() )
       call RemoveUnit( GetLastCreatedUnit() )
       set udg_i = 1
       loop
        call DestroyEffectBJ( udg_efect[udg_i] )
        exitwhen udg_i > 15
        set udg_i = udg_i + 1
       endloop
       set udg_i = 1
       call EnumDestructablesInRectAll( RectFromCenterSizeBJ(p, 500.00, 500.00), function set_effect2 )
       call TriggerSleepAction( 2.00 )
       set udg_i = 1
       loop
        call DestroyEffectBJ( udg_efect[udg_i] )
        exitwhen udg_i > 15
        set udg_i = udg_i + 1
       endloop
       set udg_i = 1
       call EnumDestructablesInRectAll( RectFromCenterSizeBJ(p, 500.00, 500.00), function set_effect3 )
       call TriggerSleepAction( 2.00 )
       call EnumDestructablesInRectAll( RectFromCenterSizeBJ(p, 500.00, 500.00), function set_effect4 )
       call TriggerSleepAction( 1.00 )
       set udg_i = 1
       loop
        call DestroyEffectBJ( udg_efect[udg_i] )
        exitwhen udg_i > 15
        set udg_i = udg_i + 1
       endloop
       set udg_i = 1
       call EnumDestructablesInRectAll( RectFromCenterSizeBJ(p, 500.00, 500.00), function set_effect5 )
       call TriggerSleepAction( 2.00 )
       set udg_i = 1
       loop
        call DestroyEffectBJ( udg_efect[udg_i] )
        exitwhen udg_i > 15
        set udg_i = udg_i + 1
       endloop
       call EnumDestructablesInRectAll( RectFromCenterSizeBJ(p, 500.00, 500.00), function set_effect6 ) 
       call TriggerSleepAction( GetRandomReal(20.00, 30.00) ) 
endfunction

function Trig_weth_Actions takes nothing returns nothing
    local integer ranid
    local integer rand 
    local integer i = 0
    local location p
    call ResetTerrainFogBJ(  ) 
    call RemoveWeatherEffectBJ( udg_Wether )
    set ranid = GetRandomInt(1, 3)     
    set  udg_Wether = AddWeatherEffect(GetPlayableMapRect(), 'FDrl')
    if ranid == 1 then
     call EnableWeatherEffect( udg_Wether, true )
     call SetTerrainFogExBJ( 0, 1000, 8000, 0, 100.00, 0.00, 0.00 )
    endif
    if ranid == 2 then
     loop
      call TriggerSleepAction( GetRandomReal(10.00, 20.00) )
      set p = GetRandomLocInRect(GetPlayableMapRect())
      call PingMinimapLocForForce( GetPlayersAll(), p, 3.00 )
      set rand = GetRandomInt(1, 3)
      if rand == 1 then
       call AddSpecialEffectLocBJ( p, "Objects\\Spawnmodels\\Demon\\InfernalMeteor\\InfernalMeteor.mdl" )
       call TriggerSleepAction( 2.5 )
       call Meteor(p)
      endif
      if rand == 2 then
       call AddSpecialEffectLocBJ( p, "Objects\\Spawnmodels\\Demon\\InfernalMeteor\\InfernalMeteor2.mdl" )
       call TriggerSleepAction( 2.5 )
       call Meteor(p)
      endif      
      if rand == 3 then
       call AddSpecialEffectLocBJ( p, "Objects\\Spawnmodels\\Demon\\InfernalMeteor\\InfernalMeteor3.mdl" )
       call TriggerSleepAction( 2.5 ) 
       call Meteor(p)       
      endif
      set i = i + 1
      exitwhen i > 2
     endloop 
    endif
    if ranid == 3 then 
     call SetTerrainFogExBJ(0, 1000, 8000, 0, 0.00, 100.00, 0.00)
    endif
endfunction

//===========================================================================
function InitTrig_weth takes nothing returns nothing
    set gg_trg_weth = CreateTrigger(  )
    call TriggerRegisterTimerEventPeriodic( gg_trg_weth, GetRandomReal(180.00, 250.00) )
    call TriggerRegisterTimerEventSingle( gg_trg_weth, 1.00 )
    call TriggerAddAction( gg_trg_weth, function Trig_weth_Actions )
endfunction

На
call CreateNUnitsAtLoc( 1, 'h000', Player(n), p, bj_UNIT_FACING ) n -[0..10]
Где, Player(0) - красный, Player(1) - синий и т.д
Старый 11.10.2007, 13:01
Trok-Ferot
Silenced by Trok-Ferot
offline
Опыт: 80,809
Активность:
Проще поменять...

Кстати, в свойствах карты игрока обязательно прописывать? А то ныкай его потом... причем хз как.

Блин горелый-поминальный! WordEdit, по ходу исходные позиции твоя система создаёт самостоятельно...

Отредактировано Trok-Ferot, 11.10.2007 в 13:30.
Старый 11.10.2007, 13:20
WordEdit

offline
Опыт: 11,597
Активность:
Как их она может создавать? Хотя че то похожее на правду(щас в тестовой карте проверил).
Значит ставь в Player(n) любого незанятого игрока...
Старый 11.10.2007, 17:17
Trok-Ferot
Silenced by Trok-Ferot
offline
Опыт: 80,809
Активность:
Да я уже третьими проставил... ;):
Старый 11.10.2007, 17:19
WordEdit

offline
Опыт: 11,597
Активность:
Кста, я когда тестил в некоторых картах забыл убрать, убери call PingMinimapLocForForce( GetPlayersAll(), p, 3.00 ) из кода сверху. Это воскл знак куда падает метеорит
Старый 11.10.2007, 17:25
Trok-Ferot
Silenced by Trok-Ferot
offline
Опыт: 80,809
Активность:
WordEdit, блин, давай уже все вспоминай... а то каждый день что-то добавляется.
Старый 11.10.2007, 17:33
WordEdit

offline
Опыт: 11,597
Активность:
Да всё просто открывается на тесте...Проверь тормозит ли у тебя метеорит или нет. Если тормозит то еще 1 хрень прибавить надо...
А так в целом всё-нормально, щас еще код глянул.
Старый 11.10.2007, 18:03
Trok-Ferot
Silenced by Trok-Ferot
offline
Опыт: 80,809
Активность:
Удалено... ещё что-нибудь? ;):
Старый 11.10.2007, 18:35
WordEdit

offline
Опыт: 11,597
Активность:
Ну проверь тормозит ли у тебя комп, когда метеориты падают, насколько я помню у тебя он слабый. Если будет тормозить то тогда добавь в самом конце ф-ии
function InitTrig_weth takes nothing returns nothing
Код:
call Preload("Doodads\\LordaeronSummer\\Props\\SmokeSmudge\\SmokeSmudge1.mdl")
call Preload("Doodads\\Cinematic\\FireRockSmall\\FireRockSmall.mdl")
call Preload("Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl")
call Preload("Abilities\\Spells\\Human\\FlameStrike\\FlameStrikeDamageTarget.mdl")
call Preload("Objects\\Spawnmodels\\Demon\\InfernalMeteor\\InfernalMeteor.mdl")
call Preload("Objects\\Spawnmodels\\Demon\\InfernalMeteor\\InfernalMeteor2.mdl")
call Preload("Objects\\Spawnmodels\\Demon\\InfernalMeteor\\InfernalMeteor3.mdl")

Но это если только тормозит, если всё нормально то ненадо.
Старый 11.10.2007, 19:14
Trok-Ferot
Silenced by Trok-Ferot
offline
Опыт: 80,809
Активность:
Нет, не тормозит вроде...
Старый 11.10.2007, 19:23
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
c preload-ом вообще отдельный разговор.. желательно все объекты какие ни есть размещать гденибудь в уголке карты и потом пооперировав с ними при инициализации сносить.. Вобщем разберемся)
Старый 11.10.2007, 20:57
Trok-Ferot
Silenced by Trok-Ferot
offline
Опыт: 80,809
Активность:
FellGuard и WordEdit, вопрос к вам. Сможете ли вы создать систему проигрывания музыки на приличное количество track'ов, чтобы порядок их воспроизведения генерировался случайно? При том что длины записей разные.
Старый 12.10.2007, 14:53
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
Trok-Ferot, без проблем, щас разберусь, как устроены в триггерах стандартные плейлисты (наверняка какие нибудь гуишные навороты ) и сбацаем...
Старый 12.10.2007, 15:02
WordEdit

offline
Опыт: 11,597
Активность:
Насколько я понял пишешь примерно такой тригер:
Код:
Событие
    Map initialization
Действия
    Звук - Stop the currently playing music theme
    Звук - Set the music list to ArthasTheme <gen>, starting with song 1
    Звук - Set the music list to BloodElfTheme <gen>, starting with song 2
    ........и т.д
    Звук - Play музыка

Где ArthasTheme <gen> и BloodElfTheme <gen> наша экспотрированая музыка

И после этого варка сама играет рандомные треки из этого плей-листа.
З.Ы: Но еще проверю для многих треков.

WordEdit добавил:
:( Нерабочий этот вариант. Сколько предполагается, примерно, экспотрировать треков в карту?
Старый 12.10.2007, 19:32
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 08:05.