AR/String

From Multi Theft Auto: Wiki
Revision as of 22:32, 20 August 2012 by Krsofa (talk | contribs)
Jump to navigation Jump to search

بسم الله الرحمن الرحيم


KrSoFa ملاحظة: هذه المكتبه من ترجمتي الخاصه انا

اذا أردت أضافة حدث للمكتبه او تعديل خطأ بالترجمه او التنسيق او إضافة مثآل فيمكنك القيام بما تريد ماعدا( حذف اي حرف بلا حق)ا.


نبدأ على بركة الله باأول حدث بالمكتبه

string.upper وهو حدث


string.upper هذا الحدث

يستخدم للتحويل حالةالاحرف من الاحرف الصغيره الى الاحرف الكبيره
.



Click to collapse [-]
server

test1 = string.upper("Hello, Lua user!")

HELLO, LUA USER!






___________________________________________________________________


string.sub

تستخدم لتحديد بداية ونهاية السلسله ، حيث ان الرقم الاول يحدد بداية السلسه
والرقم الثاني يحدد نهاية السلسه 
وعند وضع الرقم بالسالب سوف تقوم بتحديد السلسه بالعكس




Click to collapse [-]
server

test1 = string.sub("Hello Lua user", 7)
Lua user

test2 = string.sub("Hello Lua user", 7, 9)
Lua


test3 = string.sub("Hello Lua user", -8)
Lua


test4 = string.sub("Hello Lua user", -8,9)
Lua


test5 = string.sub("Hello Lua user", -8,-6)
Lua



___________________________________________________________________



string.reverse

تستخدم لعكس السلسه
.



Click to collapse [-]
server

test1 = string.reverse("krsofa")

afosrk







___________________________________________________________________





string.rep

 تستخدم لنسخ السلسه على حسب الرقم
.



Click to collapse [-]
server

test1 = string.rep("Lua ",5)
Lua Lua Lua Lua Lua


test2 = string.rep("KrSoFa\n",3)
KrSoFa                                                                 
KrSoFa
KrSoFa






___________________________________________________________________







string.lower

 تستخدم للتحويل حالةالاحرف من الاحرف الكبيره الى الاحرف الصغيره
.



Click to collapse [-]
server

test1 = string.lower("Hello, KrSoFa user!")
hello, krsofa user!






___________________________________________________________________






string.len

 تستخدم لمعرفة طول السلسله 
.



Click to collapse [-]
server

test1 = string.lower("Hello, KrSoFa user!")
hello, krsofa user!


test1  = string.len("Lua")
3
test2  = string.len("")
0
test3  = string.len("Lua\000user")   -- Lua strings are 8 bit pure so \000 does not terminate
8




___________________________________________________________________









string.gsub

 هذه هي وظيفة قوية جدا، ويمكن استخدامها بطرق متعددة
 يمكن أن تستخدم للتبديل والاستبدال
.



Click to collapse [-]
server

-- المثال الاول يقوم بتنقيح لـ كلمة
-- banana 
 
test1 = string.gsub("Hello banana", "banana", "Lua user")
Hello Lua user  1


-- المثال الثاني يقوم بااستبدال الاحرف الاولى الصغيره 
-- a
-- الى احرف كبيره A
-- ويقوم بالاستبدال مرتين فقط
 

test2 = string.gsub("banana", "a", "A", 2)  -- limit substitutions made to 2
bAnAna  2


 


 ويمكن أيضا إستخدامها مع الوظايف function


Click to collapse [-]
server

--  المثال الاول يقوم بطباعة السلسله

test1 = string.gsub("Hello Lua user", "(%w+)", print)  -- print any words found
Hello
Lua
user
        3


--  المثال الثاني يقوم بتحديد طول السلسله

test2 = string.gsub("Hello Lua user", "(%w+)", function(w) return string.len(w) end) -- replace with lengths
5 3 4   3


--  المثال الثالث بااستبدال الحرف الى حروف كبيره

test3 = string.gsub("banana", "(a)", string.upper)     -- make all "a"s found uppercase
bAnAnA  3


--  المثال الثالث الوظيفه تقوم بتبديل بين الحرفين

test4 = string.gsub("banana", "(a)(n)", function(a,b) return b..a end) -- reverse any "an"s
bnanaa  2



___________________________________________________________________



function getPlayerStats(thePlayer)

   local account = getPlayerAccount(thePlayer)
   if account then
       local kills = getAccountData(account,"kills") or 0
       local deaths = getAccountData(account,"deaths") or 0
       local ratio = string.format("%.2f", kills / deaths)
       outputChatBox("s Stats: Kills: ".. tostring(kills) .." ), ".. tostring(deaths) .." Deaths, Ratio: ".. tostring(ratio).."", getRootElement(), 50, 255, 0)
   end

end addCommandHandler("stats",getPlayerStats)


-- مثال لتحويل اللوان الى هيكس


function chatbox(text, msgtype)

   local account = getAccountName(getPlayerAccount(source))
   local name = getPlayerName(source)
   local tag = getElementData(source, "ID") or 0
   local r, g, b = getPlayerNametagColor(source)
   local hex = RGBToHex(r, g, b)
   if (msgtype == 0) then
       if isObjectInACLGroup("user." .. account, aclGetGroup("HeadAdmin")) then
           cancelEvent(true)
           outputChatBox(" #cccccc[".. tag .."]  #8B1A1A[HEADADMIN] ".. hex .."".. name ..": #FFFFFF".. text, root, 255, 255, 255, true)
           outputServerLog("CHAT: [HEADADMIN] " .. name .. ": " .. text)
       elseif isObjectInACLGroup("user." .. account, aclGetGroup("Admin")) then
           cancelEvent(true)
           outputChatBox("#cccccc[".. tag .."]   #FF0000[ADMIN] ".. hex .."" .. name ..": #FFFFFF" .. text, root, 255, 255, 255, true)
           outputServerLog("CHAT: [ADMIN] " .. name .. ": " .. text)
       elseif isObjectInACLGroup("user." .. account, aclGetGroup("Moderator")) then
           cancelEvent(true)
           outputChatBox("#cccccc[".. tag .."]   #00FF00[MODERATOR] ".. hex .."" .. name .. ": #FFFFFF" .. text, root, 255, 255, 255, true)
           outputServerLog("CHAT: [MODERATOR] " .. name .. ": " .. text)
       elseif isObjectInACLGroup("user." .. account, aclGetGroup("Everyone")) then
           cancelEvent(true)
           outputChatBox("#cccccc[".. tag .."] #FFFFFF".. hex .."" .. name .. ": #FFFFFF" .. text, root, 255, 255, 255, true)
           outputServerLog("CHAT: " .. name .. ": " .. text)
       end
   end

end

addEventHandler("onPlayerChat", root, chatbox)


function RGBToHex(red, green, blue, alpha)

   if((red < 0 or red > 255 or green < 0 or green > 255 or blue < 0 or blue > 255) or (alpha and (alpha < 0 or alpha > 255))) then
       return nil
   end
   if(alpha) then
       return string.format("#%.2X%.2X%.2X%.2X", red,green,blue,alpha)
   else
       return string.format("#%.2X%.2X%.2X", red,green,blue)
   end

end