ƤāƱŁѲ ƒēƦƦēƗƦā 1,220 Posted December 14, 2013 Boas pessoal, deixo aqui uma função para fazerem uma especie de upgrade a um item para outro tipo de item qualquer, ou seja, levam um item a um npc, arrastam para cima e escolhem a item que querem que transmute... Ou seja, podem colocar a transmutar uma batalha para uma sirius, para uma venenosa, para a arma que assim entenderem... Deixo aqui a função: function pc_upgrade(cell, itemup) if item.select_cell(tonumber(cell)) then local attr = {{item2.get_attr(0)}, {item2.get_attr(1)}, {item2.get_attr(2)}, {item2.get_attr(3)}, {item2.get_attr(4)}, {item2.get_attr(5)}, {item2.get_attr(6)}} local socket = {item.get_socket(0), item.get_socket(1), item.get_socket(2)} item.remove() pc2.give_or_drop_item_and_select(itemup) for i = 1, table.getn(attr) do if tonumber(attr[i][1]) > 0 then item2.set_attr(i-1, attr[i][1], attr[i][2]) end end for i = 1, table.getn(socket) do if tonumber(socket[i]) > 0 then item.set_socket(i-1, socket[i]) end end return true end return false end Deixo aqui um exemplo para a quest: when XXX.take begin say("Update para sirius ou venenosa") local opc = select("Sirius", "Venenosa", "fechar") if opc == 3 then return elseif opc == 2 then pc_upgrade(item.get_cell(), ID_VENENOSA) elseif opc == 1 then pc_upgrade(item.get_cell(), ID_SIRIUS) endend Claro que não tem algum tipo de validações, isso façam voces. xD Btw, para uso dessa função terão de usar a lib do iMer (Lib Aqui), mais propriamente as seguintes funções da lib: item2.set_attr e item2.get_attr. Como podem ver no tópico da lib, a mesma é so para o game 34083. Como não tou com o game 2089M não me dei ao trabalho de inventar o sistema para esse game, mas é possivel usando a lf_lib que por sua vez contem o lf_item. Boas ideias, bons sistemas com isso, boa criatividade. Cumprimentos. 5 DamnGirl, Rancoroso, Henrique Oliveira and 2 others reacted to this Share this post Link to post Share on other sites
KlepY 1,995 Posted December 14, 2013 Obrigado por partilhares! +1 Cumprimentos Share this post Link to post Share on other sites
kimameixede 70 Posted December 14, 2013 interessante. good job Share this post Link to post Share on other sites
'PACI 2,317 Posted December 14, 2013 velho essa formalidade não fica bem com vcyolo Share this post Link to post Share on other sites
'PACI 2,317 Posted December 15, 2013 Tá aí para 2089: function pc_upgrade(cell, itemup) if item.select_cell(tonumber(cell)) then local attr = {{lf_item.get_attr(0)}, {lf_item.get_attr(1)}, {lf_item.get_attr(2)}, {lf_item.get_attr(3)}, {lf_item.get_attr(4)}, {lf_item.get_attr(5)}, {lf_item.get_attr(6)}} local socket = {item.get_socket(0), item.get_socket(1), item.get_socket(2)} item.remove() pc_give_or_drop_item_and_select(itemup, 1) for i = 1, table.getn(attr) do if tonumber(attr[i][1]) > 0 then lf_item.set_attr(i-1, attr[i][1], attr[i][2]) end end for i = 1, table.getn(socket) do if tonumber(socket[i]) > 0 then item.set_socket(i-1, socket[i]) end end return true end return falseendfunction pc_give_or_drop_item_and_select(iVnum, iCount) if pc.enough_inventory(iVnum) then pc.give_item2(iVnum, iCount) else game.drop_item_with_ownership(iVnum, iCount) endendNão testei, nem vou testar. Nem sei se a lf_item.get_attr funciona como o item2.get_attr, que funciona como se fosse um array. 2 DamnGirl and Karbust reacted to this Share this post Link to post Share on other sites
.4s 7 Posted December 18, 2013 Uma pergunta, como meto a lib do iMer a trabalhar? a libstdc++.so.6 eu já estava a usar, mas a outra, ando meio baralhado com essa... É com a função do LD_32_PROLOAD certo? se sim, alguem que me escreva aí a função que eu não a sei de cor -.- Share this post Link to post Share on other sites