Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 03/06/20 in all areas

  1. pDownloader version 1.2.1 Better looking progress bar and players can play while downloading files. Video: https://streamable.com/bedf40 Documentation moved to GitHub! Go to GitHub...
    2 points
  2. Ok we need to get the vice city servers back up and running my god them days where fun god only knows if any of the old players are still on here but give me a shout out if you are
    2 points
  3. You've vertex painted lighting onto your model, but noticed how it really lacks depth. It's too bland... What do you do now... In this short tutorial for Max users, I'll teach how to add facet shading into your model, giving it back its San Andreas look. I also have a more in depth guide on everything to do with vertex colors: https://forum.multitheftauto.com/topic/121674-basics-of-vertex-color-and-alpha/
    2 points
  4. thePlayer na linha 22 irá retornar nil; o valor não foi definido em nenhum lugar. Você deve usar o primeiro parâmetro do evento para obter o hitElement (elemento que encostou na marker). Além disso, vai precisar também verificar se esse elemento é um player, faça isso com getElementByType(source) == "player" em uma condição if. E nunca use source como parâmetro; este é uma variável predefinida do MTA e que dependendo da ocasião pode gerar erros no seu código. Fora esses problemas na sua função, você também irá precisar adicionar o evento para cada marker que for criada, e isso não vai acontecer pois o loop está armazenando as markers numa só variável. Isso vai fazer com que só a última marker do loop continue salva. Uma solução seria o seguinte código: local tMarkers = {} function markerInicial (x,y,z,Painel_droga) for i, v in ipairs (markers) do tMarkers[ createMarker (v[1], v[2],v[3], "cylinder", 255, 0, 157, 50) ] = i -- armazenar o índice referente ao da tabela dos locais end end Função Open_Painel: function Open_Painel (hitElement) if tMarkers[source] and getElementType(hitElement) == "player" then if isPlayerInACL(hitElement, "trafico") then triggerClientEvent(hitElement, "Abrir_Painel", hitElement) else outputChatBox("Você não faz parte de nenhuma gang!", hitElement) end end end addEventHandler("onMarkerHit", resourceRoot, Open_Painel) -- adicionar esse evento só para markers neste resource Edit: O erro que você menciona, ocorre porque a linha do evento "onMarkerHit" irá chamar assim que ligar o resource, e nesse momento o valor da variável ainda não foi definido; só será definido quando a função 'markerInicial' for chamada. Edit #2: Você não precisa criar a sub-tabela com uma variável na tabela 'markers', assim já basta: markers = { {352.43173217773, 2540.5510253906, 15.72790145874}, -- sub-tabela 1 {x, y, z}, -- sub-tabela 2 } Isso na verdade faria seu loop com ipairs falhar, já que este é um loop para índices numéricos.
    2 points
  5. I'm excited to show you my latest tool. This time it is something different than my previous tools. It is a bigger project which came to my mind over 2 years ago. I failed at first time because I had trouble with rotations (built in mta function doesn't work well so I had to use quaternions which caused problems as well). Moreover one of devs was working on new editor and he was going to add multi selection option but he cancelled the project. After 2 years I decided to finally write it and also add few additional features. Many hours spent on the tool, thousands lines of code but here is it. I hope you like it and find it useful. Personally I think it should speed up your mapping a lot. Few features might look complicated (actually they are easy to use) so I advice watching or reading tutorial carefully. Features Let's see what this tool is capable of! Create groups of elements using various selection tools and element filters a. edit their position and rotation around all axes b. change their properties - all popular element types are supported c. clone / delete options d. large group support enables you to move / edit whole parts or even maps Duplicate 2 groups Change pivot position Add groups to library a. browser with search and sort options b. loading big groups enables you to join many maps into 1 c. import option which adds all MSTU groups from a given map Cover groups a. create your own cover variations or object compositions b. default cover settings makes covering even faster Customize tool settings on your own needs Download More info and full tutorial you will find here: https://www.thecrewgaming.com/forum/showthread.php?tid=2467&pid=12255#pid12255 Support me If you want to support me leave feedback and also you can buy me a coffee so I won't starving. Thanks a lot! Buy Coffee Feel free to ask questions below or via PM/discord. I'm also opened for script requests. I will keep updating the tool in case you find some bugs. Discord: https://discordapp.com/invite/C4TRxr8
    1 point
  6. Hola, Soy Rix3# Vengo a compartirles esta creación que he realizado, sistema de medallas con imágenes para el scoreboard... recuerdo que habilito el link de descarga cuando se cumpla la meta de likes ♥ Hi, I'm Rix3 # I come to share this creation that I have made, a system of medals with images for the scoreboard ... I remember that I enable the download link when the goal of likes is met ♥ INFORMACIÓN / INFORMATION ESPAÑOL El Jugador tenga una cuenta o no, le aparecerá una medalla. Si utilizas el configurador de Zombie Kills solo los del grupo ACL “Console” puede abrirlo presionando la tecla “o”. Cada que realices la acción de dar ZK, el jugador debe matar un zombie para que se actualice la medalla en el Scoreboard Automáticamente. Si llegamos a 50 Likes comparto el Script Descompilado, por el momento las medallas irán de esta manera: .- 0 – 1099 Zombie Kills ( Rango 0-10 ) .- 1100 – 3099 Zombie Kills ( Rango 11-20 ) .- 3100 – 4099 Zombie Kills ( Rango 21-30 ) .- 4100 – 5099 Zombie Kills ( Rango 31-40 ) .- 5100 – 9999 Zombie Kills ( Rango 41-50 ) .- 10000 – 15000000 Zombie Kills ( RANGO LEVEL PRO ) Este Script es exclusivo para los Servidores ZOMBIES! Este Script en creado 100% por Rix3#, todos los Derechos Reservados. ENGLISH The Player has an account or not, a medal will appear. If you use the Zombie Kills configurator, only those in the ACL group "Console" can open it by pressing the "o" key. Each time you perform the ZK action, the player must kill a zombie in order for the medal to update automatically on the Scoreboard Automatically. If we reach 50 Likes I share the Decompiled Script, for the moment the medals will go like this: .- 0 – 1099 Zombie Kills ( Rank 0-10 ) .- 1100 – 3099 Zombie Kills ( Rank 11-20 ) .- 3100 – 4099 Zombie Kills ( Rank 21-30 ) .- 4100 – 5099 Zombie Kills ( Rank 31-40 ) .- 5100 – 9999 Zombie Kills ( Rank 41-50 ) .- 10000 – 15000000 Zombie Kills ( RANK LEVEL PRO ) This Script is exclusive for ZOMBIES Servers! This Script is created 100% by Rix #, all Rights Reserved. DEPENDENCIAS / DEPENDENCIES guitext scoreboard edited by Rix3# VIDEO
    1 point
  7. اذا هالمشكلة ماتصير في الأجهزة الثانيه مثل الجوالات يمكن يكون السبب مشكله في كرت الشبكه سوي له تحديث يمكن يفيد.
    1 point
  8. عن آرينا للعب الأدوار آرينا، خادم لعب أدوار بدأ في مايو عام 2019 كـفكرة ودية يتم مناقشتها مع مُمثليها، حتى وصلنا إلى شهر مارس عام 2020، وبدأنا نفكر مرة أخرى وبشكلٍ جدي حتى نبدأ في العمل على الخادم، ونستعيد الفكرة التي طرحناها بيننا عام 2019، نحن لم نفعل ذلك عبساً، حدث ذلك بعد محاولات لتجربة العديد من الخوادم التي كانت من المفترض أن توفر لعب الأدوار "المُحترف" والغير تقليدي. ولكن لم نجد البيئة المناسبة للعب الأدوار، لذا دعوني آخذكم في جولة عن آرينا، وبشكل مبسط، آرينا للعب الأدوار خادم مبني على لعب الأدوار النصي بالنمط الكلاسيكي في غالبية تعاملاته مع اللاعبين. مع بعض واجهات المستخدم الإستثنائية. ماذا نقدم؟ توفير لعب الأدوار الغير تقليدي ولكن بالنمط الكلاسيكي، على مدار ثلاثة سنوات من لعب الأدوار شبه المُنظم داخل الخوادم العربية، لم نجد أي خادم مُنظم بشكلٍ كافٍ حتى يطرح للاعبين مسألة إستمراريته ومتى قد يبقى الخادم مستقراً، لذلك كنا نفكر في الأسباب وكيفية تحويل المشكلة إلى حلٍ منطقي بشكل يضمن تميز الخادم عن غيره مثل ضمان الإستمرارية، إعطاء الخادم الجهد المطلوب حتى نضمن أعلى جهد مُمكن أن يُبذل. وبعد الكثير من المناقشات حول كيفية ضمان حدوث ذلك، سنوفر حلول غير تقليدية بشكلٍ راقي ومن طاقم محترف. لطالما أراد الجميع فرصة التطلع والمضي قدماً حتى يعمل مع طاقم ذكي له خبرات سابقة متعددة المجالات حول لعب الأدوار، وطاقم يتحلى بالمسؤولية ولديه القدرة على إدارة خادم، ويتفاهم ويحترم عقليات اللاعبين. أهدافنا تسعي بعض الخوادم وراء تحقيق نجاح وهمي مبني علي أسس خاطئه من خلال عرض خدماتها في سبيل الحصول علي مميزات شخصية، لكن نحن نعتبر ذلك غير جدير بالإحترام فهدف كذلك لن يكون له اي مردود يذكر علي المدي البعيد. وبشكل مُبسط، نتمنى أن نترك بصمة في مجال لعب الأدوار العربي في إم تي أي للمدى البعيد. إفعل الشيء الصحيح في الوقت الصحيح بالطريقة الصحيحة لتتميّز أطيب الأمنيات، - مجتمع آرينا للعب الأدوار روابط المنتدى الديسكورد
    1 point
  9. markers = { inicio = {352.43173217773, 2540.5510253906, 15.72790145874}, } function isPlayerInACL(player, acl) if isElement(player) and getElementType(player) == "player" and aclGetGroup(acl or "") and not isGuestAccount(getPlayerAccount(player)) then local account = getPlayerAccount(player) return isObjectInACLGroup( "user.".. getAccountName(account), aclGetGroup(acl) ) end return false end function markerInicial (x,y,z,Painel_droga) for i, v in ipairs (markers) do Painel_droga = createMarker (v[1], v[2],v[3], "cylinder", 255, 0, 157, 50) end end ------------------------ function Open_Painel (hitElement) local source = hitElement if getElementType(source) == "player" then if isPlayerInACL(source, "trafico") then -- Quem é thePlayer ? if isPlayerInACL(thePlayer, "trafico") then triggerClientEvent(source, "Abrir_Painel", source) else outputChatBox("Você não faz parte de nenhuma gang!", source) end end end addEventHandler("onMarkerHit", Painel_droga, Open_Painel) --- erro aqui, na hora de verificar o arugmento 2.
    1 point
  10. Button = guiCreateButton(0.45, 0.54, 0.10, 0.06, "Get Value", true) guiSetProperty(Button, "NormalTextColour", "FFAAAAAA") guiSetVisible(Button, false) EditBox= guiCreateEdit(0.41, 0.45, 0.18, 0.04, " chcesz tego kupić sztuk?", true) guiSetProperty(EditBox, "NormalTextColour", "FFFF0000") guiSetVisible(EditBox, false) addEventHandler("onClientGUIClick", Button, function() local inputBox = tonumber(guiGetText(EditBox))--I think the idea was to set max 3 (count) to the edit? if tonumber(guiGetText(EditBox)) and tonumber(guiGetText(EditBox))<=3 then outputChatBox("U set value input "..inputBox, 255, 255, 0)--if input text was 3 or less else return outputChatBox("input > 3 or not number", 255, 255, 0) end end) -- Another Client Side addCommandHandler("TurnOnButton", function() guiSetVisible(Button, true) guiSetVisible(EditBox, true) showCursor(true)--showCursor(false) to disable mouse end)
    1 point
  11. @Jonas^ - Brothers A diferença é que o getPlayerFromPartialName não precisa ser o nick exato do jogador, ele retornará o primeiro jogador que encontrar cujo nick tiver qualquer parte com essa string. Já o getPlayerFromName precisa informar o nick inteiro exato, caso contrário ele não encontra o jogador. Eu optei pelo getPlayerFromName nesse caso apenas pois eu não quis complicar usando função útil. Achei mais fácil pra ele entender usando a função nativa do MTA. Claramente se eu fosse fazer o script pra mim, usaria com o Partial. Se tem um jogador com o nick #00bfffLord, ocorre o seguinte: getPlayerFromName ("Lord") -- Retornará false. Não encontra o jogador. getPlayerFromPartialName ("Lord") -- Retornará o jogador, pois essa string existe dentro do nick dele. Mesmo se existir outro jogador com essa string também, retornará somente o primeiro jogador encontrado. getPlayerFromName ("#00bfffLord") -- Retornará o jogador. Pois o nick dele é igual a este. getPlayerFromPartialName ("#00bfffLord") -- Retornará o jogador. Pois essa string foi encontrada no nick dele (no nick inteiro).
    1 point
  12. Section Rules 1. Any fulfilled requests or discarded offers shall be reported via the report system in order to be locked and/or archived. This is mandatory, as the goal is to keep this section as clean and accurate as possible. 2.Topics must have a sufficient description of what are you offering or looking for. Eg. if you're looking for a scripter for your gamemode, you must detail what would you need the scripter for. This doesn't exactly involve giving away the whole concepts or whatever you don't want to disclose to the public, but it would be appreciated if you could include more details than just straight single line offers, such as "I need a scripter for a zombie gamemode". Whether or not the amount of detail is sufficient for the nature of your request is a subject to moderator judgement, and failing to meet criteria may result in your post being discarded. Formatting your topic In order to keep the section clean, accurate and easily viewable, it would be appreciated if you could use the following guidelines for your topic: 1. Topic titles should have the form [LF/OFFERING] Brief description [Paid/Non-Paid]. Please make the description as brief as possible here. Eg: [OFFERING] Skilled scripter [Paid] [OFFERING] Rookie modeller looking for some practice [Non-paid] [LF] Any-level scripter for a small server [Non-Paid] 2. The first post should be written in at least 2 parts: first part should contain a brief description of yourself (and/or the server or community you are from) second part should elaborate on what are you requesting/offering, once again, as detailed as you possibly can/want
    1 point
×
×
  • Create New...