Postado Março 5, 2015 10 anos Em 05/03/2015 em 02:44, Caronte disse: WTF ? ? ? é possível sim... Ele disse que aceita outras sugestões e falou que não estava conseguindo colocar o item na quest pois não aparecia no RME, então passei o script pra ao inves dele ter que adicionar o item direito no baú da quest, ele adicionar a uniqueid. ➥ Regras | Seções OTServ | Seções BOT
Postado Março 5, 2015 10 anos Autor Em 05/03/2015 em 02:42, Wakon disse: Crie 1 uniqueid para usar no baú: Vá em "Data/actions/scripts" copie e cole 1 arquivo .xml, renomeie ele para questitem.xml e cole isso dentro: local config = { recompensa = 2493, -- ID da recompensa. nitem = "Item test.", -- Nome da recompensa. storage = 50029 -- Se for criar outra quest com esse mesmo script, altere a storage pra 1 diferente. } function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid,config.storage) == -1 then doPlayerSendTextMessage(cid,25,"You have found a "..config.nitem..".") doPlayerAddItem(cid,config.recompensa,1) setPlayerStorageValue(cid,config.storage,1) else doPlayerSendTextMessage(cid,25,"The is empty.") end return true end Agora vá em "Data/actions/actions.xml" e adicione essa linha: <action uniqueid="50029" script="questitem.lua"/> Ai lá no Remere's você clica com o direito no baú, clica em properties e coloca 50029 em Unique ID. Deu certo mano, obrigado denovo...kkkkkk Reputado!
Postado Março 5, 2015 10 anos Acho que vc soh precisava trocar o intens.otb e o itens.xml do seu remare's... Porém eu sempre faço quests via action, mais tranquilo pra editar @Wakon, , não eh necessário pegar o nome do item, pois temos a função ''getItemName(itemid)'', que pega o nome do item pelo itemid... Portanto, pode tirar essa linha nitem = "Item test.", -- Nome da recompensa. e, nessa linha doPlayerSendTextMessage(cid,25,"You have found a "..config.nitem..".") alterar ''config.nitem'' para ''getItemName(config.recompensa)'', ficando assim doPlayerSendTextMessage(cid,25,"You have found a "..getItemName(config.recompensa)..".") Editado Março 5, 2015 10 anos por david0703 (veja o histórico de edições) Atenciosamente, David Araujo Meu Conteúdo Fui útil? Gostou? Faça uma doação. "É errando que se erra." "Gambiarras resolvem instantemente, porém podem complicar em problemas futuros." "Cada dia vivido é um aprendizado."
Postado Março 5, 2015 10 anos Em 05/03/2015 em 17:19, david0703 disse: Acho que vc soh precisava trocar o intens.otb e o itens.xml do seu remare's... Porém eu sempre faço quests via action, mais tranquilo pra editar @Wakon, , não eh necessário pegar o nome do item, pois temos a função ''getItemName(itemid)'', que pega o nome do item pelo itemid... Portanto, pode tirar essa linha nitem = "Item test.", -- Nome da recompensa. e, nessa linha doPlayerSendTextMessage(cid,25,"You have found a "..config.nitem..".") alterar ''config.nitem'' para ''getItemName(config.recompensa)'', ficando assim doPlayerSendTextMessage(cid,25,"You have found a "..getItemName(config.recompensa)..".") Ah fica mais organizado e eu testei essa função ai e o servidor não reconhece :S ➥ Regras | Seções OTServ | Seções BOT
Postado Março 5, 2015 10 anos ah sim, não são todos os servidores que tem... essa seria a função- getItemDescriptions(item).name na pasta lib, em algum arquivo, acrescente isso function getItemName(uid) return getItemDescriptions(uid).name end caso não queira adicionar a função na lib, troque getItemName(config.recompensa) por getItemDescriptions(config.recompensa).name e, para ficar organizado, escreva o nome do item apos o id, ex. recompensa = 2493, --Diamond Editado Março 5, 2015 10 anos por david0703 (veja o histórico de edições) Atenciosamente, David Araujo Meu Conteúdo Fui útil? Gostou? Faça uma doação. "É errando que se erra." "Gambiarras resolvem instantemente, porém podem complicar em problemas futuros." "Cada dia vivido é um aprendizado."
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.