Postado Abril 29, 2011 14 anos IAE' - Bom, essa quest funciona assim: Você abre o baú, e você ganha uns dos itens aletoriamente. Criador = thalia Postado por = thalia Créditos = thalia Meu nick = thalia Sem mais delongas, o script: -->Crie um arquivo em data/actions/scripts com o nome de quest_random.lua e cole este código dentro: -- Script by: thalia. local randomizar = { [1] = {name="demon armor", id = 2494, qnt = 1}, [2] = {name="demon legs", id = 2495, qnt = 1}, [3] = {name="demon helmet", id = 2493, qnt = 2}, [4] = {name="infernal bolt", id = 6529, qnt = 100}, } function onUse(cid, item, item2, topos, frompos) local config = { level = 100, -- Level minimo para fazer a quest storage = 14971, -- Não Altere Isso efeito = 28, -- Efeito que fara qndo a quest for feita } if getPlayerLevel(cid) <= config.level then return doPlayerSendCancel(cid, "Você não tem level para fazer esta quest.") end if getPlayerStorageValue(cid, config.storage) == 1 then return doPlayerSendCancel(cid, "Você já fez essa quest.") end pos = getThingPos(cid) a = randomizar[math.random(1,#randomizar)] doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você ganhou "..a.name..".") doSendMagicEffect(pos, config.efeito) setPlayerStorageValue(cid, config.storage, 1) if isItemStackable(a.id) then doPlayerAddItem(cid, a.id,a.qnt) else for i = 1, a.qnt do doPlayerAddItem(cid, a.id, 1) end end return TRUE end -->Agora em data/actions/actions.xml add esta tag: <action actionid="4500" event="script" value="quest_random.lua"/> Acabou? Não No seu mapa editor, clique com o botão direito do mouse sobre ele e selecione Properties, como na imagem: Em Action ID coloque 4500, em Unique ID deixe 0 mesmo, como mostra a imagem: Explicando a editar local randomizar = { [1] = {name="demon armor", id = 2494, qnt = 1}, [2] = {name="demon legs", id = 2495, qnt = 1}, [3] = {name="demon helmet", id = 2493, qnt = 1}, [4] = {name="infernal bolt", id = 6529, qnt = 100}, } Para add mais itens: [5] = {name=NOME DO ITEM", id = ID DO ITEM, qnt = QUANTIDADE}, [6] = {name=NOME DO ITEM", id = ID DO ITEM, qnt = QUANTIDADE}, [7] = {name=NOME DO ITEM", id = ID DO ITEM, qnt = QUANTIDADE}, Agora sim terminou Editado Abril 29, 2011 14 anos por thalia (veja o histórico de edições)
Postado Abril 29, 2011 14 anos -- Script by: thalia. local randomizar = { [1] = {name="demon armor", id = 2494, qnt = 1}, [2] = {name="demon legs", id = 2495, qnt = 1}, [3] = {name="demon helmet", id = 2493, qnt = 1}, [4] = {name="infernal bolt", id = 6529, qnt = 100}, } function onUse(cid, item, item2, topos, frompos) local config = { level = 100, -- Level minimo para fazer a quest storage = 14571, -- Não Altere Isso efeito = 28, -- Efeito que fara qndo a quest for feita } if getPlayerLevel(cid) <= config.level then return doPlayerSendCancel(cid, "Você não tem level para fazer esta quest.") end if getPlayerStorageValue(cid, config.storage) == 1 then return doPlayerSendCancel(cid, "Você já fez essa quest.") end pos = getThingPos(cid) a = randomizar[math.random(1,#randomizar)] doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você ganhou "..a.name..".") doSendMagicEffect(pos, config.efeito) setPlayerStorageValue(cid, config.storage, 1) if isItemStackable(a.id) then doPlayerAddItem(cid, a.id,a.qnt) else for i = 1, a.qnt do doPlayerAddItem(cid, a.id, 1) end end return TRUE end Se tu não te importa eu editei porque a função doPlayerAddItem não adiciona itens não agrupáveis mais de uma vez. Não testei, testa ai e se quiser substitui. Editado Abril 29, 2011 14 anos por Renato (veja o histórico de edições)
Postado Abril 29, 2011 14 anos Eu não entendi aqui: doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você ganhou "..a.name..".") porque que é a.name? não seria randomizar.name? explica please? não entendi esse 'a' AHSUAHHASU Muito criativo mano :} Rep+
Postado Abril 29, 2011 14 anos Autor a = randomizar[math.random(1,#randomizar)] doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você ganhou "..a.name..".") "a" é a variavel da tabela: [1] = {name="demon armor", id = 2494, qnt = 1}, Então se no math.random e item [1] for escolido , o nome vai ser "demon armor". Tendeu?
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.