Jump to content

تحت التطوير :كود - Useful Arab functions


Booo

Recommended Posts

button = guiCreateButton(100,100,70,30,"Button",false) 
guiSetPositionAllScreen(button,800,600) 

اخوي من وين جبت 800 و 600 و احداثيات الزر 100,100 ؟؟

كود مفيد جدا جدا يعطيك العافيه

800 600

طول و عرض الشاشة

يعني الزر يصير على طول و عرض الشاشة

Link to comment
  • 2 weeks later...

السلام عليكم ورحمة الله وبركاته اليوم جايبلكم وظيفتين

الوظيفة الاولى

getAllPlayerInInterior(int interior) 

احضار جميع الاعبين الموجودين داخل العالم الداخلي

interior = رقم العالم الداخلي

الكود

function getAllPlayerInInterior(interior) 
    if interior and tonumber(interior) and interior > 0 then 
        for _,Player in ipairs(getElementsByType("player")) do 
            if getElementInterior(Player) == interior then 
                return Player 
            else 
                return false 
            end 
        end 
    else 
        return false 
    end 
end 

مثال

setElementInterior(getAllPlayerInInterior(1), 0) 

الوظيفة الثانية

getCountAllPlayerInInterior(int interior) 

احضار عدد الاعبين الموجودين داخل العالم الداخلي

interior = رقم العالم الداخلي

الكود

function getCountAllPlayerInInterior(interior) 
    CountPlayer = 0 
    if interior and tonumber(interior) and interior > 0 then 
        for _,Player in ipairs(getElementsByType("player")) do 
            if getElementInterior(Player) == interior then 
                CountPlayer = CountPlayer+1 
                return CountPlayer 
            else 
                return 0 
            end 
        end 
    else 
        outputDebugString("Eror") 
        return false 
    end 
end 

مثال

outputChatBox(getCountAllPlayerInInterior(1)) 

الفرق بين الوظيفتين

الاول يجيب الاعبين للي داخل العالم الداخلي

الثاني يجيب عدد الاعبين اللي داخل العالم الداخلي

Link to comment
^ امممم عمل لا بأس به

لكن راجع الوظيفتين

اتوقع يقصد

" الوظيفة تشوف احد في الانترور واذا لقت لاعب وقفت، ماتعطيك كل الاعبين داخل الانترور "!

Link to comment
السلام عليكم ورحمة الله وبركاته اليوم جايبلكم وظيفتين

الوظيفة الاولى

getAllPlayerInInterior(int interior) 

احضار جميع الاعبين الموجودين داخل العالم الداخلي

interior = رقم العالم الداخلي

الكود

function getAllPlayerInInterior(interior) 
    if interior and tonumber(interior) and interior > 0 then 
        for _,Player in ipairs(getElementsByType("player")) do 
            if getElementInterior(Player) == interior then 
                return Player 
            else 
                return false 
            end 
        end 
    else 
        return false 
    end 
end 

مثال

setElementInterior(getAllPlayerInInterior(1), 0) 

الوظيفة الثانية

getCountAllPlayerInInterior(int interior) 

احضار عدد الاعبين الموجودين داخل العالم الداخلي

interior = رقم العالم الداخلي

الكود

function getCountAllPlayerInInterior(interior) 
    CountPlayer = 0 
    if interior and tonumber(interior) and interior > 0 then 
        for _,Player in ipairs(getElementsByType("player")) do 
            if getElementInterior(Player) == interior then 
                CountPlayer = CountPlayer+1 
                return CountPlayer 
            else 
                return 0 
            end 
        end 
    else 
        outputDebugString("Eror") 
        return false 
    end 
end 

مثال

outputChatBox(getCountAllPlayerInInterior(1)) 

الفرق بين الوظيفتين

الاول يجيب الاعبين للي داخل العالم الداخلي

الثاني يجيب عدد الاعبين اللي داخل العالم الداخلي

عندك خطأ في الوظيفة الأولى,

إستخدم التيبل .

getAllPlayerInInterior = function ( interior ) 
    t = {  }; 
    if interior and tonumber ( interior ) then 
        for _, Players in ipairs ( getElementsByType ( "player" ) ) do 
            if getElementInterior ( Players ) == interior then 
                table.insert ( t, Players ); 
            end 
        end 
    end 
    return t 
end 

مثال :

for _, Players in ipairs ( getAllPlayerInInterior ( 1 ) ) do 
    setElementInterior ( Players, 0 ); 
end 

بالنسبة للوظيفة الثانية .

getCountAllPlayerInInterior = function ( interior ) 
    CountPlayers = 0 
    if interior and tonumber ( interior ) then 
        for _, Players in ipairs ( getElementsByType ( "player" ) ) do 
            if getElementInterior ( Players ) == interior then 
                CountPlayers = CountPlayers + 1 
            end 
        end 
    end 
    return CountPlayers 
end 

Link to comment
  • 4 weeks later...

*toboolean(string)

function toboolean(str) 
    if ( str and type(str) == "string" ) then 
        if ( str == "true" ) then 
            return true 
        else 
            return false 
        end 
    end 
end 

الفآيده من الوظيفه تحويل من سترنق الى بول

مثلا :

local val = "true" 
-- "true"تسآويvalراح تكون 
-- مباشره يعني تكون بول ماتكون سترنقtrueالىvalالحين لو ابي احول 
val = toboolean(val) 
-- trueتسآويvalالحين رآح تكون 
  

طبعا تقدر تستخدمها ف اشياء كثيره ,

مثال :

addCommandHandler("output",function(_,_,val) 
        -- دائما سترينق يعني نص ماراح تكون بولvalراح تكون 
        -- الأرقمنت حقها الي يطلع الألوان لازم يكون بول مو سترنقoutputChatBoxف لو استخدمناها الحين راح يطلع خطأ لأنه 
    outputChatBox("#ff0000 Welcome",root,0,255,255,val) 
        -- ف لازم تصير كذا : 
    outputChatBox("#ff0000 Welcome",root,0,255,255,toboolean(val)) 
end) 

output falseاوoutput trueالي مو فآهم المثال روح اف8 اكتب

addCommandHandlerبترجع سترينق يعني نص من البدايه اساساً ادخل الويكي وشوف البآريميتر حق وظيفةvalوالي يقول فراسه ليش :

https://wiki.multitheftauto.com/wiki/AddCommandHandler

شرح سيئ ماعرفت اوصل المعلومه تقريبا , اي استفسار ضع رد ,

بالتوفيق .

Edited by Guest
Link to comment
  • 3 weeks later...

*toboolean(string)

function toboolean(str) 
    if ( str and type(str) == "string" ) then 
        if ( str == "true" ) then 
            return true 
        else 
            return false 
        end 
    end 
end 

الفآيده من الوظيفه تحويل من سترنق الى بول

مثلا :

local val = "true" 
-- "true"تسآويvalراح تكون 
-- مباشره يعني تكون بول ماتكون سترنقtrueالىvalالحين لو ابي احول 
val = toboolean(val) 
-- trueتسآويvalالحين رآح تكون 
  

طبعا تقدر تستخدمها ف اشياء كثيره ,

مثال :

addCommandHandler("output",function(_,_,val) 
        -- دائما سترينق يعني نص ماراح تكون بولvalراح تكون 
        -- الأرقمنت حقها الي يطلع الألوان لازم يكون بول مو سترنقoutputChatBoxف لو استخدمناها الحين راح يطلع خطأ لأنه 
    outputChatBox("#ff0000 Welcome",root,0,255,255,val) 
        -- ف لازم تصير كذا : 
    outputChatBox("#ff0000 Welcome",root,0,255,255,toboolean(val)) 
end) 

output falseاوoutput trueالي مو فآهم المثال روح اف8 اكتب

addCommandHandlerبترجع سترينق يعني نص من البدايه اساساً ادخل الويكي وشوف البآريميتر حق وظيفةvalوالي يقول فراسه ليش :

https://wiki.multitheftauto.com/wiki/AddCommandHandler

شرح سيئ ماعرفت اوصل المعلومه تقريبا , اي استفسار ضع رد ,

بالتوفيق .

*بدال كل هالكلام الطويل*

loadstring

Link to comment

السلآم عليكم ,

هالكلآم الطويل فقط شرح يعني ماختلفنا ,

علينا من الكود , والكود بسيط وخفيف مافيه مشكله او شي عشآن يخلي الشخص مايستخدمه ,

+

loadstring صحيح ممكن استخدآم

لاكن قليل الي يعرف لها + ماكانت جآيه فـ بآلي نهائيآً

المهم يعني الي يبي ذي يستخدمها والي يبي وظيفتي يستخدمها ماهيب مشكله ابداً:)

ومشكور على كل حآل ..

Edited by Guest
Link to comment
السلآم عليكم ,

هالكلآم الطويل فقط شرح يعني ماتخلفنا ,

علينا من الكود , والكود بسيط وخفيف مافيه مشكله او شي عشآن يخلي الشخص مايستخدمه ,

+

loadstring صحيح ممكن استخدآم

لاكن قليل الي يعرف لها + ماكانت جآيه فـ بآلي نهائيآً

المهم يعني الي يبي ذي يستخدمها والي يبي وظيفتي يستخدمها ماهيب مشكله ابداً:)

ومشكور على كل حآل ..

احسنت ياحسن والشكر لك على ماتقوم به من مساعدات للاعضاء

Link to comment
  • 2 weeks later...

convertHistoryToHijri

لتحويل التاريخ الميلادي إلى هجري

ملاحظة: الطريقة ليست دقيقة 100 %

Syntax

string string string convertHistoryToHijri (  );  

Function Source

convertHistoryToHijri = function (  ) 
    local Time = getRealTime (  ); 
    local Day = Time.monthday 
    local Month = Time.month + 1 
    local Year = Time.year + 1900 
    -- 
    if Month == 1 then Last = Day end 
    if Month == 2 then Last = Day + 30 end 
    if Month == 3 then Last = Day + 60 end 
    if Month == 4 then Last = Day + 90 end 
    if Month == 5 then Last = Day + 120 end 
    if Month == 6 then Last = Day + 150 end 
    if Month == 7 then Last = Day + 180 end 
    if Month == 8 then Last = Day + 210 end 
    if Month == 9 then Last = Day + 240 end 
    if Month == 10 then Last = Day + 270 end 
    if Month == 11 then Last = Day + 300 end 
    if Month == 12 then Last = Day + 330 end 
    -- 
    x = math.ceil ( ( Year - 1 ) * 365.25 ); 
    x = x + Last  
    x = math.abs ( x - 227015 ); 
    x = math.floor ( x * 30 ); 
    xx = x 
    x = math.floor ( x / 10631 ); 
    m = math.floor ( x * 10631 ); 
    m = math.abs ( m - xx ); 
    x2 = math.floor ( m / 30 ); 
    x2 = math.abs ( x2 - 13 ); 
    -- 
    if x2 >= 1 and x2 <= 30 then x4 = x2 x3 = 1 end 
    if x2 >= 31 and x2 <= 60 then x4 = x2 - 30 x3 = 2 end 
    if x2 >= 61 and x2 <= 90 then x4 = x2 - 60 x3 = 3 end 
    if x2 >= 91 and x2 <= 120 then x4 = x2 - 90 x3 = 4 end 
    if x2 >= 121 and x2 <= 150 then x4 = x2 - 120 x3 = 5 end 
    if x2 >= 151 and x2 <= 180 then x4 = x2 - 150 x3 = 6 end 
    if x2 >= 181 and x2 <= 210 then x4 = x2 - 180 x3 = 7 end 
    if x2 >= 211 and x2 <= 240 then x4 = x2 - 210 x3 = 8 end 
    if x2 >= 241 and x2 <= 270 then x4 = x2 - 240 x3 = 9 end 
    if x2 >= 271 and x2 <= 300 then x4 = x2 - 270 x3 = 10 end 
    if x2 >= 301 and x2 <= 330 then x4 = x2 - 300 x3 = 11 end 
    if x2 >= 331 and x2 <= 360 then x4 = x2 - 330 x3 = 12 end 
    -- 
    return tostring ( x4 ), tostring ( x3 ), tostring ( x + 1 ); 
end 

مثال

setTimer (  
    function (  ) 
        local Day, Month, Year = convertHistoryToHijri (  ); 
        outputChatBox ( Day .. "/" .. Month .. "/" .. Year .. " هـ" ); 
    end 
    , 1000 
    , 1  
); 
  
  
convertHistoryToHijri = function (  ) 
    local Time = getRealTime (  ); 
    local Day = Time.monthday 
    local Month = Time.month + 1 
    local Year = Time.year + 1900 
    -- 
    if Month == 1 then Last = Day end 
    if Month == 2 then Last = Day + 30 end 
    if Month == 3 then Last = Day + 60 end 
    if Month == 4 then Last = Day + 90 end 
    if Month == 5 then Last = Day + 120 end 
    if Month == 6 then Last = Day + 150 end 
    if Month == 7 then Last = Day + 180 end 
    if Month == 8 then Last = Day + 210 end 
    if Month == 9 then Last = Day + 240 end 
    if Month == 10 then Last = Day + 270 end 
    if Month == 11 then Last = Day + 300 end 
    if Month == 12 then Last = Day + 330 end 
    -- 
    x = math.ceil ( ( Year - 1 ) * 365.25 ); 
    x = x + Last  
    x = math.abs ( x - 227015 ); 
    x = math.floor ( x * 30 ); 
    xx = x 
    x = math.floor ( x / 10631 ); 
    m = math.floor ( x * 10631 ); 
    m = math.abs ( m - xx ); 
    x2 = math.floor ( m / 30 ); 
    x2 = math.abs ( x2 - 13 ); 
    -- 
    if x2 >= 1 and x2 <= 30 then x4 = x2 x3 = 1 end 
    if x2 >= 31 and x2 <= 60 then x4 = x2 - 30 x3 = 2 end 
    if x2 >= 61 and x2 <= 90 then x4 = x2 - 60 x3 = 3 end 
    if x2 >= 91 and x2 <= 120 then x4 = x2 - 90 x3 = 4 end 
    if x2 >= 121 and x2 <= 150 then x4 = x2 - 120 x3 = 5 end 
    if x2 >= 151 and x2 <= 180 then x4 = x2 - 150 x3 = 6 end 
    if x2 >= 181 and x2 <= 210 then x4 = x2 - 180 x3 = 7 end 
    if x2 >= 211 and x2 <= 240 then x4 = x2 - 210 x3 = 8 end 
    if x2 >= 241 and x2 <= 270 then x4 = x2 - 240 x3 = 9 end 
    if x2 >= 271 and x2 <= 300 then x4 = x2 - 270 x3 = 10 end 
    if x2 >= 301 and x2 <= 330 then x4 = x2 - 300 x3 = 11 end 
    if x2 >= 331 and x2 <= 360 then x4 = x2 - 330 x3 = 12 end 
    -- 
    return tostring ( x4 ), tostring ( x3 ), tostring ( x + 1 ); 
end 

Link to comment

convertHistoryToHijri

لتحويل التاريخ الميلادي إلى هجري

ملاحظة: الطريقة ليست دقيقة 100 %

Syntax

string string string convertHistoryToHijri (  );  

Function Source

convertHistoryToHijri = function (  ) 
    local Time = getRealTime (  ); 
    local Day = Time.monthday 
    local Month = Time.month + 1 
    local Year = Time.year + 1900 
    -- 
    if Month == 1 then Last = Day end 
    if Month == 2 then Last = Day + 30 end 
    if Month == 3 then Last = Day + 60 end 
    if Month == 4 then Last = Day + 90 end 
    if Month == 5 then Last = Day + 120 end 
    if Month == 6 then Last = Day + 150 end 
    if Month == 7 then Last = Day + 180 end 
    if Month == 8 then Last = Day + 210 end 
    if Month == 9 then Last = Day + 240 end 
    if Month == 10 then Last = Day + 270 end 
    if Month == 11 then Last = Day + 300 end 
    if Month == 12 then Last = Day + 330 end 
    -- 
    x = math.ceil ( ( Year - 1 ) * 365.25 ); 
    x = x + Last  
    x = math.abs ( x - 227015 ); 
    x = math.floor ( x * 30 ); 
    xx = x 
    x = math.floor ( x / 10631 ); 
    m = math.floor ( x * 10631 ); 
    m = math.abs ( m - xx ); 
    x2 = math.floor ( m / 30 ); 
    x2 = math.abs ( x2 - 13 ); 
    -- 
    if x2 >= 1 and x2 <= 30 then x4 = x2 x3 = 1 end 
    if x2 >= 31 and x2 <= 60 then x4 = x2 - 30 x3 = 2 end 
    if x2 >= 61 and x2 <= 90 then x4 = x2 - 60 x3 = 3 end 
    if x2 >= 91 and x2 <= 120 then x4 = x2 - 90 x3 = 4 end 
    if x2 >= 121 and x2 <= 150 then x4 = x2 - 120 x3 = 5 end 
    if x2 >= 151 and x2 <= 180 then x4 = x2 - 150 x3 = 6 end 
    if x2 >= 181 and x2 <= 210 then x4 = x2 - 180 x3 = 7 end 
    if x2 >= 211 and x2 <= 240 then x4 = x2 - 210 x3 = 8 end 
    if x2 >= 241 and x2 <= 270 then x4 = x2 - 240 x3 = 9 end 
    if x2 >= 271 and x2 <= 300 then x4 = x2 - 270 x3 = 10 end 
    if x2 >= 301 and x2 <= 330 then x4 = x2 - 300 x3 = 11 end 
    if x2 >= 331 and x2 <= 360 then x4 = x2 - 330 x3 = 12 end 
    -- 
    return tostring ( x4 ), tostring ( x3 ), tostring ( x + 1 ); 
end 

مثال

setTimer (  
    function (  ) 
        local Day, Month, Year = convertHistoryToHijri (  ); 
        outputChatBox ( Day .. "/" .. Month .. "/" .. Year .. " هـ" ); 
    end 
    , 1000 
    , 1  
); 
  
  
convertHistoryToHijri = function (  ) 
    local Time = getRealTime (  ); 
    local Day = Time.monthday 
    local Month = Time.month + 1 
    local Year = Time.year + 1900 
    -- 
    if Month == 1 then Last = Day end 
    if Month == 2 then Last = Day + 30 end 
    if Month == 3 then Last = Day + 60 end 
    if Month == 4 then Last = Day + 90 end 
    if Month == 5 then Last = Day + 120 end 
    if Month == 6 then Last = Day + 150 end 
    if Month == 7 then Last = Day + 180 end 
    if Month == 8 then Last = Day + 210 end 
    if Month == 9 then Last = Day + 240 end 
    if Month == 10 then Last = Day + 270 end 
    if Month == 11 then Last = Day + 300 end 
    if Month == 12 then Last = Day + 330 end 
    -- 
    x = math.ceil ( ( Year - 1 ) * 365.25 ); 
    x = x + Last  
    x = math.abs ( x - 227015 ); 
    x = math.floor ( x * 30 ); 
    xx = x 
    x = math.floor ( x / 10631 ); 
    m = math.floor ( x * 10631 ); 
    m = math.abs ( m - xx ); 
    x2 = math.floor ( m / 30 ); 
    x2 = math.abs ( x2 - 13 ); 
    -- 
    if x2 >= 1 and x2 <= 30 then x4 = x2 x3 = 1 end 
    if x2 >= 31 and x2 <= 60 then x4 = x2 - 30 x3 = 2 end 
    if x2 >= 61 and x2 <= 90 then x4 = x2 - 60 x3 = 3 end 
    if x2 >= 91 and x2 <= 120 then x4 = x2 - 90 x3 = 4 end 
    if x2 >= 121 and x2 <= 150 then x4 = x2 - 120 x3 = 5 end 
    if x2 >= 151 and x2 <= 180 then x4 = x2 - 150 x3 = 6 end 
    if x2 >= 181 and x2 <= 210 then x4 = x2 - 180 x3 = 7 end 
    if x2 >= 211 and x2 <= 240 then x4 = x2 - 210 x3 = 8 end 
    if x2 >= 241 and x2 <= 270 then x4 = x2 - 240 x3 = 9 end 
    if x2 >= 271 and x2 <= 300 then x4 = x2 - 270 x3 = 10 end 
    if x2 >= 301 and x2 <= 330 then x4 = x2 - 300 x3 = 11 end 
    if x2 >= 331 and x2 <= 360 then x4 = x2 - 330 x3 = 12 end 
    -- 
    return tostring ( x4 ), tostring ( x3 ), tostring ( x + 1 ); 
end 

المفروض تحط اسمي لانها فكرتي

Link to comment

ههههههههههههههههههههههههههه

ياذكي لو انا ماسالت عن التاريخ الهجري

كان انت ماسويت الكود

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

Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...