Jump to content

Blaack

Members
  • Posts

    192
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by Blaack

  1. Utilize o lado client-side com o evento onClientKey, verifique a tecla que foi 'clicada' e cancele-a.
  2. Nos mostre como está tenttando fazer, você pode usar o interpolate sim; Inclusive tenho um tutorial bem legal sobre, caso queira ver: link
  3. A maneira que o @Lord Henryfez, irá funcionar perfeitamente. Porém caso queira fazer algo universal, eu faria dessa maneira: -- resource solicitando -- solicitar triggerEvent("SolicitarAceitacao", player, "Você recebeu uma solicitação de beijo de Nana, use /aceitar ou /recusar", playersolicitando, getResourceName(getThisResource())) -- receber resposta addEvent("ResultadoSolicitacao>"..getResourceName(getThisResource()), true) addEventHandler("ResultadoSolicitacao>"..getResourceName(getThisResource()), root function (acao, playersolicitou) if acao == "recusou" then -- execute aqui a ação caso recuse elseif acao == "aceitou" then -- execute aqui a ação caso aceite end end) -- resource solicitado local aceitacao = {} addEvent("SolicitarAceitacao", true) addEventHandler("SolicitarAceitacao", root, function (mensagem, playersolicitou, resource) if not aceitacao[source] then outputChatBox(mensagem, source, 255, 255, 255) aceitacao[source] = {resource, playersolicitou} else if playersolicitou and isElement(playersolicitou) then outputChatBox("Este player já possui uma solicitação pendente!", playersolicitou, 255, 0, 0) end end end addCommandHandler("aceitar", function (p) if aceitacao[p] then triggerEvent("ResultadoSolicitacao>"..aceitacao[p][1], p, "aceitou", aceitacao[p][2]) aceitacao[p] = false end end addCommandHandler("recusar", function (p) if aceitacao[p] then triggerEvent("ResultadoSolicitacao>"..aceitacao[p][1], p, "recusou", aceitacao[p][2]) aceitacao[p] = false end end
  4. Isso não funcionaria, pois 'source' em 'onMarkerHit' é o elemento marker.
  5. Hello, I use the addDebugHook function on my Windows hosting and it works normally. However, when trying to use it on a Linux hosting, it doesn't work... is there any impediment?
  6. Você está definindo a função de hit no lado server e criando o marker no lado client, obviamente isso não irá funcionar.
  7. Ah sim, nesse caso o pessoal costuma utilizar element data. Quando o player logar tu usa o evento onPlayerLogin para identificar e seta uma data nele.. Na loadscreen você verifica, se ele tiver essa data tu retira ela.
  8. O que você pretende fazer? Porque não faz o acionamento no lado server utilizando um trigger pro client?
  9. Verifica se aquele argumento “jacked” é um elemento.
  10. Como assim cara? É um evento criado, não há necessidade po, o erro é no aclGetGroup pelo que eu entendi. Preciso ver a definicação da tabela config.Vips para localizar o erro.
  11. Verifique se o elemento existe, pois você mesmo ja deleta no evento de onMarkerHit...
  12. Nesse proprio evento onVehicleEnter, no terceiro parâmetro da função tu consegue verificar se ele esta retirando alguém do assento. addEventHandler ( "onVehicleEnter", getRootElement(), function ( thePlayer, seat, jacked ) if seat == 0 and jacked and isElement(jacked) and getElementType(jacked) == "player" then -- verificamos se o assento é 0 (p1), se existe algum player que foi ejetado, se existir verificamos se é um elemento, em seguida se é um player. -- use thePlayer para assaltante -- jacked para quem foi retirado -- source para veiculo. end end)
  13. Dessa maneira não ira definir, o segundo argumento que você tem que definir ali no addEventHandler é o elemento que ira acionar essa função. Tente assim:
  14. Como você esta acionando essa função?
  15. No caso, você tem que ver o que o getAclGroup retorna. function getAclGroup(nome) iprint(nome) end
  16. Olá, você pode usar uma tabela para armazenar as tabelas necessarias, fazendo um for dentro delas e verificando se o player está naquele grupo com o isObjectInACLGroup Vou deixar um exemplo aqui pra ti: Perdão pela identação, o forum parece que distorce kk
  17. Há um problema nesse código, ao usar o destroyElement no lado server, o marker é destruido para todos os jogadores! Por isso recomendo usar o setElementVisibleTo, ou fazer este resource em client-side ( o que eu particularmente, prefiro rs)
  18. Olá, boa tarde tudo bem? Espero que sim... Fiz aqui pra você. createEventHandler ("MST.onPlayerBuyVehicle", getRootElement (), function (player, selecionado, cor_1, cor_2, cor_3, cor_4) if selecionado then local accName = getAccountName (getPlayerAccount (player)) local result = dbPoll (dbQuery (db, "SELECT * FROM Veiculos WHERE Conta = ? AND Modelo = ?", accName, selecionado.model), -1) if #result == 0 then local maximoSlot = getMaxSlot(player) if getAllPlayerVehicles (player) >= maximoSlot then --eu sei q é aqui q impede que o jogador compre mais carros message (player, "Você já possui a quantidade máxima de veículos", "error") return end local money = getPlayerMoney (player) if money >= selecionado.price then local id = NovoID () local cor = cor_1..", "..cor_2..", "..cor_3..", "..cor_4 local t_1, t_2, t_3, t_4, t_5, t_6, t_7, t_8, t_9, t_10, t_11, t_12, t_13, t_14, t_15 = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 local tunning = t_1..", "..t_2..", "..t_3..", "..t_4..", "..t_5..", "..t_6..", "..t_7..", "..t_8..", "..t_9..", "..t_10..", "..t_11..", "..t_12..", "..t_13..", "..t_14..", "..t_15 dbExec (db, "INSERT INTO Veiculos VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", accName, id, selecionado.name, selecionado.model, "Guardado", cor, tunning, "Não", 0, "SemPlaca", selecionado.price, 1000, 100) message (player, "Você comprou o veículo "..selecionado.name.." por R$"..convertNumber(selecionado.price)..",00.", "success") takePlayerMoney (player, selecionado.price) triggerClientEvent (player, "MST.onPlayerCloseEvents", player) else message (player, "Você não possui dinheiro suficiente.", "error") end else message (player, "Você já possui esse veículo.", "error") end else message (player, "Selecione algum veículo da lista.", "error") end end) function getMaxSlot(player) if player and not isGuestAccount(getPlayerAccount(player)) then local acc = getAccountName(getPlayerAccount(player)) for i, v in ipairs(config.gerais.slotsmax) do if aclGetGroup(v[1]) then if isObjectInACLGroup("user."..acc, aclGetGroup(v[1])) then return v[2] end end end end return config.gerais.veiculosmax-- valor padrao, caso o player nao tenha nenhuma das acls end --aqui é a função a cima q verifica os carros q o jogador tem na garagem function getAllPlayerVehicles (player) local accName = getAccountName (getPlayerAccount (player)) local result = dbPoll (dbQuery (db, "SELECT * FROM Veiculos WHERE Conta = ?", accName), -1) return #result end --aqui e no arquivo de configuração config = { gerais = { veiculosmax = 2, -- Veículos Máximos que o Jogador vai poder ter na Garagem. (caso seja um player normal) slotsmax = { {"Console", 5}, {"VIP", 3}, -- só seguir a logica... }, elementfuel = "Gasolina", -- Element Data de Gasolina do seu Servidor. elementid = "ID", -- Element Data de ID do seu Servidor. infobox = "addBox", -- Evento da sua Infobox. distancia = 30, -- Distancia do Player e do Veículo. (Guardar Veículo) velocitymax = 400, -- Velocidade Máximas de todos os Veículos. acls = {"Console"}, -- ACL's Administradoras do seu Servidor. },
  19. Não é mais facil você enviar pra webhook do discord?
  20. Nesse evento é sempre bom verificar se o player existe, pois as vezes eles acionam o evento e quitam... assim dando erro no debug. function BloquearAssalto(player, seat) if player and isElement(player) and seat == 0 then outputChatBox("#FF0000[Aviso]: #FFFFFFVocê não pode roubar veiculos.", player, 255, 255, 255, true) cancelEvent() end end addEventHandler("onVehicleStartEnter", getRootElement(), BloquearAssalto) Além de não precisar verificar o assento com o getPedOccupiedVehicleSeat (pois iria dar erro, pois o player ainda não esta no veiculo) e usando o 2° argumento da função.
  21. No evento o segundo parametro deve ser o marker, getRootElement() ele puxa todos os markers, então mude aquela definição deixando-a assim: --- Server ----- local marker123 = createMarker(589.438, 870.218, -42.497, 'cylinder', 1.0, 30, 144, 255, 150) function markerfunction(player) setElementData ( player, "Emprego", "Mineirador" ) -- alterei de source para player, pois source neste evento é o marker! outputChatBox("/infos para marcar os markers",player,255,255,0) -- Output that they are. end addEventHandler("onPlayerMarkerHit", marker123, markerfunction)
×
×
  • Create New...