Postado Dezembro 21, 2022 2 anos Olá pessoal, boa tarde O sistema de forja e dusts está funcionando corretamente no meu otserver (Canary 12.91) porém é extremamente raro aparecer um bicho q tem boost de Dust, sabem como posso editar esta probabilidade? Obrigado!
Postado Janeiro 4, 2023 2 anos também gostaria de saber kkk, tentei fazer uma gambiarra adaptando aquele script que ao dar use num item entrega tibia coins mas n rolou .-. Segue o script mal adaptado: local dust = Action() function dust.onUse(player, item, fromPosition, target, toPosition, isHotkey) local forge_dusts = 100 -- quantidade de dusts que o item vai dar db.query("UPDATE `players` SET `forge_dusts` = `forge_dusts` + '" .. forge_dusts .. "' WHERE `id` = '" .. player:getAccountId() .. "';") player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "RECEBEU "..forge_dusts.." DUSTS") item:remove(1) return true end dust:id(19082) -- id do item a ser usado dust:register() Quando dou use no item, ele some e nao da as dust ¯\_(ツ)_/¯ Editado Janeiro 4, 2023 2 anos por sh1br4nquinha (veja o histórico de edições)
Postado Janeiro 4, 2023 2 anos 1 hora atrás, sh1br4nquinha disse: Quando dou use no item, ele some e nao da as dust ¯\_(ツ)_/¯ Tenta usar assim: local dust = Action() function dust.onUse(player, item, fromPosition, target, toPosition, isHotkey) local forge_dusts = 100 -- quantidade de dusts que o item vai dar local dustsQuery = db.query("UPDATE `players` SET `forge_dusts` = `forge_dusts` + '" .. forge_dusts .. "' WHERE `id` = '" .. player:getAccountId() .. "';") if dustsQuery then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "RECEBEU "..forge_dusts.." DUSTS") item:remove(1) end return true end dust:id(19082) -- id do item a ser usado dust:register()
Postado Janeiro 4, 2023 2 anos 4 horas atrás, Toruk disse: Tenta usar assim: local dust = Action() function dust.onUse(player, item, fromPosition, target, toPosition, isHotkey) local forge_dusts = 100 -- quantidade de dusts que o item vai dar local dustsQuery = db.query("UPDATE `players` SET `forge_dusts` = `forge_dusts` + '" .. forge_dusts .. "' WHERE `id` = '" .. player:getAccountId() .. "';") if dustsQuery then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "RECEBEU "..forge_dusts.." DUSTS") item:remove(1) end return true end dust:id(19082) -- id do item a ser usado dust:register() Tentei e continua sumindo sem dar as dusts, ele da a msg "RECEBEU 100 DUSTS" mas n entrega de fato sera q não é pq o char precisa estar off pra fazer esse UPDATE la no mysql? @EDIT Para quem precisar, um jogador chamado Myke no OT conseguiu resolver o problema, segue o código para quem precisar: local dust = Action() function dust.onUse(player, item, fromPosition, target, toPosition, isHotkey) local amount = 100 -- quantidade de dusts que o item vai dar local totalDusts = player:getForgeDusts() local limitDusts = 200 -- quantidade maxima de dusts if (totalDusts + amount) < limitDusts then player:addForgeDusts(amount) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "RECEBEU "..amount.." dusts") item:remove(1) return true else player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "NAO E POSSIVEL TER MAIS DE 200 DUSTS") end end dust:id(19082) -- ITEM QUE AO DAR USE, DEPOSITA DUSTS PRO PAYER dust:register() Editado Janeiro 4, 2023 2 anos por sh1br4nquinha (veja o histórico de edições)
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.