FORDIR_Max Posted January 16, 2022 Share Posted January 16, 2022 Написал скрипт для сервера, должен выключать определённый ресурс и перезапускать другой. Не работает. Вот скрипт: function reestr() local idResources = getResources() for index, res in ipairs(idResources) do if getResourceState(ID) == "running" then restartResource(ID) end end end function stopFreeroamResources() local allResources = getResources() for i, resource in ipairs(allResources) do if ( getResourceState(freeroam) == "running" ) and ( resource ~= getThisResource() ) then stopResource(freeroam) end end end reestr() stopFreeroamResources() Заранее спасибо! (Укажите ошибки в коде, учусь писать скрипты для мта.) Link to comment
Scripting Moderators Sarrum Posted January 16, 2022 Scripting Moderators Share Posted January 16, 2022 (edited) . Добро пожаловать на форум. Обе функции содержат одну ошибку. Вам нужно передавать в getResourceState элемент ресурса, который был получен во время обхода элементов таблицы ресурсов (getResources). В первой вы передаёте ID, который нигде не фигурирует в коде, когда нужно res. Во второй, если нужно остановить определённый ресурс, можно обойтись без циклов, получив ресурс по его названию (getResourceFromName). Рабочий пример: function stopFreeroamResource() local freeroamResource = getResourceFromName("freeroam") if (freeroamResource) and getResourceState(freeroamResource) == "running" then stopResource(freeroamResource) end end stopFreeroamResource() Однако дебаг должен был сообщить об этом. На вики есть руководство по отладке кода. Позволит видеть ошибки, предупреждения и информационные сообщения. Edited January 16, 2022 by Sarrum Link to comment
FORDIR_Max Posted January 16, 2022 Author Share Posted January 16, 2022 Всё заработал, спасибо! Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now