Jump to content

Como Hacer Texto? (Pantalla)


Recommended Posts

local screenWidth, screenHeight = guiGetScreenSize ( ) -- Get the screen resolution (width and height) 
  
  
function createText ( ) 
    local playerX, playerY, playerZ = getElementPosition ( localPlayer )       -- Get our player's coordinates. 
    local playerZoneName = getZoneName ( playerX, playerY, playerZ )          -- Get name of the zone the player is in. 
  
    -- Draw zone name text's shadow. 
    dxDrawText ( playerZoneName, 44, screenHeight - 41, screenWidth, screenHeight, tocolor ( 0, 0, 0, 255 ), 1.02, "pricedown" ) 
    -- Draw zone name text. 
    dxDrawText ( playerZoneName, 44, screenHeight - 43, screenWidth, screenHeight, tocolor ( 255, 255, 255, 255 ), 1, "pricedown" )  
end 
  
function HandleTheRendering ( ) 
    addEventHandler ( "onClientRender", root, createText ) -- keep the text visible with onClientRender. 
end 
  
addEventHandler ( "onClientResourceStart", resourceRoot, HandleTheRendering ) 

Esta en la wiki

Link to comment

Esta Bien Lo Que Hago?

function remotePlayerJoin() 
    outputChatBox("* " .. getPlayerName(source) .. " has joined the server") 
end 
addEventHandler("onClientPlayerJoin", getRootElement(), remotePlayerJoin,) 
dxDrawText ( string text, -- Aqui El Texto Sin String?  
 left, -- Normal? 
top [, right=left, float bottom=top, int color=white, -- Normal? 
                  scale=1, mixed font="default", string alignX="left", string alignY="top",bool clip=false, bool wordBreak=false, bool postGUI=false,bool colorCoded=false, bool subPixelPositioning=false ] ) 
                  --- ESTA BIEN COMO LO ESTOY HACIENDO? 

Link to comment

Mira, el ejemplo que esta en la wiki (que puso Alex), pone las coordenadas con el

  
  
guiGetScreenSize() 
  
  

Esto se usa debido que hay distintas resoluciones. Por lo cual, podes o empezar usando eso o directamente poniendo los numeros.

Yo te recomiendo, usa el GUI Editor como te dije, y buscas las coordenadas. ES MUY FACIL HACER ESO, no podes no entenderlo (el GUI Editor, es una de las herramientas mas faciles y utiles que hay).

Link to comment

Pero Como Puedo Hacer Que Detecte La Resolucion De Los Usuario Porque Yo Tengo Resolucion: 1440 x 900 a Eso Voy.Osea Que Se Ponga A Cada User AutoResolucion.¿Se Entiende? Ayer Probe Usar El Guieditor Pero Me Costo.. Lo Volvere A Intentar Y Les Paso La Coordenada Para Me Lo Puedan Ubicar..

EDIT: Pueden Ser Que Sea Esta La Cordenada?

----------- Relative ----------- 
x: 0.0313  y: 0.7000 
width: 0.2132  height: 0.0356 
----------- Absolute ----------- 
x: 45.0000  y: 630.0000 
width: 307.0000  height: 32.0000 

¿Como Las Ubico ?

Link to comment

Como lo haces

1. das a /start guieditor

2. aprietas Shift y G

3. le das al Click derecho y vas a draw o drawing

4. hay apretas dx text

5. hay lo colocas

6. le aprietas donde le colocaste con el click derecho y le pones set title

7. en set title pones el texto que quieras

8. aprietas fuera de eso y le das a print code y le das a output to file

9. vas a guieditor_output.txt o cualquier archivo que este en el guieditor que sea .txt

10. haces el script y el .lua lo haces sacando el texto del guieditor_output.txt

lo de que todos lo vean...

el GUIEditor no te lo hace todo lo de que todos los vean lo haces tu con

guiSetVisible 

Espero averte ayudado

Link to comment

No entendiste mi pregunta....

Si yo tengo 800 x 600 y hago un GUI, se ve igual en posicion la GUI si pongo despues en 1024 x 768?

EDIT : Ya lo comprobe...Si pongo 800 x 600 no se ve igual...Es todavia una incognita que tengo, el como hacer que a para todos se le vea igual.

Porque ni con el guiGetScreenSize() puedo balancearlo.. :(

Link to comment
No entendiste mi pregunta....

Si yo tengo 800 x 600 y hago un GUI, se ve igual en posicion la GUI si pongo despues en 1024 x 768?

EDIT : Ya lo comprobe...Si pongo 800 x 600 no se ve igual...Es todavia una incognita que tengo, el como hacer que a para todos se le vea igual.

Porque ni con el guiGetScreenSize() puedo balancearlo.. :(

y si le hacemos con algo asi:

local a,l = guiGetScreenSize() 
a + 10,l + 5   

y asi?

Edit: lei esto

relative: This is whether sizes and positioning are relative. If this is true, then all x,y,width,height floats must be between 0 and 1, representing sizes/positions as a fraction of the screen size. If false, then the size and co-ordinates are based on client's resolution, accessible using guiGetScreenSize.

creo que podria servirnos

Link to comment

Pero eso no tiene nada que ver jajaja...

Eso es para que por ejemplo debes de poner :

  
  
guiCreateLabel(200,200,200,200,"Hola",false) -- relative false 
  
guiCreateLabel(0.4,0.5,0.2,0.2,"Hola",true) -- relative true 
  
  

El guiGetScreenSize() capta tu resolucion en pixels, por lo cual seria relative false.

Link to comment

A ver, conozco la forma larga que seria

  
  
local x,y = guiGetScreenSize() 
  
if x == 800 and y == 600 then 
  
... 
  
  

Osea, hay una que es :

  
  
local x,y = guiGetScreenSize() 
local width,height = 400,200 -- El tamanio de la ventana 
local left = x/2 - width/2 
local top = y/2 - height/2 
  
  

Ahi te lo centra en el medio, en 800 x 600 esta centrado pero parece que la ventana tapa la pantalla a veces. Por eso, la unico que conozco es la primera forma.

Link to comment
  • Recently Browsing   0 members

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