Jump to content

Lord Henry

Other Languages Moderators
  • Posts

    3,980
  • Joined

  • Last visited

  • Days Won

    181

Everything posted by Lord Henry

  1. Bloquear o chat talvez? Sempre que o cara com nick ilegal tentar falar no chat, bloqueia a mensagem dele e manda um outputChatBox pra ele solicitando que mude o nick.
  2. Edit: Nos resources originais eles usam Get, mas não é declarado direto o nome da configuração.
  3. Hello everyone. I have a script with some settings that can be changed on Admin Panel, they are working fine without any error. The settings are declared on meta.xml like this: <settings> <setting name="*playerHouseCounter" value="[1]" friendlyname="Número de casas por jogador" group="General" accept="1-5" desc="Quantas casas cada jogador pode ter ao mesmo tempo." /> <setting name="*keyVipLength" value="[4]" friendlyname="Número mínimo de caracteres na senha" group="General" accept="1-10" desc="Quantos caracteres no mínimo devem ter as senhas das casas." /> <setting name="*vipACL" value="Vip" friendlyname="ACL Group VIP" group="General" accept="*" examples="Premium, VIP, vips, Payers, Pay2Play, etc" desc="Nome exato da ACL Group dos jogadores que são VIPs." /> </settings> BUT When I change a setting (from 1 to 2 as example), it appears duplicated with the new value, like this: In the script, I get those values with this: get( 'playerHouseCounter' ) How can I do this? This error doesn't happens with original resources.
  4. Pode ser...mas não consigo pensar em nenhuma outra forma que não seja com Get. Só que nos resources originais eles não usam o Get também '-' Dai não sei como fazem pra ler os valores das configurações. Outra coisa é que sempre que vc altera um valor de qualquer configuração de qualquer resource, essa configuração aparece no settings.xml do servidor com o novo valor configurado. E é essa configuração que aparece duplicada no menu de configurações. Se eu deletar essas configurações do settings.xml e reiniciar o servidor, as configurações duplicadas somem, só que as alterações também, pois o que salva as alterações é justamente o settings.xml. Além disso, os resources originais também deixam as configurações salvas lá, só que os novos valores não duplicam no painel e aparecem direto nas configurações originais... De fato, não faço ideia do que pode estar acontecendo. Não faz sentido acontecer só com resources não-originais.
  5. Sim, mas e nos casos em que o jogador insiste em ficar com o nick "ilegal"? Alguma forma de insistir que ele mude o nick? Por isso que pensei na marca d'água, pois é algo que incomoda o jogador solicitando que ele corrija o nick e ao mesmo tempo não é uma punição. Então...no servidor que eu sou Staff não posso fazer isso, pois alguns caras sem nick são Staffs investigativos. Dai kickar os caras vai ser ruim pois não se sabe se o objetivo do jogador é realmente zoar ou apenas não ser visto.
  6. Em todos os Dayz que já joguei sempre existiram o mesmo número de armas, o que eles fazem é apenas substituir o modelo da arma por outro para dar a impressão de uma nova arma. Por exemplo, eles substituíam a Katana ( ID 8 ) por um machado. Eles não criam armas novas, apenas substituem as que já existem por novos modelos, pois não tem como criar uma nova arma com um ID novo. Mas se mesmo assim você tem certeza absoluta que eles criam novas armas, deixando o jogo com mais armas do que o jogo original. Dai não sei como fizeram, com certeza o cara foi mestre na gambiarra.
  7. Não há como fazer isso. Pois precisaria alterar o GTA San Andreas em si.
  8. Perdão em me meter no tópico, mas fiquei curioso em relação a forma de punição. O que é aconselhável fazer nesse caso para fazer o jogador mudar o nick sem kická-lo? Será que um texto atrapalhando na tela serve? Tipo uma marca d'agua que só desaparece quando o jogador possuir um nick válido.
  9. Isso não faz sentido...pq mesmo se eu der stop no resource, continua duplicando as settings dele. Além disso o bug não ocorre no Freeroam por exemplo, mesmo com ele ligado. E ele não tem essa função em nenhum script dele.
  10. O erro só acontece quando vc não seleciona nenhuma das miras do painel, né? E quando nenhuma das miras está selecionada, ele deve usar automaticamente essa imagem utilitarios/painel/images/false.png na mira, né? Creio que a variável default deveria sempre receber aquele valor da Data do jogador, independente dela estar vazia ou não. Supondo que ao selecionar cada mira, o valor Data mude, você pode usar o valor 0 justamente para colocar essa mira false.png Se a Data não for 0, significa que ele selecionou alguma mira e então ele não vai criar a mira padrão. bindKey("mouse2","down",function() Crosshair_table = {} if getElementData(getLocalPlayer(),"sight") then -- Isso é um verificador para caso não exista essa Data no jogador. if oldSight and oldSight == getElementData(getLocalPlayer(),"sight") then -- Não sei pra quê isso... return end if getElementData(getLocalPlayer(),"sight") == 0 then -- Se a Data sight do jogador for 0, faz isso: default = "utilitarios/painel/images/false.png" -- default é a imagem da mira padrão. defaults = dxCreateTexture(default) -- defaults cria a mira na tela. local oldSight = getElementData(getLocalPlayer(),"sight") Crosshair_table = dxCreateShader("utilitarios/painel/texreplace.fx") engineApplyShaderToWorldTexture(Crosshair_table, "siteM16") dxSetShaderValue(Crosshair_table, "gTexture", defaults) end end end)
  11. Foi oq eu disse... No primeiro clique ele entra na segunda condição e coloca o caminho no default, depois ele fica entrando sempre na primeira condição e coloca 0 no default.
  12. O * não faz parte do nome, ele indica que a configuração é Global, podendo ser lida e alterada pelos demais resources. (Admin por exemplo) Sim, já tentei com apenas os dois atributos.
  13. Você clicou 7 vezes, não é? Quantas vezes apareceu o erro? 6 ou 7 vezes? =================================== De acordo com esse primeiro código: bindKey("mouse2","down",function() Crosshair_table = {} if getElementData(getLocalPlayer(),"sight") then if oldSight and oldSight == getElementData(getLocalPlayer(),"sight") then return end if default then default = getElementData(getLocalPlayer(),"sight") else default = "utilitarios/painel/images/false.png" end local defaults = dxCreateTexture(default) local oldSight = getElementData(getLocalPlayer(),"sight") Crosshair_table = dxCreateShader("utilitarios/painel/texreplace.fx") engineApplyShaderToWorldTexture(Crosshair_table, "siteM16") dxSetShaderValue(Crosshair_table, "gTexture", defaults) end end) No primeiro clique ele não encontrou um valor no default (nulo), por isso entrou naquela segunda condição do caminho da imagem e colocou o texto do caminho no default. No segundo clique ele encontrou um valor no default "utilitarios/painel/images/false.png" e portanto entrou na primeira condição, que alterou o valor de default para getElementData(getLocalPlayer(),"sight") que ao ser convertido para texto, gerou "0". Isso indica que o jogador está com a Data "sight" valendo 0. Dai que ocorre o erro, pois quando default é um número (no caso, 0) ele exige um segundo parâmetro numérico no dxCreateTexture e é exatamente isso que ele está reclamando, ele está dizendo que esperava um segundo argumento numérico, mas obteve nada.
  14. '-' Não entendi as alterações que vc fez... Cade o outputChatBox? O que saiu nele?
  15. Coloque isso: outputChatBox (tostring(default)) Logo após as condições, para ver o valor de default ao clicar. Me diga o que aparece no chat. Por curiosidade, como está organizado seu resource? O script que está dando o erro está dentro de uma pasta dentro do resource ou está na raiz do resource?
  16. local defaults = dxCreateTexture(default) O erro basicamente diz que está faltando um argumento numérico como segundo argumento. (depois do default) Isso acontece quando o primeiro argumento não é um caminho de arquivo válido e nem uma informação de pixel. Leia mais em: DxCreateTexture Experimente trocando todas as barras ( / ) do caminho por contra barras. ( \ ) Tenha certeza de que o caminho está declarado corretamente. default = "utilitarios\painel\images\false.png"
  17. Favor utilizar a ferramenta de código no formato LUA para postar seu código.
  18. Where's the solution? I have the same problem.
  19. Continua não dando certo. <settings> <setting name="*playerHouseCounter" value="1" friendlyname="Casas por jogador" accept="1-5" examples="2" group="General" desc="Quantas casas cada jogador pode ter ao mesmo tempo." /> <setting name="*keyLength" value="4" friendlyname="Minimo de caracteres na senha" accept="1-10" examples="8" group="General" desc="Quantos caracteres no mínimo devem ter as senhas das casas." /> <setting name="*vipACL" value="Vip" friendlyname="ACL Group VIP" accept="*" examples="Premium" group="General" desc="Nome exato da ACL Group dos jogadores VIPs, o grupo aparece no painel Admin ao selecionar um jogador VIP, do lado de Everyone." /> </settings>
  20. Olá novamente. Eu estou fazendo um script que possui configurações fora do script, aquelas configurações que vc declara no meta.xml e podem ser alteradas pelo painel admin. O script está tudo certo e as configurações estão funcionando. O problema é que quando eu altero qualquer valor de qualquer configuração, ele cria uma cópia dessa configuração com o novo valor e passa a utilizar essa nova configuração em vez da original, a configuração original continua com seu valor padrão e não é mais utilizada. Se eu tentar alterar o valor da cópia, ele cria uma terceira configuração cópia da cópia com este novo valor e assim por diante. Se eu alterar o valor na configuração original, ele aplica a alteração na cópia e mantém a configuração original no valor padrão. Se eu colocar o valor padrão na configuração original, nada acontece e a cópia não é alterada. As configurações estão declaradas assim no meta.xml: <settings> <setting name="*playerHouseCounter" value="1" friendlyname="Numero de casas por jogador" group="General" accept="1-5" desc="Quantas casas cada jogador pode ter ao mesmo tempo." /> <setting name="*keyLength" value="4" friendlyname="Numero minimo de caracteres na senha" group="General" accept="1-10" desc="Quantos caracteres no mínimo devem ter as senhas das casas." /> <setting name="*vipACL" value="Vip" friendlyname="ACL Group VIP" group="General" accept="Everyone,Moderator,Vip,Premium,Etc" desc="Nome exato da ACL Group dos jogadores VIPs." /> </settings> E acontece isso, quando eu altero por exemplo a configuração "Numero de casas por jogador" que originalmente é 1, dai eu alterei para 2: Obs: Já tentei declarar desse outro jeito mas continua com esse mesmo problema. <settings> <setting name="*playerHouseCounter" value="2" accept="1-9" desc="Quantas casas cada jogador pode ter ao mesmo tempo." /> <setting name="*keyLength" value="4" accept="1-9" desc="Quantos caracteres no mínimo devem ter as senhas das casas." /> <setting name="*vipACL" value="Vip" accept="Everyone,Moderator,Vip,Premium,Etc" desc="Nome exato da ACL Group dos jogadores VIPs, o grupo aparece no painel Admin ao selecionar um jogador VIP, do lado de Everyone." /> </settings> Obs2: Esse problema não acontece nas configurações do Scoreboard, resource original do MTA.
  21. Postou na área incorreta cara...essa área se destina-se a dúvidas quanto a programação do seu script específico. Mas respondendo ao post (que deveria ser movido para a área correta), já exitem outros membros com essa mesma intenção que a sua. É claro, com poucas diferenças de ideias, mas também é com objetivo de fazer como no SAMP. Seria interessante vc entrar em contato com eles, quem sabe unir ideias e se ajudarem. https://forum.multitheftauto.com/topic/93705-novo-projeto-de-servidor/
  22. Olá. Bom, os comandos /register e /unregister pertencem ao resource admin. Logo, é nele que você vai precisar fazer as alterações. Eu gostaria de saber mais detalhes sobre essa trapaça que você anda tendo problemas, quem sabe daria pra corrigir isso sem desativar os comandos. Voltando ao assunto do post, para desativar esses comandos você deve abrir o arquivo admin_server.lua que está dentro da pasta server do resource admin. Abra-o com o notepad++ de preferência e procure (Ctrl+F) por: "register" Selecione toda a função desse register e dê Ctrl+Q. Isso transformará toda a função em comentário e não será mais lida pelo resource. (é melhor do que simplesmente deletar a função, caso dê alguma merda dai vc ainda tem a função escrita para reativar depois.) Depois faça a mesma coisa com os demais comandos, procure-os com Ctrl+F e deixe as funções deles como comentários. Salva o script e dá /restart admin no server. Me diga se deu certo ou se deu algum erro. Abraço.
  23. Deu certo, mas em vez de uma variável, setei ElementData no jogador para fazer a verificação...pois é uma função client-side.
  24. A função cujo "onClientRender" deve ser cancelada só é declarada após o jogador finalizar a corrida, por isso ocorre o erro. Vou testar rapidão oq o @DNL291 disse e já falo se deu certo.
  25. Olá. Consegui implementar a corrida depois de vários bugs resolvidos. (só não tenho como testar multiplayer...) Uma pergunta: O jogador pode desistir do evento a qualquer momento usando /desistir. Ao fazer isso, ele chama algumas funções e remove alguns eventHandlers. SÓ QUE Se o jogador desistir no meio da corrida, o script tenta cancelar um evento "onClientRender", só que este evento só começa a executar depois que o jogador finaliza a corrida. Isso gera um Warning no debugscript (não gera nada no Console): WARNING: Bad argument @ 'removeEventHandler' [Expected function at argument 3, got nil] Eu devo deixar com esse warning? Ou existe algum jeito de verificar se a função existe antes de tentar cancelá-la? (Ele não interfere em nada no funcionamento do script e só aparece no debugscript.) Obs: Esse aviso não ocorre se o jogador tentar desistir depois de ter completado a corrida, pois o evento irá existir para ser cancelado.
×
×
  • Create New...