AR/String: Difference between revisions
No edit summary |
No edit summary |
||
Line 319: | Line 319: | ||
___________________________________________________________________ | ___________________________________________________________________ | ||
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 |
Revision as of 22:32, 20 August 2012
بسم الله الرحمن الرحيم
KrSoFa ملاحظة: هذه المكتبه من ترجمتي الخاصه انا
اذا أردت أضافة حدث للمكتبه او تعديل خطأ بالترجمه او التنسيق او إضافة مثآل فيمكنك القيام بما تريد ماعدا( حذف اي حرف بلا حق)ا.
نبدأ على بركة الله باأول حدث بالمكتبه
string.upper وهو حدث
string.upper هذا الحدث
يستخدم للتحويل حالةالاحرف من الاحرف الصغيره الى الاحرف الكبيره .
test1 = string.upper("Hello, Lua user!") HELLO, LUA USER!
___________________________________________________________________
string.sub
تستخدم لتحديد بداية ونهاية السلسله ، حيث ان الرقم الاول يحدد بداية السلسه والرقم الثاني يحدد نهاية السلسه وعند وضع الرقم بالسالب سوف تقوم بتحديد السلسه بالعكس
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
تستخدم لعكس السلسه .
test1 = string.reverse("krsofa") afosrk
___________________________________________________________________
string.rep
تستخدم لنسخ السلسه على حسب الرقم .
test1 = string.rep("Lua ",5) Lua Lua Lua Lua Lua test2 = string.rep("KrSoFa\n",3) KrSoFa KrSoFa KrSoFa
___________________________________________________________________
string.lower
تستخدم للتحويل حالةالاحرف من الاحرف الكبيره الى الاحرف الصغيره .
test1 = string.lower("Hello, KrSoFa user!") hello, krsofa user!
___________________________________________________________________
string.len
تستخدم لمعرفة طول السلسله .
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
هذه هي وظيفة قوية جدا، ويمكن استخدامها بطرق متعددة يمكن أن تستخدم للتبديل والاستبدال .
-- المثال الاول يقوم بتنقيح لـ كلمة -- 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
-- المثال الاول يقوم بطباعة السلسله 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