Jump to content

¿Como hacer un script "Jugadores Online"?


Maxistutos

Recommended Posts

Posted (edited)

Hola soy un novato scriptero necesito ayuda quiero crear un script Que muestre CUANTOS Jugadores estan LÍNEA alguien me podria Ayudar!!!

Edited by Maxistutos
Posted

¿Quieres que muestre los jugadores online en un label?

Creo que puedes hacerlo asi(no lo he probado):

addEventHandler("onClientResourceStart", resourceRoot,function()
    	on = guiCreateLabel(444, 200, 139, 15, "Jugadores online: ", false)
        guiSetFont(on, "clear-normal")
end)

setTimer(function()
    guiSetText(on, "Jugadores Online: "..#getElementsByType("player"))
end,300,0)




   

O también puedes remplazar el timer por onPlayerJoin

Posted

Pon un render que vaya comprobando por cada frame los jugadores y ya, tanta cosa no es necesaria. Eso sí, las posiciones tendrás que ajustarlas tú:

local sx, sy = guiGetScreenSize( )
local tx, ty = sx/1000, sy/1000

addEventHandler( "onClientRender", root,
	function( )
		local num_players = tonumber( #getElementsByType( 'player' ) ) -- Obtenemos el número de jugadores
	    dxDrawText( "#ffffffJugadores #00ff00online: #ffffff"..num_players, tx*10, ty*500, 0, 0, tocolor(0,255,255,175), ty*1.0,"bankgothic","left","top", false, false, false, true ) -- Lo dibujamos como un texto dx
	end
)

 

  • MTA Team
Posted

Comprobar la cantidad de jugadores en cada frame?, eso seria unas 60 veces o mas por segundo para que? mejor actualizar la variable cada 5 o 10 segundos.

Posted

@.:CiBeR:. Si no tienes mucha mierda en los scripts, no debería ser un problema, ya que lo he testeado dejandolo un rato y no me pega bajones de FPS ni nada por el estilo. Ahora bien, lo que tú dices pues también se puede hacer, aquí lo dejo ps xd:

local sx, sy = guiGetScreenSize( )
local tx, ty = sx/1000, sy/1000
local jugadores

addEventHandler( "onClientRender", root,
	function( )
		if not jugadores == nil then
			local num_players = tonumber( #jugadores ) -- Obtenemos el número de jugadores
			dxDrawText( "#ffffffJugadores #00ff00online: #ffffff"..num_players, tx*10, ty*500, 0, 0, tocolor(0,255,255,175), ty*1.0,"bankgothic","left","top", false, false, false, true ) -- Lo dibujamos como un texto dx
		end
	end
)

setTimer( function( )
	jugadores = getElementsByType( 'player' )
end, 5000, 0 )

PD: Se podría hacer de bastantes formas. Por ejemplo, los nametags que uso yo, cuando te logueas te inserta en una tabla en cliente, la cual se va actualizando por loops en el render así que bueno.

  • Recently Browsing   0 members

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