Добавлен , опубликован
На днях была проведена тестовая игра 5x5, в которой мортира получила прозвище пылесос.. Испытатель Аламерд дал оценку карте 10 пылесосов из 10. Пока другие развлекались, нубствовали и занимались прочим.. Я обнаружил баг с созданием рунических камней, их всегда было 2. А должно было быть 1. Но я тут подумал. Почему не оставить эту ошибку.. Все равно камни исчезают и меняются. Сначала появляется один, потом второй если на него выпал шанс создания. А так же я убедился в одной недоработке, о которой мне сообщал ранее Kaerrad из TGM Team.., Дуосу понравилась карта, но он жаловался на трёх-листовой инвентарь.. Ну это ему показалось, просто всё с инвентарём я предусмотрел заранее...
Чую, что не хватает некоторых предметов, мб. по ходу дела добавлю ещё.. Ах вот ещё, вот блин не охота ещё проверять наличие героев зоне нейтральный воинов, потому-что так задумано, что они создаётся, как только 1 пачка была убита.

На текущий момент карта имеет такие команды:
  • :fap, :af, :вд - Все герои, Стражи возмездия, 2 ед. золота в сек. (Актив: "Всё дозволено")
  • :об :na :norm - Герои только свои, 1 ед. золота в сек. (Обычный актив)
Обычные команды:
  • .cs .оэ - очистить экран
  • .ms .сп - показывает скорость перемещения героя
  • .mr .рм .см - показывает сопротивление магии героя
  • Ожидаемые исправления
    • Система помощи
      • Будет поправлен регистр помогавших
      • Воздействе целевыми полезными способностями союзнику, который убил противника тоже считается как "помощь".
      • Только урон по противнику зачитывает в систему "Помощь".
    • Блокировка выбора героев
      • Будет исправлена ошибка, которая не блокировала героев Азерота для вражеской команды, при активе "Обычный"
    • Система штрафов
      • Будет переделана снятие золота за смерть с игрока, т.к. снимает больше положенного.
    • Баланс героев
      • Герои будут сбалансированы, как только особый тестер закончит их анализ.
  • Ожидаемые обновления
    • Система авто-разблокирования героев, чьи игроки вышли из игры.
      • Герой будет удалён, но за место него появиться башня которая будет стоять возле главного здания сил "Азерота"
      • Все его предметы будут доступны для всех игроков
      • Всё его золото будет распределено между игроками
      • Игроку данного героя золото на числятся не будет
    • Дополнительные системы волн
      • За уничтожение вражеской башни, все линии союзной силы выпускают элитные отряды.
      • Будут добавлены осадные сооружения, у которых будет защита типа "Укреплённый" и равна 1 ед. А когда орудие будет уничтожено, то с него будут высажены моментально войска, типом атаки осадной, однако они будут не стойкими перед башнями.
Ах да, если кто захочет помочь с системой тряски камеры, буду рад. Просто наработка дуоса работает на отлично только 1 раз.
Исходный код

//## Тряска камеры
function ShakeCamera_Child takes nothing returns nothing
    local timer   t      = GetExpiredTimer()
    local integer id     = GetHandleId(t)
    local real    x      = LoadReal(udg_golem,id,0)
    local real    y      = LoadReal(udg_golem,id,1)
    local real    r      = LoadReal(udg_golem,id,2)
    local real    d      = LoadReal(udg_golem,id,3)
    local real    p      = LoadReal(udg_golem,id,4)
    local real    m      = LoadReal(udg_golem,id,5)
    local real    ccx    = GetCameraTargetPositionX()
    local real    ccy    = GetCameraTargetPositionY()
    local real    dens   = m/r  // Радиус от эпицентра - сегменты трясения.
    
    call SaveReal(udg_golem,id,4,p+.04)
    
    if p >= d then
        call CameraSetSourceNoise(0,0)
        call CameraSetTargetNoise(0,0)
        call FlushChildHashtable(udg_golem,id)
        call PauseTimer(t)
        call DestroyTimer(t)
    else
        set m = SquareRoot((ccx-x)*(ccx-x)+(ccy-y)*(ccy-y))
        // Если расстояние больше радиуса, то не трясти камеру.
        if m >= r then
            set m = 0
        else
            // Чем больше удаление, тем меньше магнитуда.
            // изначальная магнитуда - расстояние * dens.
            set m = LoadReal(udg_golem,id,5) - m * dens
        endif
        
        // Почему у каждого трясёт по разному?
        // Потому что ccx и ccy - локальные данные. Так-то. :)
        call CameraSetTargetNoiseEx(m*2.,m*Pow(10,m),true)
        call CameraSetSourceNoiseEx(m*2.,m*Pow(10,m),true) 
        
        // Магнитуду уменьшаем.
        call SaveReal(udg_golem,id,5,LoadReal(udg_golem,id,5)-3/d)       
    endif
    
    set t = null
endfunction

function ShakeCamera takes real x, real y, real shakeRadius, real duration returns nothing
    local timer   t  = CreateTimer()
    local integer id = GetHandleId(t)   

    call SaveReal(udg_golem,id,0,x)
    call SaveReal(udg_golem,id,1,y)
    call SaveReal(udg_golem,id,2,shakeRadius)
    call SaveReal(udg_golem,id,3,duration)
    call SaveReal(udg_golem,id,4,0.)
    call SaveReal(udg_golem,id,5,40.)   // Начальная магнитуда в эпицентре по Рихтеру.

    call TimerStart(t,.04,true,function ShakeCamera_Child)

    set t = null
endfunction
Дата выпуска второго теста из пяти: Пока не известно
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
24
9 лет назад
0
Точки и двоеточия вместо тире?
0
29
9 лет назад
0
Melissa:
Точки и двоеточия вместо тире?
Ага, должен же я чем-то отличаться. И тем более я так задумал, чтобы как-то по другому вводить, не знаю как другим, но мне так интересно.. А вы сударь, проверяли тест первый БЗ 0.6 off?
0
24
9 лет назад
0
А вы сударь, проверяли тест первый БЗ 0.6 off?
нет
4
18
9 лет назад
4
А я думал, что команда ":fap" должна давать нечто другое...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.