..:D&G:.. Posted June 16, 2013 Share Posted June 16, 2013 Hi, when I start this script I got an error, then when I change what the error tells me then I get other error, so I left it original and maybe someone can help me local elements = { } local function loadText( id, text, x, y, z, interior, dimension ) local element = createElement( "3dtext" ) setElementPosition( element, x, y, z ) setElementInterior( element, interior ) setElementDimension( element, dimension ) setElementData( element, "text", tostring( text ) ) elements[ id ] = element end addEventHandler( "onResourceStart", resourceRoot, function( ) -- check for our table to exist if not exports.sql:create_table( '3dtext', { { name = 'textID', type = 'int(10) unsigned', auto_increment = true, primary_key = true }, { name = 'text', type = 'text' }, { name = 'x', type = 'float' }, { name = 'y', type = 'float' }, { name = 'z', type = 'float' }, { name = 'interior', type = 'tinyint(3) unsigned' }, { name = 'dimension', type = 'int(10) unsigned' }, } ) then cancelEvent( ) return end -- local result = exports.sql:query_assoc( "SELECT * FROM 3dtext ORDER BY textID ASC" ) if result then for key, data in ipairs( result ) do loadText( data.textID, data.text, data.x, data.y, data.z, data.interior, data.dimension ) end end end ) addCommandHandler( "createtext", function( player, commandName, ... ) if (exports.global:isPlayerLeadAdmin(player)) then local text = table.concat( { ... }, " " ) local x, y, z = getElementPosition( player ) local insertid,e = exports.sql:query_insertid( "INSERT INTO 3dtext (`text`, x, y, z, interior, dimension) VALUES (" .. table.concat( { "'%s'", x, y, z, getElementInterior( player ), getElementDimension( player ) }, ", " ) .. ")", text ) if insertid then loadText( insertid, text, x, y, z, getElementInterior( player ), getElementDimension( player ) ) outputChatBox( "Text created. (ID " .. insertid .. ")", player, 0, 255, 0 ) else outputDebugString( e ) outputChatBox( "MySQL-Query failed.", player, 255, 0, 0 ) end else outputChatBox( "Syntax: /" .. commandName .. " [text]", player, 255, 255, 255 ) end end, true ) addCommandHandler( "deletetext", function( player, commandName, textID ) if (exports.global:isPlayerLeadAdmin(player)) then textID = tonumber( textID ) if textID then local element = elements[ textID ] if element then if exports.sql:query_free( "DELETE FROM 3dtext WHERE textID = " .. textID ) then outputChatBox( "You deleted text " .. textID .. ".", player, 0, 255, 153 ) destroyElement( element ) -- remove the reference elements[ textID ] = nil else outputChatBox( "MySQL-Query failed.", player, 255, 0, 0 ) end else outputChatBox( "Text not found.", player, 255, 0, 0 ) end else outputChatBox( "Syntax: /" .. commandName .. " [id]", player, 255, 255, 255 ) end end ) addCommandHandler( "nearbytexts", function( player, commandName ) if (exports.global:isPlayerLeadAdmin(player)) then local x, y, z = getElementPosition( player ) local dimension = getElementDimension( player ) local interior = getElementInterior( player ) outputChatBox( "Nearby Texts:", player, 255, 255, 0 ) for key, element in pairs( elements ) do if getElementDimension( element ) == dimension and getElementInterior( element ) == interior then local distance = getDistanceBetweenPoints3D( x, y, z, getElementPosition( element ) ) if distance < 20 then outputChatBox( " Text " .. key .. ": " .. tostring( getElementData( element, "text" ) ), player, 255, 255, 0 ) end end end end end ) ERROR: 3dtext/3dtext.lua:81: unexpected symbol near ')' Link to comment
Castillo Posted June 16, 2013 Share Posted June 16, 2013 local elements = { } local function loadText( id, text, x, y, z, interior, dimension ) local element = createElement( "3dtext" ) setElementPosition( element, x, y, z ) setElementInterior( element, interior ) setElementDimension( element, dimension ) setElementData( element, "text", tostring( text ) ) elements[ id ] = element end addEventHandler( "onResourceStart", resourceRoot, function( ) -- check for our table to exist if not exports.sql:create_table( '3dtext', { { name = 'textID', type = 'int(10) unsigned', auto_increment = true, primary_key = true }, { name = 'text', type = 'text' }, { name = 'x', type = 'float' }, { name = 'y', type = 'float' }, { name = 'z', type = 'float' }, { name = 'interior', type = 'tinyint(3) unsigned' }, { name = 'dimension', type = 'int(10) unsigned' }, } ) then cancelEvent( ) return end -- local result = exports.sql:query_assoc( "SELECT * FROM 3dtext ORDER BY textID ASC" ) if result then for key, data in ipairs( result ) do loadText( data.textID, data.text, data.x, data.y, data.z, data.interior, data.dimension ) end end end ) addCommandHandler( "createtext", function( player, commandName, ... ) if (exports.global:isPlayerLeadAdmin(player)) then local text = table.concat( { ... }, " " ) local x, y, z = getElementPosition( player ) local insertid,e = exports.sql:query_insertid( "INSERT INTO 3dtext (`text`, x, y, z, interior, dimension) VALUES (" .. table.concat( { "'%s'", x, y, z, getElementInterior( player ), getElementDimension( player ) }, ", " ) .. ")", text ) if insertid then loadText( insertid, text, x, y, z, getElementInterior( player ), getElementDimension( player ) ) outputChatBox( "Text created. (ID " .. insertid .. ")", player, 0, 255, 0 ) else outputDebugString( e ) outputChatBox( "MySQL-Query failed.", player, 255, 0, 0 ) end else outputChatBox( "Syntax: /" .. commandName .. " [text]", player, 255, 255, 255 ) end end, true ) addCommandHandler( "deletetext", function( player, commandName, textID ) if (exports.global:isPlayerLeadAdmin(player)) then textID = tonumber( textID ) if textID then local element = elements[ textID ] if element then if exports.sql:query_free( "DELETE FROM 3dtext WHERE textID = " .. textID ) then outputChatBox( "You deleted text " .. textID .. ".", player, 0, 255, 153 ) destroyElement( element ) -- remove the reference elements[ textID ] = nil else outputChatBox( "MySQL-Query failed.", player, 255, 0, 0 ) end else outputChatBox( "Text not found.", player, 255, 0, 0 ) end else outputChatBox( "Syntax: /" .. commandName .. " [id]", player, 255, 255, 255 ) end end end ) addCommandHandler( "nearbytexts", function( player, commandName ) if (exports.global:isPlayerLeadAdmin(player)) then local x, y, z = getElementPosition( player ) local dimension = getElementDimension( player ) local interior = getElementInterior( player ) outputChatBox( "Nearby Texts:", player, 255, 255, 0 ) for key, element in pairs( elements ) do if getElementDimension( element ) == dimension and getElementInterior( element ) == interior then local distance = getDistanceBetweenPoints3D( x, y, z, getElementPosition( element ) ) if distance < 20 then outputChatBox( " Text " .. key .. ": " .. tostring( getElementData( element, "text" ) ), player, 255, 255, 0 ) end end end end end ) You had a missing 'end'. Link to comment
..:D&G:.. Posted June 16, 2013 Author Share Posted June 16, 2013 I can only use /deletetext and /nearbytext... But I can't create, I don't even get the syntaxa.. Link to comment
..:D&G:.. Posted July 16, 2013 Author Share Posted July 16, 2013 Well, no errors but I can only create a pickup when I am logged in as a administrator by the default mta login system... I don't see what makes this thing... 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