Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 19/07/19 in all areas

  1. Antes da versão 1.5.6 r16715 sim, mas a partir dela o intervalo mínimo foi atualizado para 1ms EDIT: na verdade é 0.
    1 point
  2. Кроме этого, вижу, что data/water.dat дублируется 2 раза и отсутствует anim/ped.ifp. Готовый вариант: https://pastebin.com/ZGk7EGB1 И да, убедитесь что версия сервера выше r18322 (sver в консоль).
    1 point
  3. Você tem essa opção também. Eu deixaria a variável, afinal vai precisar ter a verificação que o taxista já tem um cliente. Daí a variável já deverá valer desde o momento que o cliente chamou, caso desista/alguém saia/não dê certo ou quando finaliza a corrida reseta a variável.
    1 point
  4. Cara, é extremamente raro de dois players chamarem simultaneamente. Levando em conta que leva menos de meio segundo pra completar a execução dessa função. Eu acho que não ocorre conflito entre os players. Ele vai chamar uma vez pra cada um e dai o thePlayer vai ser diferente em cada um deles.
    1 point
  5. Quanto ao que o Lord Henry mencionou, as tabela playerOrDist também é desnecessária no topo do código (assim como a accountName). Eu aconselho a largar esse costume, você vai alocar desnecessariamente na memória com aquela tabela global, e ela estará acessível em todo o resource podendo também dar algum conflito, e quando isso ocorre você fica perdido com a depuração, sem saber o que há de errado. EDIT: Se armazenar numa variável o primeiro jogador que chamou o Uber, e, fazer sempre uma verificação antes de chamar, não vai ter como 2 players chamarem ao mesmo tempo, vai dizer que alguém já chamou antes. @zMpyster
    1 point
  6. Na verdade é o accountName global que é desnecessário.
    1 point
  7. Confuso o código, me parece um algoritmo não está eficiente e pode ser mais simplificado para o que você precisa. Aqui está as funções que você vai precisar para obter o jogador mais próximo: function obterUberMaisProximoDoCliente( thePlayer ) local tableUber = getPlayersInGroup( "UBER" ) if not tableUber then return end local px,py,pz = getElementPosition(thePlayer) local lastMinDis = 999999 local nearest = false local dist for i, uber in ipairs(tableUber) do local x,y,z = getElementPosition( uber ) local distance = getDistanceBetweenPoints3D( px,py,pz, x,y,z ) if distance < lastMinDis then lastMinDis = distance nearest = uber dist = distance end end return nearest, dist end -- https://wiki.multitheftauto.com/wiki/GetPlayersInGroup function getPlayersInGroup ( GroupName ) local aTable = {} assert ( tostring ( GroupName ) , "Bad Argument At Argument #1 Group Moust String" ) assert ( aclGetGroup ( tostring ( GroupName ) ) , "Bad Argument At Argument #1 Group not Found " ) for i , player_ in ipairs ( getElementsByType ( "player" ) ) do local TheAcc = getPlayerAccount ( player_ ) if not isGuestAccount ( TheAcc ) then if isObjectInACLGroup ( "user." ..getAccountName ( TheAcc ) , aclGetGroup ( tostring ( GroupName ) ) ) then table.insert ( aTable , player_ ) end end end return aTable end > local uberProximo, distancia = obterUberMaisProximoDoCliente( cliente )
    1 point
  8. Parece que vc está tentando descobrir as senhas dos seus jogadores. As senhas estão criptografadas no banco de dados por motivos de privacidade e segurança dos usuários. Saiba que se violar essa criptografia para descobrir as senhas, você estará cometendo um crime. Não há problema nenhum em saber como funciona a criptografia, só estou dando um toque mesmo.
    1 point
  9. كودي راح يحفظ على السيريال, بحيث انه لو اللاعب خرج ودخل ما راح تروح محاولاته وايضاً ما يحتاج تسجيل لدخول اللاعب عشان يغير اسمه local spam = { } spam.timerTime = 86400000 spam.allowedTimes = 2 spam.timer = {} spam.times = {} addEventHandler ( "onPlayerChangeNick", root, function ( ) local serial = getPlayerSerial ( source ) local times = spam.times[serial] or 0 if ( times >= spam.allowedTimes ) then cancelEvent ( ) kickPlayer ( source, "Console", "You've reached the maximum amount of changing your nickname" ) return end spam.times[serial] = times + 1 if ( not isTimer ( spam.timer[serial] ) ) then spam.timer[serial] = setTimer ( function ( serial ) spam.times[serial] = nil spam.timer[serial] = nil end, spam.timerTime, 1, serial ) end end )
    1 point
  10. Bonsoir, Où est le tableau "vehiclesTable" et "vehSpawns" ? Actuellement, ton erreur veut simplement dire qu'il n'arrive pas à aller à la case de ton tableau. Essaye de vérifier le contenu de tes tableaux et de vérifier si la case 1 est remplie, comme tu essayes d'y accéder.
    1 point
  11. Pra fazer isso você deve escolher um resource pra baixar por último e setar prioridade negativa nele no meta.xml e logicamente o resource que vai baixar primeiro que todos que seria o de tela de download, bem no resource de tela de download você pode fazer assim, exemplo: local screen = { guiGetScreenSize () } function renderLoading () if getElementData (localPlayer, "downloaded") then -- Se o player tiver essa data, vai cancelar este render e depois remover essa data, que não será mais utilizada nesta sessão. removeEventHandler ("onClientRender", getRootElement(), renderLoading) setElementData (localPlayer, "downloaded", false) end dxDrawText ("Baixando Resources...", 0, 0, screen[1], screen[2], tocolor(255, 255, 255, 255), 1, "clear", "center", "center", false, false, true) end addEventHandler ("onClientRender", getRootElement(), renderLoading) Agora no resource com prioridade negativa que será baixado por ultimo faça: function closeScreen () setElementData (localPlayer, "downloaded", true) end addEventHandler ("onClientResourceStart", resourceRoot, closeScreen) Meta do arquivo de tela: <meta> <script src="client.Lua" type="client"/> <download_priority_group>1</download_priority_group> </meta> Meta do arquivo que ira baixar por último: <meta> <script src="client.Lua" type="client"/> <download_priority_group>-1</download_priority_group> </meta>
    1 point
  12. You tried to DDoS the server -cV- Veteranz Crew shortly before you got banned by its admins. This resulted in a global ban for illegal conduct. Note: i restored the topic's content which you wiped after noticing that your ban expired today. I just want you to understand what you did. @zcolza
    1 point
  13. إذا ماعندك شي تضيفه للموضوع لا تعلق على الموضوع لما يكون شخص متواصل معي بكل مكان منتدى خاص و ديسكورد وبعد ما اسوي له كل شي واضيع وقتي واعلمه ايش المطلوب بيتجاهل الكلام وبيحط موضوع هذا بيكون ردي
    1 point
  14. You can send the code from server side and execute it client side.
    1 point
  15. Está faltando parte desse código. E tem falhas de lógica. Na sua linha 5, a função getAccountPlayer só funciona com argumento do tipo account, mas name é sempre um valor do tipo string. Você está usando uma table chamada distancia na linha 10, que não foi declarada em lugar nenhum. Mas vou supor que esteja declarada na parte que vc não mostrou. Na sua linha 13, você está usando uma variável local com nome de uma table global. Era melhor usar outro nome pra não entrar em conflito com a table.
    0 points
×
×
  • Create New...