-
Posts
3,980 -
Joined
-
Last visited
-
Days Won
181
Everything posted by Lord Henry
-
getvehicleoccupant Porque o erro só ocorre em host?
Lord Henry replied to Lord Henry's topic in Programação em Lua
Bom, de qualquer forma obrigado. Resolveu o problema do script. Tome este REP+ Estou com outro resource com um problema parecido, ele não gera erro nenhum só que ele deveria funcionar somente no jogador que colidiu no marker, só que está funcionando com todos os jogadores. O resource movimenta a câmera do jogador por lugares pré definidos enquanto mostra textos dos créditos do servidor na tela. Só que ele faz isso com todos os jogadores, só que deveria fazer somente com o player que colidiu no marker. O script inteiro é client-side. O script não tem erros e funciona perfeitamente tanto no server local como na host, só que na host ele ocorre com todos os jogadores, mas deveria acontecer somente com o jogador que colidiu no marker preto. -
getvehicleoccupant Porque o erro só ocorre em host?
Lord Henry replied to Lord Henry's topic in Programação em Lua
Mas então pq não ocorre erro nenhum em server local? Deveria ocorrer esse erro tbm. -
Olá, tenho este script que funciona perfeitamente em server local, sem bugs nem erros e sem lag. Porém, se eu uso ele em servidor na host, com vários jogadores online. Ele causa um lag absurdo que chega até a causar Network Trouble toda vez que ele faz a limpeza do mapa. O problema é que ele gera erros nada a ver e não consigo descobrir o motivo: Linha: 29 Bad argument @ 'destroyElement' [Expected element at argument 1] Linha: 10 Bad argument @ 'getVehicleOccupant' [Expected vehicle at argument 1] Linha: 11 Bad argument @ 'getVehicleOccupant' [Expected vehicle at argument 1] Linha: 12 Bad argument @ 'getVehicleOccupant' [Expected vehicle at argument 1] Linha: 13 Bad argument @ 'getVehicleOccupant' [Expected vehicle at argument 1] Linha: 14 Bad argument @ 'getVehicleOccupant' [Expected vehicle at argument 1] Linha: 15 Bad argument @ 'getVehicleOccupant' [Expected vehicle at argument 1] Linha: 16 Bad argument @ 'getVehicleOccupant' [Expected vehicle at argument 1] Linha: 17 Bad argument @ 'getVehicleOccupant' [Expected vehicle at argument 1] Linha: 18 Bad argument @ 'getVehicleOccupant' [Expected vehicle at argument 1] Obs: Se eu coloco um verificador antes disso, ele não faz nada e não deleta nenhum veículo. O que pode estar ocorrendo?
-
copyright Dúvidas sobre direitos legais e autorais
Lord Henry replied to Lord Henry's topic in Offtopic
Por isso que eu tenho essa dúvida, pois o cara está usando propriedade da RockStar para desenvolver (no caso de veículos com texturas modificadas). Quanto aos scripts eu também acho que não há problema, uma vez que ele está sendo desenvolvido e compilado no MTA e é usado para modificar somente no MTA, o jogo original não é afetado por essas modificações. -
Encrypt scripts is not illegal. Only if the resource was stolen from other developer and re uploaded encrypted without any authorization. The MTA let's the developers encrypt its resources to prevent others from read and modify their scripts. They use this tool: LuaC
-
Tente fazer assim: local theVehicles = {} local vehicleTable = { --Sua tabela aqui. ID, PosX, PosY, PosZ, RotX, RotY, RotZ. [1] = {602, 0, 0, 10, 0, 0, 180}, [2] = {522, 5, 5, 10, 0, 0, 180}, [3] = {490, -5, -5, 10, 0, 0, 180} } --Exemplo de tabela. for k, v in ipairs (vehicleTable) do theVehicles[k] = createVehicle (unpack (v)) --Cria todos os veículos da tabela nas posições e rotações da tabela. --O resto do código aqui. end
-
perguntas COMO CRIO UM SISTEMA DE TEAM AUTOMÁTICO PARA TRABALHOS???
Lord Henry replied to McVinni's topic in Programação em Lua
Sua dúvida é referente a como fazer um script. Da próxima vez, poste na área de Script do fórum. Voltando a sua dúvida, você deverá criar um Team toda vez que o seu resource for iniciado. Se vc ler um pouco a Wiki, vai encontrar algo sobre Team e como criá-los via script. Exemplo da Wiki - createTeam: function createAdminTeamOnStart () AdminTeam = createTeam ( "Admin", 0, 255, 0 )-- create a new team and name it 'Admin' end addEventHandler("onResourceStart", resourceRoot, createAdminTeamOnStart) O exemplo acima irá criar automaticamente um time chamado Admin na cor verde quando seu resource for iniciado. Para colocar o player automaticamente nesse Team toda vez que ele começar a trabalhar, dai seria necessário saber como está programado seu script. Você deverá usar isso: SetPlayerTeam. E para removê-lo do Team, coloque nil no lugar do Team. Espero ter ajudado. Boa sorte.- 1 reply
-
- 1
-
Original: https://community.multitheftauto.com/index.php?p=resources&s=details&id=1873 Stolen: https://community.multitheftauto.com/index.php?p=resources&s=details&id=13415 DONE The same user stealing resources. I think the user should be blocked from uploading. Staff answer: True, he's now banned from community.
-
Olá a todos. Diversas vezes me perguntam se é ilegal vender os resources desenvolvidos para o Multi Theft Auto e não sei ao certo o que responder. Gostaria de ter certeza se o ato de VENDER o resource desenvolvido é ilegal, considerando que o programa usado para desenvolvê-lo é Open-Source, mas seu uso exige programa restrito e patenteado pela RockStar Games para funcionar. Também li a licença do Multi Theft Auto, mas nada menciona sobre os resources desenvolvidos nele, fala apenas sobre o software mtasa.exe dizendo que temos total permissão para alterá-lo e redistribuí-lo, mas não podemos alterar a licença dele. (não ser mais open-source nem gratuito) Mas daí volta a dúvida, pois nem todos os resources não possuem propriedade da RockStar, alguns são scripts, outros possuem áudios de terceiros, alguns são mapas (que no fim das contas também são só scripts), porém alguns possuem arquivos TXD alterados que originalmente pertencem à RockStar e que não possuem permissão para serem alterados, por exemplo vender um resource de veículo com textura modificada seria ilegal? Os resources desenvolvidos pertencem a RockStar, Multi Theft Auto, domínio público ou a quem desenvolveu? Se alguém tiver algum link explicando em detalhes os direitos de uso dos resources, eu agradeceria.
-
Por padrão o MTA já respawna o jogador em lugares aleatórios pré-determinados, para mudar os spawnpoints ou adicionar novos, abra o arquivo broph.map localizado em: deathmatch\resources\[gamemodes]\[play]\play.zip e localize os spawnpoint. Você pode editar os que já existem ou adicionar novos, basta mudar as posições X, Y, Z e rotação. No meu servidor eu mudei os spawnpoints para o jogador nascer sempre em frente a algum hospital aleatório. Dai meus spawnpoints ficaram assim: <spawnpoint id="hospitalLS1" posX="2033.5" posY="-1404.5" posZ="17.3" rotation="180"></spawnpoint> <spawnpoint id="hospitalLS2" posX="1174.5" posY="-1323.4" posZ="14.8" rotation="270"></spawnpoint> <spawnpoint id="hospitalSF" posX="-2643.3" posY="634.2" posZ="14.5" rotation="180"></spawnpoint> <spawnpoint id="hospitalEQ" posX="-1514.8" posY="2522.3" posZ="55.9" rotation="0"></spawnpoint> <spawnpoint id="hospitalFC" posX="-316.13" posY="1055.85" posZ="19.75" rotation="0"></spawnpoint> <spawnpoint id="hospitalLV" posX="1607.46" posY="1821.3" posZ="10.83" rotation="0"></spawnpoint> Agora no caso das skins, creio que é mais fácil você simplesmente bloquear as skins que o jogador não pode usar. Assim, quando ele morrer e o sistema tentar colocar a skin bloqueada, o jogador não vai nascer com aquela skin e só vai nascer com alguma skin permitida. Exemplo de um script que não permite que o jogador use skins bloqueadas "cancelando" a troca de skins. function skin (old) if getElementType (source) == "player" then --Se o elemento que estiver trocando for um jogador, faz o seguinte: if getElementModel (source) == 288 then --ID da skin bloqueada. setTimer (setElementModel, 100, 1, source, old) --Precisa de um timer senão não funciona, coloca a skin que o jogador já tinha antes. elseif getElementModel (source) == 287 then --ID de outra skin bloqueada. setTimer (setElementModel, 100, 1, source, old) --Faz a mesma coisa. end --Se nenhuma skin bloqueada for atribuida ao jogador, ele vai nascer com ela normalmente. end end addEventHandler ("onElementModelChange", root, skin) --Faz isso em qualquer jogador que tentar mudar de skin.
-
Ajuda MTA:SA Server - Roupas / Itens
Lord Henry replied to Fodox's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
Creio que não é possível fazer isso, pois teria que criar slots e IDs novos para estas roupas, sendo necessário alterar a programação original do GTA. Sim, é possível. O jeito mais simples que eu vejo seria o jogador informar o ID do Objeto e os valores de rotação, posição, interior e dimensão do objeto. Outro jeito seria usando o próprio editor de mapas do MTA, mas não sei se é possível usá-lo ao vivo em servidor. Edit: Como vc informou que o objeto seria comprado pelo jogador, dai o editor já não serve, pois ele disponibiliza todos os objetos do GTA para usar em vez de só alguns. Abraço e boa sorte. -
Você quer impedir que o jogador troque de skin quando morre? Pra ele respawnar com a skin que já estava antes?
-
Você deve escolher o que funciona melhor e o que é mais fácil de programar, não o que os players acham mais bonito. Os players não sabem o que é o melhor para o seu servidor, eles não sabem o que funciona melhor, o que é mais leve, eles não estão quebrando a cabeça pra programar as coisas e deixar tudo sem erros, eles não sabem o esforço que é criar um servidor do 0 sem copiar resources da internet. Se o seu resource for bem programado e sem bugs, pode acreditar que eles nunca vão se incomodar com a interface em GUI. Sem contar que, como vc mencionou, vc precisa terminar um resource pra poder começar a programar outro, pois um resource depende do outro. Se você ficar perdendo tempo agora com interface DX, vai demorar muito até começar a desenvolver os próximos resources. Se depois que você terminar tudo e você realmente sentir a necessidade de uma interface diferente, dai você terá o tempo necessário para criar em DX com mais calma.
-
Alguem pode me ajudar a fazer um script de dashboard pelo LUA ????
Lord Henry replied to BIG T's topic in Programação em Lua
Então amigo...ninguém aqui faz scripts de graça pra você. Podemos lhe ajudar com dúvidas que você tenha enquanto desenvolve. -
[AJUDA] Verificação a hora que muda nome do grupo
Lord Henry replied to AnnaBelle's topic in Programação em Lua
Tenho uma pergunta: A pessoa que deve ter acesso a esse painel é o "comandante" deste grupo? Ou ele é um Staff Admin ou superior? Se for um Admin, ele tem acesso a configurações do resource, dai vc pode definir o nome do grupo da base nas Settings do resource. Se não for um Staff com acesso às configurações dos resources, então você deverá desenvolver o painel junto com o resource da base. (A não ser que você queira fazer uns esquemas de exportar função da base pra importar no resource do painel, o que consome processamento do servidor.) Eu coloco sistema de segurança em todas as bases que eu faço, por exemplo a A51 do Exército somente o General do Exército pode ligar/desligar o sistema de segurança. O sistema reconhece os membros do Exército e o General pois ele está na ACL GEN-EB. Essa ACL pode ser alterada nas configurações do resource (acessíveis no painel Admin), logo eu não preciso ficar dando restart na base nem reprogramando o sistema sempre que eu quiser trocar a ACL do General. -
GTA da Steam não funciona mesmo, o próprio MTA já diz que ele é incompatível. Isso é realmente estranho...vc reinstala o MTA e não resolve...reinstala o GTA inclusive outras versões e não resolve. Não sei oq pode ser então. Você pode tentar perguntar na sessão internacional aqui do fórum (em inglês), quem sabe algum desenvolvedor do MTA te ajude quanto a atualização de versão do MTA.
-
Algum motivo específico para você dar preferência a interface DX? Em comparação a interface nativa do MTA, a interface DX consome mais processamento, é mais difícil de realizar manutenção, exige grande criatividade do desenvolvedor e vários scripts para ser algo "bonito". Se você quer dar preferência ao desempenho e facilidade de programação, prefira a interface padrão do MTA (GUI). O sistema é simples ou é complexo? Os dois não dá. Se você quer um sistema simples, baixe a versão original desenvolvida pela Dakilla. Se você quer um sistema complexo, dai depende muito do que você quer implementar. Mas saiba que este resource por si só já é bastante complexo, pois envolve banco de dados e conhecimento em SQLite. Já tenho um desse. Também funciona sincronizado com meu sistema de casas. (se o cara vende a casa daquela garagem, ele perde o acesso à garagem) Quanto aos demais pontos, a maioria já existe no SAMP. Você está tendo várias ideias mas como você mesmo mencionou, poucas delas estão sendo desenvolvidas. Tenha mais calma, você deve planejar quais são os resources mais importantes para desenvolver primeiro e sempre termine o resource antes de começar o próximo. Outra dica que eu dou é você procurar pessoas que já estão desenvolvendo projetos RPG para fazer parcerias e ambos se ajudarem e quem sabe fazer um único servidor.
-
De acordo com a Wiki em Error_Codes, o problema está no seu GTA:SA que não conseguiu iniciar corretamente e não no MTA. Reinstale o seu GTA:SA, sem mods.
-
Problema quando tento iniciar o MTA
Lord Henry replied to NathanT's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
Ele não está reclamando do nome do MTA, ele está reclamando do seu GTA. O MTA precisa do GTA instalado corretamente e sem modificações para funcionar. -
Você precisa fechar a função do timer antes de sair do escopo dele. No caso, você interrompeu o timer com um ELSE e depois tentou fechar o timer depois do ELSE. Eu teria feito assim: commando = { } tempo = 20000 function buyhealth ( thePlayer ) if (commando[playerSource]) then --Existe algum motivo para usar playerSource em vez de thePlayer? return outputChatBox ( "Aguarde 15 segundos para usar o comando novamente", playerSource, 255, 0, 0, true ) end local money = getPlayerMoney ( thePlayer ) if money >= 250 then --Aqui deveria ser 500 ou vc quer permitir que o jogador fique devendo $250? outputChatBox ("[#00FF00Vida#ffffff] " .. getPlayerName(thePlayer) .. "#ffffff Comprou Uma [#00FF00/vida#ffffff] Por #00FF00R$: 500", root, 255, 255, 255, true) commando[playerSource] = true local thePlayerhealth = getElementHealth ( thePlayer ) --Alguma utilidade em guardar a vida numa variável que não está sendo usada? setElementHealth ( thePlayer, 569 ) --Até onde eu sei, um jogador não pode ter mais do que 200 de vida. takePlayerMoney ( thePlayer, 500 ) setTimer( function() commando[playerSource] = false end, tempo, 1) else outputChatBox ("A Vida Custa 500$!", thePlayer, 255, 0, 0) end end addCommandHandler ( "vida", buyhealth )
-
UP
-
[Ajuda] Comando e msg apenas para Adms e Skill armas
Lord Henry replied to luiz gabriel's topic in Programação em Lua
Leia isso: IsObjectInACLGroup Você deveria ler mais a Wiki, começando por isso: OutputChatBox Ao colocar Root, vc deixou a mensagem global pois é o elemento parente de todos os outros elementos. Para entender os elementos, dê uma olhada aqui: Element_tree (só olhando aquela imagem já da pra entender bastante) Já a segunda pergunta, já foi respondida resumidamente, boa sorte. -
Not working... I am using this: function findRotationZ (x1, y1, x2, y2) --This is working fine. local t = -math.deg( math.atan2( x2 - x1, y2 - y1 ) ) return t < 0 and t + 360 or t end function findRotationX (y1, z1, y2, z2) local r = ( 360 - math.deg(math.atan2((y1 - y2), (z1 - z2))) ) % 360 return r < 0 and r + 360 or r end addCommandHandler ("tar", function () local x,y,z = getElementPosition(localPlayer) -- I am the target local tx,ty,tz = getElementPosition(topLightA51a) -- the object that will face me. setElementRotation (topLightA51a, findRotationX(y,z,ty,tz), 0, findRotationZ(x,y,tx,ty)-180 ) --Make the object face me, actually only Z axis is correct. end) (It's a Client-sided script)
-
Hello everyone. I am trying to make an object look at me. It's partially working, I make the object rotate the Z axis to face me (using this: FindRotation), but I need to rotate the X axis too. How can I do it?
-
Sorry by that...U want me to remove it? By the way, I will create another post with this problem with X axis.