Ir para conteúdo
  • Cadastre-se

Normal Função que verifica se item está na lista!


Posts Recomendados

Boa tarde meus amigos, meu servidor tava com um problema nas portas, mas isso não vem ao caso.

Eu criei essa linha de código para que se o item tiver o id de uma porta "locked" ele recebe o aviso "Its Locked", porei não consegui criar um Array pra isso, tive que fazer uma série "ors" dentro do script pra funcionar em todas as portas

poderiam me ajudar a melhorá-lo? Obrigado


Segue a gambiarra que fiz

if item.itemid == 10774 or item.itemid == 10783 or item.itemid == 12150 or item.itemid == 10477 or item.itemid == 10468 or item.itemid == 10271 or item.itemid == 10268 or item.itemid == 9270 or item.itemid == 9267 or item.itemid == 9165 or item.itemid == 8978 or item.itemid == 8544 or item.itemid == 8541 or item.itemid == 7042 or item.itemid == 7033 or item.itemid == 6900 or item.itemid == 6891 or item.itemid == 1209 or item.itemid == 6252 or item.itemid == 6249 or item.itemid == 6195 or item.itemid == 6192 or item.itemid == 5735 or item.itemid == 5732 or item.itemid == 5281 or item.itemid == 5278 or item.itemid == 5143 or item.itemid == 5140 or item.itemid == 5137 or item.itemid == 5134 or item.itemid == 5125 or item.itemid == 5116 or item.itemid == 5107 or item.itemid == 5098 or item.itemid == 4916 or item.itemid == 4913 or item.itemid == 3544 or item.itemid == 3535 or item.itemid == 1252 or item.itemid == 1249 or item.itemid == 1234 or item.itemid == 1231 or item.itemid == 1212 then
		doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is locked.")
		return true
	end

 

Link para o post
Compartilhar em outros sites
  • Sub-Admin
32 minutos atrás, Noynac disse:

Boa tarde meus amigos, meu servidor tava com um problema nas portas, mas isso não vem ao caso.

Eu criei essa linha de código para que se o item tiver o id de uma porta "locked" ele recebe o aviso "Its Locked", porei não consegui criar um Array pra isso, tive que fazer uma série "ors" dentro do script pra funcionar em todas as portas

poderiam me ajudar a melhorá-lo? Obrigado


Segue a gambiarra que fiz


if item.itemid == 10774 or item.itemid == 10783 or item.itemid == 12150 or item.itemid == 10477 or item.itemid == 10468 or item.itemid == 10271 or item.itemid == 10268 or item.itemid == 9270 or item.itemid == 9267 or item.itemid == 9165 or item.itemid == 8978 or item.itemid == 8544 or item.itemid == 8541 or item.itemid == 7042 or item.itemid == 7033 or item.itemid == 6900 or item.itemid == 6891 or item.itemid == 1209 or item.itemid == 6252 or item.itemid == 6249 or item.itemid == 6195 or item.itemid == 6192 or item.itemid == 5735 or item.itemid == 5732 or item.itemid == 5281 or item.itemid == 5278 or item.itemid == 5143 or item.itemid == 5140 or item.itemid == 5137 or item.itemid == 5134 or item.itemid == 5125 or item.itemid == 5116 or item.itemid == 5107 or item.itemid == 5098 or item.itemid == 4916 or item.itemid == 4913 or item.itemid == 3544 or item.itemid == 3535 or item.itemid == 1252 or item.itemid == 1249 or item.itemid == 1234 or item.itemid == 1231 or item.itemid == 1212 then
		doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is locked.")
		return true
	end

 

 

 

local cf {

verificar = {10774, 10783, 12150, 10477, 10477, 10468, 10271, 10268, 9270, 9270, 9267, 9165, 8978, 8544, 8541, 7042, 7033, 6900, 6891, 1209, 6252, 6249, 6195, 6192, 5735, 5732, 5281, 5278, 5143, 5140, 5137, 5134, 5125, 5116, 5107, 5098, 4916, 4913, 3544, 3535, 1252, 1249, 1234, 1231, 1212},
   
}

if item.itemid == cf.verificar then
		doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is locked.")
		return true
	end

vários jeitos

 

local cf {
textoaviso = "It is locked.",
verificar = {10774, 10783, 12150, 10477, 10477, 10468, 10271, 10268, 9270, 9270, 9267, 9165, 8978, 8544, 8541, 7042, 7033, 6900, 6891, 1209, 6252, 6249, 6195, 6192, 5735, 5732, 5281, 5278, 5143, 5140, 5137, 5134, 5125, 5116, 5107, 5098, 4916, 4913, 3544, 3535, 1252, 1249, 1234, 1231, 1212},
   
}

if item.itemid == cf.verificar then
		doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, cf.textoaviso)
		return true
	end
local textoaviso = "It is locked."
local verificar = {10774, 10783, 12150, 10477, 10477, 10468, 10271, 10268, 9270, 9270, 9267, 9165, 8978, 8544, 8541, 7042, 7033, 6900, 6891, 1209, 6252, 6249, 6195, 6192, 5735, 5732, 5281, 5278, 5143, 5140, 5137, 5134, 5125, 5116, 5107, 5098, 4916, 4913, 3544, 3535, 1252, 1249, 1234, 1231, 1212}

if item.itemid == verificar then
		doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, textoaviso)
		return true
	end

 

Editado por Alexy Brocanello (veja o histórico de edições)

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites
1 hora atrás, Alexy Brocanello disse:

 

 


local textoaviso = "It is locked."
local verificar = {10774, 10783, 12150, 10477, 10477, 10468, 10271, 10268, 9270, 9270, 9267, 9165, 8978, 8544, 8541, 7042, 7033, 6900, 6891, 1209, 6252, 6249, 6195, 6192, 5735, 5732, 5281, 5278, 5143, 5140, 5137, 5134, 5125, 5116, 5107, 5098, 4916, 4913, 3544, 3535, 1252, 1249, 1234, 1231, 1212}

if item.itemid == verificar then
		doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, textoaviso)
		return true
	end

 

 

 

Pior que eu tentei fazer desse jeito, mas acredito que comparar o item.item.id com uma LISTA não tava funcionando.. por isso queria saber se tinha alguma função exclusiva pra verificar se ta na lista.

 

 

 

 

 

 

 

Link para o post
Compartilhar em outros sites
  • Sub-Admin
2 minutos atrás, Noynac disse:

 

 

Pior que eu tentei fazer desse jeito, mas acredito que comparar o item.item.id com uma LISTA não tava funcionando.. por isso queria saber se tinha alguma função exclusiva pra verificar se ta na lista.

 

 

 

 

 

 

 

teste :3

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites

não funciona..

oque funciona é verificar um a um no array com um for ou usar a função isInArray.

local tb = {1501, 1503, 1702}
if isInArray(tb, item.itemid) then

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
17 horas atrás, xWhiteWolf disse:

não funciona..

oque funciona é verificar um a um no array com um for ou usar a função isInArray.

local tb = {1501, 1503, 1702}
if isInArray(tb, item.itemid) then

[Error - Action Interface]
data/actions/scripts/other/doors.lua:onUse
Description:
data/lib/050-function.lua:10: bad argument #1 to 'ipairs' (table expected, got nil)
stack traceback:
        [C]: in function 'ipairs'
        data/lib/050-function.lua:10: in function 'isInArray'
        data/actions/scripts/other/doors.lua:14: in function <data/actions/scripts/other/doors.lua:7>

 

É outra função não?

Link para o post
Compartilhar em outros sites

@Noynac

local item_existe = false
local item = 'sword'
local item_lista = {'sword','shield','helmet'}

for _,v in pairs(item_lista) do
  if v == item then
        item_existe = true
    break
  end
end

if (item_existe) then
	print('Item "'..item..'" existe no array')
else
	print('Item "'..item..'" não existe no array')
end

 

Essa é uma das maneiras que eu faço esse tipo de validação.

 

Funciona? Claro, pode testar em: https://www.lua.org/cgi-bin/demo

 

Valeu!

Está procurando um Global Mid exp para se divertir e dominar? http://www.deluxe-global.com

Link para o post
Compartilhar em outros sites

function onUse(cid, item, fromPosition, itemEx, toPosition)
local locked_doors = {10774,10783,12150,10477,10468}
if not isInArray(locked_doors, item.itemid) then
return true
end
return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is locked.")
end

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
4 horas atrás, Noynac disse:

[Error - Action Interface]
data/actions/scripts/other/doors.lua:onUse
Description:
data/lib/050-function.lua:10: bad argument #1 to 'ipairs' (table expected, got nil)
stack traceback:
        [C]: in function 'ipairs'
        data/lib/050-function.lua:10: in function 'isInArray'
        data/actions/scripts/other/doors.lua:14: in function <data/actions/scripts/other/doors.lua:7>

 

É outra função não?

lol? acha que você fez alguma burrada no código, se só fizer aquilo que eu falei tem que funcionar.. veja o exemplo do vodkart. 

a função isInArray internamente faz isso aqui:

for i, v in ipairs(tb) do
 if v == item.itemid then
    return true
end
return false
end

ele tá falando que deu erro porque o ipairs espera uma tabela e você forneceu algo nulo (provavelmente item.itemid). Então você tem que verificar se existe item como parametro do callback que você tá utilizando e se realmente tá com o nome de item. (posta o script inteiro pra gente poder te ajudar mais)

 

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo