-
Posts
3,980 -
Joined
-
Last visited
-
Days Won
181
Everything posted by Lord Henry
-
Ah...oq eu tenho é esse aqui: mtasa-resources Mas parece desatualizado mesmo, a última atualização é de 2014... Vlw, vou baixar esse do Github. Uma pergunta: Quem mantém esses arquivos atualizados é a equipe do MTA ou outras pessoas?
-
O meu Freeroam original só vai até a linha 550 '-'
-
Assim funciona.
-
Linhas 140, 514 e 515?
-
Já tentou desativar o resource playerblips?
-
Se você estiver se referindo a você mesmo, não é possível desativar o seu blip no mapa (aquele ponteiro branco). A não ser que você desative o mapa inteiro e crie outro sem a função do GPS.
-
Eu estou resolvendo ainda o menu para criar eventos...quando eu voltar a mexer nos mapas dai eu aviso. Estou com um problema para converter a string "50%" para número. Usando tonumber não resolve pois ele não sabe que número é o %, então eu teria que dar um jeito de remover o % da string antes de usar o tonumber. Alguém ae sabe alguma função para encontrar e deletar determinado caractere de uma string?
- 17 replies
-
- race
- clientside
-
(and 1 more)
Tagged with:
-
O objetivo é guardar o quê? Itens ou grana?
-
Eu to pensando em fazer assim...só que não faço ideia de como "spawnar" os markers um por vez a cada vez que o jogador colide em um. Eu sei que os markers são sempre client-side, quando termina o countdown e inicia a corrida, ele cria direto o marker 1 e o 2. Quando o jogador colide no 1, ele deleta o marker 1, cria o 3 e assim por diante, sempre mantendo 2 markers criados. Só que não sei como chamar os markers de cada vez. Eu sei que no arquivo ele classifica por ID e informa qual é o próximo marker, de maneira que ele saiba qual chamar em seguida. <map mod="deathmatch"> <!-->O arquivo original está assim...mas só funciona no Race.</--> <spawnpoint posX="-2389.578125" posY="-2214.670410" posZ="32.949440" rotation="339" vehicle="468" id="spawnpoint0" /> <spawnpoint posX="-2392.252930" posY="-2214.180420" posZ="32.949440" rotation="330" vehicle="468" id="spawnpoint1" /> <spawnpoint posX="-2394.579834" posY="-2212.746582" posZ="32.949440" rotation="320" vehicle="468" id="spawnpoint2" /> <spawnpoint posX="-2396.306396" posY="-2210.714844" posZ="32.949440" rotation="306" vehicle="468" id="spawnpoint3" /> <spawnpoint posX="-2397.809570" posY="-2208.184326" posZ="32.949440" rotation="299" vehicle="468" id="spawnpoint4" /> <spawnpoint posX="-2399.312988" posY="-2205.918945" posZ="32.949440" rotation="294" vehicle="468" id="spawnpoint5" /> <spawnpoint posX="-2399.995117" posY="-2203.309814" posZ="32.949440" rotation="289" vehicle="468" id="spawnpoint6" /> <!-->Mais um monte de spawnpoints</--> <checkpoint posX="-2375.774414" posY="-2196.347656" posZ="32.376450" color="#007fff" id="checkpoint0" nextid="checkpoint1" /> <checkpoint posX="-2264.348389" posY="-2142.104492" posZ="55.736046" color="#007fff" id="checkpoint1" nextid="checkpoint2" /> <checkpoint posX="-2159.435059" posY="-2035.847534" posZ="91.579437" color="#007fff" id="checkpoint2" nextid="checkpoint3" /> <checkpoint posX="-2100.626465" posY="-1895.320435" posZ="108.437828" color="#ff0000" id="checkpoint3" nextid="checkpoint4" /> <checkpoint posX="-2224.203369" posY="-2053.038818" posZ="118.907944" color="#007fff" id="checkpoint4" nextid="checkpoint5" /> <checkpoint posX="-2447.318848" posY="-2078.869141" posZ="125.247055" color="#ff0000" id="checkpoint5" nextid="checkpoint6" /> <!-->Mais um monte de checkpoints</--> <checkpoint posX="-2375.783936" posY="-2196.322510" posZ="32.338516" color="#ffef00" id="checkpoint47" /> <!-->Checkpoint da linha de chegada.</--> <object posX="-2367.477783" posY="-2187.626709" posZ="32.561180" rotX="0" rotY="0" rotZ="0" model="2780" id="object0" /> <object posX="-2362.699219" posY="-2194.435791" posZ="32.645840" rotX="0" rotY="0" rotZ="158.995845444583" model="2780" id="object1" /> <object posX="-2525.923584" posY="-1696.326660" posZ="401.407379" rotX="0" rotY="0" rotZ="3.43774677078494" model="3264" id="object2" /> <object posX="-2319.156982" posY="-1632.014771" posZ="500.054626" rotX="0" rotY="0" rotZ="0" model="3873" id="object3" /> <!-->Alguns objetos de mapa, também classificados por IDs.</--> </map>
- 17 replies
-
- race
- clientside
-
(and 1 more)
Tagged with:
-
Estou criando um script de eventos, nesse script o admin pode criar 1 evento de cada vez e os jogadores podem participar caso queiram. O que estou com dificuldade seria para eventos de corrida, pois como a maioria deve saber, os mapas de corrida simplesmente não funcionam se não estiver no gamemode race. Só que se eu alterar o gamemode do server, vai mudar para todo mundo, inclusive pra quem não está participando do evento. Eu gostaria de saber se é possível alterar o gamemode para somente alguns jogadores ou então algum jeito de ativar um mapa de corrida específico sem alterar o gamemode atual do servidor. O mapa é escolhido no script de evento pelo admin. Eu estava dando uma olhada no resource 'race' e vi que ele ativa uma série de outros resources junto, como por exemplo o votemanager dos mapas, placares, contagem regressiva, tempo de corrida, etc...No meu script a maioria deles não será necessário. No gamemode race, ele carrega outro mapa de corrida automaticamente após terminar a corrida atual, mas no meu script o evento deve terminar e os jogadores voltam para a posição que estavam antes de participar.
- 17 replies
-
- race
- clientside
-
(and 1 more)
Tagged with:
-
pt-br Preciso de ajuda neste script (sou novato)
Lord Henry replied to #Gubiani's topic in Programação em Lua
Ele criou uma variável local chamada 'spawned' que fica false toda vez que inicia a função. (quando alguém morre) Ele vai entrar ali no For mas se o jogador que morreu for Guest, não vai entrar naquele If, dai a variável não vai se tornar verdadeira, pois o player não vai spawnar naquele instante. Depois ele vai entrar no If da linha 14 (spawned ainda será diferente de true), e vai spawnar o jogador no spawn de Guest. -
pt-br Preciso de ajuda neste script (sou novato)
Lord Henry replied to #Gubiani's topic in Programação em Lua
Funciona. Está ali na linha 15. -
pt-br Preciso de ajuda neste script (sou novato)
Lord Henry replied to #Gubiani's topic in Programação em Lua
A propósito, eu fiz assim e funcionou normal aqui. function spawn( player ) if not isElement( player ) then return end showChat( player, true ) local acc = getPlayerAccount( player ) if isObjectInACLGroup ( "user.".. getAccountName( acc ), aclGetGroup ( "YKZ" ) ) then spawnPlayer ( player, 2340.81323, 553.25513, 18.75537, 90, 120) elseif isObjectInACLGroup ( "user.".. getAccountName( acc ), aclGetGroup ( "EB" ) ) then spawnPlayer ( player, 205.75940, 1866.97839, 13.14063, 90, 287) else spawnPlayer (player, 1177.12634, -1327.09448, 14.05530, 90, 0) end end -
pt-br Preciso de ajuda neste script (sou novato)
Lord Henry replied to #Gubiani's topic in Programação em Lua
Não há problema em desligá-lo. Mas esteja ciente de manter ele desligado nas configurações do server. Senão toda vez que vc for ligar o server, ele vai ligar o Gamemode 'Play' novamente. -
pt-br Preciso de ajuda neste script (sou novato)
Lord Henry replied to #Gubiani's topic in Programação em Lua
Por isso que não entendi, pois já existe isso para fazer a verificação: if not isElement( player ) then return end -
pt-br Preciso de ajuda neste script (sou novato)
Lord Henry replied to #Gubiani's topic in Programação em Lua
Eu não entendi a necessidade dessa condição: if acc then -
pt-br Preciso de ajuda neste script (sou novato)
Lord Henry replied to #Gubiani's topic in Programação em Lua
Use isso: elseif isGuestAccount (getPlayerAccount (player)) then spawnPlayer (player, 1177.12634, -1327.09448, 14.05530, 90, 0) end Seria melhor vc criar outro tópico quando for fazer uma pergunta sem relação com este tópico. -
pt-br Preciso de ajuda neste script (sou novato)
Lord Henry replied to #Gubiani's topic in Programação em Lua
Se você for permitir que os membros fiquem em diferentes facções ao mesmo tempo, você vai precisar de algum sistema onde o jogador decida qual skin deseja pegar. Por exemplo: O jogador está no Exército e na Yakuza ao mesmo tempo. (EB e YKZ). Ele quer ter acesso às duas skins, mas ao executar o comando /skin, ele só recebe do exército mas queria poder receber da Yakuza também. Para resolver esse problema, será necessário que o jogador informe de alguma maneira ao resource, qual das skins ele quer pegar. Existem dois jeitos diferentes, a primeira é a mais simples, onde vc faz um comando diferente para cada skin. function darSkinEB (thePlayer) local nomeAcc = getAccountName (getPlayerAccount (thePlayer)) if isObjectInACLGroup ("user."..nomeAcc, aclGetGroup("EB")) then setElementModel (thePlayer, 287) else outputChatBox ("Você não tem permissão para usar a skin do #00BB00Exército.", thePlayer, 255, 0, 0, true) end end addCommandHandler ("skineb", darSkinEB) function darSkinYKZ (thePlayer) local nomeAcc = getAccountName (getPlayerAccount (thePlayer)) if isObjectInACLGroup ("user."..nomeAcc, aclGetGroup("YKZ")) then setElementModel (thePlayer, 140) else outputChatBox ("Você não tem permissão para usar a skin da #BB0000Yakuza.", thePlayer, 255, 0, 0, true) end end addCommandHandler ("skinykz", darSkinYKZ) Outro jeito, um pouco mais complexo porém mais leve do que criar várias funções, é você criar um parâmetro junto ao comando. Este parâmetro informará ao script qual a skin que o jogador quer pegar. Exemplo: "/skin exercito" ou "/skin yakuza" function darSkin (thePlayer, commandName, faction) -- Função geral, o faction é o que o jogador vai informar após o comando. local nomeAcc = getAccountName (getPlayerAccount (thePlayer)) if faction == "exercito" then -- Se o jogador der o comando "/skin exercito", faz o seguinte: if isObjectInACLGroup ("user."..nomeAcc, aclGetGroup("EB")) then setElementModel (thePlayer, 287) else outputChatBox ("Você não tem permissão para usar a skin do #00BB00Exército.", thePlayer, 255, 0, 0, true) end elseif faction == "yakuza" then -- Se o jogador der o comando "/skin yakuza", faz o seguinte: if isObjectInACLGroup ("user."..nomeAcc, aclGetGroup("YKZ")) then setElementModel (thePlayer, 140) else outputChatBox ("Você não tem permissão para usar a skin da #BB0000Yakuza.", thePlayer, 255, 0, 0, true) end elseif faction == nil then -- Se o jogador der o comando "/skin", faz o seguinte: outputChatBox ("Erro de sintaxe, use /skin <nome da facção>", thePlayer) else -- Se o jogador der o comando "/skin" seguido de qualquer coisa que não esteja programada aqui, faz o seguinte: outputChatBox ("Erro: Não existe skin dessa facção.", thePlayer) end end addCommandHandler ("skin", darSkin, false, false) --Esse penúltimo false indica que o comando não é restrito. O último false indica que o comando não diferencia maiúsculas de minúsculas. Ou seja, se ele usar /SkIN EXerciTO, vai funcionar mesmo assim. Espero ter ajudado. Caso possua mais dúvidas, estamos aqui para ajudar. -
pt-br Preciso de ajuda neste script (sou novato)
Lord Henry replied to #Gubiani's topic in Programação em Lua
Não é recomendável vc colocar o mesmo comando para funções diferentes. O ideal é vc colocar os dois na mesma função. function darSkin (thePlayer) local nomeAcc = getAccountName (getPlayerAccount (thePlayer)) if isObjectInACLGroup ("user."..nomeAcc, aclGetGroup("EB")) then setElementModel (thePlayer, 287) elseif isObjectInACLGroup ("user."..nomeAcc, aclGetGroup("YKZ")) then setElementModel (thePlayer, 140) end end addCommandHandler ("skin", darSkin) Obs: Se o jogador estiver nas duas ACLs ao mesmo tempo, ele vai colocar a skin do EB, pois é a condição que ele vai entrar primeiro. Ao entrar em um IF, ele não vai entrar em um ELSE, mesmo se a condição dele também for verdadeira. -
pt-br Preciso de ajuda neste script (sou novato)
Lord Henry replied to #Gubiani's topic in Programação em Lua
@Pedro861, ele quer setar a skin somente em quem usar o comando /skin, no caso ele mesmo. Desse jeito que vc colocou vai setar a skin em todo mundo que for Admin. Do jeito que o @DNL291 fez é o correto, se o jogador que usar o comando não for do EB, mostra a mensagem de erro em vermelho. Caso contrario, seta a skin nele. Outro jeito de fazer, que no fim das contas é a mesma coisa, pode ser assim: function darSkin (thePlayer) local nomeAcc = getAccountName (getPlayerAccount (thePlayer)) --Variável 'nomeAcc' recebe a conta de quem executou o comando. (no caso, a sua conta) if isObjectInACLGroup ("user."..nomeAcc, aclGetGroup("EB")) then --Se o jogador que executou o comando estiver na ACL "EB", faz o seguinte: setElementModel (thePlayer, 287) --Coloca skin 287 nele. else --Se não estiver na ACL "EB", faz o seguinte: outputChatBox ("Somente membros do #00BB00Exercito Brasileiro#FF0000 podem pegar a skin!", thePlayer, 255, 0, 0, true) --Manda isso em vermelho, onde "Exército Brasileiro" fica em verde e o resto vermelho. Manda isso somente para quem executou o comando. end --Finaliza o If e o Else. end --Finaliza a função darSkin. addCommandHandler ("skin", darSkin) --Executa essa função quando alguém usa o comando /skin. Qualquer dúvida, volte a perguntar. Boa sorte. -
database Receber valor existente no Banco de Dados
Lord Henry replied to Lord Henry's topic in Programação em Lua
Hum...já entendi oq vc quer dizer. Ok, vou colocar a verificação nas garagens tbm...apesar de já ter essa verificação nas casas.