Postado Janeiro 31, 2018 7 anos Olá galera, estou tentando fazer uma função que pegue todos os atributos de um item. Exemplo: doItemSetAttribute(item.uid, "X", 1) doItemSetAttribute(item.uid, "Xx", 1) Ao usar a função getItemAllAttribute(item.uid) iria retornar os atributos do item ('X',"Xx"), alguém tem uma ideia de onde começar a fazer essa função - getItemAllAttribute Obs: Tfs 0.3.6 @Dwarfer Editado Janeiro 31, 2018 7 anos por DboExplorer (veja o histórico de edições) Te ajudei ?? Que tal fazer uma contribuição ?
Postado Janeiro 31, 2018 7 anos Você diz de atributos costumizados? Se sim, tem a source do teu servidor? (se não, vai ter que ser uma pequena gambiarra)
Postado Janeiro 31, 2018 7 anos Autor 11 minutos atrás, Mono Singed disse: Você diz de atributos costumizados? Se sim, tem a source do teu servidor? (se não, vai ter que ser uma pequena gambiarra) Eu tenho a source do servidor, e estou tentando montar a função pra puxar todos os atributos, como não entendo de C++ fica complicado, e sim são atributos costumizados. Te ajudei ?? Que tal fazer uma contribuição ?
Postado Janeiro 31, 2018 7 anos Então, tem o jeito mais correto de fazer isso em C++, mas fica ruim tu me passar as sources aqui pelo fórum, então dá pra fazer isso: Vá até a pasta lib, e abra o arquivo 050-function: Após isso. insira, no começo do arquivo, o seguinte: CUSTOM_ITEM_ATTR = {"atributoX", "atributoY"} --ponha todos os nomes dos atributos customizados que tu for utilizar nesta tabela, modelo --[ retorna um array com o valor e a chave de todos atributos contidos no array CUSTOM_ITEM_ATTR ]-- function doGetAllItemAttr(uid) if not isCreature(uid) then local item_attributes = {} for key, value in pairs(CUSTOM_ITEM_ATTR) do item_attributes[value] = getItemAttribute(uid, value) end else return false end return item_attributes end Basicamente, tu terá que que adicionar o nome de todos atributos customizados na tabela CUSTOM_ITEM_ATTR. Não testei, vê aí no que deu. Se funcionar e quiser uns exemplos de uso, eu te dou. Editado Janeiro 31, 2018 7 anos por Mono Singed (veja o histórico de edições)
Postado Janeiro 31, 2018 7 anos Autor 32 minutos atrás, Mono Singed disse: Então, tem o jeito mais correto de fazer isso em C++, mas fica ruim tu me passar as sources aqui pelo fórum, então dá pra fazer isso: Vá até a pasta lib, e abra o arquivo 050-function: Após isso. insira, no começo do arquivo, o seguinte: CUSTOM_ITEM_ATTR = {"atributoX", "atributoY"} --ponha todos os nomes dos atributos customizados que tu for utilizar nesta tabela, modelo --[ retorna um array com o valor e a chave de todos atributos contidos no array CUSTOM_ITEM_ATTR ]-- function doGetAllItemAttr(uid) if not isCreature(uid) then local item_attributes = {} for key, value in pairs(CUSTOM_ITEM_ATTR) do item_attributes[value] = getItemAttribute(uid, value) end else return false end return item_attributes end Basicamente, tu terá que que adicionar o nome de todos atributos customizados na tabela CUSTOM_ITEM_ATTR. Não testei, vê aí no que deu. Se funcionar e quiser uns exemplos de uso, eu te dou. Eu to querendo fazer sem precisar por um tabela especificando cara atributo customizado entende? Dessa forma em lua eu já fiz, porém se eu adicionar um atributo novo e esquecer de por na tabela vai dar problema, por isso queria fazer em c++ pra pegar todos direto sem precisa especificar cada um. Te ajudei ?? Que tal fazer uma contribuição ?
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.