Szerző Téma: Törés  (Megtekintve 922 alkalommal)

Törés
« Dátum: 2016. augusztus 26. - 10:38:24 »
0 Show voters
Hali. lenne nekem egy problémám, méghozzá az, hogy ennél a scriptnél (infobox szerű) nem tudom megoldani azt, hogy a szöveget megtörje, magyarán írok sssssssssssss-nyi betűt akkor tökéletesen illeszkedik a felületre az általam beírt szöveg, de ha többet akkor kilóg. Ezért kéne megtörjem valahogy, hogy alsó sorba írja aztán a többit. Keresgéltem neten, hogy hogyan lehetne de nem jutottam vele előrébb, gondoltam írok ide HÁTHA valaki tud segíteni. Előre is köszönöm segítségeteket.
local sx, sy = guiGetScreenSize()
local showed = false
local text = \"Lorem ipsum...\"
local font = \"default\"
local font_size = 1
local tick = 0
local showedTime = 0
function draw()
  if(not showed)then return end
  local height = 40
  local width = dxGetTextWidth(text, font_size, font) + 12
  local process = (getTickCount()-tick)/1000
  local leftStart = sx
  local leftEnd = sx - width
  if(process >= 1)then
    if(getTickCount() > tick + 1000 + showedTime)then
      leftStart = sx - width
      leftEnd = sx
      if(getTickCount() > tick + 2000 + showedTime)then
        showed = false
      end
    end
  end
  local left = interpolateBetween(leftStart, 0, 0, leftEnd, 0, 0, (getTickCount()-tick)/2000, \"Linear\")
  local top = 300
  dxDrawRectangle(1775, 299, 139, 37, tocolor(1, 0, 0, 178))
  dxDrawText(text, left + -10, top , left + width, top + width, tocolor(255,255,255,200), font_size, font)
  dxDrawImage(1776, 266, 198, 33, \":wls_gui/info.png\", 0, 0, 0, tocolor(255, 255, 255, 255))
end
addEventHandler(\"onClientRender\", root, draw)
function showBox(t)
  if(showed)then
    setTimer(showBox, showedTime + 2200, 1, t)
    return
  end
  text = t
  showed = true
  tick = getTickCount()
  local len = tostring(t):len()
  showedTime = len<50 and 5000 or len * 100
end
addCommandHandler(\"allsay\", function(cmd, ...)
  local msg = table.concat({...}, \" \")
  if(msg:len()>0)then
    showBox(msg)
  end
end)

Törés
« Válasz #1 Dátum: 2016. augusztus 26. - 10:54:00 »
0 Show voters
Szerintem az csak GUIeditor-ban fogod megoldani méghozzá dxDrawText, és kijelölöd mekkora részen lehet, majd Multi-line-ra kapcsolod.

Törés
« Válasz #2 Dátum: 2016. augusztus 26. - 10:54:46 »
0 Show voters
Megpróbálom :) / multi linera hol/hogy tudom kapcsolni.. ? Hát nemtom, ez nem akar nagyon működni. Azért továbbra is várom a válaszokat.
« Utoljára szerkesztve: 2016. augusztus 26. - 11:03:32 írta Marley Isuah »

Törés
« Válasz #3 Dátum: 2016. augusztus 26. - 11:11:40 »
0 Show voters
Megprobálom ak megcsinálni neked :)

Törés
« Válasz #4 Dátum: 2016. augusztus 26. - 11:14:18 »
0 Show voters
Nem arról van a szó, nem azt akarom, hogy más csinálja helyettem meg. Csak már 2 napja szopok vele akármennyire égő akármennyire nem, de össze vissza van ez a script írva, úgy kezdődött, hogy a szöveg meg a rectangle között a távolság az volt kb. 2 méter, na azokat kordináta nélkül nagy nehezen rájöttem hogyan lehet össze \"kovácsolni\" oké eddig jó volt, most pedig azt kéne, hogy megtörje xy betű/szó után és új sorba kezdje el írni alá. Persze ha te neked van rá időd és segítesz akkor nyugodtan.

Törés
« Válasz #5 Dátum: 2016. augusztus 26. - 11:22:28 »
0 Show voters
Eltudnád küldeni az a wls_gui képet vagymit?

Törés
« Válasz #6 Dátum: 2016. augusztus 26. - 11:25:23 »
0 Show voters
el-el persze http://data.hu/get/9939040/wls_gui.zip (egészet küldöm , meglegyen minden..)
« Utoljára szerkesztve: 2016. augusztus 26. - 11:27:14 írta Marley Isuah »

Törés
« Válasz #7 Dátum: 2016. augusztus 26. - 11:33:03 »
0 Show voters
Szerintem csak ugy tudod megoldani (mert a Multi-line teljesen ugynazt eredményezi :( ) hogy HA több mint XY karakterből áll onnantól már egy másik dxDrawTextbe írja a többit, és igytovább, ami 3 sor mert ha az megtellik akkor else és kiirja hogy túl sok karakterből áll. Persze ez elv. a fejemben megvan, de hogy melyik függvényel meghogyan tudod megvalósitani azt már nemtudom ;(

Törés
« Válasz #8 Dátum: 2016. augusztus 26. - 11:37:43 »
0 Show voters
Hát akkor ez így marad.. én már nemtudok vele mit kezdeni. :) azért köcce

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal