Saltar al contenido
  • Global

    Global

    Chatroom Rules

    • NO SE DA SOPORTE EN CHATBOX
    • NO SPAM
    • NO FLOOD

Publicaciones recomendadas

  • Usuario
Publicado

Buenas!. Tengo un problema, y una duda. que creo que es muy sencilla, aunque yo no sepa xD

 

ERROR:

 

- Comenzare desde el inicio, porque puede que este también sea el responsable del error.

 

Hice un sistema de reportes para mi sistema de admin. Este, al escribir /report <ReglaRota (Ej: /report R4 ) toma una fotografia, y esta es enviada al panel. este crea un row en una GridList. Bueno, el caso es que al hacer doble click en este row, abre una imagen, la cual es la fotografia tomada. Ok, Mi Problema:

 

Quiero que dicha foto aparezca dentro de una GUI, y que sea visible con guiCreateStaticImage, en esta GUI:

function showImageInWindow(image)
	if ( not image ) then return end
        VisualizadorReportWindow = guiCreateWindow(411, 189, 620, 558, "Visualizador de Reportes", false)
        guiWindowSetSizable(VisualizadorReportWindow, false)
		
        ReportImage = guiCreateStaticImage(19, 30, 578, 457, image, false, VisualizadorReportWindow )
		--
		inValidReportButton = guiCreateButton(20, 501, 159, 36, "Invalidar", false, VisualizadorReportWindow)
        guiSetFont(inValidReportButton, "default-bold-small")
        guiSetProperty(inValidReportButton, "NormalTextColour", "FFAAAAAA")
		--
		ValidReportButton = guiCreateButton(189, 501, 159, 36, "Validar", false, VisualizadorReportWindow)
        guiSetFont(ValidReportButton, "default-bold-small")
        guiSetProperty(ValidReportButton, "NormalTextColour", "FFAAAAAA")
		--
		ReasonOfTheInvalidOrValid = guiCreateEdit(363, 501, 224, 36, "Razon de la accion...", false, VisualizadorReportWindow) 
end

Para poder tambien colocar el "Invalido" y "Valido" y todo eso, puesto a que al ver la imagen tenias que poner /valido <reason> o /invalido <reason>.

 

Pero, cuando uso esta funcion (que me paso un amigo):

function showReportImage(id)
local img1 = id..".png"
showImageInWindow(img1)
end

La imagen no aparece. Osea, aparece la gui, sus botones y todo, pero la imagen no. No es la forma de detectar la imagen (osea el ID) porque lo testee en otro script y da exactamente a la imagen seleccionada, pero al momento de colocarlo en una GUI, o en especifico, en una guiCreateStaticImage

 

para ser especifico, lo probe en un outputChatBox y me da la direccion de la imagen, y el nombre de la misma.

 

y no da ningun error en DebugScript 2

 

por eso vengo a pedir esta ayuda.

 

 

AHORA, La duda: esta no se si sea posible, pero espero que lo sea.

 

Mi duda es la siguiente:

 

Hay alguna forma de que en esa screenshot tomada, salga el chat? como en F12, con todo. Chat, Radar, etc.. en esta solo toma al jugador...

 

¿Se puede?

 

- Desde YA Gracias !. Espero respuestas ^_^

  • Ex-Staff
Publicado

Para lo primero puedes utilizar la función guiStaticImageLoadImage

 

Lo segundo si es posible, pero no te aconsejo que sea muy útil. Si quieres te dejo algo que pueda ayudarte.

addEventHandler("onClientChatMessage",root,function(txt)
	for k,v in ipairs(getElementsByType("gui-staticimage",rroot)) do
		local gx,gy = guiGetPosition(v,true)
		if string.len(txt) > 48 then
			guiSetPosition(v, gx,gy-0.05,true)
		else
			guiSetPosition(v, gx,gy-0.025,true)
		end
		if gy <= 0.01 then
			destroyElement(v)
		end
	end	
end)

  • Usuario
Publicado

 

Para lo primero puedes utilizar la función guiStaticImageLoadImage

 

Lo segundo si es posible, pero no te aconsejo que sea muy útil. Si quieres te dejo algo que pueda ayudarte.

addEventHandler("onClientChatMessage",root,function(txt)
	for k,v in ipairs(getElementsByType("gui-staticimage",rroot)) do
		local gx,gy = guiGetPosition(v,true)
		if string.len(txt) > 48 then
			guiSetPosition(v, gx,gy-0.05,true)
		else
			guiSetPosition(v, gx,gy-0.025,true)
		end
		if gy <= 0.01 then
			destroyElement(v)
		end
	end	
end)

Me aparece esto :/

 

 

Error loading image @ 'guiStaticImageLoadImage' D:/MTASA/mods/deathmatch/resources/Admin/Reports/Sergioks/[15][08][2014]\[17][23][Test](10).png'

El problema de todo esto, es que, creo que no lo detecta porque no esta en el Meta.xml

 

Ok, no esta. La razon es porque estas imagenes se crean cuando un usuario escribe /report <mensaje>. y esta funcion funciona para (segun lei en la wiki) para imagenes que estan incluidas en el meta.

 

Como lo dice en el ejemplo:

 

Client-Side (Example.lua)

local myImage = guiCreateStaticImage ( 0.45, 0.48, 0.2, 0.5, "myimage.png", true )
setTimer ( guiStaticImageLoadImage, 10000, 1, myImage, "otherimage.png" )

Meta.xml

<meta>
<info author="Yourname" version="1.0" />
<script src="example.lua" type="client" />
<file src="myimage.png" />
<file src="otherimage.png" />
</meta>
  • Usuario
Publicado
Trabajando en el script, me aparecio esto:




Error Loading Image @ 'guiStaticImageLoadImage' [D:/MTA/mods/deathMatch/resources/report_System/Images/Sergioks/[12][8][2014]/[12][28][ruletest](4).png]



cuando pongo la imagen en esa direccion, osea, en el server en client-side, agarra la imagen tranquilamente.


¿porque la pide alla?


puse un outputChatBox antes de esta para que me diga la direccion, y me dice la direccion de la imagen bien. Osea...


Images/Sergioks/[12][8][2014]/[12][28][ruletest](4).png


¿como hago para que no la busque alli si no en el script? :s


Server-Side:



addEvent("AdminPanel.getReportedImage", true )
function getReportedImage(path)
outputChatBox(path..".png", source, 255, 0, 0 )
local img = path..".png"
triggerClientEvent(source, "showImage", source, img)
end
addEventHandler( "AdminPanel.getReportedImage", root, getReportedImage)



Client-side:



function showImage(img)
setTimer(guiStaticImageLoadImage, 1000, 1, ReportImage, img)
guiSetVisible(VisualizadorReportWindow, true)
addCommandHandler("closereport", closeImage)
end
addEvent("showImage", true)
addEventHandler("showImage", root, showImage)



- Espero respuestas :/

  • Usuario
Publicado

El directorio que pusiste es del script no?

Ya repare el problema ^_^ tenia que hacer la misma funcion de createFile en client-side, para que se le creara al client y asi leer esa direccion :D

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invitado
Responder a este tema...

×   Pegar como texto enriquecido.   Pegar como texto sin formato

  Only 75 emoji are allowed.

×   Tu enlace se ha incrustado automáticamente..   Mostrar como un enlace en su lugar

×   Se ha restaurado el contenido anterior.   Limpiar editor

×   No se pueden pegar imágenes directamente. Carga o inserta imágenes desde la URL.

  • Explorando recientemente   0 miembros

    • No hay usuarios registrados viendo esta página.
×
×
  • Crear nuevo...