Jump to content

Tablas


Sticmy

Recommended Posts

Depende de que manera quieras insertar al jugador en una tabla. 

local _table = {}

addEventHandler("onPlayerJoin", root, -- al ingresar, se insertará en la tabla.
    function()
        _table[source] = true
    end
)

addEventHandler("onPlayerLogin", root,
    function()
        if _table[source] then -- si está en la tabla, devolverá la siguiente afirmación.
            return print("El jugador ya se encuentra en la tabla.")
        end
        _table[source] = true -- de lo contrario, si no está en la tabla se insertará.
    end
)

addEventHandler("onPlayerLogout", root, -- opcional.
    function()
        if _table[source] then
            _table[source] = nil
        end
    end
)

Pues sino, de esta manera.

local _table = {}

addEventHandler("onPlayerJoin", root, -- al ingresar, se insertará en la tabla.
    function()
        table.insert(_table, source)
    end
)

addEventHandler("onPlayerLogin", root,
    function()
        for _, v in pairs(_table) do
            if v == source then
                print("El jugador ya está en la tabla.")
            end
        end
    end
)

 

Link to comment
7 hours ago, #Dv^ said:

Depende de que manera quieras insertar al jugador en una tabla. 


local _table = {}

addEventHandler("onPlayerJoin", root, -- al ingresar, se insertará en la tabla.
    function()
        _table[source] = true
    end
)

addEventHandler("onPlayerLogin", root,
    function()
        if _table[source] then -- si está en la tabla, devolverá la siguiente afirmación.
            return print("El jugador ya se encuentra en la tabla.")
        end
        _table[source] = true -- de lo contrario, si no está en la tabla se insertará.
    end
)

addEventHandler("onPlayerLogout", root, -- opcional.
    function()
        if _table[source] then
            _table[source] = nil
        end
    end
)

Pues sino, de esta manera.


local _table = {}

addEventHandler("onPlayerJoin", root, -- al ingresar, se insertará en la tabla.
    function()
        table.insert(_table, source)
    end
)

addEventHandler("onPlayerLogin", root,
    function()
        for _, v in pairs(_table) do
            if v == source then
                print("El jugador ya está en la tabla.")
            end
        end
    end
)

 

Men y como hago para que no se repita muchas veces es que trato de hacer que aparezca jugadores cercanos ami y como que se repite muchas veces yse vuelven a insertar crees que me funcione tus dos formas de que no lo inserte men?

Link to comment
2 minutes ago, DostMaster said:

Men y como hago para que no se repita muchas veces es que trato de hacer que aparezca jugadores cercanos ami y como que se repite muchas veces yse vuelven a insertar crees que me funcione tus dos formas de que no lo inserte men?

Por lo menos prueba el código que él hizo por ti lo cual si funciona sin probarlo....

Link to comment

No me funciono :(

quisiera que no se inserte mas el jugador que no se vuelva a repetir si ya me metió que no salga otra vez le dejo la función he intentado con el código de Dv pero aún asi no funciona

local screenW, screenH = guiGetScreenSize()
local jugadores = {}

addEventHandler("onClientRender", root,
    function()
    	if not isMTAWindowActive ()	then
        	if not isPlayerMapVisible () then
                for i, v in ipairs(getElementsByType("player")) do 
                local x, y, z = getElementPosition(localPlayer)
                local mx, my, mz = getElementPosition(v)
                    if getDistanceBetweenPoints3D(x, y, z, mx, my, mz + 0.5) < 10 then
                        outputDebugString(getPlayerName(v))
                        table.insert(jugadores, {getPlayerName(v), v})
                    end
                end
                    -- jugadores
                for i, v in ipairs(jugadores) do
                local i = i - 1
                    if i < 5 then
                        dxDrawText(v[1], screenW * 0.4113, screenH * 0.3133+(i*70), screenW * 0.6607, screenH * 0.3562, tocolor(255, 0, 0, 255), 1.00, "default-bold", "center", "center", false, false, false, false, false)
                    end
                end
            end
    	end
	end
)

 

Link to comment
1 hour ago, Simple01 said:

local i = i - 1
                    if i < 5 then

¿Para que requieres el empleo de la variable 'i'? ( Necesito esta respuesta para ofrecerte una adaptación correcta y funcional del código ).

Intente hacer que no lo vuelva a meter pero no funcionó xD

Link to comment

Te estás rallando demasiado para algo tan sencillo. Haz que cuando entre al servidor se inserte en la tabla y que cuando el recurso se reinicie, coja a todos los jugadores y los meta nuevamente en la tabla... También, que cuando salgan, los retire de la tabla.

Link to comment
5 hours ago, aka Blue said:

Te estás rallando demasiado para algo tan sencillo. Haz que cuando entre al servidor se inserte en la tabla y que cuando el recurso se reinicie, coja a todos los jugadores y los meta nuevamente en la tabla... También, que cuando salgan, los retire de la tabla.

Lo que quiero hacer yo es que aparezcan jugadores cercanos a mi posición 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...