Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 10/04/18 in all areas

  1. No.no.no getRootElement is a function. root is a predefined variable that contains the root element. When you execute getRootElement it will return the value: root element: getRootElement == root -- false -- call the getRootElement function getRootElement() == root -- true So yes, in the end it doesn't matter which one you use. Except that with getRootElement you have to make one function call more before you have access to the value.(performance)
    3 points
  2. No one likes hackers, we keep MTA free of them. Too bad for you as you underestimated MTA's anti-cheat strength And you are a hack developer yourself (currently banned, and all of your hacks were detected since day 1) so you ain't got no right to speak either. PM ccw with the source of your hack. You're just as bad, but it seems you don't like your fellow cheaters. Locked
    2 points
  3. The reason for the ban is because your PC connected to CFF update servers between 2018-04-08 12:17 and 2018-04-08 18:13 UDT
    2 points
  4. I make a teleport system in game, You can make in game markers to teleport Special Thanx : "DNL291" and "Axel" Download : https://community.multitheftauto.com/ind ... ls&id=6647
    1 point
  5. السلام عليكم ورحمة الله وبركاته سويت مود بنك و ابي اعرضه عليكم آرائكم المميزات - تقدر تسوي حساب خاص ( او اكثر ) في البنك ليس له علاقة بحسابك الخاص باللعبة - يوجد عائد بعد مرور ( فترة انت تحددها .. دائم ) لكل حساب حسب المال الموجود فيه - امكانية انشاء اكثر من حساب و تسجيل الدخول و تسجيل الخروج - ايداع و سحب المال و ارسال مال الى حساب معين من القائمة صور https://d.top4top.net/p_829cgv5b1.png https://e.top4top.net/p_829tzmsv2.png https://f.top4top.net/p_829datx33.png https://a.top4top.net/p_829a33dx4.png https://b.top4top.net/p_82916ylq5.png https://c.top4top.net/p_82919fzb6.png https://d.top4top.net/p_829bqwow7.png https://e.top4top.net/p_829s0uta8.png https://f.top4top.net/p_829dh6p19.png https://a.top4top.net/p_829186tx10.png
    1 point
  6. Achei bem otimizado pra ser sincero. Como um scripter Lua há alguns anos, eu consigo às vezes julgar o quanto de conhecimento a pessoa tem em Lua olhando para um código dela, e se eu fizesse esse script seu, faria praticamente da mesma forma. Sobre o "Edit", foi uma edição que fiz no meu comentário depois. Uma pequena correção no seu código: nos setTimer's você passa o player como argumento, mas esqueceu de usá-lo na função.
    1 point
  7. حلو بس عرض الحسابات خطأ كبيير ومافيه خصوصية ويعرض الحسابات للسرقة اما بالتخمين او بسبب معرفة باسوورد صاحب الحساب ويمكن يكون مثل الباسوورد للبنك
    1 point
  8. @DNL291 Na real foi pra ver se realmente o código estava bem otimizado, eu corrigi o código com essas dicas, não entendi a parte do ´Edit´ que você disse.
    1 point
  9. نورت الموضوع يالطيب
    1 point
  10. مـش حلـو المـود . بمزح بجنن مثلك
    1 point
  11. Você podia ter explicado o que exatamente precisa de otimização, pelo que eu vi, não tem nada que você deva se preocupar em relação à performance. Talvez você esteja falando sobre a idéia do seu código? Eu achei meio que sem necessidade o comando /re pra responder sendo que poderia ser usado /pm independente de ser uma resposta de uma mp. Mas talvez seja por não precisar do jogador e menssagem que é do /pm. Eu pessoalmente faria um painel pra isso, embora o que possa ter te motivado seja ter uma experiência nova criando um código seu. Sobre o timer eu também achei um pouco mais longo. Digamos que o jogador responda apenas com 'ok', então certamente ele teria que esperar um pouco pra responder. Acho até que o código tá bem otimizado dentro do possível, tirando que você podia ter usado uma só tabela pros timers que o Lord Henry já mencionou. Edit: percebi que você usou resourceRoot pra passar no triggerClientEvent, o que mostra que você se preocupou em não definir sourceElement como root. E também as variáveis locais.
    1 point
  12. يعتمد على المتغيرات اذا كانت صحيحه او لا
    1 point
  13. function onPlayerCommand(command) if command == "msg" then cancelEvent() outputChatBox("Use o comando /pm em vez deste comando",source,255,0,0) playSoundFrontEnd(source,40) end end addEventHandler("onPlayerCommand",root,onPlayerCommand) privateMessage = { players = {}, getPlayer = function(playerPart) local pl = getPlayerFromName(playerPart) if isElement(pl) then return pl else for i,v in ipairs(getElementsByType("player")) do if (string.find(getPlayerName(v):lower(),playerPart:lower())) then return v elseif (string.find(string.gsub(getPlayerName(v),"#%x%x%x%x%x%x",""):lower(),playerPart:lower())) then return v end end end end, start = function(player) privateMessage.players[player] = { delay = false, replyPlayer = false, blockPlayer = {} } end, stop = function(player) privateMessage.players[player] = nil end, send = function(player,cmd,toPlayer,...) local pmMessage = nil for k,v in pairs({...}) do if pmMessage == nil then pmMessage = v else pmMessage = pmMessage.." "..v end end local toPlayer = privateMessage.getPlayer(toPlayer) if not toPlayer or pmMessage == nil or pmMessage=="" then return outputChatBox("#0080FF[PM] #FF1717ERROR: #FFFFFFSYNTAX: /pm <jogador> <mensagem>",player,255,255,255,true) end if toPlayer == player then playSoundFrontEnd(player,40) return outputChatBox("#0080FF[PM] #FF1717ERROR: #FFFFFFVocê não pode enviar mensagem para si mesmo",player,255,255,255,true) end if privateMessage.players[player].delay then local tempo = math.floor(getTimerDetails(privateMessage.players[player].delay)/1000) playSoundFrontEnd(player,40) return outputChatBox("#0080FF[PM] #FF1717ERROR: #FFFFFFEspere "..tempo.." segundos para enviar outra mensagem",player,255,255,255,true) end if privateMessage.players[toPlayer].blockPlayer[player] then playSoundFrontEnd(player,40) return outputChatBox("#0080FF[PM] #FF1717ERROR: #FFFFFFEste jogador bloqueou o recebimento de mensagens",player,255,255,255,true) end outputChatBox("#0080FF[PM] recebida de #FFFFFF"..getPlayerName(player).."#FFFFFF: "..pmMessage,toPlayer,255,255,255,true) outputChatBox("#0080FF[PM] para #FFFFFF"..getPlayerName(toPlayer).."#FFFFFF: "..pmMessage,player,255,255,255,true) privateMessage.players[toPlayer].replyPlayer = player privateMessage.players[player].replyPlayer = toPlayer triggerClientEvent(toPlayer,"playNotifyPM",resourceRoot) privateMessage.players[player].delay = setTimer( function(player) privateMessage.players[player].delay = false end ,3000,1,player) end, reply = function(player,cmd,...) local pmMessage = nil for k,v in pairs({...}) do if pmMessage == nil then pmMessage = v else pmMessage = pmMessage.." "..v end end local toPlayer = privateMessage.players[player].replyPlayer if not isElement(toPlayer) then return outputChatBox("#0080FF[PM] #FF1717ERROR: player nao encontrado",player,255,255,255,true) end if pmMessage == nil or pmMessage=="" then return outputChatBox("#0080FF[PM] #FF1717ERROR: #FFFFFFSYNTAX: /re <mensagem>",player,255,255,255,true) end if privateMessage.players[player].delay then local tempo = math.floor(getTimerDetails(privateMessage.players[player].delay)/1000) playSoundFrontEnd(player,40) return outputChatBox("#0080FF[PM] #FF1717ERROR: #FFFFFFEspere "..tempo.." segundos para enviar outra mensagem",player,255,255,255,true) end if privateMessage.players[toPlayer].blockPlayer[player] then playSoundFrontEnd(player,40) return outputChatBox("#0080FF[PM] #FF1717ERROR: #FFFFFFEste jogador bloqueou o recebimento de mensagens",player,255,255,255,true) end outputChatBox("#0080FF[PM] recebida de #FFFFFF"..getPlayerName(player).."#FFFFFF: "..pmMessage,toPlayer,255,255,255,true) outputChatBox("#0080FF[PM] para #FFFFFF"..getPlayerName(toPlayer).."#FFFFFF: "..pmMessage,player,255,255,255,true) privateMessage.players[toPlayer].replyPlayer = player privateMessage.players[player].replyPlayer = toPlayer triggerClientEvent(toPlayer,"playNotifyPM",resourceRoot) privateMessage.players[player].delay = setTimer( function(player) privateMessage.players[player].delay = false end ,3000,1,player) end, block = function(player,cmd,toPlayer) local toPlayer = privateMessage.getPlayer(toPlayer) if not toPlayer then return outputChatBox("#0080FF[PM] #FF1717ERROR: player nao encontrado",player,255,255,255,true) end if not privateMessage.players[player].blockPlayer[toPlayer] then privateMessage.players[player].blockPlayer[toPlayer] = true return outputChatBox("#0080FF[PM] #FFFFFFVoce deu pmblock no jogador "..getPlayerName(toPlayer),player,255,255,255,true) end end, unblock = function(player,cmd,toPlayer) local toPlayer = privateMessage.getPlayer(toPlayer) if not toPlayer then return outputChatBox("#0080FF[PM] #FF1717ERROR: player nao encontrado",player,255,255,255,true) end if privateMessage.players[player].blockPlayer[toPlayer] then privateMessage.players[player].blockPlayer[toPlayer] = nil return outputChatBox("#0080FF[PM] #FFFFFFVoce deu unblock no jogador "..getPlayerName(toPlayer),player,255,255,255,true) end end, } addCommandHandler("pmunblock",privateMessage.unblock) addCommandHandler("pmblock",privateMessage.block) addCommandHandler("pm",privateMessage.send) addCommandHandler("re",privateMessage.reply) for _,player in ipairs(getElementsByType("player")) do privateMessage.start(player) end addEventHandler("onPlayerJoin",root,function() privateMessage.start(source) end) addEventHandler("onPlayerQuit",root,function() privateMessage.stop(source) end) Se eu tivesse feito, meu código ficaria assim ;D tenta tirar algo de util pra voce, ver se acha algo novo pra voce sei la fica avonts.
    1 point
  14. @MR.Mosa then كودك ناقص @#IssaMz الله يسلمكِ
    1 point
  15. Exato. Só ir no Console e digitar upgrade nomeDoResource
    1 point
  16. Olá, Cara, se não me falha a memória, tem a opção upgrade no próprio console do Server para atualizar os sintaxes antigos de versões anteriores.
    1 point
  17. Você já tem algum script de dominar territórios? Caso não tenha, você pode baixar em community.multitheftauto.com. Aí é só editar o script da forma que for necessário, e você pode pedir ajuda aqui no que precisar. Edit: Tem esse resource aqui por exemplo.
    1 point
×
×
  • Create New...