Jump to content

Tomas

Members
  • Posts

    2,530
  • Joined

  • Last visited

Everything posted by Tomas

  1. Delete (or rename) a file called "coreconfig.xml" which is located on MTA Directory/MTA/config/ .
  2. Tomas

    una pregunta

    addEventHandler("onClientGUIClick", guiCreateButton(50, 50, 5, 5, "Cerrar"), function () guiSetVisible(window, false) end, false )
  3. Si, usa setVehicleComponentPosition. Si, usa setVehicleComponentPosition.
  4. local cx, cy, cz = getVehicleComponentPosition( vehicle, component, "world" ) local cx, cy, cz = getVehicleComponentPosition( vehicle, component, "world" ) local cx, cy, cz = getVehicleComponentPosition( vehicle, component, "world" )
  5. Usa la misma posición y ancho para el rectángulo y para el texto entonces centras el texto. Usa la misma posición y ancho para el rectángulo y para el texto entonces centras el texto. Usa la misma posición y ancho para el rectángulo y para el texto entonces centras el texto.
  6. En la consola pon: aclrequest allow guieditor all y reinicia el recurso.
  7. local textWidth = dxGetTextWidth( "[#800000Player#ffffff] "..getPlayerName( p ) , 0.85 + ( 15 - min_distance ) * 0.03 , font) Y textWidth sería el ancho del rectángulo si lo quieres super apretado, puedes agregarle unas unidades más al texto y luego con la bounding box centrarlo. BTW, sería mejor que guardases el texto en una variable así no hay que obtener el nombre varias veces, es más eficiente.
  8. local desiredRelativePosition = Vector3(0, 5, 0) local matrix = player.matrix local newPosition = matrix.transformPosition(desiredRelativePosition) moveObject(object, 500, newPosition:getX(), newPosition:getY(), newPosition:getZ())
  9. Tomas

    Joinquit

    Es más simple sumar x en cada frame.
  10. Se ve interesante e innovador, le daré un vistazo cuando abra
  11. Tomas

    Joinquit

    interpolateBetween se usa para animar el DX, si solo quieres que desaparezca hacia el lado sumale al eje X dentro del render.
  12. Pensé que querías que mutease solo si repetía el mismo mensaje cuatro veces ._. Si quitas lo de rep.message debería funcionar.
  13. local rep = { message = {}, count = {} } local mutes = { } addEventHandler("onPlayerChat", root, function (message, type) if not rep.message[source] then -- first time rep.message[source] = message rep.count[source] = 1 else if ( rep.message[source] == message ) then rep.count[source] = rep.count[source] + 1 else rep.message[source] = message rep.count[source] = 1 end end if rep.count[source] == 4 then outputChatBox("Don't repeat yourself!", source, 255, 0, 0) setPlayerMuted(source, true) mutes[source] = getTickCount() + 120000 end end ) setTimer( function () for player, time in pairs (mutes) do if ( isElement(player) ) then if ( getTickCount() > time ) then setPlayerMuted(source, false) mutes[player] = nil end else mutes[player] = nil if ( rep.count[player] ) then rep.count[player] = nil rep.message[player] = nil end end end, 5000, 0 ) Esto debería funcionar, no lo he probado.
  14. addEventHandler( 'onClientPlayerDamage', localPlayer, function(attacker) if getElementData( localPlayer, 'damage' ) == 'no' and ( attacker and attacker == "player" ) then cancelEvent( ) end end )
  15. leastComp es el componente más cercano al click, lo otro es adicional y es la distancia que había entre el click y ese componente.
  16. function getClosestComponent(vehicle, x, y, z) local a = {} for component in pairs ( getVehicleComponents(vehicle) ) do local cx, cy, cz = getVehicleComponentVisible(vehicle, component, "world") local distance = getDistanceBetweenPoints3D(x, y, z, cx, cy, cz) if ( a[distance] ) then repeat offset = math.random() until not a[distance+offset] end end a[distance+(offset or 0)] = {component, offset or 0} end local least, leastComp = -math.huge, nil for dist, compData in pairs(a) do local component, offset = unpack(compData) if dist-offset > least then least = dist-offset leastComp = component end end return leastComp, least end Esto debería funcionar, no lo he probado.
  17. Puedes intentar loopear todos los componentes y ver si su posición (getVehicleComponentPostion) es igual a la que clickeaste, aunque para los que son muy grandes no funcionaría del todo bien, quizás buscar el más cercano?
  18. You must protect it by yourself, tell your hosting provider to block their IPs and you'll be OK.
  19. PHPMyAdmin, importas la tabla y ahí tienes todo.
  20. Puedes usar slothbot o el recurso de @El_Zorro, que al parecer se esta esforzando en mejorarlo.
  21. engineLoadDFF and engineLoadTXD allow loading from raw files so to avoid your mods get stolen you can encrypt them then decrypt and load in client.
  22. Very cool Did you post a download link? I can't find it LOL
×
×
  • Create New...