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

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

Закрытая тема
 
Fakov
Viva la Fa
offline
Опыт: 102,058
Активность:
мило. но тут проблема в количестве юзающихся форм. Их 2. а у нас тут
Есть десяток (десять, 10, ten) героев сделаных на одной основе, у которых отличаются цвета, размеры, родители, любимые женщины, собака и прочее.
Но я сохраню на случай важных переговоров, спасибо.
Старый 07.05.2013, 16:35
JaBeN_Симфер

offline
Опыт: 20,050
Активность:
Fakov, я сначала ошибся файлом, сейчас прикрепил нужный, здесь без указания начальной формы.
Тебе понадобится 10 абилок для 10 героев.
Старый 07.05.2013, 16:37
DioD

offline
Опыт: 45,134
Активность:
Факов слился и решил прикинутся тупым?
Ну чтож, придётся разъяснить, теперь это уже не спортивный интерес а обоснованное желание проучить:
function Trig_Untitled_Trigger_003_Actions takes nothing returns nothing

    local group g = null
    local unit u = null

    if S2I(GetEventPlayerChatString()) == 0 then
        return
    endif
        
    set g = GetUnitsSelectedAll(Player(0))
    
    set u = FirstOfGroup(g)

мы получаем выбранных игроком юнитов и берёт первого из них
у каждого юнита есть абилка а000 которая даёт 75 маны и скопирована со стандартной (ВАХ ВАХ ДА ЭТО ФИНТ УШАМИ)

перед морфом мы эту абилку УДАЛЯЕМ
    
    call UnitRemoveAbility(u,'A000')

потом мы удаляем абилку инвентаря, чтобы те самые вещи которые разбросаны просто так, не мозолили никому глаза
    
    call UnitRemoveAbility(u,'AInv')

эта часть кода откоменчена и она про бонусы атрибутов у героя, которые тоже полезут вверх в ряде случаев
    
    //call IssueTargetOrderBJ( gg_unit_hatw_0200, "doom", u )
    
    //call SetHeroStr(u, 0, false)
    //call SetHeroAgi(u, 0, false)
    //call SetHeroInt(u, 0, false)

даём подходящую хаос абилку, у на 1 2 3 4 которые соответствуют четырём типам героя
    
    call UnitAddAbility(u,data[S2I(GetEventPlayerChatString())])
    
и внезапно опять удаляем бонус в 75 маны, от того и потому что он уже добавлен герою во время морфа и если оставить то мана поползёт вверх
    //call UnitRemoveAbility(u,'BNdo')
    call UnitRemoveAbility(u,'A000')
    
        
endfunction

//===========================================================================
function InitTrig_Untitled_Trigger_003 takes nothing returns nothing
    set data[1] = 'S000'
    set data[2] = 'S002'
    set data[3] = 'S003'
    set data[4] = 'S001'
    set gg_trg_Untitled_Trigger_003 = CreateTrigger(  )
    call TriggerRegisterPlayerChatEvent( gg_trg_Untitled_Trigger_003, Player(0), "", false )
    call TriggerAddAction( gg_trg_Untitled_Trigger_003, function Trig_Untitled_Trigger_003_Actions )
endfunction
Указаный код написан за 10 минут и решает поставленную задачу, хп или мана у героев не ползёт (кроме случая морфа самого в себя но это другой баг и так делать не стоит)
Старый 07.05.2013, 16:44
Zetox

offline
Опыт: 1,738
Активность:
Встречался с такой - же проблемой, только скакало хп, мана, скорость и тд...

Решение 1: Забить

Решение 2: Превращать героя в юнита, с мин значением хп и маны, затем опять юнита, затем героя, давать, отнимать нужное кол-во маны. (зы: так можно сменить главную стату героя). бросил это дело, когда узнал, что ещё нужно составлять бд(встретитесь если будете так делать, с багом с 1 хп), и к тому же, нужны таймеры.

Zetox добавил:
DioD, а есди несколькими мофров сделать ?
Старый 07.05.2013, 16:52
Fakov
Viva la Fa
offline
Опыт: 102,058
Активность:
Указаный код написан за 10 минут и решает поставленную задачу, хп или мана у героев не ползёт (кроме случая морфа самого в себя но это другой баг и так делать не стоит)
несомненно. это божественный код. чудотворный я бы сказал.
а теперь добавь любому морфу абилку 'Almv' и морфни пару раз, сенсей.
JaBeN_Симфер, любопытный пример, но без детального его изучения ничего сказат не могу.
Fakov добавил:
хп или мана у героев не ползёт
она и без того не ползла кстати при простом морфе туда-сюда.
Fakov добавил:
к вопросу о:
ответ
Полный инв лута у героя в твоей демо карте.
Старый 07.05.2013, 17:14
Faion
Noblesse Oblige
offline
Опыт: 30,395
Активность:
Вот читаю тему и не пойму, то ли я тупой, то ли вы тупые.
Приеду с работы гляну проблему.
Старый 07.05.2013, 17:42
DioD

offline
Опыт: 45,134
Активность:
начнём с того что про вещи ты не говорил, часть кода про вещи откоменчена, абилка на 75 маны уже прописана у героев, если бы ты внимательно смотрел данные объектов то заметил бы это.
Вопрос по вещах в инвентаре решается вызовом
call UnitRemoveAbility(u,'AInv')
ты реально дебил или прикидываешься?
Старый 07.05.2013, 17:56
Borodach

offline
Опыт: 5,837
Активность:
Fakov, Cкинь свою карту где тестишь. Или проверь по этой системе xgm.ru/forum/showthread.php?t=58739, будет ли умножать.
Старый 07.05.2013, 18:01
Fakov
Viva la Fa
offline
Опыт: 102,058
Активность:
начнём с того что про вещи ты не говорил, часть кода про вещи откоменчена, абилка на 75 маны уже прописана у героев, если бы ты внимательно смотрел данные объектов то заметил бы это.
Вопрос по вещах в инвентаре решается вызовом
call UnitRemoveAbility(u,'AInv')
ты реально дебил или прикидываешься?
еще раз тебе говорят. Вещи роли не играют. Книжка с абилкой - фейк. Добавляется способность.
Старый 07.05.2013, 18:06
DioD

offline
Опыт: 45,134
Активность:
абилка на 75 маны уже прописана у героев
Добавляется способность.
может быть ты просто не знаешь что Ability и "способность" это одно и тоже?
упростим задачу, делаешь карту, на которой есть 10 абилок, 10 героев, вещи, хаос и всё остальное, я вставляю туда те самые строки кода и всё начинает работать, ты уходишь в сайленс на 2 недели как и предложил, а то передёргивание и хомяки это не спортивно.
еще вариант, расписать условия повторно, где будет понятно, что абилка которая даётся юнитам в редакторе это на самом деле вещи которые герой собирает во время игры.
Старый 07.05.2013, 18:56
Fakov
Viva la Fa
offline
Опыт: 102,058
Активность:
может быть ты просто не знаешь что Ability и "способность" это одно и тоже?
а теперь добавь любому морфу абилку 'Almv' и морфни пару раз
В течении игры добавь эту способность. Создай триг на добавление абилки 'Almv' при нажатии цифры 0 например.
Fakov добавил:
на держи. я покажу тебе пальцах моей бабушки, в чем проблема.
берешь героя. любого например.
вводишь в чате 1 или 2 или 3 или 4. можно несколько раз
потом вводишь в чате 0. Можно несколько раз.
И опять вводишь в чате 1 или 2 или 3 или 4. Сколько захочешь раз.
Прикрепленные файлы
Тип файла: w3x rtfm E0.00a.w3x (24.8 Кбайт, 1 просмотров )
Старый 07.05.2013, 19:10
DioD

offline
Опыт: 45,134
Активность:
Ладно, я сейчас, убираю кастом абилку на основе Almv из всех героев, убираю кастом абилку вообще, вешаю добавление этой абилки по нажатию эскейпа и барабанная дробь, всё равно всё работает так как должно работать - без каскада бонусов.
function Trig_Untitled_Trigger_004_Actions takes nothing returns nothing
    local group g = null
    local unit u = null

    set g = GetUnitsSelectedAll(Player(0))
    
    set u = FirstOfGroup(g)
    
    call UnitAddAbility(u,'Almv')
    
    //call UnitAddAbility(u,'Adis')
    
    
endfunction

//===========================================================================
function InitTrig_Untitled_Trigger_004 takes nothing returns nothing
    set gg_trg_Untitled_Trigger_004 = CreateTrigger(  )
    call TriggerRegisterPlayerEventEndCinematic( gg_trg_Untitled_Trigger_004, Player(0) )
    call TriggerAddAction( gg_trg_Untitled_Trigger_004, function Trig_Untitled_Trigger_004_Actions )
endfunction
только убедительная просьба не говорить опять что я не понял чегототам, абилка добавляется при нажатии эскейпа юниту который выбран.
1-2-3-4 работают как работали.
Прикрепленные файлы
Тип файла: w3x RCSDM E0.00a.w3x (24.6 Кбайт, 3 просмотров )
Старый 07.05.2013, 19:17
Fakov
Viva la Fa
offline
Опыт: 102,058
Активность:
несомненно. Она добавляется, только если указать не 'Almv' а 'A000'.
говорить насчет твоего понимания я ничего не буду, я просто скажу что у тебя ничерта не вышло.
Fakov добавил:
на эскейп нажал единожды. морфнул с десяток раз.
Старый 07.05.2013, 19:29
DioD

offline
Опыт: 45,134
Активность:
потому что морфать юнита в самого себя нельзя, я вроде об этом написал не такли?
DioD добавил:
Указаный код написан за 10 минут и решает поставленную задачу, хп или мана у героев не ползёт (кроме случая морфа самого в себя но это другой баг и так делать не стоит)
вообще читаешь что тебе пишут или как?
Старый 07.05.2013, 19:30
Fakov
Viva la Fa
offline
Опыт: 102,058
Активность:
потому что морфать юнита в самого себя нельзя, я вроде об этом написал не такли?
я знаю что его в себя морфить нельзя. Я его морфил в другие формы. Допустим морф был в следующем порядке: 1234231242313
Fakov добавил:
вот например, чтобы уж не быть совсем голословным
Старый 07.05.2013, 19:36
DioD

offline
Опыт: 45,134
Активность:
Я его морфил в другие формы.
не надо заливать, попробуй еще раз не морфя в самого себя, если слишком сложно поставь в коде вилку на это.
Старый 07.05.2013, 19:38
Fakov
Viva la Fa
offline
Опыт: 102,058
Активность:
не надо заливать, попробуй еще раз не морфя в самого себя
вот например, чтобы уж не быть совсем голословным
Старый 07.05.2013, 19:39
DioD

offline
Опыт: 45,134
Активность:
Твоя версия карты, фокус с уровнями убран так как не предусмотрен условиями указанными в посте 1, бонус выставлен на 100 так как у тебя в абилке стояло -100
да и еще, зачем пытаться передёргивать на совсем другую тему, в условиях про это не сказано.
щас видео сниму чтоли.
Старый 07.05.2013, 19:47
Fakov
Viva la Fa
offline
Опыт: 102,058
Активность:
Твоя версия карты, фокус с уровнями убран так как не предусмотрен условиями указанными в посте 1, бонус выставлен на 100 так как у тебя в абилке стояло -100
сделано для возможности многоразового добавления. роли не играет.
Расскажи, как ты понял заданные условия, у меня подозрения что ты испытываешь больший диссонанс чем моя бабуля от окончания конца второй мировой.
Старый 07.05.2013, 19:53
DioD

offline
Опыт: 45,134
Активность:
вот тебе видео, я не совсем понимаю чего ты хочешь, но добавлять одну абилку многократно это передёргивание, в первом посте указано ЕДИНОКРАТНО это значит именно единократно, а не несколько раз.
единократно у меня работает, многократно, инвентарь и прочая чепуха заданием темы не предусмотрены.
Старый 07.05.2013, 19:58
Закрытая тема

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

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

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

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



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