_Dark_ Posted November 18, 2011 Share Posted November 18, 2011 Немного не понял. Вот, допустим, есть код: MySQL = mysql_connect(host, user, pass, database) как использовать переменную MySQL, содержащую указатель подключения в других ресурсах? Link to comment
Other Languages Moderators Disinterpreter Posted November 18, 2011 Other Languages Moderators Share Posted November 18, 2011 Если ты делаешь в функции, то может экспорт функции поможет? Link to comment
Kernell Posted November 18, 2011 Share Posted November 18, 2011 Возьмите MySQL ресурс из парадиса. Там всё через экспорты. Подключение к базе идёт автоматически как запустится ресурс. Очень прост в использовании. https://github.com/mabako/mta-paradise/ ... ources/sql Link to comment
MX_Master Posted November 18, 2011 Share Posted November 18, 2011 в данные ресурса добавьте этот хэндл мускул соединения local link = mysql_connect( host, user, pass, database ) setElementData( resource, 'MySQL_link', link ) тогда можно будет у каждого ресурса узнать какой хэндл он юзает. Можно добавить этот хэндл в базовый ресурс, а все подресурсы будут брать хэндл из свойств базового ресурса. Link to comment
_Dark_ Posted November 18, 2011 Share Posted November 18, 2011 Возьмите MySQL ресурс из парадиса. Там всё через экспорты. Подключение к базе идёт автоматически как запустится ресурс. Очень прост в использовании.https://github.com/mabako/mta-paradise/ ... ources/sql Не нужен мне этот ресурс. Мне нужно просто передавать один линк соединения между ресурсами. в данные ресурса добавьте этот хэндл мускул соединения local link = mysql_connect( host, user, pass, database ) setElementData( resource, 'MySQL_link', link ) тогда можно будет у каждого ресурса узнать какой хэндл он юзает. Можно добавить этот хэндл в базовый ресурс, а все подресурсы будут брать хэндл из свойств базового ресурса. Ничего не понял. Можно подробнее, пожалуйста? Мне нужно, что бы я мог в одном ресурсе установить подключение, а в остальных не заново подключаться, а использовать то, которое я уже установил. Link to comment
Kernell Posted November 18, 2011 Share Posted November 18, 2011 При подключении делаете то что написал MX_Master, а в ресурсах получаете хендл MySQL через getElementData. Link to comment
_Dark_ Posted November 18, 2011 Share Posted November 18, 2011 Не знаю что со мной такое, все равно не доходит Вот есть ресурс logic. В одном из его файлов: function startMySQL ( host, user, pass, database) MySQL = mysql_connect(host, user, pass, database) if MySQL then outputDebugString("[DarkLiFe] MySQL: connection established!") else outputDebugString("[DarkLiFe] ERROR: MYSQL CONNECTION FAILED") end end в другом файле другого ресурса есть код: mysql_query(mysql_handler, "INSERT INTO `users` SET `login` = '".. login .."', `password` = '".. password .."'")--где mysql_handler - линк подключения. можете дать готовый код, как передать линк между двумя ресурсами? Я не понимаю чего-то, видимо сказывается время провождения за кодом Link to comment
MX_Master Posted November 18, 2011 Share Posted November 18, 2011 главный ресурс function startMySQL ( host, user, pass, database) MySQL = mysql_connect(host, user, pass, database) if MySQL then outputDebugString("[DarkLiFe] MySQL: connection established!") setElementData( resource, 'MySQL_link', MySQL ) else outputDebugString("[DarkLiFe] ERROR: MYSQL CONNECTION FAILED") end end в другом файле другого ресурса: mysql_handler = getElementData( getResourceFromName('Название_главного_ресурса'), 'MySQL_link' ) mysql_query(mysql_handler, "INSERT INTO `users` SET `login` = '".. login .."', `password` = '".. password .."'")--где mysql_handler - линк подключения. Link to comment
_Dark_ Posted November 18, 2011 Share Posted November 18, 2011 Все, дошло. Спасибо большое! Правда, вот setElementData( getThisResource(), 'MySQL', MySQL ) Bad argument @ 'setElementData' [Expected element at argument 1, got resource-data] Link to comment
MX_Master Posted November 18, 2011 Share Posted November 18, 2011 Все, дошло. Спасибо большое!Правда, вот setElementData( getThisResource(), 'MySQL', MySQL ) Bad argument @ 'setElementData' [Expected element at argument 1, got resource-data] setElementData( resourceRoot, 'MySQL', MySQL ) можно так Link to comment
_Dark_ Posted November 18, 2011 Share Posted November 18, 2011 Все, дошло. Спасибо большое!Правда, вот setElementData( getThisResource(), 'MySQL', MySQL ) Bad argument @ 'setElementData' [Expected element at argument 1, got resource-data] setElementData( resource, 'MySQL', MySQL ) Ну я так вначале и сделал, но ошибка такая же. Link to comment
MX_Master Posted November 18, 2011 Share Posted November 18, 2011 setElementData( resourceRoot, 'MySQL', MySQL ) Link to comment
_Dark_ Posted November 18, 2011 Share Posted November 18, 2011 Couldn't packetize argument list, unknown type specified. Link to comment
MX_Master Posted November 18, 2011 Share Posted November 18, 2011 хотя постой setElementData( resourceRoot, 'MySQL', MySQL, false ) Link to comment
_Dark_ Posted November 18, 2011 Share Posted November 18, 2011 Короче сейчас возьму наверно и напишу отдельный ресурс как в Paradise RP. На этом все и закончится Правда, опять возникает вопрос: получается, если я буду его инклудить в каждом ресурсе, то будет установлено несколько подключений. Так ведь? Меня вот интересует: PHP - понятно, код отработал, завершил работу. А MTA с Lua как? Ресурс он все время висит или тоже завершает свою работу? Когда ресурс запускается, а когда останавливается? Вот он запуститься при включении сервера. Приинклудил ресурс с MySQL. Подключение создалось. Остается в фоне. Потом второй ресурс запустился, опять подключение, опять в фоне. Так ведь? Link to comment
_Dark_ Posted November 18, 2011 Share Posted November 18, 2011 хотя постой setElementData( resourceRoot, 'MySQL', MySQL, false ) да если бы Нет, ошибка. Link to comment
MX_Master Posted November 18, 2011 Share Posted November 18, 2011 Ну попробуй юзать стандартные функции, а не плагин. Я ваще не юзал и не знаю какого типа хэндл возвращается при конекте через плагин. Через встроенную функцию конекта возвращается как раз элемент. Link to comment
_Dark_ Posted November 18, 2011 Share Posted November 18, 2011 Так, стоп. Если ресурс запускается при старте и висит все время в фоне не выгружаясь, то получается, что подключение будет установлено всего один раз? Меня интересует: как инклудятся ресурсы? По команде resource = "MySQL" /> что произойдет? Запустится еще раз этот ресурс? А тот первый останется висеть в фоне? Ну попробуй юзать стандартные функции, а не плагин. Я ваще не юзал и не знаю какого типа хэндл возвращается при конекте через плагин. Через встроенную функцию конекта возвращается как раз элемент. Модуль удобнее вроде будет... Хотя мне сейчас хреново уже разбираться в нем Link to comment
MX_Master Posted November 18, 2011 Share Posted November 18, 2011 Если при выгрузке ресурса, конект закрываешь, то всегда будет при старте конектится только 1 раз. ИМХО, встроенные функции проще, а плагин - привычнее на вид. Link to comment
_Dark_ Posted November 18, 2011 Share Posted November 18, 2011 Если при выгрузке ресурса, конект закрываешь, то всегда будет при старте конектится только 1 раз.ИМХО, встроенные функции проще, а плагин - привычнее на вид. Т.е. если при onResourceStop disconnect, а при onResourceStart - connect, то будет только одно подключение? Тогда хорошо. Плагин - да, привычнее на вид. Ф-ии и язык как в PHP, теже ассоциативные массивы, все тоже. Поэтому мне так легче Link to comment
_Dark_ Posted November 19, 2011 Share Posted November 19, 2011 Я все таки решил присмотреться к стандартным функциям работы с ДБ. Вот такой вопрос: как получить ассоциативный массив из запроса? В MySQL это mysql_fetch_assoc. А как стандартными функциями? Link to comment
MX_Master Posted November 20, 2011 Share Posted November 20, 2011 Я все таки решил присмотреться к стандартным функциям работы с ДБ.Вот такой вопрос: как получить ассоциативный массив из запроса? В MySQL это mysql_fetch_assoc. А как стандартными функциями? Я думаю этот вопрос будет интерес многим скриптерам, поэтому я напишу небольшой мануалЬчик отдельной темой.. Link to comment
_Dark_ Posted November 20, 2011 Share Posted November 20, 2011 Я все таки решил присмотреться к стандартным функциям работы с ДБ.Вот такой вопрос: как получить ассоциативный массив из запроса? В MySQL это mysql_fetch_assoc. А как стандартными функциями? Я думаю этот вопрос будет интерес многим скриптерам, поэтому я напишу небольшой мануалЬчик отдельной темой.. Когда его ждать можно? Link to comment
StUNt71 Posted November 20, 2011 Share Posted November 20, 2011 Не работает код: -- событие стоит в запуске ресурса. for _, vehicle in ipairs(getElementsByType("vehicle")) do setVehicleRespawnDelay(vehicle, 5000) setVehicleIdleRespawnDelay(vehicle, 5000) end После взрыва авто не появляется. ------------------------ Забыл про toggleVehicleRespawn(vehicle, true) 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