Leaderboard
Popular Content
Showing content with the highest reputation on 06/08/20 in all areas
-
i'm grateful for you help mate, see what i have done:- function aim() local camRot = getPedCameraRotation(localPlayer) setElementAttachedOffsets(current.object, 0, -1.5, -0.25, 0, 0, -camRot+90) setElementRotation(localPlayer,0, 0, -camRot) setElementAlpha(localPlayer, 0) addEventHandler("onClientResourceStop", resourceRoot, function () setElementAlpha(localPlayer, 255) end) addEventHandler("onClientPreRender", root, function () --[[ Creating the direction vector ]] local cameraX, cameraY, cameraZ, lx, ly, lz = getCameraMatrix() local directionVector = (Vector3(lx, ly, lz) - Vector3( cameraX, cameraY, cameraZ)) directionVector:normalize ( ) directionVector = directionVector * 300 local screenX, screenY = guiGetScreenSize() local startPositionX, startPositionY, startPositionZ = x, y, z local turrentX, turretY, turretZ = getElementPosition(localPlayer) -- must be the turret position turretZ = turretZ + 0.5 -- < just for test purposes -- draw turret dxDrawLine3D(turrentX, turretY, turretZ, turrentX, turretY, turretZ - 0.5, tocolor(0,0,0)) dxDrawLine3D(turrentX, turretY, turretZ - 0.5, turrentX + 0.5, turretY, turretZ - 1, tocolor(0,0,0)) dxDrawLine3D(turrentX, turretY, turretZ - 0.5, turrentX - 0.5, turretY, turretZ - 1, tocolor(0,0,0)) dxDrawLine3D(turrentX, turretY, turretZ - 0.5, turrentX, turretY - 0.5, turretZ - 1, tocolor(0,0,0)) dxDrawLine3D(turrentX, turretY, turretZ - 0.5, turrentX, turretY + 0.5, turretZ - 1, tocolor(0,0,0)) -- detect any hits local hit, hitX, hitY, hitZ, elementHit = processLineOfSight ( turrentX, turretY, turretZ, cameraX + directionVector.x, cameraY + directionVector.y, cameraZ + directionVector.z, true, -- checkBuildings true, -- checkVehicles true, -- checkPlayers true, -- checkObjects false, -- checkDummies false, -- seeThroughStuff false, -- ignoreSomeObjectsForCamera false, -- shootThroughStuff localPlayer -- element ignoredElement ) setElementData ( localPlayer, "attachedToWeapon_aim", {hitX,hitY,hitZ} ) if not hit then hitX, hitY, hitZ = cameraX + directionVector.x, cameraY + directionVector.y, cameraZ + directionVector.z end dxDrawText(hit and "COLLISION!" or "NO COLLISION!", 300, 300) -- draw the line + cursor dxDrawLine3D(turrentX, turretY, turretZ, hitX, hitY, hitZ) local cursorX, cursorY = getScreenFromWorldPosition (hitX, hitY, hitZ) if cursorX then dxDrawCircle ( cursorX, cursorY, 10) dxDrawCircle (screenX / 2, screenY / 2, 10) end end) renderVehCross2() end2 points
-
I have experimented with the first part. The rest is for you to do. setElementAlpha(localPlayer, 0) addEventHandler("onClientResourceStop", resourceRoot, function () setElementAlpha(localPlayer, 255) end) addEventHandler("onClientPreRender", root, function () --[[ Creating the direction vector ]] local cameraX, cameraY, cameraZ, lx, ly, lz = getCameraMatrix() local directionVector = (Vector3(lx, ly, lz) - Vector3( cameraX, cameraY, cameraZ)) directionVector:normalize ( ) directionVector = directionVector * 300 local screenX, screenY = guiGetScreenSize() local startPositionX, startPositionY, startPositionZ = x, y, z local turrentX, turretY, turretZ = getElementPosition(localPlayer) -- must be the turret position turretZ = turretZ - 0.2 -- < just for test purposes -- draw turret dxDrawLine3D(turrentX, turretY, turretZ, turrentX, turretY, turretZ - 0.5, tocolor(0,0,0)) dxDrawLine3D(turrentX, turretY, turretZ - 0.5, turrentX + 0.5, turretY, turretZ - 1, tocolor(0,0,0)) dxDrawLine3D(turrentX, turretY, turretZ - 0.5, turrentX - 0.5, turretY, turretZ - 1, tocolor(0,0,0)) dxDrawLine3D(turrentX, turretY, turretZ - 0.5, turrentX, turretY - 0.5, turretZ - 1, tocolor(0,0,0)) dxDrawLine3D(turrentX, turretY, turretZ - 0.5, turrentX, turretY + 0.5, turretZ - 1, tocolor(0,0,0)) -- detect any hits local hit, hitX, hitY, hitZ, elementHit = processLineOfSight ( turrentX, turretY, turretZ, cameraX + directionVector.x, cameraY + directionVector.y, cameraZ + directionVector.z, true, -- checkBuildings true, -- checkVehicles true, -- checkPlayers true, -- checkObjects false, -- checkDummies false, -- seeThroughStuff false, -- ignoreSomeObjectsForCamera false, -- shootThroughStuff localPlayer -- element ignoredElement ) if not hit then hitX, hitY, hitZ = cameraX + directionVector.x, cameraY + directionVector.y, cameraZ + directionVector.z end dxDrawText(hit and "COLLISION!" or "NO COLLISION!", 300, 300) -- draw the line + cursor dxDrawLine3D(turrentX, turretY, turretZ, hitX, hitY, hitZ) local cursorX, cursorY = getScreenFromWorldPosition (hitX, hitY, hitZ) if cursorX then dxDrawCircle ( cursorX, cursorY, 10) dxDrawCircle (screenX / 2, screenY / 2, 10) end end)2 points
-
Olá a todos, vim trazer a solução para a sua entrega de vips AUTOMATICAMENTE Sei que o player quando compra o vip, quer receber o vip após aprovar o pagamento. Então a LOJA SQUARE fez a solução... Apresentação A Loja Square é uma plataforma de vendas e entregas de produtos automatica Somos já efetivos em minecraft a exatamente um ano, então como não achamos nenhuma outra plataforma do nosso estilo que trabalhasse com MTA, estamos aqui. Funcionamento O Player vai no seu site (pode ser um fora da lojasquare que vc integrou a nossa api de vendas), compra o vip coloca o usuario do "/register" e após a aprovação do pagamento, será enviado uma key para ele no jogo, após ele dará /verkeys e clicará na key dele e o vip ativará :), sem auxilio de nenhum staff. Vamos lhe dar, um site, com painel e hospedagem (subdominio .lojasquare.com.br incluso, mas é alteravel caso vc tenha algum dominio próprio) O site é muito dinâmico e flexível! Fácil de customizar, alterar imagens, algumas cores em pontos importantes... Mas caso não te agrade vc pode utilizar com api Você apenas configurará os produtos no site, algumas partes do script Conclusão e links A plataforma suporta os seguintes gateways de pagamento: ° PayPal ° PagSeguro ° Mercado Pago ° PicPay (NOVO) Além disso, conta com um sistema de notícias (para você conseguir ter uma melhor comunicação com seus players, tanto in-game quanto fora do jogo). Em paralelo ao sistema de notícias, oferecemos também: ° Página de apresentação da Equipe do servidor. ° Página de informação para as regras do servidor. ° Sem limites para produtos na loja! ° Sistema de cupons por produto ° Múltiplos servidores (ROLEPLAY/FREEROAM ETC...) ° Loja dividida por Categorias ° Produtos infinitos para você criar ° Cupons de descontos infinitos ° Sistema de top clientes ° Possivel alterar todas as cores do site ° Musica de fundo no site (NOVO) ° Menus redirecionaveis (NOVO) ° Sistema de Sub-Usuarios (NOVO) ° Sistema de carrinho (NOVO) ° API para sites externos (NOVO) Este é nosso site principal, com algumas estatísticas nossas https://lojasquare.com.br/?qi=2 Este é nosso site de demonstração (Temos 6 templates para você escolher) https://mtasan.lojasquare.com.br/ Este é nosso painel!! (por meio deste link, vc terá acesso a 7 dias 100% gratuitos (Uso unico) https://bit.ly/LojaSQUARE Video da ativação https://www.youtube.com/watch?v=fHiu8kaHyNU Suporte e mais infos via discord discord.lojasquare.com.br (Por favor, caso este topico esteja no lugar errado, se puder mover )1 point
-
You can only use WHERE once. After that you have the operators: AND, OR and NOT at your disposal. See these examples: https://www.w3schools.com/sql/sql_and_or.asp1 point
-
Fiz um exemplo abaixo de como eu costumo estruturar minhas funções exportadas. É bem bobo o exemplo. --- Client-side local playerIp function updateClientIP(ip) playerIp = ip end addEvent("ip:update", true) addEventHandler("ip:update", resourceRoot, function(ip) playerIp = ip end) addCommandHandler("verip", function() if playerIp then print(playerIp) end end) -- Server-side function updateClientIP(player, ip) triggerClientEvent(player, "ip:update", resourceRoot, ip or "?") end No meta.xml, eu defino dessa forma: <exports function="updateClientIP" type="shared" /> Sendo assim, nesse exemplo, o sistema pode alterar a variável playerIp em ambos lados, tanto client-side quanto server-side. Sem contar que, como o DNL291 disse, caso você for documentar tudo, ficará muito mais legível.1 point
-
Be careful with this, doing this every frame will kill the network of other players that are not inside of the local-network. The following function can be used to reduce update. (every 300 milliseconds) if checkPassiveTimer("attachedToWeapon_aim", true, 300) then setElementData ( localPlayer, "attachedToWeapon_aim", {hitX,hitY,hitZ} ) end It is a useful function (by me), source code can be found here: https://wiki.multitheftauto.com/wiki/CheckPassiveTimer1 point
-
Acho que é uma pergunta interessante. Há muitos casos que exports pode ser trocado por um trigger. Um motivo para o exports ser bem mais utilizado deve ser porque alguns nem sabem que o trigger pode ser uma segunda opção. Pode ser também por evitar problemas com possíveis conflitos - mas nada que definir um nome diferente/longo não resolva, exemplo: NomeDoResource.Progressbar.SetProgress Função exportada talvez seja mais fácil já que o trigger pode dar problemas se não tiver de acordo com o elemento da árvore (se não tiver adicionada para root por exemplo e chamado por fora); Muitos não irão saber o que de fato significa vincular o evento ao localPlayer, ao resourceRoot, ou root. O que também difere ambas é que fazer uma chamada com exports é mais amigável do que fazer com trigger. Sobre exports, neste post tem um teste de benchmark com a função: https://forum.multitheftauto.com/topic/83715-question-cpu-usage/?do=findComment&comment=764086 exports é bem mais lento do que uma função local (mesmo resource). Isso porque a função exportada precisa ser acessada em um ambiente diferente do local então existe uma perca de performance, que eu nunca cheguei a testar, mas se utilizada indevidamente acredito que reflita no uso de cpu. Alguns scripters optam por enviar o código pelo exports, então uma vez recebido, o código é "transferido" (e executado) para o novo ambiente (resource) com loadstring Acho que é uma questão de opção no fim das contas, mas como disse, muitos que são novos e não tem muito conhecimento acabam se limitando a isso por verem em toda parte, isso faz parecer ser a única opção, principalmente para quem não domina bem a linguagem. Pessoalmente eu também sempre optei por função exportada, fica como melhor opção se você for fazer documentação das funções ou gosta da prática mais lógica. Falei da questão da performance mas o mesmo existe para trigger event - não é bom passar root como elemento, nem ter muitos events handlers em execução.1 point
-
1 point
-
Posso estar equivocado, mas acredito que a maioria prefere o Export pois o trigger dará conflito se já existir outro evento com mesmo nome.1 point
-
نصيحة. اذا كان سيرفرك مافيه زوار قفله احسن. واذا كان فيه زوار, مو شرط يكون فيه مسؤول. دام عندك حماية كويسه ومودات حلوه مابتحتاج لا اداره ولا غيره. وبالتوفيق1 point
-
??????????????????????????????????????????????????????? ?? ?? عيدكم مبارك تقبل الله منا ومنكم صالح الأعمال ورزقنا وإياكم زيارة بيته المعظم وأدام علينا نعمة الإسلام والإيمان وجمعنا وإياكم ومن تحبون مع النبي محمد صلى الله عليه وسلم في الفردوس الأعلى وكل عام وأنتم بخير. ???????????????????????????????????????????????????????? ???1 point
-
Hola a todos, nos complace informarles y darles a conocer nuestro gran servidor: Speed Force Racing [SFR] mtasa://88.214.59.30:2213 Somos el mejor y mas completo servidor dedicado a la modalidad de juego Race DM, Shooter y DD. Contamos con diferentes sistemas que hacen de tu estancia dentro del juego totalmente satisfactoria. Puedes pasar largas horas de diversión y entretenimiento dentro de nuestro servidor en compañia de todos tus amigos y otros jugadores. Contamos con: - Sistema VIP - Panel de usuario con: Opciones de juego, Skins, Tienda de mapas, Reproductor y otras sorpresas. - Sistema de niveles basado en experiencia y adaptado totalmente para vivir una experiencia de juego agradable. - Sistema de logros para reconocer tus habilidades dentro de esta modalidad de juego. - Sistema de recompensas diarias. - Servidor estable, 24/7 y con buen ping para los jugadores. - Gran variedad de mapas de toda la modalidad Race para hacer tu experiencia mas dinámica. - Excelente ambiente y convivencia dentro de nuestra comunidad y servidor. - ¿Hablas poco español? No te preocupes, también contamos con un sistema de lenguajes. - Muchas cosas mas que puedes descubrir con tan solo ingresar a nuestro servidor. ¿Qué estas esperando?... Bienvenido, te estamos esperando con gusto. Speed Force Racing [SFR]: mtasa://88.214.59.30:22133 Puedes buscarnos y conocernos en nuestras paginas oficiales: Facebook: https://www.facebook.com/Speed-Force-Racing-MTA-SA-102925024747622 Comunidad: https://www.gtachile.com/foro/1452-speed-force-racing-mtasa/1 point
-
1 point
-
0 points
