Postado Maio 31, 2018 7 anos TFS 0.4 - THE FORGOTTEN SERVER 0.4 (8.60), publicado por Firelement. Pedido: Eu encontrei esse código do Vankk: (pedido abaixo) local k = { ["Demon"] = { items = { {2160,10} -- item } } } function onKill(cid, target) for name, pos in pairs(k) do if (name == getCreatureName(target)) then doPlayerAddItem(cid, k.items[1], k.items[2]) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_GIFT_WRAPS) end end return true end Função do código: Ao matar X quantidade do mesmo monstro, o player recebe um item especial. O jogador pode verificar através de um comando (!exemplo) quantos monstros ele já matou ao todo. Ex: (detalhe: apenas quem der o last hit recebe a contagem) Matei 5 bosses, msg: você matou 5 bosses e recebeu um item. Matei mais 5, msg: " " " Usei comando !check, msg: você matou ao todo 10 bosses e recebeu 2 itens Eu também queria entender como faz isso, se alguém que estiver disposto a fazer e puder explicar como eu agradeço. Editado Maio 31, 2018 7 anos por Daniel (veja o histórico de edições) Ot Design: https://discord.gg/VgtVRNmCD7
Postado Maio 31, 2018 7 anos CreatureScripts local storage = { a = 13456, -- Storage que ganhará ao matar o monstro b = 34156, -- Storage que ganhará ao matar 5 monstros c = 12345 -- Storage que ganhará ao ganhar o item } local required = 5 -- Quantos monstros terá que matar local itemid, count = 2160, 5 -- Item ID e sua count function onDeath(cid, corpse, deathList) local killer = deathList[1] if isPlayer(killer) and isMonster(cid) then doCreatureSetStorage(killer, storage.a, getCreatureStorage(killer, storage.a) + 1) if getCreatureStorage(killer, storage.a) >= required then doCreatureSetStorage(killer, storage.a, 0) doCreatureSetStorage(killer, storage.b, getCreatureStorage(killer, storage.b) + 1) doCreatureSetStorage(killer, storage.c, getCreatureStorage(killer, storage.c) + 1) doPlayerAddItem(killer, itemid, count) doPlayerSendTextMessage(killer, 18, "Voce recebeu ".. count .." ".. getItemInfo(itemid).name .." ao matar o monstro.") return true end return true end return true end Login.lua , antes do ultimo return true você adiciona essas linhas: local storage = { a = 13456, -- Storage que ganhará ao matar o monstro b = 34156, -- Storage que ganhará ao matar 5 monstros c = 12345 -- Storage que ganhará ao ganhar o item } if getCreatureStorage(cid, 13451) == -1 then doCreatureSetStorage(cid, storage.a, 0) doCreatureSetStorage(cid, storage.b, 0) doCreatureSetStorage(cid, storage.c, 0) doCreatureSetStorage(cid, 13451, 1) end Talkactions local required = 5 -- Quantos monstros terá que matar local storage = { a = 13456, -- Storage que ganhará ao matar o monstro b = 34156, -- Storage que ganhará ao matar 5 monstros c = 12345 -- Storage que ganhará ao ganhar o item } function onSay(cid, words, param, channel) doPlayerSendTextMessage(cid, 27, "Você já matou ".. getCreatureStorage(cid, storage.b) * required .." e recebeu ".. getCreatureStorage(cid, storage.c) .." itens especiais") return true end
Postado Maio 31, 2018 7 anos Autor @Sttorm Como eu entrego essa storage? É só um monstro específico. Utilizo isso? <script> <event name="X"/> </script> E se eu fizer assim: local storage = { a = 13456, -- Storage que ganhará ao matar o monstro b = 34156, -- Storage que ganhará ao matar 5 monstros c = 12345 -- Storage que ganhará ao ganhar o item } local required = 5 -- Quantos monstros terá que matar local itemid, count = 2160, 5 -- Item ID e sua count local monsters { d = {"Demon", "dragon", "orc"], } function onDeath(cid, corpse, deathList) local killer = deathList[1] if isPlayer(killer) and isMonster(cid) then if getMonsterInfo(monsters.d) then doCreatureSetStorage(killer, storage.a, getCreatureStorage(killer, storage.a) + 1) if getCreatureStorage(killer, storage.a) >= required then doCreatureSetStorage(killer, storage.a, 0) doCreatureSetStorage(killer, storage.b, getCreatureStorage(killer, storage.b) + 1) doCreatureSetStorage(killer, storage.c, getCreatureStorage(killer, storage.c) + 1) doPlayerAddItem(killer, itemid, count) doPlayerSendTextMessage(killer, 18, "Voce recebeu ".. count .." ".. getItemInfo(itemid).name .." ao matar o monstro.") return true end return true end return true end return true end Editado Maio 31, 2018 7 anos por Daniel (veja o histórico de edições) Ot Design: https://discord.gg/VgtVRNmCD7
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.