• Announcements

    • jhxp

      Forums are online again after a maintenance.   18/03/17

      MTA Forums maintenance is completed, although some automatic time-heavy tasks are still in process and will be finished eventually in background. Expect some features such as Forum Search to not display all results until all processes are finished. Please let us know if you spot a forum feature that worked correctly before the maintenance but does not work anymore now. Thanks. --MTA Team

imCEASER

Members
  • Content count

    81
  • Joined

  • Last visited

Community Reputation

2 Neutral

About imCEASER

  • Rank
    Transformer

Details

  • Gang
    noFEAR/imTEAM
  1. lag

    @lordhenry, Acredito que no uso de colliders ou markers, markers se torna mais leve (intuição dos modos de corrida, por exemplo). Uma ajuda é: Pense sobre quando o servidor estiver cheio (pense no máximo, extremo mesmo).
  2. @lordhenry, Primeiramente, obrigado pelas sugestões e opiniões sobre oque eu escrevi. Li tudo oque você me mandou e com certeza utilizarei-as para o servidor. Aliás, algumas eu já tinha me mente por ter vindo do SAMP. Agradeço por tudo, e.... olhe seu pm Att, imCEASER
  3. Olá @Kleber, Você já experimentou ver se as portas do seu servidor estão liberadas? (Teste neste link ou vá até o console do seu servidor e digite "openports")
  4. Adicionado!!
  5. INTRODUÇÃO Primeiramente gostaria de agradecer você por disponibilizar um pouco de seu tempo para que assim possamos tornar este tópico mais informativo e colocá-lo dentro do assunto. Começarei informando que sou aluno de um curso superior chamado 'Ciência da Computação' e que conheço bem o assunto servidores, porém, iniciante na linguagem lua. Tenho um conhecimento em programação, não posso me dar ao luxo de dizer que sou um ótimo programador, mas me esforço pra dar o meu melhor e principalmente garantir que as pessoas tenham o melhor possível ou pelo menos o melhor que eu possa dar. IDEIA Após jogar MTA e SAMP a muito tempo acabei me esgotando de ser um membro de servidor e decidi me tornar um desenvolvedor de servidor e com isso trago essa ideia de realizar a criação de um servidor RPG, porém, estou cansado de entrar em servidores "RPG" que tem como estilo, basicamente, um freeroam com muitas skins e profissões, tornando este gamemode um "estilo" RPG (oque na minha opinião não é o correto, mas deixemos isso de lado). Bom, após eu jogar em vários servidores e infelizmente, isso mesmo, INFELIZMENTE só encontrar alguns servidores RPG's bons de origem internacional, acabei me dando a oportunidade de tentar realizar um servidor que possa trazer novas ideias (não gostaria de ficar nos mesmos objetivos que já foram alcançados) e principalmente que tenha a origem nacional, porque sinceramente, conheço vários programadores, pessoas interessadas, moderadores deste fórum, BRASILEIROS, que se interessam neste assunto e acabam deixando de lado por não receberem uma feedback e principalmente o apoio. RESUMINDO Gostaria de criar um servidor RPG (no MTA) para competir com os grandes servidores já existentes, mas que tenha coisas diferentes (oque basicamente é o objetivo de todos os servidores iniciantes) O SERVIDOR EM SI Minha ideia é que o usuário ao entrar pela primeira vez (e passar pelo painel de login/registro) nascerá em um dos aeroportos. O servidor terá um custo muito alto (na questão de dinheiro do jogo mesmo), ou seja, um exemplo: casas e carros terão um valor muito elevado, isso manterá o jogador a mais tempo no servidor e fazendo mais coisa e não deixar ele no famoso "POLÍCIA x LADRÃO". Ao deixar os carros caros, fazemos também que profissões como: Motorista de ônibus, taxi e outros tipos de profissões desta categoria tornem-se mais interessantes de se exercer e não deixadas de lado como todo servidor. Criaria também um sistema de lixos espalhados (trocando a skin de um objeto selecionado por uma lixeira) no qual a pessoa que tiver a profissão de lixeiro deverá sair buscando. Os jogadores terão um sistema de Sede/Fome/Sono/Etc (oque pode tornar a profissão de entregador de pizza, por exemplo, muito legal - já imaginou você pedir pizza e esperar sua pizza chegar na sua casa igual na vida real?? :D). Os jogadores também terão um registro único no servidor (uma espécie de CPF). Também haverá um sistema de combustível com preço dos combustíveis reguláveis (Carros/Motos - Álcool/Gasolina | SUV's/Caminhões - Diesel). Os carros nunca poderão ser "guardados" em um inventário e se explodidos o dono o perderá (Esta ideia ficará ainda como ideia, pois pode vir alguém e explodir o carro de um player e ficar 'apenas' como procurado - aliás, o carro ficaria indestrutível quando ninguém estivesse dentro do mesmo, ou saísse). Haverá áreas verdes espalhadas aonde quem estiver dentro ficará imortal e não poderá disparar ou pegar uma arma na mão (Isso seria para praças e áreas de convivência). O hospital servirá como forma de realmente curar as pessoas (estava pensando em deixar quando ao morrer uma vez o mesmo perderia tudo, mas acho isso muito extremo - mas oque estava pensando também é que o jogador, ao morrer, perderia alguma coisa e quem matou também, vou explicar melhor em seguida.). Deixaria as "profissões" que a maioria deseja como policial e ladrão para poder serem exercidas somente quando o usuário atingir determinado nível ou tempo jogado e os jogadores que matarem sem ter a profissão de ladrão perderiam algo ou até possam vir a serem expulsos do servidor por um tempo estabelecido. Com toda essas "regras", nada melhor que criar um sistema de apresentação do servidor, para claro, não deixar os novos usuários desinformados. Mas, como você pode ver, nenhuma ideia realmente surpreendente, por isso, vim a comunidade, nada melhor que a própria comunidade para realizar um brainstorm, né?? OBS: Todas as informações aqui apresentadas podem sofrer alterações conforme as críticas vindas de você mesmo!! OBS²: Todas as críticas que não forem de caráter construtivo serão deletadas (ninguém merece xingamentos) AJUDAS Primeiramente, nada melhor que sugestões e ideias para iniciar este servidor, portanto, deixarei um formulário (acessível no seguinte link) para que as ideias possam ser recebidas com toda a importância necessária (As ideias serão deixadas em um arquivo de leitura para que os usuários possam ver as ideias já apresentadas - somente as ideias) Um suporte gráfico para criação de texturas e afins Scripts prontos que possam ajudar o crescimento do servidor também serão de alta ajuda OBSERVAÇÃO FINAL: Qualquer dúvida que você venha a ter, sinta-se a vontade para perguntar neste tópico, em mensagens privadas ou qualquer escolha de sua preferência.
  6. Me manda teu skype que eu te ajudo...
  7. Renovando o código Bom, tente este código aqui: cabine = { } trailer = { } function onMarkerHit(hitElement) if(isElement(hitElement)) and (getElementType(hitElement) == "player") then if (not isPedInVehicle(hitElement)) then local Pos = {getElementPosition (hitElement)} cabine[hitElement] = createVehicle(515 , Pos[1] -5,Pos[2],Pos[3] +1) trailer[hitElement] = createVehicle(435, 0, 0, 4) attachTrailerToVehicle(cabine[hitElement], trailer[hitElement]) warpPedIntoVehicle(hitElement, cabine[hitElement]) fBlip = createBlip(-1986, -2434, 20, 41, 2, 255, 255, 255, 255, 0, 99999, hitElement) outputChatBox("#CCFF00[#FFA600 ! #CCFF00] #0080FFVocê Obteve Um Caminhão e Uma Carga Entrege No Ponto Marcado No Mapa.", hitElement, 255, 255, 255, true) else outputChatBox("#CCFF00[#FFA600 ! #CCFF00] #0080FFVocê Já Esta Dirigindo um Veiculo Tente Novamente Sem Veiculo em Posse.", hitElement, 255, 255, 255, true) end end end addEventHandler("onMarkerHit", getRootElement(), onMarkerHit) function ExitVehicle(thePlayer) dCabine = destroyElement(cabine[thePlayer]) dTrailer = destroyElement(trailer[thePlayer]) if (dCabine and dTrailer) then cabine[thePlayer] = false trailer[thePlayer] = false destroyElement(fBlip) end end addEventHandler ("onVehicleExit", getRootElement(), ExitVehicle) Opinião Você está usando o icon id 41(chamado waypoint), aconselho a usar o icon id 53(chamado flag)
  8. The only thing that can help you is this
  9. Tente assim: createBlip(-1986, -2434, 20, 41, 1, 255, 255, 255, 255, 0, hitElement)
  10. Você usará praticamente isso: createColRectangle --Para criar a área createRadarArea --Para mostrar no radar setPedWeaponSlot --Deixar os players sem arma na mão onColShapeHit --Quando o player entrar na área onColShapeLeave --Quando o player sair da área toggleControl --Desabilitar algumas funções como atirar,mirar do player dentro da área onClientPlayerDamage --Deixar o player dentro da área verde invencível
  11. Somos dois (também criei uns tópicos pedindo ajuda), mas com essa comunidade se ajudando iremos pra frente sem dúvidas.
  12. Dê uma olhada nesses resources: greenzone greenzones Safe Zones System Safezone secureZone
  13. Tente isto cabine = { } trailer = { } function onMarkerHit(hitElement) if(isElement(hitElement)) and (getElementType(hitElement) == "player") then if (not isPedInVehicle(hitElement)) then local Pos = {getElementPosition (hitElement)} cabine[hitElement] = createVehicle(515 , Pos[1] -5,Pos[2],Pos[3] +1) trailer[hitElement] = createVehicle(435, 0, 0, 4) attachTrailerToVehicle(cabine[hitElement], trailer[hitElement]) warpPedIntoVehicle(hitElement, cabine[hitElement]) outputChatBox("#CCFF00[#FFA600 ! #CCFF00] #0080FFVocê Obteve Um Caminhão e Uma Carga Entrege No Ponto Marcado No Mapa.", hitElement, 255, 255, 255, true) else outputChatBox("#CCFF00[#FFA600 ! #CCFF00] #0080FFVocê Já Esta Dirigindo um Veiculo Tente Novamente Sem Veiculo em Posse.", hitElement, 255, 255, 255, true) end end end addEventHandler("onMarkerHit", getRootElement(), onMarkerHit) function ExitVehicle(thePlayer) dCabine = destroyElement(cabine[thePlayer]) dTrailer = destroyElement(trailer[thePlayer]) if (dCabine and dTrailer) then cabine[thePlayer] = false trailer[thePlayer] = false end end addEventHandler ("onVehicleExit", getRootElement(), ExitVehicle)
  14. Obrigado. Sobre a sugestão do texto adicionei um lembrete ao tutorial. Exatamente como o n3wage falou, o tutorial foi feito para pessoas que não entendem do assunto, é pra isso que serve um tutorial, a pessoa que já sabe nem precisa de tutorial, pois já possui o conhecimento.
  15. guiGetScreen INTRODUÇÃO Estou fazendo este tópico com ciência da existência de um parecido Este tópico trata de uma maneira mais simplificada para o entendimento do guiGetScreen Resolução Primeiramente precisamos saber qual a resolução do jogo, deixaremos 1280x800 para fazermos este tutorial. Escolhendo o elemento Poderemos usar elementos GUI e DX, usaremos aqui um dxDrawImage Pegarei para esse elemento uma imagem com 256x128 chamada "logo.png" Deixando proporcional a resolução 1280x800 Criaremos a imagem para ficar "por cima" do relógio do HUD padrão do GTA SA, portanto: --IMAGEM AJUSTADA APENAS PARA A RESOLUÇÃO 1280x800 dxDrawImage(1070, 70, 150, 130, "images/logo.png") Deixando proporcional a outras resoluções Com as propriedades "posX(1070), posY(70), width(150), height(130)" do dxDrawImage para a resolução 1280x800 faremos a função para que a mesma imagem se ajuste para as demais resoluções Lembre-se: posX = x | posY = y | width = x | height = y || Resolução 1280x800 (x = 1280 | y = 800) Para ajustar a imagem as demais resoluções você deve fazer (pegaremos somente a posX(1070) para exemplo): sW*1070/1280 (sW(Resolução do cliente) multiplicando a posX(posição x do elemento na resolução 1280x800) e dividindo pela resolução usada 1280x800 (Usaremos só o 1280 por se tratar do x do elemento)) Lembre-se: O width e height da imagem podem ser feitos para serem ajustados conforme a resolução (O modo de fazer é a mesma coisa que o do posX e posY) Imagem explicativa: LINK Resultado final Todo esse procedimento deixa nossa função da seguinte maneira function onClientRender() --Função local sW,sH = guiGetScreenSize() --guiGetScreen pegando as resoluções do cliente dxDrawImage(sW*1070/1280, sH*70/800, sW*150/1280, sH*130/800, "images/logo.png") -- Aqui você prestará atenção nos campos 'posX, posY, width, height', antes: 1070, 70, 150, 130 e agora: sW*1070/1280, sH*70/1280, sW*150/1280, sH*130/1280 end --Fim da função addEventHandler("onClientRender", root, onClientRender) --Manipulador de evento