Jump to content

aka Blue

Members
  • Posts

    2,106
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by aka Blue

  1. Change it on the meta.xml. Type = client, not server.
  2. This is because, the function is called 'showCursor' and this already exists. Remember too, that onClientClick is Client-Side function, then you need to use localPlayer for the elementData. Try this, should work: local player = getLocalPlayer ( ) function startEdit ( ) local adminlevel = getElementData ( player, "admin.number" ) or 0 if ( adminlevel >= 2 ) then showCursor ( true ) setElementData ( player, "editing", true ) outputChatBox("[Texture Mode ON] Please, select an object.", player, 255, 255, 255) end end addCommandHandler ( "texon", startEdit ) addEventHandler ( "onClientClick", getRootElement ( ), function ( button, state, _, _, _, _, _, clickedElement ) if ( getElementData ( source, "editing" ) == true ) then if ( button == "left" ) and ( state == "down" ) then if ( clickedElement ) then setElementData(player, "underEdit", true) showCursor ( false ) outputChatBox("Object selected", player, 255, 255, 255) end end end end )
  3. Si, ese es. Gracias a los dos
  4. Buenas, estaba buscando un script que cuando te acercas a un vehículo, te da la opción de abrir la puerta más cercana a la que estás del mismo con la 'M' así también cerrarla con una animación. Me vendría muy bien para una función que estoy haciendo, ¿alguien sabe cómo se llama? Gracias de antemano.
  5. Damn, it's so nice dude, keep it up!
  6. You can use this, for example: addCommandHandler ( "myparachute", function ( player, commandName ) outputChatBox ( "Parachute in your inventory added.", player, 0, 255, 0 ) giveWeapon ( player, 46, 1) end )
  7. Use createProjectile and getCursorPosition
  8. Try this. I was made it for Sweepers but should work for other vehicles: for _, vehiculo in ipairs ( getElementsByType ( 'vehicle' ) ) do if getElementModel ( vehiculo ) == 574 then setVehicleHandling(vehiculo, "maxVelocity", 120.0) setVehicleHandling(vehiculo, "engineAcceleration", 10.0 ) end end
  9. ¿Y si los insertas en una tabla y después compruebas desde la misma si están dentro?
  10. Creo que era esto. No te lo aseguro al 100%: TextCreateDisplay
  11. I don't wanna open the script and find this if you understand... addCommandHandler ( "suckit", function ( yourmoney, to, me ) outputChatBox ( "Fuck you." ) end ) Screenshots pls.
  12. Acabé haciéndolo a mi manera. Gracias @starksZ, la verdad es que no me vino a la cabeza eso de WHERE... a veces pasa . addCommandHandler ( "pagarmulta", function ( player, commandName, id ) local charID = exports.players:getCharacterID ( player ) if exports.players:isLoggedIn ( player ) then if id then local result = exports.sql:query_assoc( "SELECT * FROM multas WHERE characterID = "..charID.." AND id = "..id ) if result then for k, data in ipairs ( result ) do if data.estado == 'Pendiente' then local cantidad = data.cantidad local id = data.id takePlayerMoney ( player, cantidad ) outputChatBox ( "Has pagado $"..cantidad.." para pagar la multa con ID: "..id, player, 255, 255, 0 ) exports.sql:query_free( "UPDATE multas SET estado = 'Pagado' WHERE characterID = " .. charID .. " AND id = "..id ) else outputChatBox ( "La multa con ID: "..id.." ya está pagada.", player, 255, 255, 0 ) end end end else outputChatBox ( "Syntax: /pagarmulta [id]", player, 255, 255, 255 ) end end end )
  13. Básicamente sería utilizar UPDATE y poner el estado 'PAGADO'. Voy a probarlo, gracias @starksZ
  14. Bueno, pues estaba creando un sistema de multas con guardado a MySQL para evitar que las multas se pierdan cuando el jugador cambia de personaje (sistema de lo más sencillo) y lo que quiero hacer que por ahora no he encontrado solución es que, al poner /multas, aparezcan las multas que tiene pendiente (hecho) pero y que al usar /pagarmulta ID, pague la multa que tiene pendiente el personaje (en eso tengo dudas). Dejo el código por aquí porque es algo que todos podrían hacer. Creación de la tabla y comando /multar con el almacenamiento en MySQL. addEventHandler( "onResourceStart", resourceRoot, function( ) if not exports.sql:create_table( 'multas', { { name = 'id', type = 'int(10) unsigned', auto_increment = true, primary_key = true }, { name = 'characterID', type = 'int(10) unsigned' }, { name = 'estado', type = 'varchar(225)' }, { name = 'cantidad', type = 'int(10) unsigned' }, { name = 'razon', type = 'varchar(225)' }, } ) then cancelEvent( ) return end end ) addCommandHandler ( "multar", function ( player, commandName, other, cantidad, razon ) local other, name = exports.players:getFromName ( player, other ) local cantidad = tonumber ( cantidad ) local razon = table.concat ( { razon }, " " ) if ( exports.factions:isPlayerInFaction ( player, 1 ) ) then if other and cantidad and razon then local x, y, z = getElementPosition ( player ) local x1, y1, z1 = getElementPosition ( other ) local distance = getDistanceBetweenPoints3D ( x, y, z, x1, y1, z1 ) if ( distance < 3 ) then local ID = exports.players:getCharacterID ( other ) local result, error = exports.sql:query_insertid( "INSERT INTO multas (characterID, estado, cantidad, razon) VALUES (".. ID..",'Pendiente',".. cantidad..",'".. razon.."')" ) if result then outputChatBox(" ---- Multa ----", other, 0, 192, 96 ) outputChatBox(" Razon: ".. razon, other, 255, 255, 0 ) outputChatBox(" Cantidad: ".. cantidad, other, 255, 255, 0 ) outputChatBox(" Usa /multas y /pagamulta [id] para pagar.", other, 255, 255, 0 ) outputChatBox(" -------------", other, 0, 192, 96 ) exports.chat:me ( player, "le entrega una multa a ".. name) else outputChatBox ( "Error MySQL", player, 255, 0, 0 ) end end else outputChatBox ( "Syntax: /multar [id] [cantidad] [razon]", player, 255, 255, 255 ) end end end ) Ver las multas y su id (funciona correctamente) addCommandHandler ( "multas", function ( player ) local id = exports.players:getCharacterID ( player ) local result = exports.sql:query_assoc( "SELECT * FROM multas ORDER BY "..id.." ASC" ) if result then for k, v in ipairs ( result ) do local id = v.id local estado = v.estado local razon = v.razon local cantidad = v.cantidad outputChatBox ( "Multas pendientes:", player, 255, 255, 0 ) outputChatBox ( id..": Estado: "..estado.. " Cantidad: "..cantidad.." Razon: "..razon, player, 0, 255, 120 ) end else outputChatBox ( "Error MySQL", player, 255, 0, 0 ) end end ) Pagar la multa con x id. Aquí es donde me he hecho el lio de dios. addCommandHandler ( "pagamulta", function ( player, cmd, id ) if id then local result = exports.sql:query_assoc( "SELECT * FROM multas ORDER BY "..id.." ASC" ) if result then for k, v in ipairs ( result ) do local ID = v.id local cantidad = v.cantidad [ID] outputChatBox ( "Has pagado la multa con ID "..tonumber ( ID ), player, 255, 255, 0 ) takeMoney ( player, cantidad ) end end else outputChatBox ( "Syntax: /pagamulta [id]", player, 255, 255, 255 ) end end )
  15. Es una lástima que cierre, en serio. El Roleplay de MTA necesitaba algo más de originalidad e innovación, lo cual, vosotros conseguisteis. Una pena en serio. Suerte en todo lo que hagan
  16. Try this function friend: function RGBToHex(red, green, blue, alpha) if((red < 0 or red > 255 or green < 0 or green > 255 or blue < 0 or blue > 255) or (alpha and (alpha < 0 or alpha > 255))) then return nil end if(alpha) then return string.format("#%.2X%.2X%.2X%.2X", red,green,blue,alpha) else return string.format("#%.2X%.2X%.2X", red,green,blue) end end
  17. Tengo información de que un grupo anda robando scripts de Roleplay así que no me quiero arriesgar mucho. PD: Aunque por lo que sé, lo máximo que saben es crear un evento y no tienen ni puta idea de lo que es cliente y server, aun así no me pienso arriesgar.
  18. No creo. Ese sistema digamos que es único. Gracias a los que ayudaron, al final pude solucionarlo con un poco de ayuda 'exterior'. PD: Cierren.
  19. Pues no entiendo por qué no me lee los ítems en el cliente. Que raro.
  20. Es decir, que ya no hace falta que haga el fromJSON desde cliente, ¿cierto?
  21. Te daré un pequeño código de ejemplo. Espero que puedas guiarte correctamente y entender el funcionamiento: -- Servidor addEventHandler ( "onPlayerJoin", getRootElement ( ), function ( player ) local hora, minutos = getRealTime ( ) triggerClientEvent ( player, "onPonerHora", player, hora, minutos ) -- jugador, evento, jugador, valores a enviar separados por ',' end ) -- Cliente addEvent ( "onPonerHora", true ) addEventHandler ( "onPonerHora", getRootElement ( ), function ( hora, minutos ) local hora, minutos = tonumber ( hora ), tonumber ( minutos ) guiSetText ( GUIEditor.label[5], "Hora: "..hora.. ". Minutos: "..minutos ) end )
×
×
  • Create New...