<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[LUA Форум - Последние темы форума]]></title>
		<link>http://www.lua.ru/forum/recentTopics/list.page</link>
		<description><![CDATA[Последние обсуждаемые темы на всем форуме]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Регистрация функций</title>
				<description><![CDATA[ А как сделать из основной программы так, чтобы функции этой основной программы из скрипта вызывались так: "engine.foo (arg)"?]]></description>
				<guid isPermaLink="true">http://www.lua.ru/forum/posts/preList/341/2237.page</guid>
				<link>http://www.lua.ru/forum/posts/preList/341/2237.page</link>
				<pubDate><![CDATA[Mon, 26 Jul 2010 20:42:25]]> GMT</pubDate>
				<author><![CDATA[ Dr.Radio]]></author>
			</item>
			<item>
				<title>Lua-программист интерфейсов (Mail.Ru, Astrum Nival). Москва, от 30000 р.</title>
				<description><![CDATA[ Компания Mail.Ru (Astrum Nival) приглашает Lua-программиста пользовательских интерфейсов в студию разработки онлайновых игр.<br /> <br /> Требование:<br /> • Владение скриптовым языком Lua<br /> <br /> Будет плюсом:<br /> • опыт работы по дизайну и программированию интерфейсов в играх;<br /> • хорошее знание Photoshop;<br /> • умение писать техническую документацию;<br /> • Владение ActionScript 2/3;<br /> • опыт работы в игровой индустрии<br /> <br /> Задачи:<br /> • проектирование пользовательских интерфейсов для компьютерной игры; 		<br /> • разработка логики работы графического интерфейса;<br /> • программирование модулей графического интерфейса на языке Lua;<br /> • активная работа в команде;<br /> • ведение документации и микро-планирование;<br /> • поддержка игровых интерфейсов на протяжении цикла жизни проекта.<br /> <br /> <br /> Условия работы:<br /> • Работа в крупнейшей компании-разработчике игр в России.<br /> • Офис на ст.м. "Аэропорт"<br /> • Полный рабочий день (10:00-19:00)<br /> • Заработная плата по результатам собеседования (от 30'000 р. и выше);<br /> • Возможность премий по результатам работы.<br /> • Зарплата полностью "белая", оформление по ТК РФ.<br /> • Возможность профессионального развития и карьерного роста.<br /> <br /> Если наша вакансия Ваc заинтересовала - присылайте подробное резюме на адрес <a class="snap_shots" href="mailto:job.gamedev@corp.mail.ru">job.gamedev@corp.mail.ru</a> (в поле "Тема" обозначьте, <br /> <br /> пожалуйста, название вакансии). <br /> На письмо обязательно будет дан ответ.<br /> ]]></description>
				<guid isPermaLink="true">http://www.lua.ru/forum/posts/preList/340/2228.page</guid>
				<link>http://www.lua.ru/forum/posts/preList/340/2228.page</link>
				<pubDate><![CDATA[Mon, 19 Jul 2010 17:12:53]]> GMT</pubDate>
				<author><![CDATA[ dizer098]]></author>
			</item>
			<item>
				<title>Ошибка в функции. Помогите!</title>
				<description><![CDATA[ Доброго времени суток. Есть некий код в виде функции, который, по непонятным мне причинам, не хочет пахать. Это скрипт от стороннего интерпретатора, поэтому некоторые функции нестандартны. Буду очень признателен, если кто-то разберется и найдет ошибку. Дебагер вещает: attempt to index global 'curFile' (a nil value)<br /> [code]<br /> function File.SplitBinary(filePath, folderPath, size, CallbackFunction)<br /> 	fileSize = File.GetSize(filePath);<br /> 	counter = 1;<br /> 	files = {};<br /> 	fileName = String.SplitPath(filePath).Filename..String.SplitPath(filePath).Extension..".";<br /> 	realpart = io.open(filePath, "rb");<br /> 	<br /> 	while fileSize &gt; 0 do<br /> 		if size &gt; fileSize then<br /> 		size = fileSize;<br /> 		end<br /> 		Table.Insert(files, Table.Count(files)+1, size);<br /> 		fileSize = fileSize-size;<br /> 	end<br /> 	<br /> 	for i=1, Table.Count(files) do<br /> 		if CallbackFunction ~= nil then<br /> 		CallbackFunction(i, Table.Count(files), Math.Round((i/Table.Count(files))*100, 0));<br /> 		end<br /> 		<br /> 		if i &lt; 10 then<br /> 		 cfileName = "00"..i;<br /> 		elseif i &lt; 100 then<br /> 		 cfileName = "0"..i;<br /> 		elseif i &lt; 1000 then<br /> 		 cfileName = i;<br /> 		end<br /> <br /> 		curFile = io.open(folderPath.."\\"..fileName..cfileName, "wb");<br /> 		curPart = realpart:read(String.ToNumber(Table.Concat(files, "", i, i)));<br /> 		curFile:write(curPart);<br /> 		curFile:close();<br /> 	end<br /> <br /> 	realpart:close();<br /> end[/code]<br /> [b]Ошибка при обработке строчки [color=blue]curFile:write(curPart);[/color] (5-ая с конца)[/b]]]></description>
				<guid isPermaLink="true">http://www.lua.ru/forum/posts/preList/339/2216.page</guid>
				<link>http://www.lua.ru/forum/posts/preList/339/2216.page</link>
				<pubDate><![CDATA[Sat, 17 Jul 2010 20:05:51]]> GMT</pubDate>
				<author><![CDATA[ Hammer46]]></author>
			</item>
			<item>
				<title>Mozilla Jetpack + Lua</title>
				<description><![CDATA[ Задача разработать расширение Thunderbird таким образом чтобы вместе с XUL было возможно использовать Lua.<br /> <br /> Есть Mozilla Jetpack, который позволяет добавить язык Python.<br /> <br /> Кто-то из форумчан пробовал добавлять в расширения Mozilla поддержку Lua?]]></description>
				<guid isPermaLink="true">http://www.lua.ru/forum/posts/preList/338/2211.page</guid>
				<link>http://www.lua.ru/forum/posts/preList/338/2211.page</link>
				<pubDate><![CDATA[Fri, 16 Jul 2010 13:15:50]]> GMT</pubDate>
				<author><![CDATA[ al]]></author>
			</item>
			<item>
				<title>Контроль доступа к членам объекта</title>
				<description><![CDATA[ Вот наваял для одного проекта, одно огорчает скорость чтения упала почти в 5 раз<br /> <br /> [code]<br /> item = {}<br /> <br /> function item:get(key)<br />     local private = getmetatable(self)<br />     local val = private[key]<br /> <br />     if not val then<br /> 	val = private.parent[key]<br />     end<br /> <br />     return val<br /> end<br /> <br /> function item:changed(key, val)<br />     print(string.format("Changed %s to %s", key, tostring(val)))<br />     return true<br /> end<br /> <br /> function item:set(key, val)<br />     local private = getmetatable(self)<br /> <br />     if self:changed(key, val) then<br /> 	private[key] = val<br />     end<br /> end<br /> <br /> function item:call(level)<br />     local private = getmetatable(self)<br />     local level = level or 1<br /> <br />     for k,v in pairs(private) do<br />         if type(v) == "table" then<br />             v(level+1)<br />         else<br />             print(level, k,v)<br />         end<br />     end<br /> end<br /> <br /> function item:new(private)<br />     local mt = private or {}<br />     local object = {}<br /> <br />     setmetatable(object, mt)<br /> <br />     mt.__index = self.get<br />     mt.__newindex = self.set<br />     mt.__call = self.call<br />     mt.parent = self<br /> <br />     return object<br /> end<br /> <br /> ---------------------<br /> <br /> readonly = item:new()<br /> <br /> function readonly:changed(key, val)<br />     print(string.format("Imposible %s to %s", key, tostring(val)))<br />     return false<br /> end<br /> <br /> ---------------------<br /> <br /> pref = item:new{<br />     account = 1;<br /> <br />     camera = readonly:new{<br />         preview = item:new{<br />     	    name = "preview",<br />             grayscale = true<br />         };<br /> <br />         action = item:new{<br />     	    name = "action",<br />             grayscale = false<br />         };<br />     };<br /> }<br /> <br /> pref.account = 2<br /> pref.camera.preview = nil<br /> pref.camera.preview.grayscale = false<br /> [/code]<br /> <br /> [quote]<br /> Changed changed to function: 0x804dae8<br /> Changed account to 2<br /> Imposible preview to nil<br /> Changed grayscale to false<br /> [/quote]<br /> <br /> Основная задача была вызывать callback-и при изменении данных ;) В принципе можно легко сделать на каждый "отслеживаемый" член объекта свой callback]]></description>
				<guid isPermaLink="true">http://www.lua.ru/forum/posts/preList/337/2205.page</guid>
				<link>http://www.lua.ru/forum/posts/preList/337/2205.page</link>
				<pubDate><![CDATA[Wed, 14 Jul 2010 11:58:33]]> GMT</pubDate>
				<author><![CDATA[ Strijar]]></author>
			</item>
			<item>
				<title>lua_pushstring ?</title>
				<description><![CDATA[ Всем привет!<br /> <br /> Разъясните пожалуйста такую ситуацию:<br /> <br /> Моя dll взаимодействует с программой через Lua.<br /> <br /> Раньше, когда программа использовала [b]Lua 5.0.2[/b], я мог добавить в стек пустую строку  так:<br /> [code]lua_pushstring (L, "")[/code]<br /> Теперь программа использует [b]Lua 5.1.4[/b] - выше указанный код добавляет в стек [b]nil[/b], вместо строки - почему так? :( <br /> Или это только у меня такое?<br /> <br /> P.S. Если строка не пустая, то все OK. <br /> ]]></description>
				<guid isPermaLink="true">http://www.lua.ru/forum/posts/preList/336/2191.page</guid>
				<link>http://www.lua.ru/forum/posts/preList/336/2191.page</link>
				<pubDate><![CDATA[Sun, 11 Jul 2010 13:52:24]]> GMT</pubDate>
				<author><![CDATA[ Lapex]]></author>
			</item>
			<item>
				<title>Передача переменных C(userdata) &lt;-&gt; Lua</title>
				<description><![CDATA[ Нашёл простой и главное понятный пример <a class="snap_shots" href="http://tracker.coreboot.org/trac/serialice/changeset/86" target="_blank" rel="nofollow">http://tracker.coreboot.org/trac/serialice/changeset/86</a><br /> теперь у меня есть доступ к переменным типа <br /> <br /> tbl.a = 10;<br /> tbl.b = "str";<br /> print( tbl.a, tbl.b );<br /> <br /> А теперь вопросы:<br /> Как сделать обработку произвольной вложенности структур(метатаблиц) ?<br /> например:<br /> tbl.t.a = 10;<br /> подозреваю что на запрос метод (GET / __index) должен вернуть метатаблицу, пока не понимаю как это сделать, ведь tbl регистрировал как глобальную переменную и методы к ней привязывал.<br /> <br /> Вроде есть ещё вариант всё делать через light userdata, и можно одни и те же методы использовать, определяя с чем работаешь по адресу объекта,  но там судя по мануалу (пару строк) тёмный лес.<br /> <br /> Подскажите ссылки на "туториалы", где показано как работать с userdata? <br /> Желательно на обычном Си, т.к. C++ противопоказан в моей системе.]]></description>
				<guid isPermaLink="true">http://www.lua.ru/forum/posts/preList/335/2182.page</guid>
				<link>http://www.lua.ru/forum/posts/preList/335/2182.page</link>
				<pubDate><![CDATA[Fri, 9 Jul 2010 11:23:51]]> GMT</pubDate>
				<author><![CDATA[ jobf]]></author>
			</item>
			<item>
				<title>остановка продолжение скрипта</title>
				<description><![CDATA[ столкнулся с проблемой, наверное детской но с луа только знакомлюсь<br /> задача такая<br /> из луа вызывается функция на С и она выполняется так, что после ее вызова скрипт какбы останавливается<br /> и потом, после некоего действия пользователя нужно както продолжить выполнение скрипта<br /> <br /> вот как это правильно реализовать???<br /> <br /> (чтобы было понятно, показ сообщения и при нажатии кнопки далее возобновление выполнения скрипта)]]></description>
				<guid isPermaLink="true">http://www.lua.ru/forum/posts/preList/334/2180.page</guid>
				<link>http://www.lua.ru/forum/posts/preList/334/2180.page</link>
				<pubDate><![CDATA[Thu, 8 Jul 2010 22:00:29]]> GMT</pubDate>
				<author><![CDATA[ MrGobus]]></author>
			</item>
			<item>
				<title>Как сделать аналог print так чтобы он выводил в output отладчика SciTE</title>
				<description><![CDATA[ Переписал сделал аналог print так, как требует задача.<br /> Код на дельфи.<br /> Вывожу текст с помощью Writeln,<br /> что эквивалентно printf в С++<br /> <br /> Всё работает почти хорошо, за исключением одной детали.<br /> Если отлаживать код в SciTE, то весь мой вывод отображается только после завершения скрипта.<br /> <br /> А если например вызывать то стандартный print , то мою функцию, то по завершению скрипта в output<br /> сначала идут все вызывавшиеся print и только потом мой текст.<br /> <br /> Явно - в output для SciTE надо выводить както по другому.<br /> <br /> Нашёл вот это<br /> <a class="snap_shots" href="http://code.google.com/p/scite-ru/source/browse/branches/scintillua/src/scintilla/src/LexLPeg.cxx?spec=svn1290&r=1290" target="_blank" rel="nofollow">http://code.google.com/p/scite-ru/source/browse/branches/scintillua/src/scintilla/src/LexLPeg.cxx?spec=svn1290&r=1290</a><br /> обрадовался... попробовал... не работает.<br /> lua_getfield(L, LUA_REGISTRYINDEX, "main_win_id");  возращает nil.<br /> <br /> Как правильно вывести в output SciTE свой текст?<br /> ]]></description>
				<guid isPermaLink="true">http://www.lua.ru/forum/posts/preList/333/2179.page</guid>
				<link>http://www.lua.ru/forum/posts/preList/333/2179.page</link>
				<pubDate><![CDATA[Thu, 8 Jul 2010 16:52:00]]> GMT</pubDate>
				<author><![CDATA[ Ling]]></author>
			</item>
			<item>
				<title>как получить из стека функцию lua</title>
				<description><![CDATA[ Здравствуйте <br /> у меня достаточно много функций (описанных в скрипте, а не зарегистрированных С функций), которые я не хотел бы искать каждый раз, когда они потребуются))) <br /> можно ли сохранить один раз эти функции, а потом класть в стек и запускать?<br /> что-то типа:<br /> 1. getfield(lua,-1,funcname)<br /> 2. id = lua_to...(lua,-1)<br /> ...<br /> n-1. lua_push...(lua,id)<br /> n. lua_call(lua,0,0)<br /> <br /> заранее спасибо за возможные ответы)<br /> ]]></description>
				<guid isPermaLink="true">http://www.lua.ru/forum/posts/preList/332/2177.page</guid>
				<link>http://www.lua.ru/forum/posts/preList/332/2177.page</link>
				<pubDate><![CDATA[Thu, 8 Jul 2010 10:03:08]]> GMT</pubDate>
				<author><![CDATA[ sergiokey]]></author>
			</item>
			<item>
				<title>Открытие lua файла</title>
				<description><![CDATA[ Вообшем пре открытии этого файла narod.ru/disk/22329257000/loc_RU.scd.rar.html  сплошные каракули вместо текста.]]></description>
				<guid isPermaLink="true">http://www.lua.ru/forum/posts/preList/331/2168.page</guid>
				<link>http://www.lua.ru/forum/posts/preList/331/2168.page</link>
				<pubDate><![CDATA[Thu, 1 Jul 2010 18:54:44]]> GMT</pubDate>
				<author><![CDATA[ dantt3]]></author>
			</item>
			<item>
				<title>uWSGI</title>
				<description><![CDATA[ Кто-нибудь пробовал [url=http://projects.unbit.it/uwsgi/#LUAWSAPI]uWSGI[/url] в связке с Lua? (написано что есть поддержка LUA WSAPI модулем, и есть модуль для nginx-а, в стандартной поставке в последних версиях)?<br /> Если да, то опишите впечатления :)<br /> <br /> ]]></description>
				<guid isPermaLink="true">http://www.lua.ru/forum/posts/preList/330/2165.page</guid>
				<link>http://www.lua.ru/forum/posts/preList/330/2165.page</link>
				<pubDate><![CDATA[Wed, 30 Jun 2010 20:49:51]]> GMT</pubDate>
				<author><![CDATA[ Yoskaldyr]]></author>
			</item>
			<item>
				<title>Встроить луа-консоль в игру. (перенаправление вывода)</title>
				<description><![CDATA[ Собственно сабж. В последней луа не нахожу lbaselib.c в которой вроде бы должен был бы прописываться print. <br /> Вообще говоря интересно создание полноценного консольного интерпретатора Луа в игре, дабы что либо из Луа части можно было посмотреть\изменить\дополнить "на лету". Ввод организовываю через банальное dostring. а вот ввод... ошибки вывожу, результат - увы нет. Подскажите пожалуйста где копать.<br /> Спасибо!]]></description>
				<guid isPermaLink="true">http://www.lua.ru/forum/posts/preList/329/2161.page</guid>
				<link>http://www.lua.ru/forum/posts/preList/329/2161.page</link>
				<pubDate><![CDATA[Tue, 29 Jun 2010 23:51:43]]> GMT</pubDate>
				<author><![CDATA[ Seagull]]></author>
			</item>
			<item>
				<title>проблемы с условием в if</title>
				<description><![CDATA[ задаю массив<br /> nicktable = {"Kiar"}<br /> <br /> потом по ходу скрипта идет условие, где user.sNick - может быть равен "Kiar" а может быть и не равен.<br />   if nicktable[user.sNick] then<br /> проблема в том что nicktable[user.sNick] всегда возвращает false, независимо от того есть ли в массиве ник или нету.<br /> <br /> в чем проблема? подскажите<br /> <br /> PS lua 5.2]]></description>
				<guid isPermaLink="true">http://www.lua.ru/forum/posts/preList/328/2158.page</guid>
				<link>http://www.lua.ru/forum/posts/preList/328/2158.page</link>
				<pubDate><![CDATA[Mon, 28 Jun 2010 17:56:28]]> GMT</pubDate>
				<author><![CDATA[ Kiar]]></author>
			</item>
			<item>
				<title>Скрипт нажатия кнопки</title>
				<description><![CDATA[ Добрый день<br /> Прошу помощи в написании скрипта для девайса logitech g13.<br /> Не как не удается додумать так сказать логику скрипта в силу незнании языка lua<br /> Есть такой скрипт<br /> [code]function OnEvent(event, arg)<br /> if (event == "G_PRESSED" and arg == 15) then<br />     PressKey("lshift")<br />     end<br /> if (event == "G_RELEASED" and arg == 15) then<br />     ReleaseKey("lshift")<br />     end<br /> end[/code]<br /> <br /> Хочется реализовать такое действие:<br /> Нажимаю кнопку и отпускаю, она нажимается и всем программам кажется что она нажата, нажимаю еще раз ее и она отпускается...<br /> Уже весь мозг сломал, как это реализовать может кто подскажет, это типо капса, если нажал то пишет заглавными, нажал еще раз и пишет обычными:)<br /> Заранее спасибо.]]></description>
				<guid isPermaLink="true">http://www.lua.ru/forum/posts/preList/327/2150.page</guid>
				<link>http://www.lua.ru/forum/posts/preList/327/2150.page</link>
				<pubDate><![CDATA[Sat, 26 Jun 2010 21:52:50]]> GMT</pubDate>
				<author><![CDATA[ graygrayfox]]></author>
			</item>
	</channel>
</rss>