Jump to content

Pipee20k

Members
  • Posts

    100
  • Joined

  • Last visited

Posts posted by Pipee20k

  1. Él está usando valores relativos, eso sólo funconaría con absolutos.

    Pero si pone los mismos valores relativos en los argumentos de la función igual debería funcionar, a mi me funcionaba ._.

    ¿Los valores relativos no son los de "0.9, 0.5"?

    Según lo que he entendido de la wiki él está utilizando valores absolutos, simplemente hace esa ecuación para que se vea en todas la resoluciones ¿o no? Quien me saca de esta duda xD

  2. Mejor usa esta función

    function isMouseInPosition ( x, y, width, height ) 
        if ( not isCursorShowing ( ) ) then return false end  
        local sx, sy = guiGetScreenSize ( )  
        local cx, cy = getCursorPosition ( ) 
        local cx, cy = ( cx * sx ), ( cy * sy )  
        if ( cx >= x and cx <= x + width ) and ( cy >= y and cy <= y + height ) then  
            return true 
        else  
            return false  
        end  
    end 
    

    Por ejemplo

    dxDrawRectangle(screenW * 0.7344, screenH * 0.4206, screenW * 0.2559, screenH * 0.3815, tocolor(0, 0, 0, 100), false) 
      
    if isMouseInPosition (screenW * 0.7344, screenH * 0.4206, screenW * 0.2559, screenH * 0.3815) then 
        -- Blablabla  
    end[ 
    

  3. Mandaste fruta. Eso me sirve para que el panel se desaparezca cuando te logeas, si no el pibito no puede hacer nada. Lo reemplaze con destroyElement pensando que iba a solucionar el problema, pero nope.

    Pero cual es la funcion de esas condiciones que hay ahi? Cual es la necesidad de chequear eso?

  4. Una pregunta aprovechando este tema, ya habia visto desde antes servidores en la 1.4 que hacian las descargas en segundo plano, o sea, tu descargabas los resources basicos y te aparecia la tipica barrita de descarga y cuando terminaba empezabas a jugar y te aparecia un texto que dice que esta descargando archivos adicionales en segundo plano y te muestra el porcentaje de descarga y todo, por ejemplo Grafuroam, ¿como se puede hacer esto?

  5. Creo que esto no tiene ningun sentido pero es lo unico que veo de mas, en mi criterio xD

    function cerrarTodo() 
        showCursor(false) 
        fadeCamera(true) 
        if guiGetVisible(ventana) then -- Quitale estas condicion 
            guiSetVisible(ventana, false) 
        end 
        if ventanaRegistrar then 
            if guiGetVisible(ventanaRegistrar) then -- Y esta tambien 
                guiSetVisible(ventanaRegistrar, false) 
            end 
        end 
    end 
    addEvent("cerrarTodo", true) 
    addEventHandler("cerrarTodo", root, cerrarTodo) 
    

  6. Voy a probar a ver. Es que es muy molesto porque al loguearte, aprietas y te sale o el panel de tuneo o el panel de no se qué...

    Si me pasaba pero era al contrario, en el admin al dar click en un boton se me abria la ventana de registro del login panel XDD

  7. Yo lo que hacia es que usaba una variable para cuando estuviera abierto el panel, no se si haya una forma mas eficiente pero esto fue lo unico que se me ocurrio cuando me paso esto, espero que entiendas este mamarracho :lol:

    renderedPanel = false 
      
    function blabla () -- Esta es la funcion con la que se abre el panel 
        renderedPanel = true 
        addEventHandler ("onClientRender", root, panel) 
    end 
      
    function click () -- Esta es la funcion de cuando dan click 
        if renderedPanel then 
            if isMouseInPosition (...) then 
            -- Tus cosas  
            end 
        end 
    end 
    

  8. Si es serverside (lo más seguro es que si xD) creo que si te funcionaria, lo que no sé es que datos te devuelve esta función en serverside (si alguien me puede aclarar esta duda se lo agradeceria)

    Yo creería que devuelve la hora de la máquina donde esta montado el server o algo así según lo que lei en la wiki

    Respecto a mi respuesta anterior (pensando que era clientside xD)

    This function gets the server or client (if used client sided it returns time as set on client's computer)

  9. Depende, si quieres que realice la función a la misma hora para todos los players no te funcionará ya que esa funcion te devuelve datos de la computadora del cliente, pero si quieres que se realice a esa hora específica en cada jugador quizás si

  10. Es una posibilidad, sobre que todos los jugadores lo usen, pero también sería genial una herramienta para admins, que solamente funcione para que los admins pongan mensajes allí, como mensajes generales o algo así. Pero de todos modos, buen script.

    Yo creo que podría funcionar perfectamente de las dos formas

  11. isObjectInACLGroup solo funciona en serverside

    function resourceStart () 
        for k, p in ipairs (getElementsByType("player")) do 
            bindKey (p, "lalt", "down", toggleNos, p) 
        end 
    end 
    addEventHandler ("onResourceStart", resourceRoot, resourceStart) 
      
    function playerJoins () 
        bindKey (source, "lalt", "down", toggleNos, source) 
    end 
    addEventHandler("onPlayerJoin", root, playerJoins) 
      
    function toggleNos (thePlayer) 
        local accName = getAccountName (getPlayerAccount (thePlayer)) 
        if isObjectInACLGroup ("user."..accName, aclGetGroup ("Admin"))  then 
            triggerClientEvent (thePlayer, "toggleNos", thePlayer) 
        end 
    end 
    

    g_Me = getLocalPlayer( ); 
    g_Root = getRootElement( ); 
    g_ResRoot = getResourceRootElement( ); 
      
    function toggleNOS( key, state ) 
        local accountName = getAccountName(getPlayerAccount(g_Me)); 
        if isObjectInACLGroup("user."..accountName, aclGetGroup("Admin")) then 
            local veh = getPedOccupiedVehicle( g_Me ); 
            if veh and not isEditingPosition then 
                if state == "up" then 
                    removeVehicleUpgrade( veh, 1010 ); 
                    setControlState( "vehicle_fire", false ); 
                else 
                    addVehicleUpgrade( veh, 1010 ); 
                end 
            end 
        end 
    end 
    addEvent ("toggleNOS", true) 
    addEventHandler ("toggleNOS", root, toggleNOS) 
    

    Mira si eso te funciona, el serverside lo saque de uno de mis primeros scripts XDD

  12. Si te refieres a cuentas creadas en tu server necesitas un cliente de MySQL y abrir el internal.db que se encuentra en la carpeta de tu server, tambien puedes usar el comando "/unregister" o "/delaccount" en el juego

    /unregister

    /delaccount

  13. Gracias Tomas.

    Ahora tengo otra duda, me dí cuenta que al salir del server el blip no se eliminaba, no se si al morirse pase lo mismo pero bueno, quisiera saber si esta bien esto, ya que a esta hora no hay nadie que me pueda ayudar a testear :lol:

    function spawnThePlayer () 
        spawnPlayer (source, 2509, -1686, 13.5, 45, 0, 0, 0, nil) 
        fadeCamera (source, true, 5.0) 
        setCameraTarget (source) 
        setPedStat (source, 23, 1000) 
        showPlayerHudComponent (source, "all", true) 
        playerBlip = createBlipAttachedTo (source, 0, 2) 
    end 
    addEvent ("spawnThePlayer", true) 
    addEventHandler ("spawnThePlayer", getRootElement (), spawnThePlayer) 
      
    function removeBlip () 
        destroyElement (playerBlip) 
    end 
    addEventHandler ("onPlayerQuit", getRootElement (), removeBlip) 
    addEventHandler ("onPlayerWasted", getRootElement (), removeBlip)  
    

  14. Estoy haciendo un gamemode de Freeroam desde cero pero al spawnear los players no se ven en el radar :(

    Este es mi codigo del spawn, probé con un amigo y no lo puedo ver ni el me podía ver

    function spawnThePlayer () 
        spawnPlayer (source, 2509, -1686, 13.5, 45) 
        fadeCamera (source, true, 5.0) 
        setCameraTarget (source) 
        setPedStat (source, 23, 1000) 
        showPlayerHudComponent (source, "all", true) 
    end 
    addEvent ("spawnThePlayer", true) 
    addEventHandler ("spawnThePlayer", getRootElement (), spawnThePlayer) 
    

  15. Me refiero a que dibuje el progreso poco a poco. Creo que es la segunda función

    PD: Hum, no me funciona. Lo que me refería es eso, que el progreso vaya poniendose poco a poco.

    Si quieres que el progreso vaya subiendo poco a poco es la primera funcion

×
×
  • Create New...