Jump to content

[M]ister

Members
  • Posts

    444
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by [M]ister

  1. Você está utilizando a função unpack() de maneira incorreta. local pos = { {477, 2205.8999, -1176.9, 25.4, 0, 0, 270 },--posição {402, 2206.3, -1172.9, 25.7, 0, 0, 268 }, {494, 2206.3999, -1169.1, 25.7, 0, 0, 270 }, {502, 2206.3, -1164.9,25.7, 0, 0, 270 }, {503, 2206.5,1160.6, 25.7, 0, 0, 270 }, {522, 2206, -1156.9 ,25.4, 0, 0, 272 }, {587,2206.3,-1152.9,25.5, 0, 0, 272 }, {521, 2227.7,-1177.2,25.4, 0, 0, 86 }, {400, 2227.8999,-1173.6,25.9 , 0, 0, 90}, {603, 2228.3999,-1170.1, 25.7 , 0, 0, 90 }, {429,2228,-1166.3,25., 0, 0, 88 }, {566, 2227.8999,-1162.9,25.7, 0, 0, 90 }, -- a função só funciona nesse } local vehicles = {} for index,veiculo in pairs(pos) do table.insert(vehicles,createVehicle(unpack(veiculo))) setVehicleDamageProof(vehicles[index], true) -- blidao setVehicleColor ( vehicles[index], 255, 255, 255, 0, 0, 0 ) -- cor do carro setVehicleHeadLightColor ( vehicles[index], 255, 0, 0 )-- luzes com cor setVehicleDoorState ( vehicles[index], 1,1) -- portas end -- function lockPrivate( player,seat, jacked ) for _,veiculo in pairs(vehicles) do if (source == veiculo) and (seat == 0) then local account = getPlayerAccount( player ) local accountName = ( account and getAccountName ( account ) or "" ) if not( accountName == "") then -- accountName == "Nome_da_Conta" or accountName == "accountName == "Nome_da_Conta" cancelEvent() outputChatBox(" #ffff00* #ff0000Esse veículo está a venda! #00ff00[Execute: F1/Compras]#ff0000[Consulte um ADM]", player, 255, 0, 0, true) else outputChatBox("", player, 0, 255, 0, true) end break end end end addEventHandler ( "onVehicleStartEnter", getRootElement(), lockPrivate )
  2. Que legal! Se possível estarei na abertura
  3. Thanks pa3ck, I will try to enjoy your code!
  4. It's a game that I'm creating, and I need this logic, I formulated the question, so haven't a name of this algorithm.
  5. Thanks for your help, but I need to form the groups knowing the x value.
  6. I tried this, but without success local grupos = {} x = 4 for i=1,x do cont = 0 while (cont < 3) do ok = true ok2 = true grupoID = math.random(1,x) -- Random group for insert the value if (grupos[grupoID]) then if (not string.find(grupos[grupoID], tostring(i))) then -- If not exist the value in the group --[[ -- When I try to avoid the formation of equal groups the script goes into an infinite loop for i2=1, #grupos do if (i2 ~= grupoID) then k = grupos[grupoID]..", "..i if (grupos[i2] == k) then ok2 = false --outputChatBox(k) --outputChatBox(grupos[i2]) --return --break end end end --]] if (ok2) then cont = cont+1 grupos[grupoID] = grupos[grupoID]..", "..i end end else cont = cont+1 grupos[grupoID] = tostring(i) end end end
  7. I have a value x that is dynamic, for each value of x, I have a group of three numbers, which is integers from 1 to x, each group is different from the others, haven't two equal values in the same group, each value of 1 to x, must exist in 3 groups (no more and no less). Example: x = 4 so I have: 1,3,4 1,2,4 1,2,3 2,3,4 As you can see in this example, a group is different from the other, and each value of the group, is repeated up to 3 times. So I would ask the help of you in the solution of this problem through an algorithm, which manages groups knowing the value of x. Another examples:
  8. Eu nunca entendi direito o funcionamento do unpack() em relação a isso: local hue = {x, y, z} createMarker(unpack(hue)) -- Funciona createMarker(unpack(hue), "arrow") -- Não funciona quando adicionado outros parâmetros após ele
  9. Olá Nelson, recentemente foi criado um novo tópico dando a entender que o projeto continua em atividade, você pode acompanhar o processo através do: https://forum.multitheftauto.com/topic/88617-saf-rpg-san-andreas-fusini-brasil-ptbr/
  10. Desculpe caro RooTs, mais em nenhum momento é especificado na mensagem que ele está tentando abrir um servidor com arquivos baixados da net, o que se nota é que ele está tendo problemas ao finalizar o download de um servidor qualquer de 1GB e 42MB, se isto é oque realmente ocorre, eu não tenho certeza, pois realmente também é possível deduzir o que você pensou na mensagem dele.
  11. WTF, servidor com 1GB ???... Alexandre, quando eu tinha um PC meio fraco acontecia isso também... principalmente nos servidores pesados, que possuem muitos mods! O momento em que ocorre a conversão dos modelos originais para os modificados, é quando o download finaliza, ou seja, em poucos instantes ele tenta efetuar inúmeras substituições ao mesmo tempo, e se o PC for fraco, realmente não aguenta, e acaba travando e as vezes crashando. Sugiro que tente entrar em um servidor mais leve, com poucos mods, para então você se certificar do problema, pois se não travar não é problema no seu GTA/MTA.
  12. Apenas encontrei 1 servidor com esse devido nome... talvez você tenha se enganado por conter no nome "Mata-Mata", palavra que define um estilo de jogo, e não se trata exclusivamente de um server name, apenas é uma característica do servidor nomeado "HardCore". Sendo assim qualquer server pode utilizar algo do tipo...
  13. Tente dar uma olhada no script realdriveby, pois quando se está atirando dentro do veículo o vidro é removido.
  14. Você teria que usar a função onClientPedDamage, que é chamada sempre que um ped recebe dano, no entanto ela é cliente, e pelo que percebi seu script é do lado server, mais recomendo que faça no lado cliente, pois além desse evento, outras funções que você precisaria também só estão disponíveis no lado cliente. Segue um exemplo que montei: ped = createPed(106, 2464.24854 ,-1666.07104 ,13.47391) addEventHandler("onClientPedDamage", getRootElement(), function(attacker) if source == ped then givePedWeapon(ped, 27, 500, true) setPedControlState(source, "fire", true) if attacker then setPedAimTarget(source,getElementPosition(attacker)) end end end ) Caso pretenta utilizar o lado server, para ter uma melhor sincronização com os outros jogadores, você iria ter que utilizar alguns TriggerClientEvent/triggerServerEvent.
  15. Já lhe avisei sobre mantér os tópicos originais (1,2,...), e mesmo assim você continua deletando suas mensagens após ter resolvido o problema... não iremos lhe dar nada de mão beijada, ainda mais com uma atitude dessas, recomendo que estude Lua e tente resolver seus problemas por conta própria, pois da forma que você está agindo não irá aprender nada (recorrendo ao fórum toda hora sem antes pensar como resolve-los)
  16. Sim, no lado client o trigger deve estar de preferência na parte que abre o painel, o evento "SendVip" fica fora de qualquer função, porém o que retornar dela você armazena em um variável global, para poder utiliza-la na exibição onde pretender. E o evento "callGetVip" deixa como está, não precisa adicionar no bloco de nenhuma função Não entendi.
  17. Você deve utilizar triggerClientEvent / triggerServerEvent pois getAccountData é uma função do lado server e você deseja obter seu valor no lado client. Ex: Client: triggerServerEvent("callGetVip", localPlayer) addEvent("SendVip",true) addEventHandler( "SendVip", localPlayer, function(tempo) outputChatBox(tempo) end ) Server: addEvent("callGetVip",true) addEventHandler( "callGetVip", root, function() local tempo = getAccountData (getPlayerAccount(client), "donator") triggerClientEvent ("SendVip", client, tempo) end )
  18. No script que você passou não está sendo utilizado setElementData/getElementData, e sim, setAccountData/getAccountData Tente: local time = getRealTime() local timeSS = time.timestamp local vipRemain = getAccountData (getPlayerAccount(localPlayer), "donator") local remainingTime = (vipRemain - timeSS)
  19. Verifique o setElementData() do script. Não tem como ajuda-lo se vc ficar com medo de alguém usar seu código, e então você postar o mínimo de informações possíveis, você deve correr esse 'risco' ao pedir ajuda aqui, pois um dos objetivos do fórum é ajudar e ser ajudado...
  20. Você quer que o mesmo 'botão dx' utilizado para mostrar, seja usado para ocultar a renderização, certo ?, então, é o que o código que postei faz, você clica, se ele estiver mostrando, oculta... se estiver ocultado, mostre-o... Qual vai ser a funcionalidade da função abrirefechar() ? pelo que entendi ele faz a mesma coisa que o outro ( Comandos() ), lembrando que o evento "onClientClick" é executado quando se clica com o mouse, portanto, para que da showCursor() se já é preciso estar com o cursor para mostrar/ocultar o render ? além do mais, essa a funçao abrirefechar() não está sendo chamada em nenhum lugar. Pelo que entendi o 'botão dx' será algo fixo na tela do jogador, então o ideal não é usar "onClientClick", pois terá cursor para executa-lo apenas se abrir outro painel, portanto recomendo que se use bindKey()/"onClientKey" para executar a função ou mostrar o cursor e assim poder executar a função apartir do "onClientClick" Em relação ao seu tópico anterior não entendi direito. - você clica na tela (qualquer lugar da tela, ou apenas nas coordenadas especificadas no isCursorOnElement ?) e aparece do nada (o que ?) mesmo com o mod (renderização ?) não sendo executado. Eu meio que supus que quando você tem algum elemento gui por cima do botão dx, mesmo assim você consegue usa-lo clicando sobre o gui. Esse o problema ? me corrija se eu estiver errado.
  21. Teria sido mais conveniente você ter mantido a dúvida e postado a solução (já que encontrou), poderia ajudar outras pessoas em situações semelhantes... Além do mais, antes de criar algum post, recomendo que você analise bem sua dúvida, e recorra ao fórum como última opção, pois pode ser algo bobo de se resolver.
  22. function dx() dxDrawText("F1 - Painel De Jogador", 448, 313, 573, 329, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) dxDrawText("F2 - Shop De Habilidades", 448, 335, 573, 351, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) dxDrawText("F3 - Chat Privado", 448, 356, 573, 372, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) dxDrawText("F4 - Painel De Animacao", 448, 378, 573, 394, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) dxDrawText("F5 - Controles De Veiculo", 448, 399, 573, 415, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) dxDrawText("F7 - Painel De Drogas", 448, 421, 573, 437, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) dxDrawText("F8 - Console", 448, 442, 573, 458, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) dxDrawText("F9 - Painel De Ajuda", 448, 463, 573, 479, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) dxDrawText("F10 - Transferidor De Dinheiro ", 448, 485, 573, 501, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) dxDrawText("F11 - Mapa", 448, 507, 573, 523, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) dxDrawText("F11 - Mapa", 448, 507, 573, 523, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) dxDrawText("F12 - Print", 448, 529, 573, 545, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) dxDrawText("Para Ver Teles:/teles", 448, 551, 573, 567, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) end painel = false function Comandos(_,state) if state == "down" then if isCursorOnElement(x*853, y*390, x*167, y*30) then if painel then removeEventHandler("onClientRender", root, dx) painel = false else addEventHandler("onClientRender", root, dx) painel = true end end end end addEventHandler("onClientClick", root, Comandos)
  23. @Fusion. Concordo, foi apenas um exemplo simples de um dos vários modos de se fazer isto. No entanto fazendo apenas essas verificações em uma função personalizada com algum nome aleatório já se torna bem complexo do cara conseguir burlar sem ele ter o código fonte descriptografado.
  24. local dim = 1 addCommandHandler("eventodesativar", function(source) if hasObjectPermissionTo(source,"function.kickPlayer",false) then for _,player in pairs(getElementsByType("player")) do if getElementDimension(player) == dim then killPed(player) end end end end )
×
×
  • Create New...