DeathOfKill 2 Posted July 19, 2020 Olá galera.boa noite..alguém poderia me ajudar..preciso de uma quest...que quando player mata um boss.o bau vai direto pro inventario de quem matou! Share this post Link to post Share on other sites
2 .Rui 157 Posted July 20, 2020 Acho que estás no lugar errado para pedir ajuda, devias ter pedido na parte das Dúvidas & Pedidos. --[[ Author: .Rui Discord: .Rui#3825 Date: 20/07/2020 --]] quest boss_chest_drop begin state start begin function base_config() boss_id = 101; -- (ID_DO_BOSS) item_c = {101, 1}; -- (ID_DO_ITEM, QUANTIDADE_DO_ITEM) return {boss_id, item_c}; end --end (base_config) when kill with npc.get_race() == tonumber(boss_chest_drop.base_config()[1]) begin pc.give_item2(tonumber(boss_chest_drop.base_config()[2][1]), tonumber(boss_chest_drop.base_config()[2][2])); end -- end (Kill State) end -- end (State start) end -- end (boss_chest_drop) 2 1 DeathOfKill, p0w3r0ff and 'ŞŦŘƗƗҜ€Ř' reacted to this Share this post Link to post Share on other sites
0 'ŞŦŘƗƗҜ€Ř' 567 Posted July 20, 2020 Tópico movido para Metin2 - Dúvidas & Pedidos. Cumprimentos. Share this post Link to post Share on other sites
0 DeathOfKill 2 Posted July 20, 2020 RUI muito obrigado! Deus lhe Abençoe Mano.sei que estou no lugar errado pra pedir...mais só por gentileza... como faz pra eu colocar em mais de 1 boss.. ali coloquei no dragão de água..e ta dropando...tbm queria colocar no dragão de fogo, porém tentei mais sempre para de dropar no de água --[[ Author: .Rui Discord: .Rui#3825 Date: 20/07/2020 --]] quest boss_chest_drop begin state start begin function base_config() boss_id = 101; -- (ID_DO_BOSS) item_c = {101, 1}; -- (ID_DO_ITEM, QUANTIDADE_DO_ITEM) return {boss_id, item_c}; end --end (base_config) when kill with npc.get_race() == tonumber(boss_chest_drop.base_config()[1]) begin pc.give_item2(tonumber(boss_chest_drop.base_config()[2][1]), tonumber(boss_chest_drop.base_config()[2][2])); end -- end (Kill State) end -- end (State start) end -- end (boss_chest_drop) Share this post Link to post Share on other sites
0 .Rui 157 Posted July 20, 2020 Não te esqueças de retirar a outra. --[[ Author: .Rui Discord: .Rui#3825 Date: 20/07/2020 Version: 0.0.2 --]] quest boss_chest_drop begin state start begin function base_config() local boss_drop_cfg = { --[[ Podes adicionar mais drops aos bosses seguindo o exemplo: [ID_DO_BOSS] = {ID_DO_ITEM, QUANTIDADE_DO_ITEM}, --]] [101] = {101, 1}, [102] = {101, 1}, }; return boss_drop_cfg; end -- end (base_config) function is_boss(monster_id) return boss_chest_drop.base_config()[monster_id]; end -- end (is_boss) when kill with (boss_chest_drop.is_boss(npc.get_race()) ~= nil) begin pc.give_item2(tonumber(boss_chest_drop.base_config()[npc.get_race()][1]), tonumber(boss_chest_drop.base_config()[npc.get_race()][2])); end -- end (Kill State) end -- end (State start) end -- end (boss_chest_drop) 1 'ŞŦŘƗƗҜ€Ř' reacted to this Share this post Link to post Share on other sites
0 DeathOfKill 2 Posted July 21, 2020 Desculpe rui,ainda não conseguir entender,, poderia fazer pra mim um ex com Boss 2493 Bau 54700 e o boss 2291 e bau 50290 Share this post Link to post Share on other sites
0 'ŞŦŘƗƗҜ€Ř' 567 Posted July 21, 2020 --[[ Author: .Rui Discord: .Rui#3825 Date: 20/07/2020 Version: 0.0.2 --]] quest boss_chest_drop begin state start begin function base_config() local boss_drop_cfg = { --[[ Podes adicionar mais drops aos bosses seguindo o exemplo: [ID_DO_BOSS] = {ID_DO_ITEM, QUANTIDADE_DO_ITEM}, --]] [2493] = {54700, 1}, [2291] = {50290, 1}, }; return boss_drop_cfg; end -- end (base_config) function is_boss(monster_id) return boss_chest_drop.base_config()[monster_id]; end -- end (is_boss) when kill with (boss_chest_drop.is_boss(npc.get_race()) ~= nil) begin pc.give_item2(tonumber(boss_chest_drop.base_config()[npc.get_race()][1]), tonumber(boss_chest_drop.base_config()[npc.get_race()][2])); end -- end (Kill State) end -- end (State start) end -- end (boss_chest_drop) Basta alterar os números que estão a azul, em cima diz o que é o quê. Cumprimentos. Share this post Link to post Share on other sites
0 'PACI 2,317 Posted July 26, 2020 On 7/20/2020 at 11:32 PM, .Rui said: Não te esqueças de retirar a outra. --[[ Author: .Rui Discord: .Rui#3825 Date: 20/07/2020 Version: 0.0.2 --]] quest boss_chest_drop begin state start begin function base_config() local boss_drop_cfg = { --[[ Podes adicionar mais drops aos bosses seguindo o exemplo: [ID_DO_BOSS] = {ID_DO_ITEM, QUANTIDADE_DO_ITEM}, --]] [101] = {101, 1}, [102] = {101, 1}, }; return boss_drop_cfg; end -- end (base_config) function is_boss(monster_id) return boss_chest_drop.base_config()[monster_id]; end -- end (is_boss) when kill with (boss_chest_drop.is_boss(npc.get_race()) ~= nil) begin pc.give_item2(tonumber(boss_chest_drop.base_config()[npc.get_race()][1]), tonumber(boss_chest_drop.base_config()[npc.get_race()][2])); end -- end (Kill State) end -- end (State start) end -- end (boss_chest_drop) Três coisas. No kill trigger deves definir a condição que limita a sua execução apenas a monstros. A função npc.get_race() não é limitada a mobs e um jogador pode estar transformado em algum npc definido nessa tabela. Outra, é que não precisas fazer tanta call à função base_config(). Percebo que a ideia seja reduzir linhas de código, mas lembra-te que para a aprendizagem do OP, um código mais apresentável é de maior valor. Quanto à performance, definitivamente não vais notar diferença porque trata-se de uma questão de milisegundos. Mas o que estás a fazer é declarar a tabela 2 vezes e só depois apresentar o valor. Por último, não há a necessidade de utilizar tonumber() já que estás a garantir que os valores sejam já numéricos. Deixo aqui uma correção e alternativa à apresentada acima. when kill with not npc.is_pc() begin local cfg = boss_chest_drop.base_config() [npc.get_race()] or nil if not cfg then -- O mob não existe na nossa tabela return end local item_vnum, item_count = unpack(cfg) pc.give_item2(item_vnum, item_count) end 1 1 BPinto98 and .Rui reacted to this Share this post Link to post Share on other sites
0 .Rui 157 Posted July 26, 2020 Olá, em primeiro gostava de agradecer pela correção que fizeste. Em primeiro, o facto de eu recorrer ao tonumber, foi devido ao rapaz que pediu ajuda, já ter pedido noutro tópico algo do género no qual escreveu o id do monstro em forma de string, baseando-me neste aspeto e de forma a facilitar a vida ao rapaz, usei o tonumber como uma forma de prevenção deste problema. Em segundo, foi totalmente esquecimento da minha parte não limitar a condição só para monstros, mesmo sabendo que a função npc.get_race não funciona unicamente em npcs. De resto tens toda a razão, o código foi escrito para poupar linhas e não prestei atenção à performance como referiste, neste caso é algo mínimo que não se irá notar qualquer diferença mas vale o que vale. 1 'PACI reacted to this Share this post Link to post Share on other sites
Olá galera.boa noite..alguém poderia me ajudar..preciso de uma quest...que quando player mata um boss.o bau vai direto pro inventario de quem matou!
Share this post
Link to post
Share on other sites