Other Languages Moderators Disinterpreter Posted August 8, 2014 Other Languages Moderators Share Posted August 8, 2014 Копайся сам в своем коде. Ищи createBlip или createBlipAttachedTo Я их найду, не переживай. Вопрос имел упор на стандартное отображение игроков на радаре/карте. Изначально на миникарте никто не отображается. Это все сделано скриптингом. Link to comment
asdf Posted August 8, 2014 Share Posted August 8, 2014 Изначально на миникарте никто не отображается. Это все сделано скриптингом. Вот блин.. Я просто тестил преимущественно сам, поэтому этого не замечал. Думал, что у меня один из модов убирает отображение игроков на миникарте и основной карте на весь экран. Значит буду копать в другой направлении. Link to comment
asdf Posted August 9, 2014 Share Posted August 9, 2014 local moneyam = getElementData(thePlayer, "money") if(moneyam > 0) then return moneyam elseif moneyam == 0 then return 0 ERROR: global/s_money_globals.lua:134: attempt to concatenate local 'moneyam' (a boolean valu e) Что тут не так? Возвращать то должно число, а не bool Link to comment
AMARANT Posted August 9, 2014 Share Posted August 9, 2014 Значит переменная возвращает false. Проверьте значение в том месте где вы присваиваете эту элемент дату. Link to comment
asdf Posted August 10, 2014 Share Posted August 10, 2014 Значит переменная возвращает false. Проверьте значение в том месте где вы присваиваете эту элемент дату. Она не может возвращать false, ибо через outputchatbox выводится то кол-во денег, которое имею с собой в игре. Неправильно задано условие может? Link to comment
AMARANT Posted August 10, 2014 Share Posted August 10, 2014 Ошибка в дебаге свидетельствует о том, что переменная 'moneyam' возвращает именно булевое значение, а значит это может быть либо true, либо false. Не могли бы вы скинуть полный код в таком случае. Link to comment
TheNormalnij Posted August 10, 2014 Share Posted August 10, 2014 Наверное, вы не ту строку нам скинули, эта может дать ошибку типа 'attempt to compare number with boolean'. Где-то должна быть операция скленивания строк ( та которая 'concatenate', .. ). Link to comment
asdf Posted August 10, 2014 Share Posted August 10, 2014 function getMoney(thePlayer) local moneyam = getElementData(thePlayer, "money") if(moneyam > 0) then return moneyam elseif moneyam == 0 then return 0 end end Link to comment
AMARANT Posted August 10, 2014 Share Posted August 10, 2014 function getMoney(thePlayer) local moneyam = getElementData(thePlayer, "money") if(moneyam > 0) then return moneyam elseif moneyam == 0 then return 0 end end Этот код правильный, но он мало о чем говорит. Вы не привели момент, где вы присваиваете эту элемент дату и момент, где пытаетесь конкатенировать (склеить) эту дату с чем-либо. Link to comment
DakiLLa Posted August 10, 2014 Share Posted August 10, 2014 Проблема еще может быть в том, что до того, как вы вызываете getMoney(), у игрока нет установленных на нем данных в ключе "money". Поэтому getElementData возвращает false. Предварительно установите ему какое-нибудь значение в этом ключе, например при заходе на сервер: addEventHandler( 'onPlayerJoin', root, function() setElementData( source, "money", 0 ) end ) Link to comment
asdf Posted August 10, 2014 Share Posted August 10, 2014 Проблема еще может быть в том, что до того, как вы вызываете getMoney(), у игрока нет установленных на нем данных в ключе "money". Поэтому getElementData возвращает false. Предварительно установите ему какое-нибудь значение в этом ключе, например при заходе на сервер: addEventHandler( 'onPlayerJoin', root, function() setElementData( source, "money", 0 ) end ) Проверю наличие установки данных о деньгах в этом ключе Спасибо upd1 С маркерами на карте разобрался, спасибо всем за инфу Link to comment
asdf Posted August 10, 2014 Share Posted August 10, 2014 Вот интересно стало Почему в запросе sql используется для последней колонки такой вид INSERT INTO asd SET ....., rotation='" .. mysql:escape_string(rotation) .. "',`limit`=5555") В предыдущие поля подставляются значения посредством ' " .. mysql:escape_string(argument) .. " ', а в последнее так. Причём если сделать его, как и остальные - вечные ошибки при запросе. Кто просветит меня? (: Link to comment
lcd1232 Posted August 11, 2014 Share Posted August 11, 2014 Если ввести в автомобиле outputChatBox( tostring( not getVehicleType( theVehicle ) == 'Automobile' ) ) то выводит false, однако если ввести outputChatBox( tostring( not getVehicleType( theVehicle ) == 'Plane' ) ) то выводит все равно false. В чем проблема? И как узнать какое расстояние прошел автомобиль за какой-то промежуток времени? (можно по разнице координат, но может он ездит вперед, назад) Link to comment
Nodward_Nichrome Posted August 11, 2014 Share Posted August 11, 2014 попробуй двойные кавычки использовать Link to comment
AMARANT Posted August 11, 2014 Share Posted August 11, 2014 Если ввести в автомобилеoutputChatBox( tostring( not getVehicleType( theVehicle ) == 'Automobile' ) ) то выводит false, однако если ввести outputChatBox( tostring( not getVehicleType( theVehicle ) == 'Plane' ) ) то выводит все равно false. В чем проблема? И как узнать какое расстояние прошел автомобиль за какой-то промежуток времени? (можно по разнице координат, но может он ездит вперед, назад) По первому вопросу, возможно элемент theVehicle возвращает false, проверьте сперва это. Насчет второго вопроса, как вариант, рендер на клиенте + вычисление разницы 3D координат. И неважно, едите вы вперед или назад. Link to comment
lcd1232 Posted August 11, 2014 Share Posted August 11, 2014 По первому вопросу, возможно элемент theVehicle возвращает false, проверьте сперва это. Нет, элемент theVehicle существует, просто во втором случае он не хочет инвертировать (not). Еще вопрос: функция setHelicopterRotorSpeed работает странно, например нужно вызывать её при событии onClientPreRender каждый раз, чтобы пропеллер не крутился. Link to comment
asdf Posted August 14, 2014 Share Posted August 14, 2014 Подскажите, какой функцией можно получить текущую дату и время сервера через скрипт? Нужно для записи в поле "дата регистрации" в mysql. По аналогии с php'шной NOW() Link to comment
Other Languages Moderators Disinterpreter Posted August 14, 2014 Other Languages Moderators Share Posted August 14, 2014 Подскажите, какой функцией можно получить текущую дату и время сервера через скрипт?Нужно для записи в поле "дата регистрации" в mysql. По аналогии с php'шной NOW() https://wiki.multitheftauto.com/wiki/GetRealTime оно? И функция NOW() же не из php а из SQL вроде как. Link to comment
Elengar Posted August 14, 2014 Share Posted August 14, 2014 Подскажите, какой функцией можно получить текущую дату и время сервера через скрипт?Нужно для записи в поле "дата регистрации" в mysql. По аналогии с php'шной NOW() Так это ж mysql'ная фунция. В запросе ее пропиши. Например вот так INSERT INTO 'table' ('lal') VALUES (NOW()) // or UPDATE table SET lal = NOW() WHERE 1; UPD: Не видел прошлый ответ, т.к. открыл много разных страниц и начал читать, пока дошло до этой - появился ответ выше. Link to comment
asdf Posted August 14, 2014 Share Posted August 14, 2014 Спасибо, ребят. Попробую воспользоваться стандартным NOW() в запросе (перепутал php и mysql )) А функций, определяющих страну, или модулей, нет случайно? Link to comment
Kenix Posted August 14, 2014 Share Posted August 14, 2014 Функция getPlayerCountry (если не ошибаюсь) в ресурсе admin от lil Toady. Проверяет по базе geo ip. P.s до этого просили аналог NOW только в Lua, собственно вот, если нужен формат timestamp, кому надо для динамических операций используйте. https://wiki.multitheftauto.com/wiki/GetTimestamp Link to comment
asdf Posted August 15, 2014 Share Posted August 15, 2014 Спасибо большое =) Будет в запасе ещё одна полезная функция. Link to comment
asdf Posted August 15, 2014 Share Posted August 15, 2014 На виндовом сервере наотрез отказывается запускать модуль mysql Всё время пишет MODULE: Unable to load modules/mta_mysql.dll! Модуль сам лежит в папке modules. В чём соль? Link to comment
Other Languages Moderators Disinterpreter Posted August 15, 2014 Other Languages Moderators Share Posted August 15, 2014 На виндовом сервере наотрез отказывается запускать модуль mysqlВсё время пишет MODULE: Unable to load modules/mta_mysql.dll! Модуль сам лежит в папке modules. В чём соль? Нужна библиотека libmysql.dll и mta_mysql.dll должна соответствовать разрядности сервера. Модуль уже старый и я не советую его использовать. Лучше пользоваться встроенными функциями. 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