Postado Junho 26, 2019 5 anos Autor 11 horas atrás, Joaovettor disse: Em creaturescripts/scripts V Ocultar conteúdo local config = { storage = 34567, -- storage que o player precisa ter item = 2160 -- item que vai receber ao matar o monstro } function onDeath(cid, corpse, deathList) if isMonster(cid) then if getPlayerStorageValue(deathList[1], config.storage) >= 1 then doPlayerAddItem(deathList[1], config.item, 1) end end return true end Em creaturescripts.xml V Ocultar conteúdo <event type="death" name="QuestDemon" event="script" value="questdemon.lua"/> Em creaturescripts/scripts/login.lua V Ocultar conteúdo registerCreatureEvent(cid, "QuestDemon") E em monster/demon abaixo de /flags Ocultar conteúdo <script> <event name="QuestDemon"/> </script> Opa, primeiramente obrigado pela ajuda, Deixa eu perguntar. Tem como colocar por chance do item dropar ou nao? Tipo, uma vez que o player pega a quest eu nao quero que el drope toda vez que matar um monstro desse, mas sim que seja por chance normal onde eu dificultarei para que ele tenha que matar muitas criaturas para ai sim conseguir dropar tal item;
Postado Junho 26, 2019 5 anos 4 horas atrás, maicao22 disse: Opa, primeiramente obrigado pela ajuda, Deixa eu perguntar. Tem como colocar por chance do item dropar ou nao? Tipo, uma vez que o player pega a quest eu nao quero que el drope toda vez que matar um monstro desse, mas sim que seja por chance normal onde eu dificultarei para que ele tenha que matar muitas criaturas para ai sim conseguir dropar tal item; Atualizei o tópico
Postado Junho 27, 2019 5 anos Autor Obrigado meu brother, deu certinho aqui. So uma ultima curiosidade, apenas para fins acadêmico, pois do jeito que ta esta otimo. Mas digamos que em vez de fazer o item ser adicionado na bp do player com a function doPlayerAddItem, cair como loot do monstro mesmo. Sera que e possivel isso, existe uma function para tal? Mais uma vez brigadão. Vou deixar como ficou o meu abaixo para quem quiser. Adicionei para remover a storage depois que conseguir o item. local config = { chance = 0.1, -- chance em % de dar o item storage = 30318, -- storage que o player precisa ter item = 10523 -- item que vai receber ao matar o monstro } function onDeath(cid, corpse, deathList) if isMonster(cid) then if getPlayerStorageValue(deathList[1], config.storage) >= 1 then if math.random (1,100) <= config.chance then doPlayerAddItem(deathList[1], config.item, 1) doPlayerSendTextMessage(deathList[1],22,"Voce encontrou 1 egg of the Many.") setPlayerStorageValue(deathList[1], 30318, -1) end end end return true end PS: Tentei implementar para verificar a cap do player antes mas nao obtive sucesso. Tentei dessa forma. local config = { chance = 0.1, -- chance em % de dar o item storage = 30318, -- storage que o player precisa ter item = 10523, -- item que vai receber ao matar o monstro peso = 50.00 } function onDeath(cid, corpse, deathList) if isMonster(cid) then if getPlayerFreeCap(cid) >= peso then if getPlayerStorageValue(deathList[1], config.storage) >= 1 then if math.random (1,100) <= config.chance then doPlayerAddItem(deathList[1], config.item, 1) doPlayerSendTextMessage(deathList[1],22,"Voce encontrou 1 egg of the Many.") setPlayerStorageValue(deathList[1], 30318, -1) end end else doPlayerSendTextMessage(deathList[1],20,"Voce nao pode obter o egg of the many enquanto sua bp estiver cheia.") end end return true end
Postado Junho 27, 2019 5 anos 23 minutos atrás, maicao22 disse: Obrigado meu brother, deu certinho aqui. So uma ultima curiosidade, apenas para fins acadêmico, pois do jeito que ta esta otimo. Mas digamos que em vez de fazer o item ser adicionado na bp do player com a function doPlayerAddItem, cair como loot do monstro mesmo. Sera que e possivel isso, existe uma function para tal? Mais uma vez brigadão. Vou deixar como ficou o meu abaixo para quem quiser. Adicionei para remover a storage depois que conseguir o item. local config = { chance = 0.1, -- chance em % de dar o item storage = 30318, -- storage que o player precisa ter item = 10523 -- item que vai receber ao matar o monstro } function onDeath(cid, corpse, deathList) if isMonster(cid) then if getPlayerStorageValue(deathList[1], config.storage) >= 1 then if math.random (1,100) <= config.chance then doPlayerAddItem(deathList[1], config.item, 1) doPlayerSendTextMessage(deathList[1],22,"Voce encontrou 1 egg of the Many.") setPlayerStorageValue(deathList[1], 30318, -1) end end end return true end PS: Tentei implementar para verificar a cap do player antes mas nao obtive sucesso. Tentei dessa forma. local config = { chance = 0.1, -- chance em % de dar o item storage = 30318, -- storage que o player precisa ter item = 10523, -- item que vai receber ao matar o monstro peso = 50.00 } function onDeath(cid, corpse, deathList) if isMonster(cid) then if getPlayerFreeCap(cid) >= peso then if getPlayerStorageValue(deathList[1], config.storage) >= 1 then if math.random (1,100) <= config.chance then doPlayerAddItem(deathList[1], config.item, 1) doPlayerSendTextMessage(deathList[1],22,"Voce encontrou 1 egg of the Many.") setPlayerStorageValue(deathList[1], 30318, -1) end end else doPlayerSendTextMessage(deathList[1],20,"Voce nao pode obter o egg of the many enquanto sua bp estiver cheia.") end end return true end Da forma que você quer especificamente, você pode simplesmente criar 1 monstro novo só que com nome de Demon E para Capacity está aqui V Spoiler local config = { chance = 0.1, -- chance em % de dar o item storage = 30318, -- storage que o player precisa ter item = 10523, -- item que vai receber ao matar o monstro peso = 50.00 } function onDeath(cid, corpse, deathList) if isMonster(cid) then if getPlayerStorageValue(deathList[1], config.storage) >= 1 then if math.random (1,100) <= config.chance then if getPlayerFreeCap(cid) >= config.peso then doPlayerAddItem(deathList[1], config.item, 1) doPlayerSendTextMessage(deathList[1],22,"Voce encontrou 1 egg of the Many.") setPlayerStorageValue(deathList[1], 30318, -1) else doPlayerSendTextMessage(deathList[1], 22, "You don't have capacity") end end end end return true end
Postado Junho 27, 2019 5 anos Autor Muito obrigado grande, funcionando perfeitamente. Uma ultima coisa e paro de incomodar. Mas eu estava pensando aqui se em vez de apenas mandar a mensagem la sobre a cap, enviar o item direto para a dp do player. Ou seja se ele nao tiver cap o script funciona perfeitamente mas o item vai para a depot do player. Acho que ja tou pedindo demais. Creio que isso e bem mais complexo, mas se for possível eu agradeço demais. Vlw amigo!
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.