AR/String: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 321: Line 321:




'''string.format''' 


  هذه هي وظيفة قوية جدا، ويمكن استخدامها بطرق متعددة
  يمكن أن تستخدم للتبديل والاستبدال
.
<section name="server" class="server" show="true">
<syntaxhighlight lang="lua">




Line 415: Line 424:


end
end
</syntaxhighlight>
</section>

Revision as of 00:11, 22 August 2012

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


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



___________________________________________________________________


string.format

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


Click to collapse [-]
server


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