При сохранении каким-либо игроком карты в сетевой игре происходит краш карты у всех игроков, каким образом можно запретить игрокам сохранять игру?

Нужно отключать сохранение игры, в картах с мемхаком сохранение невозможно, варианты есть как у драколича так и от юзеров хайва ( событие игра сохраняется, действие диалог скрыть)
    call DialogDisplay( GetLocalPlayer( ), PreventSaveDialog, false )
endfunction

function PreventSaveStopSave takes nothing returns boolean
    local boolean GameAllowSave = false
    if GameAllowSave == false then
        call DisplayTextToPlayer( GetLocalPlayer( ), 0, 0, "ваш текст о невозможности сохранить игру" )
        call DialogDisplay( GetLocalPlayer( ), PreventSaveDialog, true )
        if GetTriggerPlayer() == GetLocalPlayer( ) then
            call StartSound( bj_questFailedSound )
            call KillSoundWhenDone(bj_questFailedSound)
        endif
    endif
    call TimerStart( SaveBlockTimer, 0.00, false, function PreventSaveExit )
    return false
endfunction

function InitAntiSaveGame takes nothing returns nothing
    local trigger AntiSaveLocalTrigger = CreateTrigger( )
    call TriggerRegisterGameEvent( AntiSaveLocalTrigger, EVENT_GAME_SAVE )
    call TriggerAddCondition( AntiSaveLocalTrigger, Filter( function PreventSaveStopSave ) )
    set AntiSaveLocalTrigger = null
endfunction
`
ОЖИДАНИЕ РЕКЛАМЫ...
9
quq_CCCP, я связался с разработчиком irina бота, он сказал что исправит эту проблему в следующем обновлении бота, если не забудет
32
Принятый ответ
Нужно отключать сохранение игры, в картах с мемхаком сохранение невозможно, варианты есть как у драколича так и от юзеров хайва ( событие игра сохраняется, действие диалог скрыть)
    call DialogDisplay( GetLocalPlayer( ), PreventSaveDialog, false )
endfunction

function PreventSaveStopSave takes nothing returns boolean
    local boolean GameAllowSave = false
    if GameAllowSave == false then
        call DisplayTextToPlayer( GetLocalPlayer( ), 0, 0, "ваш текст о невозможности сохранить игру" )
        call DialogDisplay( GetLocalPlayer( ), PreventSaveDialog, true )
        if GetTriggerPlayer() == GetLocalPlayer( ) then
            call StartSound( bj_questFailedSound )
            call KillSoundWhenDone(bj_questFailedSound)
        endif
    endif
    call TimerStart( SaveBlockTimer, 0.00, false, function PreventSaveExit )
    return false
endfunction

function InitAntiSaveGame takes nothing returns nothing
    local trigger AntiSaveLocalTrigger = CreateTrigger( )
    call TriggerRegisterGameEvent( AntiSaveLocalTrigger, EVENT_GAME_SAVE )
    call TriggerAddCondition( AntiSaveLocalTrigger, Filter( function PreventSaveStopSave ) )
    set AntiSaveLocalTrigger = null
endfunction
9
quq_CCCP, так минутку, а какая именно часть скрывает диалог тут?
call DialogDisplay( GetLocalPlayer( ), PreventSaveDialog, true )
вот эта? она моментально заменяет диалог сохранения на другой и из-за этого тот просто не показывается, я всё правильно понял?
32
PreventSaveDialog - глобалка, не забудь её создать. И создать сам диалог и скрыть от всех игроков.

globals
...
...
...
 dialog PreventSaveDialog=DialogCreate()
endglobals
Чтобы оставить комментарий, пожалуйста, войдите на сайт.