Leaderboard


Popular Content

Showing content with the highest reputation since 14/08/19 in all areas

  1. 2 points
    اول تصميم لمسدس ذهب
  2. 2 points
    EngineLoadIFP - Carrega o IFP no MTA e cria um nome de bloco customizado para colocar as animações nele. SetPedAnimation - Coloca a animação no personagem, use o nome que vc customizou e o nome da animação que está dentro do arquivo IFP. engineReplaceAnimation - Caso você deseje substituir uma animação nativa do GTA por uma animação do seu arquivo IFP em vez de criar um bloco novo.
  3. 1 point
    شوف هادا , نفس طلبك تقريبا
  4. 1 point
    Sim. Use a seção Portuguese / Português @Lord _+[N]injA
  5. 1 point
    Não estava no lugar correto. Tópico movido para a seção de Programação em Lua. Sobre sua dúvida, vc pode usar SetPlayerHudComponentVisible.
  6. 1 point
    اتوقع لو تقرأ الكلام و تركز اكثر بتفهم الفكرة الي بوصلها لك
  7. 1 point
    solved my problem with the first option, thanks
  8. 1 point
    شكرا يا حب تسلم من عيوني المرة الجاية انت شوفت دا ولا ما ظهر عندك
  9. 1 point
    Hi, thanks for answer. I've checked by myself and probably it worked for Lua functions (looks like), but for some reason on MTA functions it showed mostly less or rarely - more ticks, there was a few times when it taked even more than non-localized things. (maybe fault of fast restart of script but i don't think so).
  10. 1 point
    The _G table keeps track of all global variables. Not just functions and not all functions, as some can be saved in local variables. https://www.Lua.org/pil/14.html Yes, they are `shared` or rather copied. I honestly only localize my own functions. The last time I checked, I didn't notice any optimization by localize MTA functions. Every file has it's own scope, so making use of that is not a bad thing. My main reason for localization: You can use it to distinguish functions used within the file, from functions that are called from other files. The only thing I do with some Lua functions is this: local mathRandom = math.random
  11. 1 point
    You can turn it off by updating windows
  12. 1 point
    فيه اكثر من طريقة outputChatBox(table.concat(myTable[1], ", "), source, 255, 0, 0) outputChatBox(myTable[1][1]..", "..myTable[1][2], source, 255, 0, 0)
  13. 1 point
    مافهمت سؤالك الاول وبالنسبة لسؤالك الثاني لا ماينفع
  14. 1 point
    You can not do that, elementData is temporary, what you can that about is using setAccountData (when the player leaves save elementData) and getAccountData (get the data saved by the account) Try this: -- load elementData function load(_, account) local name = getAccountData(account, "name") or "N/A" setElementData(source, "name", name) end addEventHandler("onPlayerLogin", getRootElement(), load) -- save elementData function save() local name = getElementData(source, "name") or "N/A" setAccountData(getPlayerAccount(source), "name", name) end addEventHandler("onPlayerQuit", getRootElement(), save) -- find elementAccount function find (source, cmd, playerAccount) if cmd and playerAccount then if getAccount(playerAccount) then local gName = getAccountData(getAccount(playerAccount), "name") outputChatBox("Name of "..playerAccount.." is #FFFFFF"..""..gName, source, 152, 95, 161, true) end end end addCommandHandler("find", find) EDIT: I do not tested!
  15. 1 point
    local marker = getElementsByType("marker") numaratoare = 0 for k, markere in ipairs(marker) do numaratoare = numaratoare + 1 outputChatBox(numaratoare) end poftim aici , iti scrie in chat numarul de markere. ca sa functioneze pe editor faci si tu o resursa si introduci functia de mai sus intr-un client.
  16. 1 point
    É uma variável interna do MTA que retorna o cliente que chamou o lado server. É útil também para verificação de segurança visto que o elemento cliente pode ser burlado em modificações do jogo, daí client sempre vai retornar o cliente válido.
  17. 1 point
    Pra "sumir" você precisa dar essa funcionalidade ao script. Use removeEventHandler.
  18. 1 point
    O nome do evento tá errado, substitua "onClientRander" por "onClientRender".
  19. 1 point
    nightly.mtasa.com/files/shaders/shader_hud_mask.zip
  20. 1 point
    local text = guiGetText( yourGuiElement ); if ( text:find( "@" ) ) then outputChatBox( "contains @" ); else outputChatBox( "contains none " ); end Also you can use pregMatch functions. UPD: http://Lua-users.org/wiki/PatternsTutorial http://www.Lua.org/manual/5.1/manual.html#5.4.1
  21. 1 point
    Try this local markers = {} function bagaznik(player) veh = getPedOccupiedVehicle(player) if (not isElement(veh) then return false end if getVehicleDoorOpenRatio(veh, 1) > 0 then setVehicleDoorOpenRatio(veh, 1, 0) if (markers[veh]) then removeEventHandler("onMarkerHit", markers[veh], sprawdzstan) destroyElement(markers[veh]) end return true end tires = getElementData(veh, "trunkTires") if (tires) then return false end setElementData(veh, "trunkTires", true) x,y,z = pozycja(veh, 0, -3, -1) markers[veh] = createMarker (x, y, z, "cylinder", 1.5, 255, 255, 0, 170 ) addEventHandler("onMarkerHit", markers[veh], sprawdzstan) setVehicleDoorOpenRatio(veh, 1, 1) end addCommandHandler("trunk",bagaznik) What I have changed: 1- I made it so if you use /trunk then it will open trunk if it is closed and do create a marker (which I made it in a table instead of your variable so you can easily destroy your marker afterwards) and if you use /trunk and the trunk is opened, so it will close and destroy the marker (I assumed that you want to do that, if not just remove that line) 2- Changed your method of if statement to another one which is simpler to read.
  22. 1 point
    افتح سيرفر ريس DM / DD موداتها ياكثرها على النت
  23. 1 point
    FROM VERSION 1.5.6 r16715 ONWARDS The minimum accepted interval is 0ms now. https://wiki.multitheftauto.com/wiki/SetTimer
  24. 1 point
    Exemplo básico: pizzaria = createElement("pizzaria") setElementData(pizzaria, "Pizza", 0) nesse caso ai vai ter 0 pizza no elemento pizzaria.
  25. 1 point
    اللهم صل وسلم وبارك على نبينا وحبيبنا محمد وعلى آله وصحبه أجمعين
  26. 1 point
    صراحة شغلك جميل و محترم اهنيك بالتوفيق لك
  27. 1 point
    أهااا فهمت عليك الحين يعني مشكلتك مع الدائره نفسها مو مع الكود المشكله اني ما اعرف للشادر وهو الشي الوحيد اللي معرقلني في اللعبه دور على كود شادر في المواقع وهذي كلمات دلاليه تساعدك في البحث HLSL, Shaders DirectX9 أدري صعب تفهمها بس مافيه شرح في الويكي للأسف وقليل تحصل ناس تفهم في الشادر
  28. 1 point
    يب شادر أعرف السكربت ذا , راح تكون جودة الدائره شوي مو كويسه بس بضبطها واعطيك
  29. 1 point
    Hi, You must be mistaken. CAC8AC94A7799C062CA8F7FC131789A1 and 0377F789C57640E4C3E3151449021F13 are not related
  30. 1 point
    Provavelmente se trata de um erro com a permissão, adicione o resource na ACL. Lembre-se de postar no local correto @Cristtk ; Portuguese / Português
  31. 1 point
    setElementData() getElementData() You should set the element data of the vehicle and chech that. Like: setElementData(veh, "trunkTires" 1); -- later local tires = getElementData(veh, "trunkTires"); if tires > 0 then setElementData(veh, "trunkTires", tires-1); -- Your get the tire from trunk code else -- No tire in car, handle that too end
  32. 1 point
    الخطئ الاول والثاني يقولك انه screenX1 مب متعرفة وفعلاً انا مو شايفها فـ كودك الخطئ الثالث والرابع مو واضح بالصورة حقك لكن الي قاعد اشوفه انك مكرر اسم الفنكشن فـ كل مكان تقريباً وبالتالي الكود راح ياخذ اخر متغير بالاسم ذا وبذي الحالة هو MyCross = dxDrawImage(screenX1-(size/2), screenY1-(size/2), size, size, "images/"..GetCrossHair), tocolor(255,255,255,255) وليس الفنكشن انصحك تحط اسم مختلف لكل متغير بدل الي مسويه ذا
  33. 1 point
    Both posts above mix server-only functions with client-only functions. Smh. --server function refreshListAdmin() local onlineAdmins = {} for i, v in ipairs(getElementsByType("player")) do if hasObjectPermissionTo(v, "function.setPlayerMuted", true) then table.insert(onlineAdmins, getPlayerName(v)) end end triggerClientEvent(client, "receiveListAdmin", client, onlineAdmins) end addEvent("refreshListAdmin", true) addEventHandler("refreshListAdmin", root, refreshListAdmin) --client WINDOW_WITH_GRIDLIST = guiCreateWindow(...) GRIDLIST = guiCreateGridList(...) guiGridListAddColumn(GRIDLIST, "Admin Name", 0.85) function showListAdmin() if guiGetVisible(WINDOW_WITH_GRIDLIST) then guiSetVisible(WINDOW_WITH_GRIDLIST, false) -- hide the window if it's already visible return end guiGridListClear(GRIDLIST) guiGridListAddRow(GRIDLIST, "Loading...") -- add a row that says "Loading..." while waiting for server to return the admins list guiSetVisible(WINDOW_WITH_GRIDLIST, true) triggerServerEvent("refreshListAdmin", localPlayer) end addCommandHandler("admins", showListAdmin) function loadListAdmin(admins) if not guiGetVisible(WINDOW_WITH_GRIDLIST) then return -- don't continue if the user already closed the window end guiGridListClear(GRIDLIST) -- clear out the "Loading..." row if #admins > 0 then for k, v in pairs(admins) do guiGridListAddRow(GRIDLIST, v) end else guiGridListAddRow(GRIDLIST, "No admins online.") end end addEvent("receiveListAdmin", true) addEventHandler("receiveListAdmin", root, loadListAdmin) You'll need to incorporate this code into your existing code. Specifically, plug in the proper variables for your GUI window and gridlist.
  34. 1 point
    local isClosed = false -- لاتلسمها local speed = 0.05 -- تحكم بسرعة تحرك ال dx function panel() if (progress < 1 or variable < 0) then progress = progress + variable end if (progress <= 0) then removeEventHandler("onClientRender", root, panel) progress = 0 end cX, cY, cX = interpolateBetween(0, 0, 0, 0, -30, 0, progress, "Linear") dxDrawRectangle(0, cY + 600, 1280, 155, tocolor(0, 0, 0, 171), false) end function test() if (isClosed == false) then progress = 0 variable = speed isClosed = true addEventHandler("onClientRender", root, panel) return true end if (isClosed == true) then variable = -speed isClosed = false return true end end bindKey("F2", "down", test)
  35. 1 point
  36. 1 point
    بالتوفيق ملحوظه ( جيب مفرد كلمه مهابل ) و اعرف معناها
  37. 1 point
    --client if ( source == Button[44] ) then local message = guiGetText ( editAdmin ) if message == "" then playSoundFrontEnd(2) return end triggerServerEvent ( "SendMessage" , localPlayer , message ) end addEvent ( "ReciveMessage" , true ) addEventHandler ( "ReciveMessage" , root , function ( message , Name ) local servertime = getRealTime ( ) local hours , minutes , second = servertime.hour , string.format ( "%02d" , servertime.minute ) , string.format ( "%02d" , servertime.second ) guiSetText ( memo_admin , guiGetText ( memo_admin ) .. "[" .. hours .. ":" .. minutes .. ":" .. second .. "] " .. Name .. ": " .. message .. "\n" ) guiSetText ( editAdmin , "" ) end end ) -- # Server side addEvent ( "SendMessage" , true ) addEventHandler ( "SendMessage" , root , function ( Message ) for _ , Player in pairs ( getElementsByType ( "player" ) ) do triggerClientEvent ( Player , "ReciveMessage" , Player , Message , getPlayerName ( source ) ) end end )
  38. 1 point
    حياك الله , فلخدمه
  39. 1 point
    بالنسبة لمشكلتك الاولى local myTable = {"TEST", "1", "2", "3"} function test() for i, v in ipairs(myTable) do dxDrawText(v, 158, 135, 20, 10, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) end end addEventHandler("onClientRender", root, test) الي ف اللوب i بس كذا الكلام بيجي فوق بعضه طبعاً ، لو تبي الكلام ينزل تحت بعضه او جنب بعضه العب الاحداثيات باستغلال الـ
  40. 1 point
    You can use a youtube api converter to convert youtube videos into mp3 files, however generally these api's only convert music videos. To do this you'd need to do whats called string parsing. Where you take the youtube url and change the string a bit to match what the api needs in order to work, these api's are called web api's and can be used using fetchRemote however it is not ideal because it requires each player to verify access to the url. Alternatively you can use/make your own api with something like nodejs that I don't know much about, but it is a faster, more flexible alternative. There is one other way that doesn't require api's or verifying urls, you can run a browser to a youtube link to play the sound however you'd have to find some way to sync it up with other players and also check the distance between the player or where you created the sound and the elements around it for that 3d effect. I hope this helped, good luck to you mate.
  41. 1 point
    bom, como geralmente os id são salvos como "ID" use isso no chat: getElementData(source, "ID") Pode não funcionar com essa parâmetros dependendo de como está o seu sistema de ID e CHAT
  42. 1 point
    Salut, as vrea sa va prezint un sound system cu bass efect. Download Link: - Video: https://youtu.be/NQ8cwBeAd0s ® Resource created by Me & F0rest
  43. 1 point
    Ningún hosting tercierizado( es decir, que brinda alojamiento "Managed" sin darte una VPS ofrece SSH ) Si buscas SSH, simplemente ve y alquila una VPS. Por lo demas no puedo hablar, no conozco.
  44. 1 point
    السلام عليكم ورحمة الله و بركاته طبعاً معظم الناس مش فكراني والباقي مش عارفني انا كازانوفا مصمم اوبجت dff,txd,col اي model تفكر فيه بصممه و صاحب سيرفر Gta Egypt Team الاصلي القديم كنت انا و عصفورة و تايجر و اعتزلت و رجعت لهدف معين يعني الموفجأة هي :- اي اوبجكت محتاجة لسيرفرك اكتبه في كومنت و هصممهولك و من غير اي مقابل طبعا في ناس هتقول نصاب و كذاب و الكلام دا بس الناس القديمة الهنا و اصحاب السيرفرات القديمة عرفني كويس
  45. 1 point
    كل كلامك غلط ماله علاقة على استضافة ولا على جهازك الخاص settings.xml مبرمج على انه ياخذ المعلومات من ملف mysql ومود settings.xml الأصل المعلومات تنحط في ملف mysql بس البعض من ابطال الديجتال الي مالهم اي خبره يحاولون يعدلون على ملفات مود get وطبعا بما انهم ابطال ديجتال (منوب) يروح يخرب الكود ويحط اليوزر داخل فنكشن username = get( "username" ) 😪 يسويه كذا ثم يجي يبكي لوحة التسجيل مو شغاله username = get( "root" ) البعض من ابطال الديجتال يكون شوي فاهم ويسويه كذا username = "root" على خادم لينكس ويتوقع ان السيرفر يشتغل .dll هذا غير ابطال الديجتال من بتاع تصنيف (سوبر منوب) الي يرفع ملفات ويندوز 😭 ثم يبكي السيرفر مو شغال كلمتني على الخاص وضبطت لك كل شي ماعدا شي واحد تحتاج تسويه بنفسك ما تبي تسويه شي راجع لك
  46. 1 point
    Pois é. Vcs estão usando funções MySQL, este tutorial é só de SQLite, banco de dados nativo do MTA. ExecuteSQLQuery
  47. 1 point
    Are you in search of a good hosting service provider? HostSailor is a global and trusted provider of VPS hosting, dedicated servers, domains, SSL certificates, and other hosting and technology services. They provide a wide selection of platforms to ensure that customers offer the right solution for their website needs. They offer affordable prices for good quality products and services.
  48. 1 point
    OK so after many requests from people asking me to install discord bots to their servers I have decided to make the simplest tutorial on setting up a bot for your servers. [NOTE]: THIS IS A VPS TUTORIAL. IF YOUR SERVER ISN'T RUNNING ON A VPS THIS WILL NOT WORK FOR YOU UNLESS YOU UNDERSTAND HOW NODE.JS WORKS. Part 1: Bot creation Part 2: Files Configuration Part 3: SSH commands That should be all now go have fun annoying players in your server. Some feedback would be appreciated Good luck
  49. 1 point
    A picture tells more than a thousand words, a video tells more than a thousand pictures. Older videos from different stages of development:
  50. 0 points
    بدل هل تعقيد واخرتها يطلع شكلها مب حلو ، جيب صورة دائرة وخليها تلف اسهل بالف مرة