Jump to content

aka Blue

Members
  • Posts

    2,106
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by aka Blue

  1. Lenguajes querría decir
  2. Estoy algo perdido, lol. Quiero hacer también que si entra sin tener alguna ruta hecha, que se le asigne de nuevo las rutas default, y si se ha quedado en una, que se le ponga la próxima, no se si me entendéis. Me estoy liando mucho con este sistema Esto seria clientSide. Si, se que está mal. local n = 1 -- Contador de rutas local tR = #rutas -- Obtenemos el total de rutas local x, y, z = rutas[n][1], rutas[n][2], rutas[n][3] function nuevaRuta ( player ) if player then if not n == tR then marker = createMarker ( x, y, z, "checkpoint", 10, 255, 255, 255, 255 ) else outputChatBox ( "Has acabado la ruta loco" ) end end return false end
  3. Prefiero usar tablas. Es que verás, quiero hacer que al subirse a un determinado vehiculo, saque las posiciones de la tabla y empiece a crear los markers y los blips en el mapa. Así cuando pise un marker, se marque el otro y así sucesivamente. Necesitaría si es posible aunque sea un pequeño ejemplo de código. Estoy algo perdido ahora jaja.
  4. Si, pero el tema es que quiero comprobar si es la ultima que pisa el camión y entonces realizar una función. Ese es el problema que tengo de momento
  5. Buenas a todos, estoy creando un job desde 0 con diferentes mejoras y demás. He creado ya todo lo básico de introducirse en el job, dimitir, blablá. Mi idea de dicho job es que se vayan marcando markers con un blip en el mapa, siguiendo el orden de una tabla y que lo vea solo el cliente (facil). Mi duda viene ahí cuando quiero hacer que cuando pises un marker automáticamente te señale otro hasta que termine la tabla de markers. ¿Cómo lo podría hacer si es posible? Gracias a todos los que quieran ayudar de antemano. Tabla de rutas: rutas = { --posx, posy, posz, ultima? { 10192, 123123, 4354, ultima = false }, { 10192, 123123, 4354, ultima = false }, { 10192, 123123, 4354, ultima = false }, { 10192, 123123, 4354, ultima = false }, { 10192, 123123, 4354, ultima = false }, { 10192, 123123, 4354, ultima = false }, { 10192, 123123, 4354, ultima = true } }
  6. aka Blue

    ID system

    Si. Tipo idsystem o como quieras. Es que el scoreboard tiene su propio id system con su propio elementData que es ID, el que te pasó Ciber usa id, en minúsculas.
  7. aka Blue

    ID system

    Lo que te ha escrito @.:CiBeR:. hace lo siguiente: /crearids Es el comando que les asigna una ID a las cuentas ya creadas en el servidor. Utilizalo solo una vez para asignarle las ids a las cuentas y luego puedes quitarlo. Y después ya te hizo el evento, que es, cuando el jugador se loguea, ya le asigna una ID.
  8. aka Blue

    ID system

    No sabía que existía getAccounts Si no te quedo claro, es hacer un bucle con lo que retorna la función y el primero 'argumento', que es la key, ordenada numéricamente, la guardas como una 'ID'. for k, v in ipairs (getAccounts()) do local id = k outputChatBox ( "Jugador con ID: "..id ) end Esa función lo que haría es crear tantos textos en el chat como jugadores haya registrados en el servidor y saca sus id's utilizando el método que te dijo @Gaberiel
  9. aka Blue

    ID system

    ¿Su propia ID? Almacenalo en XML o SQL, personalmente recomiendo SQL.
  10. aka Blue

    URGENTE

    Es que depende del lado en el que lo estás haciendo. Si te da ese error en el código que te pasé, supongo que es porque el script está en la parte cliente. PD: De nada, no tengo nada que hacer mientras se me descarga el CS .
  11. aka Blue

    URGENTE

    Lo he hecho con setTimer pero bueno, usa lo que quieras function obtenerJugadorMasRico ( ) local jugadorMasRico = {} for _, jugador in pairs ( getElementsByType( "player" ) ) do local dinero = getPlayerMoney ( jugador ) if dinero > ( jugadorMasRico.dinero or 0 ) then jugadorMasRico.jugador, jugadorMasRico.dinero = jugador, dinero end end return jugadorMasRico.jugador or false end addCommandHandler ( "elmasrico", function ( player, commandName ) local jugadorMasRico = obtenerJugadorMasRico ( ) if isTimer ( timerComando ) then outputChatBox ( "No puedes usar el comando todavía. Espera el tiempo.", player, 255, 0, 0 ) else if jugadorMasRico then outputChatBox ( getPlayerName( jugadorMasRico ) .. " es el más rico del servidor" ) timerComando = setTimer ( function ( ) outputChatBox ( "Ya se puede usar el comando /elmasrico de nuevo." ) end, 60000, 1 ) else outputChatBox ( "Todos son pobres" ) timerComando = setTimer ( function ( ) outputChatBox ( "Ya se puede usar el comando /elmasrico de nuevo." ) end, 60000, 1 ) end end end )
  12. aka Blue

    URGENTE

    ¿Quieres hacer que al comprobarlo un jugador le ponga el timer a él o a todo el servidor? Me explico, si yo uso el comando /vermasrico por ejemplo, que el timer sea solo para mi o para todos los jugadores. Edito: Editando el código de @AlexTMJugador, he hecho que el jugador que al jugador que use el comando, le ponga un temporizador de 1 minuto para volver a usarlo. Lo he hecho algo a ciegas así que si te da algún error postea. local timerComando = { } function obtenerJugadorMasRico ( ) local jugadorMasRico = {} for _, jugador in pairs ( getElementsByType( "player" ) ) do local dinero = getPlayerMoney ( jugador ) if dinero > ( jugadorMasRico.dinero or 0 ) then jugadorMasRico.jugador, jugadorMasRico.dinero = jugador, dinero end end return jugadorMasRico.jugador or false end addCommandHandler ( "elmasrico", function ( player, commandName ) local jugadorMasRico = obtenerJugadorMasRico ( ) if timerComando [ player ] == nil or timerComando [ player ] == false then if jugadorMasRico then outputChatBox ( getPlayerName( jugadorMasRico ) .. " es el más rico del servidor" ) timerComando [ player ] = setTimer ( function ( player ) timerComando [ player ] = false end, 60000, 1, player ) else outputChatBox ( "Todos son pobres" ) timerComando [ player ] = setTimer ( function ( player ) timerComando [ player ] = false end, 60000, 1, player ) end else outputChatBox ( "No puedes usar el comando todavía. Espera el tiempo.", player, 255, 0, 0 ) end end )
  13. aka Blue

    URGENTE

    Bueno, yo no aporté ningún código, solo te digo una pequeña idea de como hacerlo PD: Me di cuenta que puse player en los argumentos y player en el bucle .
  14. aka Blue

    URGENTE

    Haz un bucle con todos los jugadores, luego ya usa tu lógica para sacar el más rico de todos. No es tan complicado addCommandHandler ( "elmasrico", function ( player, commandName ) for _, jugador in ipairs ( getElementsByType ( "player" ) ) do local dinero = getPlayerMoney ( player ) -- blablabla end end )
  15. En el output no tendría que ser index? -- Creamos un ciclo que cuente de cinco en cinco hasta legar a 25. for index = 0, 25, 5 do --Ahora lo mostramos en el chat: outputChatBox(key, 255, 255, 255, false) -- Se mostrará así: 0, 5, 10, 15, 20, 25. end
  16. Entonces nada. Lo hice para pillar a los trolls jaja.
  17. Estaba algo aburrido scripteando e hice un pequeño sistema para mi servidor. Lo que hace este mini-sistema es comprobar el ultimo golpe realizado a un vehiculo. Así también almacena el arma con el que se han realizado los daños. Bueno, si más, abajo dejo los códigos por separado. Cliente addEventHandler ( "onClientVehicleDamage", root, function (attacker, weapon, _, _, _, _, _) if attacker and weapon then triggerServerEvent ( "onDañarVehiculo", root, source, attacker, weapon ) end end ) Servidor local ultimoGolpeAlVehiculo = { } -- Tabla para almacenar el golpe -- Recogemos los datos obtenidos del cliente y los almacenamos en una tabla. addEventHandler ( "onDañarVehiculo", root, function ( vehiculo, responsable, arma ) local nombreArma = getWeaponNameFromID ( arma ) if nombreArma then ultimoGolpeAlVehiculo [ vehiculo ] = { nombre = getPlayerName ( responsable ):gsub ( "_"," " ), arma = nombreArma } end end ) -- Comando para comprobar addCommandHandler ( "ultimogolpe", function ( player, commandName ) local vehicle = getPedOccupiedVehicle ( player ) if vehicle then local data = ultimoGolpeAlVehiculo [ vehicle ] if data == nil then outputChatBox ( "No se han realizado golpes al vehiculo.", player, 0, 255, 0 ) else local nombre = data.nombre local arma = data.arma outputChatBox ( "El jugador "..nombre.." realizó un daño usando un/a "..arma, player, 255, 145, 0 ) end else outputChatBox ( "Debes estar en un vehiculo para comprobar su último golpe.", player, 255, 0, 0 ) end end )
  18. Está genial, buena esa.
  19. Me he pegado una rallada, lo siento
  20. setPlayerHudComponentVisible
  21. aka Blue

    Ayuda

    Es porque no pilla los settings, ¿quizás? local _settings = get(""); local settings = {}; for k, v in pairs(_settings) do k = split(k, ".")[2]; settings[k] = v; end
  22. Si, si, no lo digo de malas, simplemente lo vi por ahí jaja.
  23. Bueno, he empezado nuevamente la serie de tutoriales en la que estaré subiendo cosas que voy haciendo y demás. Normalmente me gusta recordar funciones y realizar scripts simples para que luego no se me olvide el uso de las mismas y pues he pensado, ¿y por qué no grabarlo así otros también pueden aprender su uso básico y realizar un script? Y pues nada, aquí está la serie. Postdata: Gracias a los que me corrigieron el error en el anterior post. @Solidsnake, @Starkz, @Tomas, @Gaberiel, @.:CiBeR:.
  24. Se te copiaron en el apartado inglés jaja, teneis las mismas ideas.
  25. Muy buena esa, me viene genial para lo de while y demás, gracias
×
×
  • Create New...