Jump to content

UltimaterSCR

Members
  • Posts

    9
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

UltimaterSCR's Achievements

Newbie

Newbie (4/54)

0

Reputation

  1. Cara entendi perfeitamente com essa explicação prática, muito obrigado !
  2. Galera, estou aprendendo a fazer scripts, e editei um script que achei na Internet de uma forma que ele pudesse ter quantos markers eu quisesse, no caso de um trabalho, porém, gostaria de saber se existe alguma forma de eu deixa-lo mais otimizado, usando loops ou algo do tipo, eu evitaria de ter que escrever quase a mesma coisa para cada Marker? Eu estou querendo fazer um trabalho de Sedex, e peguei de outro script que eu achei, uma barra que carrega na tela, então usei setElementFrozen para congelar o veículo, então a barrinha aparece e carrega, quando ela termina de carregar, o veículo é descongelado, até ai tudo bem, porém, estou usando um script que faz com que uma mensagem apareça no topo da tela, "Parabéns, você entregou uma encomenda (1/10), então tentei fazer com que primeiro aparecesse "Entregando encomenda", e após os 5 segundos do setElementFrozen, aparecesse a mensagem que entregou. Mas não estou conseguindo fazer. Então tentei fazer junto a barra de carregamento, para aparecer o ENTREGANDO ENCOMENDA, mas também não consegui. Vou deixar apenas os 2 primeiros markers, para vocês verem sobre o que eu falei de Loops, se há alguma forma de utilizar nesse código, peço desculpas se estiver mal identado, ainda sou iniciante em programação. Peço que ninguém pegue esses códigos para si, pois é um script que editei totalmente para o meu servidor, e não ficaria feliz se fosse roubado!!! ----------------------- Server-Side ----------------------- --Markers Minicio = createMarker (1222.713, -1799.09, 16.555 -1, "cylinder", 1.5, 255 ,255 ,0, 130) mk01 = createMarker ( 1261.461, -1831.496, 13.385 -1, "checkpoint", 3, 255 ,255 ,0, 130) mk02 = createMarker ( 1426.6989746094,-961.05804443359,36.34884262085 -1, "checkpoint", 3, 255 ,255 ,0, 130) mk03 = createMarker ( 2175.4973144531,1122.1480712891,12.679032325745 -1, "checkpoint", 3, 255 ,255 ,0, 130) mk04 = createMarker ( 2079.6228027344,1444.5053710938,10.8203125 -1, "checkpoint", 3, 255 ,255 ,0, 130) mk05 = createMarker ( 2170.8229980469,1678.8610839844,10.8203125 -1, "checkpoint", 3, 255 ,255 ,0, 130) mk06 = createMarker ( 2102.5812988281,2217.4921875,10.8203125 -1, "checkpoint", 3, 255 ,255 ,0, 130) mk07 = createMarker ( 2031.4614257813,1923.1041259766,12.294158935547 -1, "checkpoint", 3, 255 ,255 ,0, 130) mk08 = createMarker ( 1697.4500732422,1451.1950683594,10.763988494873 -1, "checkpoint", 3, 255 ,255 ,0, 130) mk09 = createMarker ( 1561.4448242188,1078.6629638672,10.8203125 -1, "checkpoint", 3, 255 ,255 ,0, 130) mk10 = createMarker ( 954.54888916016,-922.796875,44.080444335938 -1, "checkpoint", 3, 255 ,255 ,0, 130) --1066.3614501953,-1341.8918457031,13.3828125 -1 --Blips Attached Binicio = createBlipAttachedTo (Minicio, 42) B01 = createBlipAttachedTo ( mk01, 19 ) B02 = createBlipAttachedTo ( mk02, 19 ) B03 = createBlipAttachedTo (mk03, 19) B04 = createBlipAttachedTo (mk04, 19) B05 = createBlipAttachedTo (mk05, 19) B06 = createBlipAttachedTo (mk06, 19) B07 = createBlipAttachedTo (mk07, 19) B08 = createBlipAttachedTo (mk08, 19) B09 = createBlipAttachedTo (mk09, 19) B10 = createBlipAttachedTo ( mk10, 19 ) --Markers Visibilidade setElementVisibleTo (Minicio, root, true) setElementVisibleTo (mk01, root, false) setElementVisibleTo (mk02, root, false) setElementVisibleTo (mk03, root, false) setElementVisibleTo (mk04, root, false) setElementVisibleTo (mk05, root, false) setElementVisibleTo (mk06, root, false) setElementVisibleTo (mk07, root, false) setElementVisibleTo (mk08, root, false) setElementVisibleTo (mk09, root, false) setElementVisibleTo (mk10, root, false) --Blips Visibilidade setElementVisibleTo (Binicio, root, false) setElementVisibleTo (B01, root, false) setElementVisibleTo (B02, root, false) setElementVisibleTo (B03, root, false) setElementVisibleTo (B04, root, false) setElementVisibleTo (B05, root, false) setElementVisibleTo (B06, root, false) setElementVisibleTo (B07, root, false) setElementVisibleTo (B08, root, false) setElementVisibleTo (B09, root, false) setElementVisibleTo (B10, root, false) veh = {} function inicio (source) if isElementWithinMarker(source, Minicio) and veh[source] and isElement( veh[source] ) then destroyElement ( veh[source] ) veh[source] = nil end x,y,z = getElementPosition(source) veh[source] = createVehicle(413, 1239.748, -1829.575, 13.404, -0, 0, 274.52) warpPedIntoVehicle ( source, veh[source] ) setCameraTarget (source) setElementData ( source, "inicio", true ) --Aqui ele torna a Data Inicio verdadeira, registrando que o player passou pela marker inicio. setElementVisibleTo ( B01, source, true ) --Torna visivel o Blip 1 setElementVisibleTo ( mk01, source, true) --Torna visivel o Marker 1 exports.Scripts_Dxmessages:outputDx(source, "Entregue as encomendas nos pontos marcados em seu GPS", "info") --outputChatBox ("#ffcc00[ #ffffffSedex #ffcc00] #ffffffEntregue as encomendas nos pontos marcados em seu GPS.",source,0,0,0,true ) end addEventHandler( "onMarkerHit", Minicio, inicio ) function mk1 (source) if isElementWithinMarker(source, mk01) and veh[source] and isElement(veh[source]) then --Checa se o elemento que está na marker 1 é o source, com o veículo source. if getElementData(source, "inicio", true) then --Ele verifica se o jogador passou pela Marker para iniciar o serviço, antes de poder pegar a Marker 1 setElementFrozen(veh[source], true) --Freeza o veículo. triggerClientEvent(source, "doShowProgressBar", source) --Barra que mostra o processo da entrega da encomenda. givePlayerMoney(source,300) setElementVisibleTo ( B01, source, false ) --Ao pegar o Marker 1, ele torna o Marker 1 invisivel. setElementVisibleTo (mk01, source, false) --Ao pegar o Blip 1, ele torna o Marker 1 invisivel. --outputChatBox("#ffcc00[ #ffffffSedex #ffcc00] #ffffffVocê entregou uma encomenda! #ffcc00(#ffffff01/10#ffcc00)",source,0,0,0,true) setElementVisibleTo ( B02, source, true ) --Aqui ele torna visivel o Marker 2, para o player continuar a entrega. setElementVisibleTo (mk02, source, true) --Aqui ele torna visivel o Blip 2, para o player continuar a entrega. setTimer(setElementFrozen, 5000,1, veh[source], false) --Depois de 5 segundos o veículo é descongelado msg = setTimer(exports.Scripts_Dxmessages:outputDx(source, "Entregando encomenda", "info"), 5000, 1) --Tentativa da mensagem de entregando encomenda if isTimer(msg) == false then exports.Scripts_Dxmessages:outputDx(source, "Você entregou uma encomenda! #ffcc00(#ffffff01/10#ffcc00)", "success") --Aqui era para quando o timer se tornasse falso, ou seja, não existisse mais aparecia a mensagem de entregue. setElementData ( source, "Marker01", true ) --Aqui ele registra que o player passou pela primeira marca. setTimer ( setElementData, 50, 1, source, "inicio", false ) --Aqui ele registra o inicio como false, para o player não poder pegar mais de uma vez a mesma marca. end end end end addEventHandler("onMarkerHit",mk01 ,mk1) --Depois disso, ele repete tudo de novo. function mk2 (source) if isElementWithinMarker(source, mk02) and veh[source] and isElement(veh[source]) then --Checa se o elemento que está na marker 2 é o source, com o veículo source. if getElementData(source, "Marker01", true) then --Checa se passou pela Marker 1, e assim vai... setElementFrozen(veh[source], true) triggerClientEvent(source, "doShowProgressBar", source) givePlayerMoney(source,300) setElementVisibleTo ( B02, source, false ) setElementVisibleTo (mk02, source, false) outputChatBox("#ffcc00[ #ffffffSedex #ffcc00] #ffffffVocê entregou uma encomenda! #ffcc00(#ffffff02/10#ffcc00)",source,0,0,0,true) setElementVisibleTo ( B03, source, true ) setElementVisibleTo (mk03, source, true) setTimer(setElementFrozen, 5000,1, veh[source], false) msg = setTimer(exports.Scripts_Dxmessages:outputDx(source, "Você entregou uma encomenda! #ffcc00(#ffffff01/10#ffcc00)", "success"), 5000, 1) if isTimer(msg) then exports.Scripts_Dxmessages:outputDx(source, "Você entregou uma encomenda! #ffcc00(#ffffff01/10#ffcc00)", "success") setElementData ( source, "Marker02", true ) setTimer ( setElementData, 50, 1, source, "Marker01", false ) end end end end addEventHandler("onMarkerHit",mk02 ,mk2) ----------------------- Client-Side ----------------------- --==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==Ajustar Posição da Tela--==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==- local screenW,screenH = guiGetScreenSize() -- Função de Reposicionar Largura e altura da tela local resW, resH = 1280, 720 local x, y = (resW/screenW),(resH/screenH) -- juntar dois elementos em x, y --==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==Ajustar Posição da Tela--==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==- --==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==Barra de Carregamento--==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==- local tempo, valor = 1000, 4 -- Tempo de carregamento local startTick local pBarCurWidth, pBarWidth = 0, 700 -- largura e altura do dx addEvent("doShowProgressBar", true) -- Ativar um evento personalizado addEventHandler("doShowProgressBar", root, function() startTick = getTickCount() -- Começar contagem if addEventHandler("onClientRender", root, renderDXProgressBar) then -- se executar essa função fara alguma coisa, no caso n tera nada caso queira usar para desbugar script end end ) function renderDXProgressBar() local now = getTickCount() if (now + startTick) >= tempo then -- Aumentar a largura da barra pBarCurWidth = pBarCurWidth + valor startTick = getTickCount() if pBarCurWidth > pBarWidth then -- Barra de progresso cheia pBarCurWidth = pBarWidth pBarCurWidth = 0 removeEventHandler("onClientRender", root, renderDXProgressBar) startTick = nil end end dxDrawRectangle(x*358, y*316, pBarWidth, 30, tocolor(0, 0, 0, 150), false) dxDrawRectangle(x*358, y*316, pBarCurWidth, 30, tocolor(255, 255, 0, 200), false) dxDrawText( tostring( math.ceil((pBarCurWidth * 100) / pBarWidth) ).." %", x*358, y*316, (x*358) + pBarWidth, (y*316) + 29, tocolor(255,255,255), 2) dxDrawText("ENTREGANDO ENCOMENDA", x*358, y*316, tocolor(255,255,255,255),2, "roboto") --Onde tentei colocar o texto para aparecer na tela. end --==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==Barra de Carregamento--==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-
  3. Consegui remover todas, agradeço a ajuda, em relação ao não conseguir mudar a senha, tinha dado um problema na ACL. Estou muito grato, obrigado!
  4. Entendi, muito obrigado mesmo! Mas aconteceu outro problema, está dando erro quando tento tirar a senha do servidor ou alterar pelo Painel P, clico em reset password, ai aparece Sucessfull, clico para alterar a senha, aparece Error setting password, e ao relogar ainda está com a senha antiga...
  5. Eu precisava de algum script especifico, que deletasse todas as contas que não estivem na ACL Admin/Console...
  6. Boa noite galera! Preciso deletar todas as contas do internal.db sem desligar o servidor, gostaria de saber se existe algum script para deletar as contas salvas no interal.db. Preciso urgente de algum script desse tipo ou algo semelhante, se alguém puder me ajudar, ficaria muito grato!!
  7. Obrigado a todos novamente! Fico muito grato pelas respostas, aprendi muito com essas informações!!
  8. Muito obrigado ambos!!! Vou estar tentando realizar esses procedimentos qualquer coisa eu pergunto aqui novamente, e eu tenho uma outra dúvida, no servidor Local existe o console que executamos onde podemos ver todo os comandos dados por players, meu servidor já tem uma host com 300 vagas, para editar esses Data base que vocês me falaram, eu preciso desligar o servidor pela host? E o Acl.xml e o MTA Server.conf, eles só atualizam quando o servidor é desligado? E gostaria de saber se ele também existe algum console que possa ser aberto? Se sim, onde eu posso abrir? E @Lord Henry eu acho que já vi um vídeo seu sobre Painel GUI, e cara se foi você que fez parabéns!! Deve ter dado muito trabalho a edição.
  9. Bom dia galera, eu tenho um servidor de Roleplay, e sou um programador iniciante ainda, esse é meu primeiro server, então ainda tenho muito o que aprender, e estou com uma dúvida. Eu fiz uma Closed Beta(servidor com senha), para uma média de 40 players, e dei dinheiro para todos testarem tudo do servidor, assaltos, concessionárias, trabalhos e etc. Agora vou fechar o servidor para eu alterar tudo que precisa ser alterado e abrir o servidor novamente para Beta Aberto, porém, estou com um pequeno problema, por meu servidor ser 100% Roleplay, os players precisam trabalhar para conquistar seu próprio dinheiro e adquirir o que quiser... Até ai tudo bem, o problema é que todos os jogadores estão milionários, e eu gostaria de saber se existe alguma forma de resetar todas as contas. Algumas observações, a Loja de Carros eu testei e quando excluo o Database, ele cria outro do zero novamente, então não há problemas em relação aos veículos, é só eu deletar a database que todos os carros irão sumir das contas dos players. Eu tenho um Mod de Login, porém, não sei onde fica o Database dele, e se tiver algum Database dele ou do servidor em relação as contas é compilado? Eu posso deletar o Database que todas as contas vão ser excluídas e quando ele entrar no servidor terá que criar a conta novamente ou isso pode ferrar o servidor? Preciso muito dessas informações, por que sem elas não vou poder colocar o servidor para funcionar, se puderem me ajudar ficarei muito grato! Outra observação, eu também tenho um Mod de Save System instalado no servidor, eu poderia usar alguma ferramenta dele para resetar as contas? E esse mod obrigatoriamente necessita de uma Data Base? Alguém sabe me informar onde é armazenada as informações dele? Se alguém quiser entrar no servidor quando estiver aberto, estarei deixando olink do Discord: https://discord.gg/7rgh99T. Todos são bem-vindos! =D
×
×
  • Create New...