-
Posts
251 -
Joined
-
Last visited
-
Days Won
7
Everything posted by Angelo Pereira
-
local x,y,z = -523.7001953125, -504.400390625, 30.60000038147 local objeto = createObject ( 3607, x,y,z,0,0,90 ) local zona = createColCircle ( x, y, 6 ) function abrir (player) local account = getAccountName ( getPlayerAccount ( player ) ) if isObjectInACLGroup ("user."..account, aclGetGroup ( "CV" ) ) then moveObject ( objeto, 2000, -523.7001953125, -504.400390625, 9 ) end end addEventHandler ( "onColShapeHit", zona, abrir ) function fechar (player) moveObject ( objeto, 2000, x,y,z ) end addEventHandler ( "onColShapeLeave", zona, fechar ) Teste lá, apenas o que estava errado era "createColCircle(x,y, 6, 6)"
-
Isso ocorre pelo fato de os dois painéis estarem com o mesmo nome evento, ou seja, um exemplo : - [ PAINEL BOPE ] triggerServerEvent("carrop1") -- Client addEvent("carrop1",true) -- Server addEventHandler("carrop1",root,criarxx) -- Server - [ PAINEL PMERJ ] triggerServerEvent("carrop1") -- Client addEvent("carrop1",true) -- Server addEventHandler("carrop1",root,criarxx) -- Server -- SOLUÇÃO : Em ambos existe o mesmo nome no evento nos painéis, para resolver isso, você precisa muda-los os nomes dos eventos, ou seja... - [ PAINEL BOPE ] client : triggerServerEvent("BOPE_pegar_viatura_bope") server : addEvent("BOPE_pegar_viatura_bope",true) addEventHandler("BOPE_pegar_viatura_bope",root,criarxx) - [ PAINEL PMERJ ] client : triggerServerEvent("PMERJ_pegar_viatura_pmerj") server : addEvent("PMERJ_pegar_viatura_pmerj",true) addEventHandler("PMERJ_pegar_viatura_pmerj",root,criarxx) Espero que consiga entender com esse mini exemplo, ou aguarde alguém mais experiente, para da uma melhor explicação !
-
-- Adicionado (O que eu acrescentei nas linhas). Aqui, eu fiz algumas alterações : (Particularmente, o kevin deverá coloca um tempo para cada player da teleporte a este local), enfim, as alterações foram : Linha 69. if playerTeam then if not oldTeam[thePlayer] then -- Adicionado oldTeam[thePlayer] = getTeamName(playerTeam) end -- Adicionado else -- Adicionado oldTeam[thePlayer] = true -- Adicionado end - Verificar se o player está na team(É o que você colocou), então vai verificar se o player já está na tabela, caso não, ira cria-lá, e caso o player não tenha team, vai seta-lo uma tabela como true. Linha 91. function retirar_team (player) if oldTeam[player] then if oldTeam[player] == true then setPlayerTeam(player, nil) oldTeam[player] = nil return end -- Adicionado local team = getTeamFromName(oldTeam[player]) or false -- Adicionado if team then -- Adicionado setPlayerTeam(player, getTeamFromName(oldTeam[player])) oldTeam[player] = nil -- Adicionado end end end - Verificar se o player está na tabela, verifica se o player está como true (onde o jogador não tem team), caso for true, então remove da team e da tabela, caso o player tiver com team, verificará se essa team ainda existe, caso existir, então setara-lo a team e removerá da tabela. Observação[1]: Daria de fazer de uma forma diferente onde a questão relacionada na linha 73 (Remove-lá), e fazer o seguinte : ? function retirar_team (player) if oldTeam[player] then local team = getTeamFromName(oldTeam[player]) or false -- Adicionado if team then -- Adicionado setPlayerTeam(player, getTeamFromName(oldTeam[player])) oldTeam[player] = nil -- Adicionado end else setPlayerTeam(player, nil) -- Adicionado end end
-
zonapvp = createColRectangle ( 5441.9, -1926.4, 119.5, 133 ) event_iniciado = 1 verificarOne = 0 oldTeam = {} -- Tabela para salvar o Team antigo. local spawns = { {5460.70264, -1825.30945, 10.97057}, {5454.74805, -1884.13953, 10.29621}, {5537.57373, -1887.13306, 11.04092}, {5545.14746, -1829.44873, 10.29401}, {5501.95557, -1861.66174, 10.29621} } function start_admin_event (player) if event_iniciado == 1 then local accName = getAccountName(getPlayerAccount(player)) if isObjectInACLGroup("user."..accName, aclGetGroup("Owner")) then outputDebugString ("Evento Iniciado") event_iniciado = event_iniciado + 1 i = 0 pvp_1 = createTeam("PVP-Red [use /pvp]", 255, 0, 0) pvp_2 = createTeam("PVP-Green [use /pvp]", 0, 255, 0) pvp_3 = createTeam("PVP-Blue [use /pvp]", 0, 0, 255) pvp_4 = createTeam("PVP-Yellow [use /pvp]", 255, 255, 0) addCommandHandler ( "pvp", tele ) end end end addCommandHandler ( "eventStart", start_admin_event ) function entrar_na_zona( thePlayer, matchingDimension ) if getElementType ( thePlayer ) == "player" then redirecionar_team (thePlayer ) end end addEventHandler("onColShapeHit", zonapvp, entrar_na_zona) function sair_da_zona( thePlayer, matchingDimension ) if getElementType ( thePlayer ) == "player" then retirar_team (thePlayer ) end end addEventHandler("onColShapeLeave", zonapvp, sair_da_zona) function tele(player) local teles = math.random ( #spawns ) if ( teles ) then local isTeamPlayer = getPlayerTeam ( player ) verificarOne = verificarOne +1 setElementData(player,"inPVP",true) redirecionar_team(player) setElementPosition(player, unpack ( spawns [ teles ] )) end end function redirecionar_team (thePlayer) playerTeam = getPlayerTeam(thePlayer) i = i + 1 if i > 4 then i = 1 end if pvp_1 and pvp_2 and pvp_3 and pvp_4 then if playerTeam then if not oldTeam[thePlayer] then -- Adicionado oldTeam[thePlayer] = getTeamName(playerTeam) end -- Adicionado else -- Adicionado oldTeam[thePlayer] = true -- Adicionado end if i == 1 then setPlayerTeam ( thePlayer, pvp_1 ) end if i == 2 then setPlayerTeam ( thePlayer, pvp_2 ) end if i == 3 then setPlayerTeam ( thePlayer, pvp_3 ) end if i == 4 then setPlayerTeam ( thePlayer, pvp_4 ) end end end function retirar_team (player) if oldTeam[player] then if oldTeam[player] == true then setPlayerTeam(player, nil) oldTeam[player] = nil return end -- Adicionado local team = getTeamFromName(oldTeam[player]) or false -- Adicionado if team then -- Adicionado setPlayerTeam(player, getTeamFromName(oldTeam[player])) oldTeam[player] = nil -- Adicionado end end end addCommandHandler("stop123", function (player) local accName = getAccountName ( getPlayerAccount ( player ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Owner" ) ) then if event_iniciado >= 2 then for k , v in ipairs(getElementsByType("player")) do if getElementData(v,"inPVP") then retirar_team(v) end end destroyElement(pvp_1) destroyElement(pvp_2) destroyElement(pvp_3) destroyElement(pvp_4) removeCommandHandler("pvp") event_iniciado = 1 end end end)
-
O que ocorre ai, é o seguinte, está fazendo 2 salvamentos de team. 1ª É quando o jogador se teleporta, onde faz o primeiro salvamento correto se o player tiver in team. 2º Salvamento é quando o jogador depois de teleporta é o evento "onColShapeHit", onde faz o salvamento da team de PVP, ou seja, substituindo a já salva pelo teleporte /pvp. Espero que entenderam a minha explicação, por isso ele não retorna para a team antiga.
-
Você removendo as linha onde destrói o veiculo quando pega outro veiculo, irá poder pegar além de 1 viatura, nos respectivos exemplos : if isElement( veh[hitElement] ) then destroyElement ( veh[hitElement] ) end --------------- OR ------------------- if tableVehicle[source] then -- se existir um valor na tableVehicle destroyElement ( tableVehicle[source] ) -- destroi oq esta na tableVehicle tableVehicle[source] = nil -- coloca tableVehicle como nil (anti-bug) end
-
Linha 23 : 23. if isObjectInACLGroup("user."..accName, aclGetGroup(groupeName)) then Coloque : if isObjectInACLGroup("user."..accName, aclGetGroup("BOPE")) or isObjectInACLGroup("user."..accName, aclGetGroup("EB")) then
-
Triste ;( por não saber resolver esse problema
Angelo Pereira replied to SkillZNT's topic in Programação em Lua
words = {} SQLS3D = { qury = executeSQLQuery } chatTime = {} lastChatMessage = {} addEventHandler("onPlayerChat", getRootElement(), function(text, msgtype, thePlayer) local account = getAccountName(getPlayerAccount(source)) local name = getPlayerName(source) local root = getRootElement() local name = getPlayerName(source) local r,g,b = getPlayerNametagColor(source) local Account1 = getPlayerAccount ( source ) local new = "" local iter = 0 msg = string.gsub(text,"ـ","") for word in msg:gmatch("%S+") do iter = iter + 1 if iter == 1 and word:len() > 0 then word = word:gsub("%a",string.upper,1) end new = new..word.." " end if new ~= "" then msg = new end text = msg if chatTime[source] and chatTime[source] + tonumber(1000) > getTickCount() then cancelEvent() outputChatBox("Espere 1 segundo para poder digitar novamente!", source, 255, 0, 0) return else chatTime[source] = getTickCount() end lastChatMessage[source] = text local r, g, b = getPlayerNametagColor(source) cancelEvent() if isObjectInACLGroup("user." .. account, aclGetGroup("BOPE")) then TAG_BOPE = "[BOPE]" else TAG_BOPE = "" end if isObjectInACLGroup("user." .. account, aclGetGroup("VIP")) then TAG_VIP = "[VIP]" else TAG_VIP = "" end if isObjectInACLGroup("user." .. account, aclGetGroup("Everyone")) then TAG_EVERYONE = "[Jogador]" else TAG_EVERYONE = "[Guest]" end outputChatBox(""..TAG_BOPE..""..TAG_VIP..""..TAG_EVERYONE.." - #FFFFFF"..name.."#ffffff™: #FF6A00 "..text, root, 255, 255, 255, true) end ) É uma das formas possíveis dentre outras formas,- 1 reply
-
- 1
-
Mostra algum erro no debugscript3? eu testei aqui é funcionou, verifique a ACL se está criada no seu GRUPO de ACLs
-
Spawn1 = createMarker(-65.258903503418, -343.11831665039, 5.4296875 -1,"cylinder", 1.9, 0, 0, 200, 40) Destroy = createMarker(-65.258903503418, -371.39807128906, 5.4296875 -2,"cylinder", 5.0, 128, 0, 0, 99) veh = {} function spawnvtr ( hitElement ) if getElementType(hitElement) == "player" and not isPedInVehicle(hitElement) then -- Adicionado if isElement( veh[hitElement] ) then destroyElement ( veh[hitElement] ) end local accName = getAccountName ( getPlayerAccount ( hitElement ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "BOMBEIROS") ) then veh[hitElement] = createVehicle(529, -61.04016494751, -303.79797363281, 5.3578243255615, 0, 0, 270 ) warpPedIntoVehicle ( hitElement, veh[hitElement] ) --exports._infobox:addNotification(hitElement, "", "success") else outputChatBox("#FFFFFF| #E10000BOMBEIROS #FFFFFF| Somente #E10000BOMBEIROS #FFFFFFPodem Pegar Este Veiculo.",hitElement,255,255,255, true) end end end addEventHandler("onMarkerHit", Spawn1, spawnvtr) function destroyvtr ( hitElement ) if isElement(veh[hitElement]) then destroyElement (veh[hitElement]) --exports._infobox:addNotification(thePlayer, "", "success") end end addEventHandler("onMarkerHit", Destroy, destroyvtr) Tente isso
-
[Script] Encurtador de Numeração.
Angelo Pereira replied to Angelo Pereira's topic in Programação em Lua
Muito Obrigado @Lord Henry & @MainSCR ! -
Olá Pessoal, Bom, eu tentei, retentei e infelizmente não consegui fazer, tentando utilizar string.formart e outros para encurtar um determinado número com pontos(.) Exemplo[1]: 2.4566775 Exemplo[2]: 134.34566666 O que eu quero fazer? É Encurtar a partir da terceira casa depois do ponto(.) todos números, ou seja... no Exemplo[1] dado ficaria assim : 2.456 no Exemplo[2] dado ficaria assim : 134.345 Alguém me da uma luz? Eu estou tentando encurtar os números obtidos pela divisão de kill/mortes. -- Apenas Para Demostração! local kill = getElementData(source, "Kills") or 0 local mortes = getElementData(source, "Deaths") or 0 local valor = tonumber(kill/mortes) -- K/D ou seja divide o valor de quantidade de kill por mortes. (Onde deixa um número muito extenso). Tentativas utilizando String: string.gsub(valor, "^%(.)%03d", '' ) string.gsub(valor, "^%d[.]%03d", '') math.round(valor, 3) Eu, pessoalmente digo que eu não sei usa string, apenas tentei, depois de 4 dias tentando de várias formas, mas o resultado era sempre o mesmo!
-
Olá Pessoal, tudo bem? Gostaria de esta convidando a todos e a todas, para darem uma passada no nosso servidor Brasil Rodando na Fixa! Meios de comunicação usamos Raidcall - ID : 106982 IP do Servidor : mtasa://144.217.179.91:22003 Obrigada a Todos! Att Ângelo Pereira
-
- Olá a Todos! Então, vou começar desde quando surgiu o problema? O Problema começou após a atualização do MTA para a v1.5.6 O Que acontece? Após um jogador entrar no servidor [Que já tenha o servidor baixado], e carrega os mods do servidor [Veiculos/Skins/etc], o painel de login fica em tela BRANCA [As Vezes]. E também outra coisa que ocorreu... Nos também temos um sistema de quando cria a conta, ele envia os dados para o e-mail cadastrado. O Que ocorreu após a atualização? Os E-mail não são enviados, mesmo liberando porta, deixando o recurso em administrador na acl, não envia mais, antes da atualização funciona perfeitamente. Mais, no meu servidor privado [Da minha própria rede/Na minha máquina/Privado/Sem Nenhuma Porta Aberta] ele envia normalmente o e-mail. [Com as mesmas configurações da ACL do Servidor Público/ Mesmas configurações no mtaserver.xml ] O que pode ser? problema no MTA?
-
O que eu já tentei fazer? 1. Desativar todos os resources em tempo real com 30 players. [ NADA ] 2. Trocamos de windows / máquinas / aumentamos nucleo / ram. [ NADA ] 3. Reinstalei o Mta Server, removi os DataBase das contas. [ NADA ] 4. Já verifiquei no /ipb cada resource, já analisei cada resource. [ NADA ] O problema iniciou, além de um bug no HTML, quando o MTA atualizou para versão 1.5.6, que falarei em outro tópico esse bug. [ Que conseguimos resolver um pouco ]. Eu sei que é difícil saber o que é, se nem mesmo o dono não sabe, imagina, pequenas informações uma pessoa saber (seria mitagem hehe), porem, se aquele número quando bate 10 players cai, se eu soubesse o que aquele número significa exatamente, irei começa por ele a verificar o que esta acontecendo, mais obrigado pela ajuda, irei verificar os resources novamente, já já daqui a pouco irei colocar uma tabela do ipb aqui
-
é Windows Server 2008 R2, também fiz um teste no speedtest : Ping = 0 , Download = 92.68MB , Upload = 79.41MB O que significa esses números? [ 530 FPS < 9 ] Talvez, sabendo o que eles significam eu acho que conseguiria ter uma noção no que fazer. Nesse exato momento esta assim o console .. MTA: San Andreas :: 33/1200 players :: 317 Resources :: 245 fps < 3