H1TM4N Posted July 20, 2013 Share Posted July 20, 2013 Случайно, вот: local numbers= { "один", "два", "три", "четыре" } for i, tableNumb in ipairs(numbers) do outputChatBox(numbers[Math.random(#numbers)], 255, 0, 0, true ) end да, это почти то что надо. только нужно чтобы сообщения не повторялись. Link to comment
Flaker Posted July 21, 2013 Share Posted July 21, 2013 local tMessages = { "Раз", "Два", "Три", "Четыре" }; math.randomseed( os.time() ); for i = 1, #tMessages do local iRand = math.random( #tMessages ); outputChatBox( tMessages[ iRand ] ); table.remove( tMessages, iRand ); end Link to comment
Memory Posted July 21, 2013 Share Posted July 21, 2013 Здравствуйте, скажите где недочёт, никак не могу сохранить текст. Посылаю через setElementData, проверяю через outputChatBox работает - выводит текст, перезахожу - сохраняю (по идеи), проверяю, значение false. Ошибок никаких не выводит. function onResStartStatus () executeSQLQuery ( "CREATE TABLE IF NOT EXISTS AchStatus ( serial TEXT, nick TEXT, achStatus TEXT NULL )"); end addEventHandler ( "onResourceStart", getResourceRootElement ( getThisResource ( ) ), onResStartStatus ) -------------------------------- function onJoin ( ) local serial = getPlayerSerial ( source ); local Nick = getPlayerName(source); local getAchStatus = executeSQLQuery ( "SELECT achStatus FROM AchStatus WHERE serial=?", serial ); if #getAchStatus ~= 0 then setElementData ( source, "AchStatus", tostring ( getAchStatus[1]["achStatus"]) ); end executeSQLQuery ( "UPDATE AchStatus SET nick=? WHERE serial=?", Nick, serial ); end addEventHandler ( "onPlayerJoin", root, onJoin) ---------------------------------------- function onPlayerQuit ( ) local getActualAchStatus = tostring ( getElementData ( source, "AchStatus" ) ); local serial = getPlayerSerial ( source ); local sqlAchStatus = executeSQLQuery ( "SELECT achStatus FROM AchStatus WHERE serial=?", serial ); if getActualAchStatus then executeSQLQuery ( "UPDATE AchStatus SET achStatus=?", getActualAchStatus, serial ); end end addEventHandler("onPlayerQuit", root, onPlayerQuit) Link to comment
H1TM4N Posted July 21, 2013 Share Posted July 21, 2013 Где можно посмотреть все возможности на подобие новой строки "1/n2/n3" ? Link to comment
TheNormalnij Posted July 21, 2013 Share Posted July 21, 2013 Литеральные строки должны быть заключены в одинарные или двойные кавычки и могут содержать следующие С-подобные escape-поледовательности: '\a' («звонок»), '\b' («забой»), '\f' («перевод страницы»), '\n' («перевод на новую строку»), '\r' («возврат каретки»), '\t' («горизонтальная табуляция»), '\v' («вертикальная табуляция»), '\\\"' («двойная кавычка»), and'\'' (апостроф [«одинарная кавычка»]). Кроме того, обратный слеш ставится перед концом строки в редакторе, когда для удобства набора длинные непрерывные строки записываются в несколько строк. Символ в строке также может быть представлен своим кодом с помощью escape-последовательности \ddd, где ddd- последовательность из не более чем трех цифр. (Заметим, что если после символа, записанного с помощью своего кода, должна идти цифра, то код символа в escape-последовательности должен содержать ровно три цифры). Строки в Lua могут содержать любые 8-битные значения, включая ноль, который записывается как '\0'. Link to comment
_Vincent_ Posted July 21, 2013 Share Posted July 21, 2013 Где можно посмотреть все возможности на подобие новой строки "1/n2/n3" ? http://www.lua.org/pil/2.4.html вроде бы тут Link to comment
Ruga Posted July 21, 2013 Share Posted July 21, 2013 Вот такой вопрос, я что то сам не догоню, прочитываю xml типо такого : local Root = xmlLoadFile ( "name.xml" ) local pullo = xmlFindChild ( Root, "name", 0 ) local min = xmlNodeGetValue ( pullo ) -- и делаю сравнение if(min == n) then -- n это передаваемое значение что вбивает игрок в панель gui пременная min прочитывает только число, как можно прочитать текст и число пример : name >Ruga12 Name в перем. min вместо Value не выходит, хочу что бы можно указывать число и текст, а не только число. вообщем дайте пояснение кому не сложно Link to comment
TheNormalnij Posted July 21, 2013 Share Posted July 21, 2013 я смутно понял, что ты хочешь, но по-моему это то xmlNodeGetAttribute Link to comment
Mephistos Posted July 21, 2013 Share Posted July 21, 2013 Ребят расскажите подробней про функцию getVehicleComponentPosition и пример использования если можно Link to comment
SoliderJah Posted July 21, 2013 Share Posted July 21, 2013 Салют! Вопрос таков: делаю банк-систему по координатам, коронам, интерьерам и пр. И дело в том, что если координаты корон входов-выходов по близости - телепортация идёт на другую корону. Допустим, корона входа в интерьер стоит у одного из входа в Лос Сантосе, а другая корона входа - в Лас Вентурасе. В интерьере также есть короны на эти два входа. Они в одной координате, в одном интерьере, но в разных мирах (dimensions) - почему телепорт идёт не туда куда надо? Если не понятно, распишу подробнее. Link to comment
CocaColaBear Posted July 21, 2013 Share Posted July 21, 2013 Салют! Вопрос таков: делаю банк-систему по координатам, коронам, интерьерам и пр. И дело в том, что если координаты корон входов-выходов по близости - телепортация идёт на другую корону. Допустим, корона входа в интерьер стоит у одного из входа в Лос Сантосе, а другая корона входа - в Лас Вентурасе. В интерьере также есть короны на эти два входа. Они в одной координате, в одном интерьере, но в разных мирах (dimensions) - почему телепорт идёт не туда куда надо? Если не понятно, распишу подробнее. Покажи код события, в котором игрок встает на корону. Походу, проблема в том, что ты не проверяешь из какого мира игрок выходит. Link to comment
Ruga Posted July 21, 2013 Share Posted July 21, 2013 я смутно понял, что ты хочешь, но по-моему это то xmlNodeGetAttribute Да я думал об этом, но тогда нужно присваивать строке атрибут. В принципе так и сделаю)) Link to comment
TheNormalnij Posted July 21, 2013 Share Posted July 21, 2013 Ребят расскажите подробней про функцию getVehicleComponentPosition и пример использования если можно Это получает координаты меша авто, если потренироваться, то можно перемещать их и делать анимации https://wiki.multitheftauto.com/wiki/Vehicle_component_manipulation Link to comment
SoliderJah Posted July 21, 2013 Share Posted July 21, 2013 Салют! Вопрос таков: делаю банк-систему по координатам, коронам, интерьерам и пр. И дело в том, что если координаты корон входов-выходов по близости - телепортация идёт на другую корону. Допустим, корона входа в интерьер стоит у одного из входа в Лос Сантосе, а другая корона входа - в Лас Вентурасе. В интерьере также есть короны на эти два входа. Они в одной координате, в одном интерьере, но в разных мирах (dimensions) - почему телепорт идёт не туда куда надо? Если не понятно, распишу подробнее. Покажи код события, в котором игрок встает на корону. Походу, проблема в том, что ты не проверяешь из какого мира игрок выходит. Если это то, что тебе нужно: "BANK 1" blip="true"> "361.8298" posY="173.6187" posZ="1008.3828" ATM="false" ATMRot="0.0" interior="3" dimension="155484" /> "2412.7126" posY="1123.8426" posZ="10.8203" teleX="387.8428" teleY="173.6187" teleZ="1008.3828" teleRot="90" teleInterior="3" teleDimension="155484"/> "389.8428" posY="173.6187" posZ="1008.3828" teleX="2414.7126" teleY="1123.0426" teleZ="10.8203" teleRot="270" teleInterior="0" teleDimension="0" interior="3" dimension="155484" /> "BANK 2" blip="true"> "361.8301" posY="173.6190" posZ="1008.3831" ATM="false" ATMRot="0.0" interior="3" dimension="158548" /> "1480.9760742188" posY="-1770.7427978516" posZ="18.795755386353" teleX="384.55975341797" teleY="173.64555358887" teleZ="1008.3828125" teleRot="90" teleInterior="3" teleDimension="158548"/> "389.8428" posY="173.6187" posZ="1008.3828" teleX="1481.0814208984" teleY="-1768.5550537109" teleZ="18.795755386353" teleRot="0" teleInterior="0" teleDimension="0" interior="3" dimension="158548" /> Link to comment
Memory Posted July 22, 2013 Share Posted July 22, 2013 Извиняюсь за ре-пост, просто никто вобще ничего не написал по поводу моего сообщения. Хотя бы просто написали что-нибудь, чтобы я знал, что его прочитали. Здравствуйте, скажите где недочёт, никак не могу сохранить текст "AchStatus". Посылаю через setElementData, проверяю тут же через outputChatBox работает - выводит текст. Перезахожу - сохраняю (по идеи кода), проверяю, значение всё-равно false. Код ошибок никаких не выводит. function onResStartStatus () executeSQLQuery ( "CREATE TABLE IF NOT EXISTS AchStatus ( serial TEXT, nick TEXT, achStatus TEXT NULL )"); end addEventHandler ( "onResourceStart", getResourceRootElement ( getThisResource ( ) ), onResStartStatus ) -------------------------------- function onJoin ( ) local serial = getPlayerSerial ( source ); local Nick = getPlayerName(source); local getAchStatus = executeSQLQuery ( "SELECT achStatus FROM AchStatus WHERE serial=?", serial ); if #getAchStatus ~= 0 then setElementData ( source, "AchStatus", tostring ( getAchStatus[1]["achStatus"]) ); end executeSQLQuery ( "UPDATE AchStatus SET nick=? WHERE serial=?", Nick, serial ); end addEventHandler ( "onPlayerJoin", root, onJoin) ---------------------------------------- function onPlayerQuit ( ) local getActualAchStatus = tostring ( getElementData ( source, "AchStatus" ) ); local serial = getPlayerSerial ( source ); local sqlAchStatus = executeSQLQuery ( "SELECT achStatus FROM AchStatus WHERE serial=?", serial ); if getActualAchStatus then executeSQLQuery ( "UPDATE AchStatus SET achStatus=?", getActualAchStatus, serial ); end end addEventHandler("onPlayerQuit", root, onPlayerQuit) Link to comment
TheNormalnij Posted July 22, 2013 Share Posted July 22, 2013 На 22 строке нет услоавия, по которому изменять ( WHERE ) Link to comment
Memory Posted July 22, 2013 Share Posted July 22, 2013 Спасибо, но всё-равно не сохраняет. Поэкспериментировал ещё, всё бесполезно... Link to comment
TheNormalnij Posted July 22, 2013 Share Posted July 22, 2013 Попробуй вставлять outputDebugString( <текст или переменная > ). Можно использовать SQLite database browser, для просмотра базы. Link to comment
H1TM4N Posted July 23, 2013 Share Posted July 23, 2013 removeWorldModel плохо работает. Почти все нужные мне объекты эта функция удаляет без проблем, но есть некоторые объекты, которые не удаляются. Как быть, как их убрать? Link to comment
barmaleychik Posted July 23, 2013 Share Posted July 23, 2013 Пожалуйста исправьте ошибку, я только учусь, вот простенький скрипт, суть бредовая но это для меня важно чисто для понимания. Серверная часть: function nickname (source) ---ф-ция показывающая наш ник local PlayerNickname = getPlayerName ( source ) outputChatBox ( "Мой ник: " ..PlayerNickname ) end addCommandHandler ( "name", nickname ) --вводим /name и запускается ф-ция "nickname" выдающая наш ник в чат-бокс addEvent ( "mynickname", true ) --- создаём ивент "mynickname" для того что бы делать всё то же самое но при нажатии на кнопочку addEventHandler( "mynickname", getRootElement(), nickname ) Клиентская часть ---///////GUI конструкция////////////--- ---окна... кнопки... и прочеее не указываю ибо не важно GUIEditor_Button[1] = guiCreateButton(151,144,122,44,"Показать ник",false,GUIEditor_Window[1]) --- Наша кнопка показывающая ник addEventHandler("onClientGUIClick", GUIEditor_Button[1], function () triggerServerEvent ( "mynickname", getLocalPlayer() ) --- При нажатии кнопки запускается этот триггер вызывающий на серверной части функцию "nickname" end ,false) Ребят подскажите пожалуйста, вот когда ввожу "/name" , срабатывает обработчик addCommandHandler и всё ок, в чат боксе как положено пишет что и должно писать, Мой ник: такой-то. А вот с кнопочкой беда, её жмакаешь, но ничего не происходит. Для многих быть может этот момент покажется нубско смешным, но для меня это очень важно для понимания, пожалуйсто помогите. Спасибо. Link to comment
H1TM4N Posted July 24, 2013 Share Posted July 24, 2013 Пожалуйста исправьте ошибку, я только учусь, вот простенький скрипт, суть бредовая но это для меня важно чисто для понимания.Серверная часть: function nickname (source) ---ф-ция показывающая наш ник local PlayerNickname = getPlayerName ( source ) outputChatBox ( "Мой ник: " ..PlayerNickname ) end addCommandHandler ( "name", nickname ) --вводим /name и запускается ф-ция "nickname" выдающая наш ник в чат-бокс addEvent ( "mynickname", true ) --- создаём ивент "mynickname" для того что бы делать всё то же самое но при нажатии на кнопочку addEventHandler( "mynickname", getRootElement(), nickname ) Клиентская часть ---///////GUI конструкция////////////--- ---окна... кнопки... и прочеее не указываю ибо не важно GUIEditor_Button[1] = guiCreateButton(151,144,122,44,"Показать ник",false,GUIEditor_Window[1]) --- Наша кнопка показывающая ник addEventHandler("onClientGUIClick", GUIEditor_Button[1], function () triggerServerEvent ( "mynickname", getLocalPlayer() ) --- При нажатии кнопки запускается этот триггер вызывающий на серверной части функцию "nickname" end ,false) Ребят подскажите пожалуйста, вот когда ввожу "/name" , срабатывает обработчик addCommandHandler и всё ок, в чат боксе как положено пишет что и должно писать, Мой ник: такой-то. А вот с кнопочкой беда, её жмакаешь, но ничего не происходит. Для многих быть может этот момент покажется нубско смешным, но для меня это очень важно для понимания, пожалуйсто помогите. Спасибо. взглядом пробежал, вроде ты неправильно использовал это outputChatBox , почитай про эту функцию. Link to comment
nikitafloy Posted July 24, 2013 Share Posted July 24, 2013 getPlayerMoney expected number at argument... got nil. function money ( ) randcash = math.random ( 400, 1200 ) givePlayerMoney ( player, randcash ) outputChatBox( "Денежный бонус в этом часу - #FFF700"..randcash.."#04F204.", 4, 242, 4, true ) end setTimer ( money, 18000, 5 ) 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