Jump to content

* فنكشنآت *


a7zan

Recommended Posts

للي مافهم ، لنفترض إن إسم مود حقي هو 77 ، طيب؟

وإسم المود الثاني 88

الحين لو ابي بـمود 77 ، ابيه يحمل مود 88 ، لازم احط 88 بمود 77 عشان يتحمل ،

في طريقة ثآنية.؟

Link to comment

هاد مثال بسيط يجيب لك الملفات الموجودة في المودات حط اسم المود يلي بدك اياه في الجدول

  
local Resources = { 
    "Test1", 
    "Test2", 
} 
  
addEventHandler("onResourceStart", resourceRoot, 
function () 
    for _, v in ipairs(Resources) do 
        local Meta = xmlLoadFile(":"..v.."/meta.xml") 
        if Meta then 
            for _, k in ipairs(xmlNodeGetChildren(Meta)) do 
                local XML = xmlNodeGetName(k) 
                if XML == "script" then 
                    local scriptPath = xmlNodeGetAttribute(k,"src") 
                    outputChatBox("File : "..scriptPath, root,0,255,0) 
                end 
            end  
            xmlUnloadFile(Meta) 
        end 
    end 
end ) 
Link to comment
للي مافهم ، لنفترض إن إسم مود حقي هو 77 ، طيب؟

وإسم المود الثاني 88

الحين لو ابي بـمود 77 ، ابيه يحمل مود 88 ، لازم احط 88 بمود 77 عشان يتحمل ،

في طريقة ثآنية.؟

في المسارات

: = back

يعني نفترض اللاعب خش السيرفر وحمل المودين

77 and 88

يصيرون عند اللاعب في ملف ريسورس

ونفترض الملف الي تبي اللاعب يحمله في سكربت 88 داخل ملف اسمه files

والسكربت الي بيحمل الملف هو 77

اذا حطيت هالمسار في فنكشن التحميل

"files/filename.smth"

السكربت بيبحث داخل سكربت 77 عن هالملف

ولو حطيت

"88/files/filename.smth"

بعد بيبحث داخل السكربت لانه المسار الأساسي هو السكربت حالياً

ف نسوي للخلف او باك ب ":"

عشان المسار الأساسي بدال مايكون السكربت حق التحميل الي هو 77

يصير ملف الريسورس

وبعدين نحط اسم السكربت والملف

":88/files/filename.smth"

Link to comment
El_Zorro said:
Tomas said:

¿Para qué el isElement?

Ok te lo explicaré, existen algunos sistemas dinámicos en dónde algunos elementos aparece y desaparecen, ésto para evitar tener muchos elementos creados en el espacio simulado del mundo de GTA SA y que el sistema no ocupe mucho procesador, así el servidor se puede decir, que será más liviano, por que se evita que se procese datos de elementos que no son ocupados en tiempo real.

Por ejemplo, puedes tener varios peds en varios partes del mundo de GTA SA, y éstos se crean o se destruyen, según si hay uno o más jugadores cerca. Por lo tanto, existen espacios de tiempo muy pequeños en el cual un elemento puede desaparecer o seguir existiendo. Si éste desaparece, el elemento no existe y aparecerá una pequeña advertencia sobre que el elemento no existe. Si usas la función isElement, busca al elemento y solo deja un pequeño espacio de tiempo entre su return y la siguiente operación, por lo tanto, comprueba si el elemento existe o no.

En algunos otros casos, isElement () se puede utilizar para otras cosas, como para comprobar que si existe algún elemento, se cumpla la función de una condicional. Si no existe, no se cumple del todo.

Te estás confundiendo con el 'streaming' de los elementos y con la existencia, ellos dejan de ser visibles y dejan de 'comunicarse' contigo, pero nunca dejan de existir, en vez de isElement puedes usar isElementStreamedIn downloadFile وتستخدم download = "false" او انكـ تعرفها بالميتا وتحط الـ

: والافضل تستخدم الثانية لانها سهلة .. وزي ما قالك وحش عشان تجيب ملف محدد من سكربت ما تحط مسارهـ بس قبله

:ScriptName/fileName مثلا

pic.png واسم الملف test لو كان اسم السكربت مثلأ

:test/pic.png

وبـ كذا جبت الملف بس يصير تستخدم الطريقة الثانية او الاولة لكن لو استخدمت الثانية لا تنسى انه تحط الداون لود فلس بالميتا .. والاولة لا تعرف الملف بالميتا .

Link to comment

في عندك طريقتين .. اما انكـ الملفات اللي بتحملها لو كانت باي سكربت انك ما تعرفها بالميتا

عشان تحملها https://wiki.multitheftauto.com/wiki/Cl ... _functions وتستخدم

downloadFile وتستخدم download = "false" او انكـ تعرفها بالميتا وتحط الـ

: والافضل تستخدم الثانية لانها سهلة .. وزي ما قالك وحش عشان تجيب ملف محدد من سكربت ما تحط مسارهـ بس قبله

:ScriptName/fileName مثلا

pic.png واسم الملف test لو كان اسم السكربت مثلأ

:test/pic.png

وبـ كذا جبت الملف بس يصير تستخدم الطريقة الثانية او الاولة لكن لو استخدمت الثانية لا تنسى انه تحط الداون لود فلس بالميتا .. والاولة لا تعرف الملف بالميتا .

Link to comment
في عندك طريقتين .. اما انكـ الملفات اللي بتحملها لو كانت باي سكربت انك ما تعرفها بالميتا

عشان تحملها https://wiki.multitheftauto.com/wiki/Cl ... _functions وتستخدم

downloadFile وتستخدم download = "false" او انكـ تعرفها بالميتا وتحط الـ

: والافضل تستخدم الثانية لانها سهلة .. وزي ما قالك وحش عشان تجيب ملف محدد من سكربت ما تحط مسارهـ بس قبله

:ScriptName/fileName مثلا

pic.png واسم الملف test لو كان اسم السكربت مثلأ

:test/pic.png

وبـ كذا جبت الملف بس يصير تستخدم الطريقة الثانية او الاولة لكن لو استخدمت الثانية لا تنسى انه تحط الداون لود فلس بالميتا .. والاولة لا تعرف الملف بالميتا .

للتوضيح بس

اذا كنت بتستخدم فنكشن

downloadFile

لازم يكون الملف معرف في السكربت حقه وتحط الدونلود فولس

لانه الفنكشن ذا كلاينت فقط واذا ماعرفت الملف في الميتا اللاعب مابيتعرف على الملف

الا لو كنت راح تسوي فنكشن دونلود خاص فيك ويكون يحمل من سيرفر سايد الى كلاينت مابتحتاج تعرف الملف في الميتا

Link to comment

عدلت ع كود شويكي

وحطيته اذا ضغط زر يتحمل الملف

بس ماضبط :|

والدي بوق مايقول شيء

وش المشكلة

الكود

local Resources = { 
    "arab/light.png", 
} 
  
addEventHandler ("onClientGUIClick", getRootElement(), 
function () 
if source == DownloadNow then 
      downloadFile(v) 
    for _, v in ipairs(Resources) do 
        local Meta = xmlLoadFile(":"..v.."/meta.xml") 
        if Meta then 
            for _, k in ipairs(xmlNodeGetChildren(Meta)) do 
                local XML = xmlNodeGetName(k) 
                if XML == "script" then 
                    local scriptPath = xmlNodeGetAttribute(k,"src") 
                    outputChatBox("File : "..scriptPath, root,0,255,0) 
                end 
            end 
            xmlUnloadFile(Meta) 
        end 
    end 
end  
end 
) 
Link to comment

ملاحظة الكود راح يحمل كل الملفات اللي تضيفها بالجدول .

local Resources = { 
    "arab/light.png", 
} 
  
addEventHandler ( "onClientGUIClick", resourceRoot, function () 
 if ( source == DownloadNow ) then 
   for _,v in ipairs ( Resources ) do 
     if ( fileExists ( v ) ) then 
           downloadFile ( v ) 
      end     
    end 
  end 
end ) 
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...