Добавлен
Прив, нужен тригер для управление погодой, в тригере нужно только чтобы можно было включать\отключать погоду(Дождь,Туман) через команды в чат, например дождь вкл дождь выкл. заранее спасибо

Система погодных эффектов и тумана xgm.guru/p/wc3/weatherandfogsystem
Конкретно для тебя:
// Триггер для обработки команд в чате
function Trig_Weather_Control_Conditions takes nothing returns boolean
    return true
endfunction

function Trig_Weather_Control_Actions takes nothing returns nothing
    local string cmd = GetEventPlayerChatString() // Получаем текст сообщения
    local player p = GetTriggerPlayer() // Игрок, который отправил команду

    // Включение/выключение дождя
    if cmd == "дождь вкл" then
        call EnableWeatherEffect(AddWeatherEffect(GetWorldBounds(), 'RAhr'),true)
        call DisplayTextToPlayer(p, 0, 0, "Дождь включен.")
    elseif cmd == "дождь выкл" then
        call RemoveWeatherEffect(bj_lastCreatedWeatherEffect)
        call DisplayTextToPlayer(p, 0, 0, "Дождь выключен.")
    endif

    // Включение/выключение тумана
    if cmd == "туман вкл" then
        call SetTerrainFogEx(0, 1000, 5000, 85, 0.5, 0.5, 0.5)
        call DisplayTextToPlayer(p, 0, 0, "Туман включен.")
    elseif cmd == "туман выкл" then
        call SetTerrainFogEx(0, 0, 0, 0, 0, 0, 0)
        call DisplayTextToPlayer(p, 0, 0, "Туман выключен.")
    endif
endfunction
//Created by Smeto
function InitTrig_Weather takes nothing returns nothing
    local trigger t = CreateTrigger()
    local integer i = 0
    local integer players = 12

    loop
        exitwhen i >= players
        call TriggerRegisterPlayerChatEvent(t, Player(i), "", false)
        set i = i + 1
    endloop

    call TriggerAddCondition(t, Condition(function Trig_Weather_Control_Conditions))
    call TriggerAddAction(t, function Trig_Weather_Control_Actions)
endfunction
С тебя локалки удалить и добавить переменную, чтоб при двойном прописывании команды не создавался новый эффект поверх старого
`
ОЖИДАНИЕ РЕКЛАМЫ...
23
Похожие вопросы:

ответ
После создания, погодный эффект нужно занести в переменную и включить его (там есть действие). Когда нужно изменить погодный эффект, то старый нужно удалить, для этого мы его занесли в переменную.
ответ
Добавь функцию включить/выключить погодный эффект либо
Вот скрин
Это пример
ответ
set weather[1-n] = GetLastCreatedWeather()
установить переменную weather[1-n] = Последний созданный погодный эффект
Где 1-n это число индекса массива переменной, выбираешь на своё усмотрение
ответ
Погодные эффекты не хранятся в виде моделей, они генерируются с помощью источников частиц согласно файлу в MPQ-архиве TerrainArt/Weather.slk
ответ
SсRealm, ради свистелок и перделок)

10
Система погодных эффектов и тумана xgm.guru/p/wc3/weatherandfogsystem
Конкретно для тебя:
// Триггер для обработки команд в чате
function Trig_Weather_Control_Conditions takes nothing returns boolean
    return true
endfunction

function Trig_Weather_Control_Actions takes nothing returns nothing
    local string cmd = GetEventPlayerChatString() // Получаем текст сообщения
    local player p = GetTriggerPlayer() // Игрок, который отправил команду

    // Включение/выключение дождя
    if cmd == "дождь вкл" then
        call EnableWeatherEffect(AddWeatherEffect(GetWorldBounds(), 'RAhr'),true)
        call DisplayTextToPlayer(p, 0, 0, "Дождь включен.")
    elseif cmd == "дождь выкл" then
        call RemoveWeatherEffect(bj_lastCreatedWeatherEffect)
        call DisplayTextToPlayer(p, 0, 0, "Дождь выключен.")
    endif

    // Включение/выключение тумана
    if cmd == "туман вкл" then
        call SetTerrainFogEx(0, 1000, 5000, 85, 0.5, 0.5, 0.5)
        call DisplayTextToPlayer(p, 0, 0, "Туман включен.")
    elseif cmd == "туман выкл" then
        call SetTerrainFogEx(0, 0, 0, 0, 0, 0, 0)
        call DisplayTextToPlayer(p, 0, 0, "Туман выключен.")
    endif
endfunction
//Created by Smeto
function InitTrig_Weather takes nothing returns nothing
    local trigger t = CreateTrigger()
    local integer i = 0
    local integer players = 12

    loop
        exitwhen i >= players
        call TriggerRegisterPlayerChatEvent(t, Player(i), "", false)
        set i = i + 1
    endloop

    call TriggerAddCondition(t, Condition(function Trig_Weather_Control_Conditions))
    call TriggerAddAction(t, function Trig_Weather_Control_Actions)
endfunction
С тебя локалки удалить и добавить переменную, чтоб при двойном прописывании команды не создавался новый эффект поверх старого
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.