Big Smoker Posted June 12, 2017 Share Posted June 12, 2017 (edited) Spoiler 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) Pode me ajuda a arruma esse bug? fica dando aviso quando clico com o 'mouse2' Spoiler bad argument @'dxcreateTexture' [expecte mumber at argument 2, got none] Onde eu errei no script? Edited June 12, 2017 by felipebaidoloko Link to comment
Other Languages Moderators Lord Henry Posted June 12, 2017 Other Languages Moderators Share Posted June 12, 2017 (edited) Favor utilizar a ferramenta de código no formato LUA para postar seu código. Edited June 12, 2017 by Lord Henry Link to comment
Big Smoker Posted June 12, 2017 Author Share Posted June 12, 2017 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) Aviso que da é esse bad argument @'dxcreateTexture' [expecte mumber at argument 2, got none] Eu nao sabia como mostrar, mais esta ai Link to comment
Big Smoker Posted June 12, 2017 Author Share Posted June 12, 2017 Pode me ajuda o por que desse erro? Link to comment
Other Languages Moderators Lord Henry Posted June 12, 2017 Other Languages Moderators Share Posted June 12, 2017 (edited) 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" Edited June 12, 2017 by Lord Henry Link to comment
Big Smoker Posted June 12, 2017 Author Share Posted June 12, 2017 Sim ele esta certo, esse sistema é um painel de miras para armas (rifles,pistolas,12, etc) ele tem um monte de mira, ai vc seleciona a mira que vc quer e aplica ai nao da esse aviso.. So que esse aviso so mostra para o jogador que nao seleciono a mira então eu coloquei uma mira ate ele selecionar uma que é o default = "utilitarios\painel\images\false.png" .. So que ainda continua o aviso Link to comment
Other Languages Moderators Lord Henry Posted June 12, 2017 Other Languages Moderators Share Posted June 12, 2017 (edited) 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? Edited June 12, 2017 by Lord Henry Link to comment
Big Smoker Posted June 12, 2017 Author Share Posted June 12, 2017 (edited) Estou usando dentro da GM, voce tem Discord? ai podemos conversa por la vou ver o aviso que da no chat bindKey("mouse2","down",function() Crosshair_table = {} if getElementData(getLocalPlayer(),"sight") then if oldSight and oldSight == getElementData(getLocalPlayer(),"sight") then return end defaults = dxCreateTexture(getElementData(getLocalPlayer(),"sight")) oldSight = getElementData(getLocalPlayer(),"sight") Crosshair_table = dxCreateShader("utilitarios/painel/texreplace.fx") engineApplyShaderToWorldTexture(Crosshair_table, "siteM16") dxSetShaderValue(Crosshair_table, "gTexture", defaults) end end) esse erro esta apenas no script da resource, ela esta funcionando normal so que da erro a função original é essa ai fiz aquela função pra ver se ia sair o aviso Edited June 12, 2017 by felipebaidoloko Edit Link to comment
Other Languages Moderators Lord Henry Posted June 12, 2017 Other Languages Moderators Share Posted June 12, 2017 (edited) 10 minutes ago, felipebaidoloko said: Estou usando dentro da GM, voce tem Discord? ai podemos conversa por la vou ver o aviso que da no chat bindKey("mouse2","down",function() Crosshair_table = {} if getElementData(getLocalPlayer(),"sight") then if oldSight and oldSight == getElementData(getLocalPlayer(),"sight") then return end defaults = dxCreateTexture(getElementData(getLocalPlayer(),"sight")) oldSight = getElementData(getLocalPlayer(),"sight") Crosshair_table = dxCreateShader("utilitarios/painel/texreplace.fx") engineApplyShaderToWorldTexture(Crosshair_table, "siteM16") dxSetShaderValue(Crosshair_table, "gTexture", defaults) end end) esse erro esta apenas no script da resource, ela esta funcionando normal so que da erro a função original é essa ai fiz aquela função pra ver se ia sair o aviso '-' Não entendi as alterações que vc fez... Cade o outputChatBox? O que saiu nele? Edited June 12, 2017 by Lord Henry Link to comment
Big Smoker Posted June 12, 2017 Author Share Posted June 12, 2017 Apareceu isso aqui quando mirei sem eu selecionar a mira no painel utilitarios/painel/images/false.png 0 0 0 0 0 0 Link to comment
Other Languages Moderators Lord Henry Posted June 13, 2017 Other Languages Moderators Share Posted June 13, 2017 (edited) 1 hour ago, felipebaidoloko said: Apareceu isso aqui quando mirei sem eu selecionar a mira no painel utilitarios/painel/images/false.png 0 0 0 0 0 0 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. Edited June 13, 2017 by Lord Henry Link to comment
Big Smoker Posted June 13, 2017 Author Share Posted June 13, 2017 certo e o que devo fazer? apareceu apenas 1 vez o 0... cada vez que eu clicava aparecia 0 mais no primeiro click deu utilitarios/painel/images/false.png ai cada click que dava aparecia 0 Link to comment
Other Languages Moderators Lord Henry Posted June 13, 2017 Other Languages Moderators Share Posted June 13, 2017 20 hours ago, felipebaidoloko said: certo e o que devo fazer? apareceu apenas 1 vez o 0... cada vez que eu clicava aparecia 0 mais no primeiro click deu utilitarios/painel/images/false.png ai cada click que dava aparecia 0 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. Link to comment
Other Languages Moderators Lord Henry Posted June 13, 2017 Other Languages Moderators Share Posted June 13, 2017 20 hours ago, felipebaidoloko said: certo e o que devo fazer? 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) Link to comment
Big Smoker Posted June 14, 2017 Author Share Posted June 14, 2017 so tem um porem esse getElementData(getLocalPlayer(),"sight") ele que seta a mira do painel, quando voce seleciona a mira e clica em aplicar mira, ai ele aplica no dxCreateTexture e o utilitarios/painel/images/false.png" so coloquei ele pra selecionar uma mira na dela, pois ficava um quadrado branco na tela ate alguem selecionar a mira por isso dava aviso Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now