Garou12 6 Postado Junho 4, 2011 Share Postado Junho 4, 2011 (editado) re-re Editado Setembro 4, 2011 por Garou Link para o comentário Compartilhar em outros sites More sharing options...
Demonbholder 420 Postado Junho 5, 2011 Share Postado Junho 5, 2011 (editado) Genial, ótimo sistema, gostei muito! Vê se não tira esse. Abraços. :button_ok: Editado Junho 5, 2011 por Demonbholder Link para o comentário Compartilhar em outros sites More sharing options...
Garou12 6 Postado Junho 5, 2011 Autor Share Postado Junho 5, 2011 (editado) Haha, pode deixar, não irei tirar ele não. Qualquer sugestão para o sistema pode ser apresentada aqui. Editado Junho 5, 2011 por Garou Link para o comentário Compartilhar em outros sites More sharing options...
elitevini 1 Postado Junho 11, 2011 Share Postado Junho 11, 2011 (editado) [11/06/2011 11:59:36] [Error - Action Interface] [11/06/2011 11:59:36] data/actions/scripts/iron hammer.lua:onUse [11/06/2011 11:59:36] Description: [11/06/2011 11:59:36] (luaDoItemSetAttribute) Item not found olha o erro q fika dando quando eu transformo o item e tem sucesso, mais quando não tem sucesso de transforma o item não tem erro algum como eu arrumo isso ? Editado Junho 11, 2011 por ManoPergunta Link para o comentário Compartilhar em outros sites More sharing options...
camcam 3 Postado Junho 11, 2011 Share Postado Junho 11, 2011 (editado) Muito Bom Este Scripter, Não Tou Tendo Tempo Agora Mais Depos eu Testo. Editado Junho 11, 2011 por camcam Link para o comentário Compartilhar em outros sites More sharing options...
beto06 304 Postado Junho 12, 2011 Share Postado Junho 12, 2011 (editado) Funcionou perfeitamente, belo script. Rep++ -- Como fazer pra criar item em quantidade? [2544, 100] = { -- o item que será feito recipe = {{5901, 50}}, -- a receita do item Não deu certo assim. =/ -- Ahh, e o DoItemSetAttribute da erro também, como o do amigo acima. Editado Junho 13, 2011 por Beto06 Link para o comentário Compartilhar em outros sites More sharing options...
Sanf 22 Postado Julho 17, 2011 Share Postado Julho 17, 2011 Kra os creditos não tão funcionando (DoSetItemAtribute como ajeitar isso? Link para o comentário Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Julho 17, 2011 Share Postado Julho 17, 2011 Belo sistema lobão (: está de parabéns,obrigado por trazer ao xistebea abraços Link para o comentário Compartilhar em outros sites More sharing options...
Sanf 22 Postado Julho 17, 2011 Share Postado Julho 17, 2011 Ei Vodkart da uma ajuda ae, pra min vc é o melhor quando se esta falando de scripts aki no Xtibia.. como arrumo isso. Link para o comentário Compartilhar em outros sites More sharing options...
beto06 304 Postado Julho 17, 2011 Share Postado Julho 17, 2011 (editado) @semruela Mude a parte do iron hammer.lua, no final, por essa: if(chance >= math.random(1, 1000)) then local item = doCreateItem(match, 1, toPosition) doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "You have created ".. getItemInfo(match).article .." ".. getItemNameById(match)..".") doSendMagicEffect(toPosition, CONST_ME_MAGIC_RED) doSendAnimatedText(toPosition, "Success!", TEXTCOLOR_GREEN) doItemSetAttribute(item, "description", 'It has been forged by ' .. getCreatureName(cid) .. '.') else doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Something went wrong.") doSendMagicEffect(toPosition, CONST_ME_POFF) doSendAnimatedText(toPosition, "Failure!", TEXTCOLOR_RED) end return true end return doPlayerSendCancel(cid, "This forge recipe doesn't exist.") end Aqui funcionou... Editado Julho 17, 2011 por Beto06 Link para o comentário Compartilhar em outros sites More sharing options...
pauloestore 0 Postado Agosto 4, 2011 Share Postado Agosto 4, 2011 Eu consegui por no OT funciono... Porém eu gostaria de fazer de mais itens exemplo: ai você fez o da Sov eu queria fazer do Sca etc..como eu faço? faço vários arquivos e só mudo o nome dele exemplo: 039-Blacksmith e o cod de dentro? ou tenho que fazer algo mais? tentei faze isso não deu certo.Tem algum lugar que eu tenho que modifica? eu mudei id dentro do arquivo lua ta tudo certinho mas na hora de Forja num da... Link para o comentário Compartilhar em outros sites More sharing options...
fazepao 1 Postado Agosto 7, 2011 Share Postado Agosto 7, 2011 Ae vlw, ajudo mt, ja tava projetando as coisa aki, agora com esse script vai fika muito mais facil ;D REP+ vlw ;D Link para o comentário Compartilhar em outros sites More sharing options...
laravita 4 Postado Agosto 13, 2011 Share Postado Agosto 13, 2011 Ótimo script, já adicionei ele o meu ot. REP+ Link para o comentário Compartilhar em outros sites More sharing options...
mapperneto 4 Postado Agosto 18, 2011 Share Postado Agosto 18, 2011 Lol parece ser muito legal, funciona em 9.10? +Rep Link para o comentário Compartilhar em outros sites More sharing options...
hique86 15 Postado Agosto 29, 2011 Share Postado Agosto 29, 2011 Nome: The Blacksmith System Autor: Garou Testado em: The Forgotten Server rev3884 Olá, Este é um sistema que eu fiz a um tempo atrás. Basicamente, é um sistema onde você posiciona uma certa combinação de itens em cima uma bigorna, usa um certo item em cima dessa combinação e se tudo ocorrer com sucesso, você terá um novo item para usar. O motivo para desenvolver este sistema, foi olhar para outros genéricos que foram disponibilizados anteriormente que eu, particularmente, achei não conter nenhuma noção de RPG, afinal não é em todo jogo que você coloca itens em lugares específicos e numa ordem pré-determinada e puxa uma alavanca do mal para fundir os itens... Sem mais enrolação, vamos ao que interessa. INSTALAÇÃO Crie um arquivo chamado 038-blacksmith.lua na sua pasta data/lib, após isso, abra o arquivo e cole este conteúdo abaixo. config = { credits = true -- Adicionar criado por na descrição do item? } forges = { [2400] = { -- o item que será feito recipe = {{2376, 1}}, -- a receita do item chance = 1000 -- chance do item dar certo (100% = 1000, 1% = 10, 0.5% = 5 e etc) } } O próximo passo é criar um arquivo chamado iron hammer.lua na sua pasta data/actions/scripts e então colar este código abaixo: local chance = nil function onUse(cid, item, fromPosition, itemEx, toPosition) if isInArray({0, 65535}, toPosition.x) then return false elseif getTileItemById(toPosition, 2555).uid < 1 then return doPlayerSendCancel(cid, 'You must put the ingredients on an anvil.') end local tmp, match = {} for ret, v in pairs(forges) do for i = 1, #v.recipe do local g = getTileItemById(toPosition, v.recipe[i][1]) if g.uid > 0 and math.max(1, g.type) == v.recipe[i][2] then table.insert(tmp, g.uid) if i == #v.recipe then match = ret chance = v.chance end else tmp = {} break end end if match then break end end if match then for i = 1, #tmp do doRemoveItem(tmp[i], forges[match].recipe[i][2]) end if(chance >= math.random(1, 1000)) then doCreateItem(match, 1, toPosition) doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "You have created ".. getItemInfo(match).article .." ".. getItemNameById(match)..".") doSendMagicEffect(toPosition, CONST_ME_MAGIC_RED) doSendAnimatedText(toPosition, "Success!", TEXTCOLOR_GREEN) doItemSetAttribute(create, "description", "".. getItemInfo(match).description .."".. (config.credits == true and "\nIt has forged by ".. getCreatureName(cid) .."." or "")) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Something went wrong.") doSendMagicEffect(toPosition, CONST_ME_POFF) doSendAnimatedText(toPosition, "Failure!", TEXTCOLOR_RED) end return true end return doPlayerSendCancel(cid, "This forge recipe doesn't exist.") end Pronto! Você já tem o sistema instalado no seu servidor. Basta então registrar essa chave no seu arquivo actions.xml. <action itemid="4846" event="script" value="iron hammer.lua"/> CONFIGURAÇÃO A configuração do sistema se faz bastante simples, você não precisa mexer EM NADA do script, apenas nas informações do arquivo situado em data/lib. Veja abaixo: config = { credits = true -- Adicionar criado por na descrição do item? } forges = { [2400] = { -- o item que será feito recipe = {{2376, 1}}, -- a receita do item chance = 1000 -- chance do item dar certo (100% = 1000, 1% = 10, 0.5% = 5 e etc) } } As linhas comentadas já explicam toda a estruturação das informações do arquivo, se você quiser criar uma receita para um item, basta apenas ir adicionando os itens da receita e suas respectivas quantidades. Veja abaixo como formatar a receita: recipe = {{ITEM1, QUANT1}, {ITEM2, QUANT2}, {ITEM3, QUANT3}, {ITEM4, QUANT4}, ..., {ITEM99, QUANT99}}, O sistema foi criado para que o sistema identifique receitas de até N itens, onde (provavelmente) N tende ao infinito. E claro, o sistema irá identificar a receita do item, não importando a ordem que você dispor os itens na bigorna. Vamos a um exemplo agora: "Quero uma receita de Golden Helmet que precise de 100 gold ingots e 1 iron helmet". Então: config = { credits = true -- Adicionar criado por na descrição do item? } forges = { [2400] = { -- o item que será feito recipe = {{2376, 1}}, -- a receita do item chance = 1000 -- chance do item dar certo (100% = 1000, 1% = 10, 0.5% = 5 e etc) }, -- note essa vírgula entre as diferentes receitas [2471] = { -- id do golden helmet recipe = {{9971, 100}, {2459, 1}} -- a receita do exemplo chance = 10 -- 1% de chance hehe } } Espero que você tenha entendido todo esse sistema, rs. Assim que eu puder, irei postar vídeo e imagens do funcionamento do sistema. p.s: Você pode tirar dúvidas aqui neste tópico e reportar erros. Um grande abraço, Garou. Desculpe minha ignorancia, mas como que eu coloco isso no meu ot?!? tipo, é pela lavanca?!? por comando?!? da uma ajuda ae, valew Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados