Postado Janeiro 11, 2020 5 anos Olá pessoal, preciso de ajuda... Em meu servidor eu tenho esse código que ao player chegar em tal nível ele ganha certa quantia em dinheiro... Spoiler function onAdvance(cid, skill, oldlevel, newlevel) if getPlayerLevel(cid) >= 8 and getPlayerStorageValue(cid, 99963) ~= 1 then doPlayerSetBalance(cid, getPlayerBalance(cid) + 2000) setPlayerStorageValue(cid, 99963, 1) doPlayerSendTextMessage(cid, 19, "You have received 2000 gold in your bank for advancing to Level 8.") elseif getPlayerLevel(cid) >= 40 and getPlayerStorageValue(cid, 99964) ~= 1 then doPlayerSetBalance(cid, getPlayerBalance(cid) + 10000) setPlayerStorageValue(cid, 99964, 1) doPlayerSendTextMessage(cid, 19, "You have received 10000 gold in your bank for advancing to Level 40.") elseif getPlayerLevel(cid) >= 50 and getPlayerStorageValue(cid, 99965) ~= 1 then doPlayerSetBalance(cid, getPlayerBalance(cid) + 30000) setPlayerStorageValue(cid, 99965, 1) doPlayerSendTextMessage(cid, 19, "You have received 30000 gold in your bank for advancing to Level 50.") elseif getPlayerLevel(cid) >= 75 and getPlayerStorageValue(cid, 99966) ~= 1 then doPlayerSetBalance(cid, getPlayerBalance(cid) + 60000) setPlayerStorageValue(cid, 99966, 1) doPlayerSendTextMessage(cid, 19, "You have received 60000 gold in your bank for advancing to Level 75.") elseif getPlayerLevel(cid) >= 100 and getPlayerStorageValue(cid, 99969) ~= 1 then doPlayerSetBalance(cid, getPlayerBalance(cid) + 100000) setPlayerStorageValue(cid, 99969, 1) doPlayerSendTextMessage(cid, 19, "You have received 10000 gold in your bank for advancing to Level 100.") elseif getPlayerLevel(cid) >= 150 and getPlayerStorageValue(cid, 99970) ~= 1 then doPlayerAddItem(cid, 5942) setPlayerStorageValue(cid, 99970, 1) doPlayerSendTextMessage(cid, 19, "You have received one blessed wooden stake because you reached level 150.") elseif getPlayerLevel(cid) >= 200 and getPlayerStorageValue(cid, 99971) ~= 1 then doPlayerAddItem(cid, 2195) setPlayerStorageValue(cid, 99971, 1) doPlayerSendTextMessage(cid, 19, "You have been awarded with 1 boots of haste for reaching level 200.") end return TRUE end Eu gostaria de mudar este código para o seguinte: Nv. 20 ganhar Addon Citizen Full + 2 cristal coins Nv. 50 ganhar montaria Donkey Nv. 80 ganhar 1 Plague Mask (ID 13925) e um Plague Bell (ID 13926) Nv. 100 ganhar Soft Boots (ID 6132) Nv. 150 ganhar montaria Cristal Wolf Obs. Se alguém puder entrar no servidor pra ver se consegue conectar eu ficaria muito grato, até agora não consegui ninguém pra testar ---> GranOT.tk se quiser participar do desenvolvimento tem vaga rs' (principalmente se saber configurar o paypal do gesior...)
Postado Janeiro 11, 2020 5 anos Este tópico foi movido para a área correta. Esta é uma mensagem automática!Pedimos que leia as regras do fórum! Spoiler This topic has been moved to the correct area. This is an automated message!Please read the forum rules. Nós somos aquilo que fazemos repetidamente. Excelência, não é um modo de agir, mas um hábito. Aristóteles
Postado Janeiro 12, 2020 5 anos @Gabneitor tente utilizar a opção de storage pro addon montaria etc... na pasta xml e use o meu tópico de base pra editar o xml obs: não é certeza que de pra fazer essa alteração no addon e monstaria nunca testei porém a lógica serve na outfit precisar de storage para liberar tente utilizar da mesma forma nos addons e montaria segue obs: no caso é a opção de tag Quest="XXXX" no xml Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas. discord.gg/phJZeHa2k4 Projeto ATS (Naruto) Informações Abaixo Facebook Youtube Discord Tutoriais / Conteúdos Clique Aqui
Postado Janeiro 12, 2020 5 anos Bom esse codigo não e de autoria minha, mas e de um grande amigo acredito que ele não va ficar puto. Apenas a parte de receber o addon foi eu que fiz mas esta funcional.Codigo Spoiler Em CreatureScript. <event type="advance" name="Recompense" script="others/recompense.lua"/> Depois. --Creditos @Marson local table = { [20] = {type = "bank", id = 20000, msg = "You have received 20000 gold in your bank for advancing to Level 20."}, [21] = {type = "outfit", addon_male = 128, addon_female =136, addon = 3, msg = "You have received Citizen Outfit full for advancing to Level 21."}, [50] = {type = "mount", id = 13, msg = "You have received a Donkey Mount for advancing to Level 50."}, [80] = {type = "item", id = 13925, msg = "You have received one Plague Mask because you reached level 80."}, [81] = {type = "item", id = 13926, msg = "You have been awarded with one Plague Bell for reaching level 81."}, [100] = {type = "item", id = 6132, msg = "You have been awarded with one pair of Soft Boots for reaching level 100."}, [150] = {type = "mount", id = 16, msg = "You have received a Crystal Wolf for advancing to Level 150."}, } local storage = 99963 function onAdvance(player, skill, oldLevel, newLevel) if skill ~= SKILL_LEVEL or newLevel <= oldLevel then return true end for level, _ in pairs(table) do if newLevel >= level and player:getStorageValue(storage) < level then if table[level].type == "item" then player:addItem(table[level].id, 1) elseif table[level].type == "mount" then player:addMount(table[level].id) elseif table[level].type == "outfit" then doPlayerAddOutfit(player, table[level].addon_male, 3) doPlayerAddOutfit(player, table[level].addon_female, 3) doSendMagicEffect(getThingPos(player), 29) elseif table[level].type == "bank" then player:setBankBalance(player:getBankBalance() + table[level].id) else return false end player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, table[level].msg) player:setStorageValue(storage, level) end end player:save() return true end Os unicos bugs que sei que vai ter são, se por exemplo o maluco pular do level 8 para o 100 provavelmente so ira pegar uma recompensa. E o outro é que não consegui entregar duas recompensas para o mesmo level. De resto e isso espero que de boa ai. Links uteis: Spoiler Forúm Spoiler Ferramentas para tibia 11.40(objectbuilder-itemeditor-rme) RME 3.3 Atualizado com animações. Pagina de addons 10.90 Youtube Spoiler Cliente Próprio 11.00--11.56 (NOTPAD++) Configurando MAQUINA VIRTUAL GOOGLE(GRATUITA PARA TESTE VALIDADE 1 ANO) Configurando Puttygen-Fillezila(MAQUINA GOOGLE Compilando OTX-TFS 1.3 LINUX (MAQUINA GOOGLE) Object Builder , criação de items Adicionar imagens na Store.
Postado Janeiro 12, 2020 5 anos Autor 3 horas atrás, sirarcken disse: Bom esse codigo não e de autoria minha, mas e de um grande amigo acredito que ele não va ficar puto. Apenas a parte de receber o addon foi eu que fiz mas esta funcional.Codigo Ocultar conteúdo Em CreatureScript. <event type="advance" name="Recompense" script="others/recompense.lua"/> Depois. --Creditos @Marson local table = { [20] = {type = "bank", id = 20000, msg = "You have received 20000 gold in your bank for advancing to Level 20."}, [21] = {type = "outfit", addon_male = 128, addon_female =136, addon = 3, msg = "You have received Citizen Outfit full for advancing to Level 21."}, [50] = {type = "mount", id = 13, msg = "You have received a Donkey Mount for advancing to Level 50."}, [80] = {type = "item", id = 13925, msg = "You have received one Plague Mask because you reached level 80."}, [81] = {type = "item", id = 13926, msg = "You have been awarded with one Plague Bell for reaching level 81."}, [100] = {type = "item", id = 6132, msg = "You have been awarded with one pair of Soft Boots for reaching level 100."}, [150] = {type = "mount", id = 16, msg = "You have received a Crystal Wolf for advancing to Level 150."}, } local storage = 99963 function onAdvance(player, skill, oldLevel, newLevel) if skill ~= SKILL_LEVEL or newLevel <= oldLevel then return true end for level, _ in pairs(table) do if newLevel >= level and player:getStorageValue(storage) < level then if table[level].type == "item" then player:addItem(table[level].id, 1) elseif table[level].type == "mount" then player:addMount(table[level].id) elseif table[level].type == "outfit" then doPlayerAddOutfit(player, table[level].addon_male, 3) doPlayerAddOutfit(player, table[level].addon_female, 3) doSendMagicEffect(getThingPos(player), 29) elseif table[level].type == "bank" then player:setBankBalance(player:getBankBalance() + table[level].id) else return false end player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, table[level].msg) player:setStorageValue(storage, level) end end player:save() return true end Os unicos bugs que sei que vai ter são, se por exemplo o maluco pular do level 8 para o 100 provavelmente so ira pegar uma recompensa. E o outro é que não consegui entregar duas recompensas para o mesmo level. De resto e isso espero que de boa ai. Mano funcionou aqui o script mais não ta aparecendo a mensagem para o player, Chega no level e ele ganha o item normal. Da forma que ta ai ta tranquilo, não precisa ser os dois no mesmo level.
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.