Bruno R dos Santos Posted July 17, 2020 Share Posted July 17, 2020 (edited) eu to com esse script aqui, tentando fazer que com que após o jogador acertasse a senha do portão, entrasse na ACL "PMESP" porem está dando erro, e não sei o porque :T function createThelift () mylift = createObject(980, 1539.634765625,-1627.90625,15.3828125, 0, 0, 270) ---- portao principal end addEventHandler ( "onResourceStart", getResourceRootElement ( getThisResource () ), createThelift ) --function createThelift1 () -- mylift1 = createObject(980, 1539.634765625,-1627.90625,15.3828125, 0, 0, 270) ----rr no script e ele aparece em outro lugar --end --addEventHandler ( "onResourceStart", getResourceRootElement ( getThisResource () ), createThelift1 ) --function createThelift2 () -- mylift12 = createObject(980, 1539.634765625,-1627.90625,15.3828125, 0, 0, 270) --end --addEventHandler ( "onResourceStart", getResourceRootElement ( getThisResource () ), createThelift2 ) local marker = createMarker (1545.08020, -1627.61438, 12.38281, "cylinder", 6, 0, 255, 255, 0) function open2 (psource) login3 = getAccountName(getPlayerAccount(psource)) isObjectInACLGroup("user."..login3, aclGetGroup("Guest")) aclGroupAddObject (aclGetGroup("BOPE"), "user."..getAccountName(getPlayerAccount(source))) triggerClientEvent (psource, "open2", root) end addEventHandler ("onMarkerHit", marker, open2) --------------------- SCRIPT function abrir (source) moveObject(mylift, 980, 1539.634765625,-1327.90625,15.3828125, 0, 90,0) ---abre o primeiro portao pro lado esquerdo setTimer ( function() moveObject(mylift, 980, 1539.634765625,-1627.90625,15.3828125, 0, -90, 0) ---fecha o primeiro portao pro lado direito end, 5000, 1 ) end addEvent ("abrir", true) addEventHandler ("abrir", getRootElement(), abrir) -------------------- SCRIPT 2 local marker2 = createMarker (1588.90808, -1637.59497, 13.44030, "cylinder", 6, 0, 255, 255, 0) function open22 (psource) login2 = getAccountName(getPlayerAccount(psource)) if isObjectInACLGroup("user."..login2, aclGetGroup("CV")) then triggerClientEvent (psource, "open22", root) end end addEventHandler ("onMarkerHit", marker2, open22) function abrir2 (source) moveObject(mylift1, 980, 1539.634765625,-1327.90625,15.3828125, 0, 90,0) setTimer ( function() moveObject(mylift1, 980, 1539.634765625,-1627.90625,15.3828125, 0, 0, 0) end, 5000, 1 ) end addEvent ("abrir2", true) addEventHandler ("abrir2", getRootElement(), abrir2) na linha 19, eu adicionei a função para entrar no group da ACL, mas está dando erro no debugscript 3 "server.lua:20: attempt to concatenate a boolean value" alguém poderia me ajudar? sou novo nisso. E se também alguém conseguir me explicar o porque ele está acusando de um boolean value ou me explicar o porque da esses tipo de erro em alguns scripts eu agradeço, para eu poder arrumar futuros bugs Edited July 17, 2020 by Bruno R dos Santos Link to comment
TioSteiN Posted July 19, 2020 Share Posted July 19, 2020 (edited) Você está utilizando "psource" na função, porém na linha 20 você utilizou "source" também não entendi o porque dessa linha : isObjectInACLGroup("user."..login3, aclGetGroup("Guest")) Tente assim : function open2 (psource) local login3 = getAccountName(getPlayerAccount(psource)) if login3 ~= "guest" then aclGroupAddObject (aclGetGroup("BOPE"), "user."..login3) triggerClientEvent (psource, "open2", root) end end addEventHandler ("onMarkerHit", marker, open2) Edited July 19, 2020 by TioSteiN 1 Link to comment
Bruno R dos Santos Posted July 19, 2020 Author Share Posted July 19, 2020 (edited) a linha que você não entendeu, ela verifica se o player está na ACL para abrir o marker, (não era para ser assim, então tirei a verificação, porem quando eu retiro essa linha, o script também buga '-') edit: o Script foi perfeitamente, muito obrigado amigo, ajudou bastante Edited July 19, 2020 by Bruno R dos Santos atualização de status do script Link to comment
Bruno R dos Santos Posted July 19, 2020 Author Share Posted July 19, 2020 9 hours ago, Bruno R dos Santos said: a linha que você não entendeu, ela verifica se o player está na ACL para abrir o marker, (não era para ser assim, então tirei a verificação, porem quando eu retiro essa linha, o script também buga '-') edit: o Script foi perfeitamente, muito obrigado amigo, ajudou bastante na real, não foi perfeitamente não ele ta entrando na ACL só de passar pelo marker (para abrir o painel de senha do portao), e no caso ele teria que acertar a senha para entrar na ACL Link to comment
Angelo Pereira Posted July 19, 2020 Share Posted July 19, 2020 Bom, existe vários erros, dentro dele, o mais importante, é : "Quando a pessoa acertar a senha do portão (Isso parte do client-side), setasse uma acl no mesmo", porem no seu script, é totalmente diferente essa indagação, pois, ao colidir com o marker, setará a acl no player. Enfim, fiz um script, para você testa no seu server privado, para lhe dar um pouco de conhecimento, da forma que você colocou no título do tópico. --# pequena demostração. -- client-side. local senha_do_portao = "001" --/> Senha do Portão. addEventHandler("onClientResourceStart", resourceRoot, function ( ) --/> Ao Iniciar o Recurso do Lado Client-Side, Então : showCursor(true) --/> Ativar Cursor do Mouse. digitar_password = guiCreateEdit( 1366/2, 768/2, 100, 40, "", false ) --/> Cria uma Caixa de Texto. guiEditSetMaxLength ( digitar_password, 8 ) --/> Defini o Tamanho Máximo de Texto Para 8. botao_confirmar = guiCreateButton ( 1366/2, 768/2+60, 100, 50, "Confirmar", false ) --/> Cria um Botão de Confirmação. addEventHandler("onClientGUIClick", botao_confirmar, function ( ) --/> Adiciona um Evento de Click ao Botão Confirmar. local texto = guiGetText ( digitar_password ) --/> Pega o Texto de Dentro da Caixa de Texto. if texto == senha_do_portao then --/> Então, verifica o texto, e compara com a senha do portão. outputChatBox("Senha Correta.") triggerServerEvent("Senha_Correta", resourceRoot) --/> Enviará um Evento Para o Lado server-side. else outputChatBox("Senha invalida.") end end) end) -- server-side. addEvent("Senha_Correta", true) addEventHandler("Senha_Correta", resourceRoot, function ( ) local login = getAccountName(getPlayerAccount(client)) if login ~= "guest" then if isObjectInACLGroup("user."..login, aclGetGroup("PMESP")) == false then --/> Verificar se o Player Já tem a ACL, se não tem então : aclGroupAddObject (aclGetGroup("PMESP"), "user."..login) --/> Adiciona no Grupo Acl. outputChatBox("Você Recebeu um Grupo ACL da PMESP!", client, 255,255,255, true) else outputChatBox("Você Já Possui ACL da PMESP.", client, 255,255,255, true) end else outputChatBox("Você Está Deslogado do Servidor.", client, 255,255,255, true) end end) local mylift = createObject (980, 1539.634765625,-1627.90625,15.3828125, 0, 0, 270) --/> Cria um Objeto. local marker = createMarker (1545.08020, -1627.61438, 12.38281, "cylinder", 6, 0, 255, 255, 0) --/> Cria um Marker. addEventHandler ("onMarkerHit", marker, function ( hitElement, dim ) if isElement(hitElement) and getElementType(hitElement) == "player" then if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(hitElement)), aclGetGroup("PMESP")) then moveObject(mylift, 2000, 1539.634765625, -1327.90625, 15.3828125) --/> Abrirá setTimer ( function ( ) moveObject(mylift, 2000, 1539.634765625, -1627.90625,15.3828125) end, 5000, 1 ) --/> Fechará em 5s. end end end) Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now