z24d Posted September 11, 2015 Share Posted September 11, 2015 اليوم جربت الكود حق اخوي سفآح الي هو ذآ dxText = {} dxText_mt = { __index = dxText } local idAssign,idPrefix = 0,"c" local g_screenX,g_screenY = guiGetScreenSize() local visibleText = {} ------ local defaults = { fX = 0.5, fY = 0.5, bRelativePosition = true, strText = "", bVerticalAlign = "center", bHorizontalAlign = "center", tColor = {255,255,255,255}, fScale = 1, strFont = "default", strType = "normal", tAttributes = {}, bPostGUI = false, bClip = false, bHexColor = true, bWordWrap = true, bVisible = true, tBoundingBox = false, --If a bounding box is not set, it will not be used. bRelativeBoundingBox = true, } local validFonts = { default = true, ["default-bold"] = true, clear = true, arial = true, pricedown = true, bankgothic = true, diploma = true, beckett = true, } local validTypes = { normal = true, shadow = true, border = true, stroke = true, --Clone of border } local validAlignTypes = { center = true, left = true, right = true, } function dxText:create( text, x, y, relative ) assert(not self.fX, "attempt to call method 'create' (a nil value)") if ( type(text) ~= "string" ) or ( not tonumber(x) ) or ( not tonumber(y) ) then outputDebugString ( "dxText:create - Bad argument", 0, 112, 112, 112 ) return false end local new = {} setmetatable( new, dxText_mt ) --Add default settings for i,v in pairs(defaults) do new[i] = v end idAssign = idAssign + 1 new.id = idPrefix..idAssign new.strText = text or new.strText new.fX = x or new.fX new.fY = y or new.fY if type(relative) == "boolean" then new.bRelativePosition = relative end visibleText[new] = true return new end function dxText:text(text) if type(text) ~= "string" then return self.strText end self.strText = text return true end function dxText:position(x,y,relative) if not tonumber(x) then return self.fX, self.fY end self.fX = x self.fY = y if type(relative) == "boolean" then self.bRelativePosition = relative else self.bRelativePosition = true end return true end function dxText:color(r,g,b,a) if not tonumber(r) then return unpack(self.tColor) end g = g or self.tColor[2] b = b or self.tColor[3] a = a or self.tColor[4] self.tColor = { r,g,b,a } return true end function dxText:scale(scale) if not tonumber(scale) then return self.fScale end self.fScale = scale return true end function dxText:visible(bool) if type(bool) ~= "boolean" then return self.bVisible end self.bVisible = bool if bool then visibleText[self] = true else visibleText[self] = nil end return true end function dxText:destroy() self.bDestroyed = true setmetatable( self, self ) return true end function dxText:extent() local extent = dxGetTextWidth ( self.strText, self.fScale, self.strFont ) if self.strType == "stroke" or self.strType == "border" then extent = extent + self.tAttributes[1] end return extent end function dxText:height() local height = dxGetFontHeight ( self,fScale, self.strFont ) if self.strType == "stroke" or self.strType == "border" then height = height + self.tAttributes[1] end return height end function dxText:font(font) if not validFonts[font] then return self.strFont end self.strFont = font return true end function dxText:postGUI(bool) if type(bool) ~= "boolean" then return self.bPostGUI end self.bPostGUI = bool return true end function dxText:clip(bool) if type(bool) ~= "boolean" then return self.bClip end self.bClip = bool return true end function dxText:wordWrap(bool) if type(bool) ~= "boolean" then return self.bWordWrap end self.bWordWrap = bool return true end function dxText:type(type,...) if not validTypes[type] then return self.strType, unpack(self.tAttributes) end self.strType = type self.tAttributes = {...} return true end function dxText:align(horzA, vertA) if not validAlignTypes[horzA] then return self.bHorizontalAlign, self.bVerticalAlign end vertA = vertA or self.bVerticalAlign self.bHorizontalAlign, self.bVerticalAlign = horzA, vertA return true end function dxText:boundingBox(left,top,right,bottom,relative) if left == nil then if self.tBoundingBox then return unpack(boundingBox) else return false end elseif tonumber(left) and tonumber(right) and tonumber(top) and tonumber(bottom) then self.tBoundingBox = {left,top,right,bottom} if type(relative) == "boolean" then self.bRelativeBoundingBox = relative else self.bRelativeBoundingBox = true end else self.tBoundingBox = false end return true end addEventHandler ( "onClientRender", getRootElement(), function() for self,_ in pairs(visibleText) do while true do if self.bDestroyed then visibleText[self] = nil break end local l,t,r,b --If we arent using a bounding box if not self.tBoundingBox then --Decide if we use relative or absolute local p_screenX,p_screenY = 1,1 if self.bRelativePosition then p_screenX,p_screenY = g_screenX,g_screenY end local fX,fY = (self.fX)*p_screenX,(self.fY)*p_screenY if self.bHorizontalAlign == "left" then l = fX r = fX + g_screenX elseif self.bHorizontalAlign == "right" then l = fX - g_screenX r = fX else l = fX - g_screenX r = fX + g_screenX end if self.bVerticalAlign == "top" then t = fY b = fY + g_screenY elseif self.bVerticalAlign == "bottom" then t = fY - g_screenY b = fY else t = fY - g_screenY b = fY + g_screenY end elseif type(self.tBoundingBox) == "table" then local b_screenX,b_screenY = 1,1 if self.bRelativeBoundingBox then b_screenX,b_screenY = g_screenX,g_screenY end l,t,r,b = self.tBoundingBox[1],self.tBoundingBox[2],self.tBoundingBox[3],self.tBoundingBox[4] l = l*b_screenX t = t*b_screenY r = r*b_screenX b = b*b_screenY end local type,att1,att2,att3,att4,att5 = self:type() if type == "border" or type == "stroke" then att2 = att2 or 0 att3 = att3 or 0 att4 = att4 Link to comment
iMr.SFA7 Posted September 11, 2015 Share Posted September 11, 2015 قبل لا تبدل الملف الأكسبورت كان كويس؟ ماكان يجي بنص الشاشة؟ Link to comment
z24d Posted September 11, 2015 Author Share Posted September 11, 2015 daa = { "لا اله الا الله#FFFF00" , "صل على محمد صلى الله عليه وسلم#FFFF00" , "اذكر الله يذكرك#FFFF00" , "لاتنسى ذكر الله#FFFF00" , "استغفر الله وتوب اليه#FFFF00" , "لا اله الا انت سبحانك اني كنت من الظالمين#FFFF00" , "اللهم صل على محمد عدد ما ذكره الذاكرون#FFFF00" , "اللهم صل على محمد عدد ما غفل عنه الغافلون#FFFF00" , "اللهم صل على محمد عدد ماكان وعدد ماسيكون وملئ مافي الكون#FFFF00" , "سبحان الله#FFFF00" , "الحمد لله#FFFF00" , "الله اكبر#FFFF00" , "سبحان الله وبحمدة سبحان الله العظيم#FFFF00" , "اللهم اغفر لي ولوالدي وللمسلمين وللمسلمات الاحياء منهم والاموات#FFFF00" , "سبحانك ربي لا اله الا انت , لاحول ولا قوة الا بالله العلي العظيم#FFFF00" , "اعوذ بالله من الشيطان الرجيم#FFFF00" , "سبحان الله والحمد لله ولا اله الا الله والله اكبر ولله الحمد #FFFF00" , "سبحان الله وبحمدة سبحان الله العظيم#FFFF00" , "استغفر الله العلي العظيم واتوب اليه#FFFF00" , "لا اله الا الله محمد رسول الله#FFFF00" , "اللهم صل على محمد , صلى الله عليه وسلم#FFFF00" , "الحمد لله#FFFF00" , "الله اكبر#FFFF00" , "لاحول ولا قوة الا بالله#FFFF00" , "حسبي الله ونعم الوكيل#FFFF00" , "حسبي الله الذي لا اله الا هو عليه توكلت وهو رب العرش العظيم#FFFF00" , "سبحان الله وبحمدة عدد خلقه ورضى نفسى وزنة عرشة ومداد كلماته#FFFF00" , "استغر الله الذي لا اله الا هو الحي القيوم واتوب اليه#FFFF00" , "سبحان الله والحمد لله ولا اله الا الله والله اكبر#FFFF00" , "سبحان الله وبحمدة سبحان الله العظيم#FFFF00" , "استغر الله واتوب اليه#FFFF00" , "سبحان الله والحمد لله ولا اله الا الله والله اكبر ولله الحمد #FFFF00" , "استغفر الله العلي العظيم من كل عمل اردت به وجهك فخالطني به غيرك#FFFF00" , "استغفر الله العلي من كل مال اكتسبته من غير حق#FFFF00" , "استغفر الله العظيم من كل علم تعلمته فكتمته#FFFF00" , "استغفر الله العلي العظيم رب العرش العظيم من كل ذنب#FFFF00" , "استغفر الله العظيم لي ولوالدي وللمؤمنين والمؤمنات والمسلمين والمسلمات الاحياء منهم والاموات#FFFF00" , "استغفر الله العظيم من كل قول لم أعمل به و خالفته#FFFF00" , "استغفر الله العظيم من كل فرض خالفته ومن كل بدعه إتبعتها#FFFF00" , "استغفر الله العظيم من جميع الذنوب كبائرها وضغائرها#FFFF00" , "استغفر الله الذي لا اله الا هو الحي القيوم واتوب اليه#FFFF00" , "استغفر الله العظيم من الرياء والمجاهره بالذنب وعقوق الوالدين وقطع الرحم#FFFF00" , " استغفر الله العظيم من كل فرض تركته#FFFF00" , " استغفر الله العظيم من كل سر افشيته#FFFF00" , } stat = nil function MakeSoal () local math = math.random(1,36) exports.killmessages:outputMessage("#ffff00 [ اذكار ] #ff0000: " .. daa[math] .. " . ",root,174,0,0,true) stat = daa[math] end setTimer(MakeSoal,18000,0) addEventHandler("onPlayerChat",root, function(msg,type) if ( typr == 0 and msg == stat ) then stat = nil end end ) Link to comment
z24d Posted September 11, 2015 Author Share Posted September 11, 2015 شف هو بدون #******* يطلع عاادي نفسه بس مع الHEX يطلع سكران Link to comment
TAPL Posted September 11, 2015 Share Posted September 11, 2015 جرب استبدل (127) السطر ذا local extent = dxGetTextWidth ( self.strText, self.fScale, self.strFont ) بـ هذا local extent = dxGetTextWidth ( string.gsub(self.strText, "#%x%x%x%x%x%x", ""), self.fScale, self.strFont ) Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now