Leaderboard
Popular Content
Showing content with the highest reputation on 11/02/19 in all areas
-
2 points
-
2 points
-
(%35 OFF, offer ends 12/10/16) Hi, Some might know about ABCompiler from my previous topic, ABCompiler is a DFF and TXD compiler (vehicles, objects, skins and weapons) to protect your own models. How is it going to protect my models? Well, ABCompiler will encrypt your model TXD and DFF files, they'll still appear in resources folder for clients but they'll not be able to use the dff and txd files nor open them with any DFF or TXD editor and not even use them in their servers. I can't say it'll protect your models 100% because still every encryption there is a way to decrypt it, it is not an easy task to do and I've done my best to protect the compiler itself and the models, and I'll keep updating it and it is protection from time to time. Its not a website anymore, we've shutdown the website. it is MTA script now. (For those who compiled models using the website, you're fine you'll still be able to use them.) And it is not as it was too, now you'll have to pay 15 dollars 9.9 dollars for the script and you can compile as much models as you want and you'll receive all further updates without having to pay again. In the next update i'll add the ability to compile COL files as well and you'll be able to lock the compiled models, which means they'll only work in your server, even if someone managed to get the whole compiled model script by breaking into your FTP he'll not be able to use the models in his server. You can compile cars, objects, weapons and skins (DFF, TXD and COL). You can lock the compiled model to be only working in your server. You can use the compiled mods with custom download script (Model wont start downloading till you call an exported function). You'll have a prefix that is gonna be in the start of every compiled script name AND the model script wont work if someone removed the prefix (You can choose the prefix you want when you buy the script) (e.g ABCompiler_411) You'll receive any further updates after buying the compiler without having to pay any additional cost Update 2.2.0 Update 2.1.0 Skype: colonel..w7sh1 point
-
[BoT] Shooter v1.0 [ فريق بوت , للشوتر والديربي ] @instagram 4.hf mtasa://178.32.107.35:11111 صور للسيرفر F1 F2 لوحة الكلانات , مع اعلى الكلانات في القتل F3 اعلى 30شخص اعلى 30 في اللفل , السكور , نقاط الشات F4 لوحة سكنات السيارة F5 الاشخاص الي فازو في الماب F6 لوحة سكنات الانوار F7 لوحة الاغاني F10 القائمة التاب نظام الافتار الافتار يظهر في التاب , ولما يفوز الاعب , وفوق سيارة الاعب الرادار - والعدادات - والدم حياكم الله تم التحديث1 point
-
Olá pessoal. Fiz um vídeo explicando as regras atualizadas do nosso fórum Português, além de como funciona e pra quê serve cada seção. Assistam ao vídeo antes de postar qualquer coisa em nosso fórum, o vídeo também tem algumas dicas pro pessoal que já faz parte da comunidade. Dúvidas, críticas, sugestões deixem nos comentários deste tópico ou então nos comentários do vídeo. Se inscrevam lá pra dar aquela força. Deixe também seu like no vídeo e neste post. Obrigado a todos. Conteúdo do vídeo: 0:53 - Regras e recomendações do fórum 2:01 - As seções do sub-fórum Português: 2:04 - Seção "Tutoriais em geral" 2:25 - Seção "Programação em Lua" * Formatando o Tópico * Criando um bom conteúdo pra mensagem * Conselhos e recomendações gerais * Use o botão <> para postar o seu código com a devida formatação 6:57 - Seção "Mapas Para MTA:SA" 7:09 - Seção "Ajudas relacionadas ao MTA:SA (Cliente/Servidor)" 7:30 - Seção "Servidores para jogar" 7:59 - Seção "Serviços de hospedagem" 8:13 - Seção "Offtopic" 8:28 - Suporte relacionado a banimento em servidores não são aceitos no fórum do MTA * NOTA: Para suporte com Ban global no MTA, seu tópico deve ser postado na seção internacional Ban appeals. APENAS para bans permanentes. Se for temporário, por favor, aguarde até que o ban expire. 8:53 - "Reviver" o tópico 9:18 - Sistema de reputação do fórum 11:03 - Tenha uma boa conduta no fórum 11:16 - Postagens em Português DEVE ser no sub-fórum Portuguese / Português 11:59 - Conselhos para quem ajuda no fórum 12:39 - Boas práticas de programação1 point
-
Reparei que tem 2 Eventos inúteis que não está sendo usado. addEventHandler("onClientResourceStart", getResourceRootElement(), showPreload) addEventHandler("onClientBrowserCreated", browser) Você errou na hora de destruir o elemento gui. Pois tu não destruiu. Tente dessa forma. local sx, sy = guiGetScreenSize() local link = "http://mta/n_Download/html/index.html" local initBrowser = guiCreateBrowser(0, 0, sx, sy, true, false, false) local browser = guiGetBrowser(initBrowser) guiSetInputMode("no_binds_when_editing") addEventHandler("onClientBrowserCreated", browser, function () fadeCamera(false,0) showCursor(true) loadBrowserURL(source, link) end ) function renderLoaldLogin() if getElementData(getLocalPlayer(),"load_notLogin") then if isTransferBoxActive() then return end setElementData(getLocalPlayer(),"load_notLogin",false) initBrowser = nil; destroyElement(initBrowser) showCursor(false) browser = nil; removeEventHandler("onClientBrowserCreated", getResourceRootElement(), browser); showChat(true) end end addEventHandler("onClientRender", root, renderLoaldLogin) Foi útil meu comentário? Deixe o thanks1 point
-
1 point
-
Olá danilo, Bem vindo Antes de te explicar irei te instruir você a usar o fórum corretamente caso for passar por aqui novamente. Assista o vídeo que está ai no link acima. Tirando sua dúvida Para criar uma hud você irá precisar utilizar as funções (DX) As mais usadas na hora de montar uma hud é essas. DxDrawRectangle DxDrawText DxDrawImage Para adicionar valor de dinheiro estocado em banco, vida, colete, level e etc. Alguns desses você precisará ter o sistema como no caso o Level e Banco. Para fazer que a vida e colete do jogador aparece na hud você irá precisar das seguintes funções. GetElementHealth GetPedArmor GetPlayerMoney No caso pra fazer tudo isso funcionar irei deixar um exemplo simples. Exemplo: function Hud () local Vida = getElementHealth (localPlayer) local Colete = getPedArmor (localPlayer) local Dinheiro = getPlayerMoney(localPlayer) dxDrawRectangle(1017, 7, 342, 149, tocolor(0, 0, 0, 160), false) dxDrawText("Vida: "..Vida.."", 1042, 33, 1169, 54, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) dxDrawText("Colete: "..Colete.."", 1042, 64, 1169, 85, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) dxDrawText("Dinheiro: ".;Dinheiro.."", 1042, 97, 1169, 118, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) end addEventHandler("onClientRender", root, Hud) Você precisara de outras funções pra poder evitar bugs. showHud(false) onResourceStart Obs: Essa hud não é utilizável é apenas um exemplo do que você precisaria, Mas é importante que você tenha uma hud que você fez dai sim postar ela aqui para que os membros do fórum possa te ajudar a encontrar o erro.1 point
-
Sem código fica difícil adivinhar, em qual parte você esta com dificuldades?1 point
-
Works for me tho. You're probably replacing an object and not the default weapon. Here I replaced the default ak ID 355.1 point
-
Bom, é bem simples a função que faz o veiculo ir até o jogador é setElementPosition então você deveria editar ela, aqui adicionei uma posição aleatória. addEvent("WarpMyVehicle", true) addEventHandler("WarpMyVehicle", root, function(id) if not isPedInVehicle (source) then if getElementInterior(source) == 0 then if getPlayerMoney(source) >= tonumber(500) then local vehicle = getVehicleByID(id) if isElement(vehicle) then takePlayerMoney ( source, 500 ) setElementPosition(vehicle, 2094294, 4343, 432424342) ------ $#@#$MUDE AQUI A POSIÇÃO warpPedIntoVehicle ( source, vehicle ) outputMessage ("#c1c1c1O seu veiculo #00FF66"..(customCarNames[getElementModel(vehicle)] or getVehicleNameFromModel(getElementModel(vehicle))).." Foi Rebocado ate o detran.", source, 38, 122, 216, true) else outputMessage("#c1c1c1O seu veiculo não está spawnado.", source, 38, 122, 216, true) end else outputMessage("#c1c1c1Você não tem os meios de se teletransportar para o veiculo.", source, 38, 122, 216, true) end else outputMessage("#c1c1c1Você só poderá mudar de veiculo se sair do atual.", source, 38, 122, 216, true) end else outputMessage("#c1c1c1Nós não podemos dirigir seu veiculo. Por favor, sair do outro veiculo.", source, 38, 122, 216, true) end end) Da próxima vez adicione um titulo mais útil para que outros membros entendam qual o problema que você está tendo antes mesmo de abrir seu tópico1 point
-
Invés no setElementPosition(vehicle, x ,y, z) troque o x, y, ,z para as coordenadas desejada que você quer.1 point
-
1 point
-
1 point
-
1 point
-
for i, v in ipairs(getElementsByType("object")) do local model = getElementModel(v) local dist= getDistanceBetweenPoints3D(x,y,z,x1,y1,z1) engineSetModelLODDistance(model, dist) -- Set maximum draw distance end العفو اتوقع كده x,y,z,x1,y1,z1 بدلها بالاحداثيات حقة اللاعب والبيد1 point
-
وعليكم السلام سوي لما يختار مكان معين من اللوحة يحط عليه داتا بالمكان دا عشان لما يجي يموت يسترجع احداثيات المكان من اداتا حقتوا ويرسبنوا فيها بالتوفيق1 point
-
1 point
-
وعليكم السلام.. تفضل جرب اخي .. function Bad_Boy( ) guiSetVisible(GUIEditor.window[1], not guiGetVisible ( GUIEditor.window[1] ) ) -- هنا اسم اللوحة showCursor ( guiGetVisible ( GUIEditor.window[1] ) )-- هنا اسم اللوحة end bindKey("F5","down", Bad_Boy) -- هنا الزر addCommandHandler( "فتح", Bad_Boy) -- هنا امر F81 point
-
ta um pouco "confuso" de entender esse código mas tentei fazer no olho: addEvent("KikaJorgadorBase",true) addEventHandler("KikaJorgadorBase",getRootElement(),function(playerName) local gPlayerKicked = getPlayerFromName(playerName) local ownerAccount = getAccountName(getPlayerAccount(source)) local baseName = getBaseNameFromOwnerAccount(ownerAccount) local colshape = getBaseColshape(baseName) local tpx,tpy,tpz = getElementData(colshape,"tpLoc1"),getElementData(colshape,"tpLoc2"),getElementData(colshape,"tpLoc3") if gPlayerKicked then if isElement(colshape) then if isElementWithinColShape(gPlayerKicked, colshape) then if gPlayerKicked == source then alert("Você não pode expulsar você mesmo.",source) return end if getPedOccupiedVehicle(gPlayerKicked) then removePedFromVehicle(gPlayerKicked) setVehicleEngineState(gPlayerKicked) setElementPosition(gPlayerKicked, tpx. tpy, tpz) else setElementPosition(gPlayerKicked, tpx, tpy, tpz) end alert("Você expusou o jogador "..getPlayerName(gPlayerKicked).."#ffffff da sua base.",source) end end end end) EDIT 1: Não testei EDIT 2: Não foi possível testar por falta de função: getBaseNameFromOwnerAccount() e getBaseColshape()1 point
-
Bom. muitos Dizem que um tal de lira gamer ensinava a programar no mta pois eu não sei. Mas como eu expliquei a você no outro tópico primeiro passo é aprender a logica de programação e também ir praticando ao decorrer da aprendizagem. "Nossa Danilin eu fico perdido não sei nada nem por onde começar." Como eu disse Entenda a logica e pratique e em pouco tempo você irar obter respostas. Não sinta vergonha também em procurar ajuda, Pois a ajuda é essencial. Link de algumas coisas que possa te ajudar algo. https://www.lua.org/pil/contents.html#P1 Espero ter te ajudado1 point
-
اسف كنت مفكر ان قصدك وين كمالت كودك + اذا بدك تهيني وتقول لناس لا يساعدوني هههه انا عندي كرامتي اهم من مية لعبة انا ماعتزرلك عشان انكم تكملو مساعدتي لا عمبعتزرلك لاني فعلا غلطت واسف مرة ثانية1 point
-
Pra criar um scripter, vc primeiro precisa ensinar alguém programação, dai ele pode se tornar um scripter. Pra criar um script, dai vc primeiro precisa aprender lógica de programação e algorítmos. Recomendo estas videoaulas: https://www.youtube.com/watch?v=M2Af7gkbbro&list=PLHz_AreHm4dmSj0MHol_aoNYCSGFqvfXV&index=2&t=201 point
-
1 point
-
1 point
-
Poste na seção português la os brasileiros irá lhe ensinar e explicar, sem contar que la tem logicas de programação em escrita e diversos tutoriais criados por membros. Link Seção brasileira https://forum.multitheftauto.com/forum/97-portuguese-português/1 point
-
local TABLE_DATA = {} -- criaremos uma tabela para armazenar os markers e blips local TABLE_LOCATIONS = { -- x, y, z, type, size, r, g, b, a, visibleTo, blipId -- posição X, posição Y, posição Z, tipo do marker, tamanho do marker, cor r, cor g, cor b, transparência, é visível para todos? (true para sim, false para não), id do blip {1222.713, -1799.09, 16.555, "cylinder", 1.5, 255, 255, 0, 130, true, 42}, {1261.461, -1831.496, 13.385, "checkpoint", 3, 255, 255, 0, 130, false, 19}, {1426.6989746094, -961.05804443359, 36.34884262085, "checkpoint", 3, 255, 255, 0, 130, false, 19}, } addEventHandler("onResourceStart", resourceRoot, function() -- separaremos a tabela em Markers e Blips para não confundirmos TABLE_DATA.Markers = {} TABLE_DATA.Blips = {} -- criaremos também uma tabela para os veículos que os jogadores irão obter TABLE_DATA.Vehicles = {} -- faremos o loop da tabela 'TABLE_LOCATIONS' for i, v in pairs(TABLE_LOCATIONS) do --[[ Atenção! Veja o comentário abaixo de 'TABLE_LOCATIONS' para se informar do que irei dizer. - Cada item da tabela possui uma posição de localização, vejamos abaixo: v[1] = x v[2] = y v[3] = z v[4] = type v[5] = size v[6] = r v[7] = g v[8] = b v[9] = a v[10] = visibleTo v[11] = blipId Logo, aplicaremos esses valores na função createMarker ]]-- TABLE_DATA.Markers[i] = createMarker(v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9]) -- configurar para aparecer ou não aparecer para todos setElementVisibleTo(TABLE_DATA.Markers[i], root, v[10]) -- criar e sincronizar o blip (ao marker) TABLE_DATA.Blips[i] = createBlipAttachedTo(TABLE_DATA.Markers[i], v[11]) -- adicionar um ID (e também salvaremos o blip) para cada marker, fazendo com que seja fácil obtê-lo em funções setElementData(TABLE_DATA.Markers[i], "marker_id", i) -- a letra i significa o total de markers dentro da tabela, neste caso temos apenas 3 items na tabela setElementData(TABLE_DATA.Markers[i], "marker_blip", TABLE_DATA.Blips[i]) -- adicionaremos uma função de hit/leave para todos os markers addEventHandler("onMarkerHit", TABLE_DATA.Markers[i], __markerHitFunction) addEventHandler("onMarkerLeave", TABLE_DATA.Markers[i], __markerLeaveFunction) end end ) function __markerHitFunction(hitElement, dimension) -- hitElement = jogador -- verificaremos se o hitElement é um jogador de fato e se a dimensão é a dele if getElementType(hitElement) == "player" and dimension then -- obtendo o id e blip do marker (lembre-se que source é o elemento do marker) local id = tonumber(getElementData(source, "marker_id")) local blip = getElementData(source, "marker_blip") -- verifique se o marker possui um id e um blip if id and blip then --[[ Visto que o marker "Início" está na primeira posição da tabela, então vamos verificar se o id dele é 1 e então executaremos sua função ]]-- if id == 1 then -- iremos executar a sua função, UltimaterSCR if TABLE_DATA.Vehicles[hitElement] and isElement(TABLE_DATA.Vehicles[hitElement]) then destroyElement(TABLE_DATA.Vehicles[hitElement]) end -- criar o veículo TABLE_DATA.Vehicles[hitElement] = createVehicle(413, 1239.748, -1829.575, 13.404, -0, 0, 274.52) warpPedIntoVehicle(hitElement, TABLE_DATA.Vehicles[hitElement]) -- configurar o elemento marker e blip para serem vistos apenas para este jogador setElementVisibleTo(source, hitElement, true) setElementVisibleTo(blip, hitElement, true) -- fazer as demais configurações e enviar a mensagem ao jogador setElementData(hitElement, "inicio", true) exports.Scripts_Dxmessages:outputDx(hitElement, "Entregue as encomendas nos pontos marcados em seu GPS", "info") end end end end Com certeza não ficou completo, mas espero que você entenda o conceito de loops. Sobre as funções, fiz apenas o básico e o código necessita ser continuado para que os markers de entrega sejam funcionais.1 point
-
@MR.S3D ---> يقتل القتيل ويروح لجنازته ? @Master_MTA ---> قلوب طيبه ? @MrKAREEM ---> تربيه واخلاق ? @MR.Mosa ---> مجنون فالكلام ? @KillerX ---> طفل طيب ? @!#DesTroyeR_,) ---> اقتلوه قبل ان يتكاثر ?1 point
-
addEventHandler("onClientRender", root, function() dxDrawLine3D(1492.86328125, 1191.3876953125, 10, 1492.86328125, 1697.3671875, 10, tocolor(0, 255, 0, 255), 25)--verde dxDrawLine3D(1477.4365234375, 1223.2587890625, 10, 1477.4365234375, 1697.3671875, 10, tocolor(255, 0, 0, 255), 25)--rojo dxDrawLine3D(1462.0029296875, 1191.3876953125, 10, 1462.0029296875, 1697.3671875, 10, tocolor(0, 255, 0, 255), 25)--verde end ) Isso deve funcionar. Caso não funcione, siga os passos abaixo: Se o resource estiver compactado (.zip), extraia-o e deixe-o como pasta; Abra o arquivo cujo você quer editar e cole o código acima; Vá até o seu servidor, use o comando /refresh e inicie o resource. Provavelmente, em alguma atualização, o MTA deixou de diferenciar arquivos compactados de pastas. Sendo assim, se o seu servidor detectar que existem "headshot.zip" como um arquivo compactado e "headshot" como pasta, ele irá dar preferência ao arquivo .zip. Pode ser que seja algum problema aqui, todavia nunca tive problemas como esse.1 point
-
Corrigi o link do tópico acima. Caso não tenha visto, aqui está: Edit: @magicplayerc1 point
-
Agora me explique qual droga vc está usando. Pra inventar aquele 60000 ali e aquele %60. De onde vc inventou isso? Hahuahauhauah function miliToSeconds (ms) local sec = math.floor(ms/1000) return sec end1 point
-
Bom, fez errado novamente. Se esforce da próxima vez e assista o vídeo de explicação do lord henry, Pelo que vi você não está sabendo usar as opções do fórum. Tópico Explicação function msgmarker(source) if getElementData(source, "soldador") == true then outputChatBox("#00ff88● #ffffffDigite /soldar para soldar peça do navio", source, 255, 255, 255, true) end end addEventHandler("onMarkerHit", criartrampo, msgmarker) function Sair ( source ) if getElementData(source, "soldador") == true then setElementData(source, "soldador", false) setPedSkin(source, 0) setElementVisibleTo(criartrampo, source, false) outputChatBox("#00FA9AVoce saiu do emprego de soldador",source,255,255,255,true) else setTimer( function () triggerEvent(eventorestart, root) end, 1000, 1) end end addCommandHandler("sairemprego", Sair) Edit #1 setElementVisibleTo não destrói o marcador, apenas deixa invisível.1 point
-
Agora entendi sua dúvida. Bom, você teria que salvar o tempo pelo setAccountData modo mais fácil. Após salvar esse tempo você teria que usar um Evento onPlayerLogin use getElementData pra verificar se o jogador estava preso antes de sair. Edit #1 Use getRealTime() e time.timestamp para pegar tempo real1 point
-
No need for a shader local rt = dxCreateRenderTarget( 500, 500, true ) local x,y,z = -1981.938, 273.126, 34.2 local size = 2 dxSetRenderTarget( rt ) dxDrawCircle ( 250, 250, 250, 0.0, 360.0, tocolor(255,255,255,50), -1, 32 ) dxSetRenderTarget( ) addEventHandler( "onClientPreRender", root, function( ) dxDrawMaterialLine3D( x, y+size, z, x, y-size, z, rt, size*2, -6908161, x,y,z+1 ) end )1 point
-
1 point
-
@TOUNSI | ا̍ڸــڛۣــ؏ــٰٱ̍دہ -- سفير السلام و النوايا الحسنة ? @#StrOnG_,) -- دموا عسل مثلوا @SuperX -- دموا اعسل @Master_MTA -- حبيب الملايين @!#DesTroyeR_,) -- لا كلمة توصف هذا ال *************** جمال @سعد الغامدي -- محترم و طيب @#[K]iLLeR<3 -- حبيب الملايين1 point
-
@justboy - صديق @SuperX - يا متوحش يا شرير يا قاسي @#StrOnG_,) - يشبه البطاطس ولاكنه كائن هلامي @Rakan# - صديقي ولاكن من ورا الجدار @ibrahim# - ثكلته امه @KillerX - سفاح من خلف الجدران @#_iMr,[E]coo - خوي كفو واكثر من صديق ولاكن مشكلته يحب يحطم الاخرين @TOUNSI | ا̍ڸــڛۣــ؏ــٰٱ̍دہ - i love you , you love me1 point
-
1 point
-
أشكرك على هيك تعليق الفكرة تفيد فقط المانجرسية لى عدم الظلم بين الاعبين , او تفيدك انت بنفسك تقدر تشوف اوضاع سيرفر وانا الصراحة سويت هاذا الشيء لى اني اكره الظلم , وما احب الهياط فالسيرفر , شبه فما قلت بتفيد السيرفورات بشكل كبير , استكشفت انه السيكل يخذ حجم للخادم ف ان شاءالله يوم ألقي وقت بخليه ع ربط موقع اسهل تحياتي @#Soking1 point
-
Pensando em otimização de memória, eu utilizaria a própria função COUNT do SQL: local qh = dbQuery (connection, "SELECT COUNT(*) AS TOTAL FROM table_name") local result = dbPoll (qh, -1) local rows = result[1]["TOTAL"]1 point
-
1 point
-
In this case I believe he is selling the script and not the models.1 point
-
I would like to report about a Fake Server that using My server name ! Real Server: mtasa://37.59.72.197:27115 Fake Server: mtasa://178.33.54.31:209321 point
-
Acho que seria mais simples fazer para quando passar em um marker gerar um valor de recompensa aleatório de 500 a 2000 (aí depende do script) e utilizar verificações através de tabelas, exemplo: if (entrega[source] == 1) then setElementPosition(marker[source], x, y, z) givePlayerMoney(source, math.random(1000, 2500)) end E aí do contrário de criar vários markers, você criaria somente um, e o programaria para mudar de lugar quando passasse no mesmo.1 point
-
مهو محد انولد مبرمج كلنا تعلمنا و انت بس تبي جاهز و اخر شي بتكتب عليه حقوقك و بصيروا يقولوا لك واو انت مبرمج قوي مع انه مو لك انا بصراحة كنت مثلك بس بعد فترة حسيت الناس طفشت مني ف اعتمدت على نفسي و الحمدلله الحين بالطريق للاحتراف مهو ي انت غبي يا جاي تتغابه انا ما قلت له تعال ابرمج لك بفلوس ترا فلوسي واصله لين اصبع رجلي الصغير ماني محتاج لحمدلله و هو طالب مود معين لو طلب اكواد المود كنت اعطيته ولو اعرف انه مبرمج كنت اعطيته الايفنتات بس انا ليه اتعب و اسوي المود و هو بالاخير يقولو عليه واو مبرمج ؟ انا قلتله انه مافي مود بذا الاسم بالنت منشور اذا يبيه على حسب طلبه يقدر يكلم مبرمج يبرمجه له و انا اصلا دوب ابرمج سيرفري يعني ماني فاضي احك راسي حبيت بس اوضح بس مو علشانك انت و انت اصلا م تهمني كلك على بعضك1 point
-
0 points
-
0 points