RU/xmlNodeGetChildren
From Multi Theft Auto: Wiki
Возвращает все аттрибуты выбранного XML узла.
Синтаксис
Эта функция возвращает всех потомков XML узла.
Синтаксис
table/xmlnode xmlNodeGetChildren ( xmlnode parent, [ int index ] )
Синтаксис ООП Помогите! Я не понимаю, что это!
- Метод: xmlnode:getChildren(...)
- Переменная: .children
Обязательные параметры
- parent: XML узел из которого получаем потомков.
Не обязательные параметры
- index: Если вы хотите получить одного потомка, введите его индекс(порядковый номер, счет от 0). Т.е. что-бы получить первого потомка, пишите 0, что-бы получить третьего потомка пишите 2, и т.д.
Возвращает
Если index не указан, возвращает таблицу со всеми потомками. Если index указан, возвращает соответствующего по счету потомка. Если узлов не найдено, возвращает пустую таблицу. В случае неправильного регистра, возвращает false.
Пример
Click to collapse [-]
ServerПредположим вы создали .xml файл со случайными приветственными сообщениями:
<messages> <message>Добро пожаловать на ДМ сервер, наслаждайтесь пребыванием здесь.</message> <message>Добро пожаловать. Будьте уверены вы получите бесплатную пиццу от Мэтта!</message> <message>Вечеринка на пляже ЛС, будьте там</message> </messages>
Для того что-бы показать случайное сообщение из списка, входящим пользователям, используйте код:
addEventHandler("onResourceStart", getResourceRootElement(), function() local xml = xmlLoadFile("welcome.xml") -- открываем XML файл local messageNodes = xmlNodeGetChildren(xml) -- получаем всех потомков корневого узла(<messages>) g_WelcomeMessages = {} -- создаем новую глобальную переменную, для хранения сообщений в ней for i,node in ipairs(messageNodes) do -- пробегаем все узлы сообщений g_WelcomeMessages[i] = xmlNodeGetValue(node) -- получаем текст из узла end xmlUnloadFile(xml) -- закрываем XML файл end ) addEventHandler("onPlayerJoin", getRootElement(), function() local numMessages = #g_WelcomeMessages -- получаем количество сообщений local message = g_WelcomeMessages[math.random(numMessages)] -- выбираем случайное сообщение outputChatBox(message, source, 0, 255, 0) -- выводит сообщение зашедшему игроки end )