MTASA TÜRK
Türkiye'nin En Güncel MTA Platformu


[YARDIM] Loader Sistem

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı DogukanUCAN

  • Acemi Üye
  • *
    • İleti: 146
  • Batmaz Gaming
: 10 Haziran 2017, 17:05:06
Alttaki loader sistemi tüm ekran boyutlarına uygun gelecek şekilde ayarlayabilirmisiniz.
NOT: Düzenleme yaparak ekranın ortasına alıyorum diğer ekran çözünürlüklerinde ortada olmuyor.
Kod: lua
local x, y		= guiGetScreenSize();
local h = 32;
local rot = 0;
local exists = {};

local mods;

local function downloadMods()
for i, v in ipairs (mods) do
local file = v.file;
downloadFile (file);
end
end

function table.find (tbl, index, value)
for i, v in pairs (tbl) do
if v[index] == value then
return i;
end
end
return false;
end

addEvent ("loader.request", true);
addEventHandler ("loader.request", root,
function (tbl)
if tbl then
mods = tbl;
downloadMods();
end
end
);

addEventHandler ("onClientResourceStart", resourceRoot,
function ()
triggerServerEvent ("loader.onload", localPlayer);
addEventHandler ("onClientRender", root, drawLoader);
end
);

addEventHandler ("onClientFileDownloadComplete", root,
function (name, success)
if ( source == resourceRoot ) then
if success then
local index = table.find (mods, "file", name);
if index then
exists[name] = true;
-- downloadFile (name);
local model = mods[index].model;
if name:find (".dff") then
local dff = engineLoadDFF (name)
engineReplaceModel (dff, model);
elseif name:find (".txd") then
local txd = engineLoadTXD (name);
engineImportTXD(txd, model);
elseif name:find (".col") then
local col = engineLoadCOL (name);
engineReplaceCOL (col, model);
end
tick = getTickCount()+2000;
end
end
end
end
);

function drawLoader ()
if not mods then return; end
if next (mods) then
rot = rot + 1;
local count = 0;
for _ in pairs (exists) do
count = count + 1;
end

local progress = count.."/"..#mods.." (%"..math.ceil((count/#mods)*100)..")";

if count == #mods then
if getTickCount() > tick then
removeEventHandler ("onClientRender", root, drawLoader);
return;
end
end

local rx, ry, rw, rh = 0, y-h, x/10, h;
dxDrawImage (rx + 3, ry-4, 42, 42, "icon.png", rot, 0, 0);
addOutlines (rx, ry, rw, rh, tocolor (150, 150, 150, 75), 2);
dxDrawRectangle(rx, ry, rw, rh, tocolor(0, 0, 0, 125), false);
dxDrawText (progress, rx + 42, ry, rw, (y-h) + h, tocolor(255, 255, 255, 255), 1.00, "default", "center", "center");
end
end

function addOutlines(x, y, width, height, lineColor, lineSize, postGUI)
    dxDrawLine(x - 1, (y - lineSize), x - 1, y + height + (lineSize - 1), lineColor, lineSize, postGUI); --left
    dxDrawLine(x + width, (y) - 1, (x) - 1, (y) - 1, lineColor, lineSize, postGUI); -- top
    dxDrawLine((x) - 1, y + height, x + width, y + height, lineColor, lineSize, postGUI); -- bottom
    dxDrawLine(x + width, y - lineSize, x + width, y + height + (lineSize - 1), lineColor, lineSize, postGUI); -- right
end
 


MTASA TÜRK

[YARDIM] Loader Sistem
« : 10 Haziran 2017, 17:05:06 »

Çevrimdışı DogukanUCAN

  • Acemi Üye
  • *
    • İleti: 146
  • Batmaz Gaming
Yanıtla #1 : 18 Haziran 2017, 14:01:14
Yardımcı olabilecek yok mu şuan kullandığım ekran boyutu 1366 X 768 x 32

Resim:
Spoiler for Hiden:
 


Çevrimdışı Rüzgar

  • Acemi Üye
  • *
    • İleti: 158
Yanıtla #2 : 18 Haziran 2017, 15:37:41
Çok özelse özelden at doğukan. sana yardımcı oluruz
 


Çevrimdışı DogukanUCAN

  • Acemi Üye
  • *
    • İleti: 146
  • Batmaz Gaming
Yanıtla #3 : 18 Haziran 2017, 15:48:35
Kişisel ileti gönderilecek alanın dolu atamıyorum sana.
 


Çevrimdışı Rambo

  • Ramazan Sert
  • Acemi Üye
  • *
    • İleti: 196
  • Cesareti İle Yaşamayan Esareti İle Ölür
Yanıtla #4 : 18 Haziran 2017, 17:41:15
Ortalamak kötü görünür sağ alta veya sol alta al daha iyi olur.
 


Çevrimdışı DogukanUCAN

  • Acemi Üye
  • *
    • İleti: 146
  • Batmaz Gaming
Yanıtla #5 : 18 Haziran 2017, 18:14:30
Linki görebilmek için Kayıt olun yada Giriş yapın.
Çok özelse özelden at doğukan. sana yardımcı oluruz

Skype adresini verirsen oradan atabilirim.

Linki görebilmek için Kayıt olun yada Giriş yapın.
Ortalamak kötü görünür sağ alta veya sol alta al daha iyi olur.

MB dolduktan sonra kayboluyor saten bence sıkıntı olmaz.
 


MTASA TÜRK

Ynt: [YARDIM] Loader Sistem
« Yanıtla #5 : 18 Haziran 2017, 18:14:30 »

Çevrimdışı Rüzgar

  • Acemi Üye
  • *
    • İleti: 158
Yanıtla #6 : 18 Haziran 2017, 18:22:27
Kod: lua
local x, y = guiGetScreenSize()
rx,ry = 1366,768
(xKordinat/rx)*x, (yKordinat/ry)*y, (Uzunluk/rx)*x, (Genislik/ry)*y
 


Çevrimdışı DogukanUCAN

  • Acemi Üye
  • *
    • İleti: 146
  • Batmaz Gaming
Yanıtla #7 : 18 Haziran 2017, 19:19:03
Teşekkürler Konu Kilit.
 
Mesajı Beğenenler: Rüzgar


Çevrimdışı Narkoz

  • Kurucu
  • *
    • İleti: 545
  • SH Gaming
Yanıtla #8 : 18 Haziran 2017, 20:05:22
Konu sahibi isteği üzerine konu kilit.