• Announcements

    • jhxp

      Forums are online again after a maintenance.   18/03/17

      MTA Forums maintenance is completed, although some automatic time-heavy tasks are still in process and will be finished eventually in background. Expect some features such as Forum Search to not display all results until all processes are finished. Please let us know if you spot a forum feature that worked correctly before the maintenance but does not work anymore now. Thanks. --MTA Team
    • jhxp

      Multi Theft Auto: San Andreas 1.5.4 is out!   21/04/17

      Click the link in the announcement for more details.  

danibayez

Members
  • Content count

    320
  • Joined

  • Last visited

Community Reputation

9 Neutral

About danibayez

Details

  • Location
    Spain
  • Interests
    Martial Arts & Street Workout

Recent Profile Visitors

957 profile views
  1. De la misma forma que dibujas el nombre. local width, health = 130, getElementHealth( p ) dxDrawRectangle( c[ 1 ] - ( width / 2 ), c[ 2 ] - 3, width, 15, tocolor( 0, 0, 0, 200 ) ) -- Fondo negro para poder apreciar el estado de la barra. dxDrawRectangle( c[ 1 ] - ( width / 2 ), c[ 2 ] - 3, width * ( health / 100 ), 15, tocolor( 255, 0, 0, 200 ) ) -- Barra de salud.
  2. Server looks really good. Great job
  3. Te dejaré las 4 funciones que debes usar, los ejemplos de la wiki son intuitivos así que tú mismo podrás hacerlo. createColRectangle onClientColShapeHit getElementType killPed Intenta hacerlo y si te surgen dudas pregunta.
  4. See my code useful for you made me happy. I'm waiting your pictures
  5. No está mal, la única pega es que es imposible conducir con el handling que le habéis puesto a los vehículos
  6. Me pareció buena idea hacer un pequeño script para reservar slots por serial, así los dueños de los servidores siempre podrán entrar a administrar en caso de tener un gran público o simplemente disponer de pocos slots. Esto es muy útil en servidores Roleplay. Screenshot Código Server-Side local serials, cache = { "WGM9TAYMS99Z6IIJN0NBRYKCNTUVR5OJ", }, { } local function inTable( _string ) for i = 1, #serials do if ( serials[ i ] == _string ) then return i end end return false end local function includeOnCache( player, serial ) local _inTable = inTable( serial ) if ( _inTable ) then cache[ source ] = serial table.remove( serials, _inTable ) return true end return false end addEventHandler( "onResourceStart", resourceRoot, function( ) local players = getElementsByType( "player" ) for i = 1, #players do local serial = getPlayerSerial( players[ i ] ) includeOnCache( players[ i ], serial ) end end ) addEventHandler( "onPlayerConnect", root, function( _, _, _, serial ) if not ( includeOnCache( source, serial ) ) then if not ( ( getMaxPlayers( ) - getPlayerCount( ) ) > #serials ) then cancelEvent( true, "¡El servidor se encuentra lleno!" ) end end end ) addEventHandler( "onPlayerQuit", root, function( ) if ( cache[ source ] ) then table.insert( serials, cache[ source ] ) cache[ source ] = nil end end ) MÉTODO DE USO. Lo único que debes hacer es introducir los seriales en la tabla 'serials' en forma de string. Ejemplo: "WGM9TAYMS99Z6IIJN0NBRYKCNTUVR5OJ"
  7. Puedes usar getProjectileTarget y obtener la posición del jugador al que has apuntado pero, no te servirá si el proyectil no tiene un objetivo ( vehículo, jugador ).
  8. I was bored and long time without do any script so I started looking in the wiki some functions what I not used yet and I found dxDrawMaterialLine3D. You have a video and code about a scoreboard what I made for test this function. Maybe this can be useful for you ( take scrollbar, etc ). Client-Side code:
  9. Estaba aburrido y llevaba bastante tiempo sin scriptear así que me puse a buscar por la wiki funciones que nunca usé y encontré dxDrawMaterialLine3D. Aquí os dejo un vídeo y el código de un scoreboard simple que he hecho para probar la función, por si os es útil el tema del scroll y lo que podáis encontrar. Código Client-Side:
  10. ¿Gastar dinero en esto?
  11. Si lo quieres hacer tú, la verdad es que a mí me da un poco igual esto.
  12. Es un servicio para probar el rendimiento de sus servidores para contratar un host posteriormente en su empresa, no creo que nadie vaya a subir un gamemode hecho por él mismo si puede probar el rendimiento del servidor de otra forma. No tenéis más que tonterías. PD: No sé si este hosting tiene antecedentes de robar scripts, pero vamos, que estas teorías de la empresa de hosting para robar scripts me parece absurdo.
  13. Debes tener en cuenta que el elemento jugador ya no se encuentra en el servidor, no puedes seguir usándolo como tal. Quizá funcione utilizar un elementData almacenando la cuenta del jugador cada vez que se loguee, al usar onPlayerQuit u onPlayerClientQuit hay un pequeño delay que te permite utilizar el elemento jugador, así que puedes aprovecharlo llamando a ese elementData desde el cliente y triggeando la cuenta junto con lo que quieras almacenar. Y no te recomiendo guardarlo cada vez que el jugador dispare, es un suicidio... Espero haberme explicado.
  14. Puede cambiarse por true y ya está, pero si pone un serial en false para bloquearlo en vez de borrar ese serial dará true y podrá abrirlo. Si el problema es que lo llama dos veces haces una variable y ya.
  15. Te explicas como el culo, pero bueno, sólo debes hacer una condicional comparando la serial de la persona a la que se le ha de abrir el panel y la del usuario que está intentando abrirlo. Si quieres hacerlo con varias seriales puedes probar esto: local serials = { ["smakdasmdkemeqkeqle32"] = true, ["ksoakeowqpewqpo213m121321"] = true } function isPlayerSerialAllowed(serial) return serials[serial] and serials[serial] or false end