Postado Março 8, 2022 3 anos tenho um servidor baiak 8.6 e nele há um sistema de checar e alertar a bless do player, caso nao tiver, quando ele sai da protecte zone e tem tambem um item que dá uma bless infinita, mas quando o jogador usa esse item infinito o check bless continua alertando que nao há nenhuma bless alguem pode me ajudar com isso por favor ? itembless Spoiler function onUse(cid, item) doRemoveItem(item.uid,1) for a = 1, 5 do doPlayerAddBlessing(cid, i) end for b = 1, 5 do doPlayerSetLossPercent(cid, b, 0) end doPlayerSetLossSkill(cid, 0) doSendMagicEffect(getThingPos(cid), 29) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Congratulations, you are able to blessed.") return true end checkbless Spoiler function onThink(cid, lastExecution, thinkInterval) if(getTilePzInfo(getCreaturePosition(cid))) == false and getPlayerStorageValue(cid, 23333) <= 0 then for b = 1,5 do if getPlayerBlessing(cid, b) == false then setPlayerStorageValue(cid, 23333, 1) return doPlayerSendTextMessage(cid, 22, "Você não tem todas as bless, tome cuidado.") end end elseif (getTilePzInfo(getCreaturePosition(cid))) == true and getPlayerStorageValue(cid, 23333) == 1 then setPlayerStorageValue(cid, 23333, -1) end return true end
Postado Março 9, 2022 3 anos mas ele está sem bless mesmo... o código de check bless ta certinho... no item altera essa parte: for a = 1, 5 do doPlayerAddBlessing(cid, i) end para for i = 1, 5 do doPlayerAddBlessing(cid, i) end [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Março 9, 2022 3 anos Autor 54 minutos atrás, Vodkart disse: mas ele está sem bless mesmo... o código de check bless ta certinho... no item altera essa parte: for a = 1, 5 do doPlayerAddBlessing(cid, i) end para for i = 1, 5 do doPlayerAddBlessing(cid, i) end fiz a alteraçao e quando voce usa o item pela primeira vez antes de morrer o checkbless nao avisa mais, mas quando voce morre ele volta a avisar que está sem bless mesmo continuando sem perder item. ou seja, só funciona na primeira vez que usa, mas ao morrer 1 vez ele volta a dizer que nao tem bless
Postado Março 9, 2022 3 anos Acho que o script funciona corretamente dessa forma ... function onUse(cid, item) -- laço de repetição para adicionar as 5 bless. for x = 1, 5 do doPlayerAddBlessing(cid, x) -- adicionado a bless X end --[[ lista de opções de perda na morte PLAYERLOSS_EXPERIENCE = 0 PLAYERLOSS_MANA = 1 PLAYERLOSS_SKILLS = 2 PLAYERLOSS_CONTAINERS = 3 PLAYERLOSS_ITEMS = 4 ]]-- -- laço de repetição para mudar a perda na morte referente a lista de opções acima. for y = 0, 4 do doPlayerSetLossPercent(cid, y, 0) -- mudando a opção Y para 0 de perda. end doPlayerSetLossSkill(cid, 0) -- mudando para perder não perder skills ao morrer. doSendMagicEffect(getThingPos(cid), 29) -- soltando efeito escolhido. doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Congratulations, you are able to blessed.") -- mensagem ao jogador ao usar o item. doRemoveItem(item.uid,1) -- removendo o item usado. return true end Além do erro que o @Vodkart comentou, acho que tem o erro no segundo laço tbem, pois pelo que pesquisei a lista de perda de opções de morte é de 0 a 4. PLAYERLOSS_EXPERIENCE = 0 PLAYERLOSS_MANA = 1 PLAYERLOSS_SKILLS = 2 PLAYERLOSS_CONTAINERS = 3 PLAYERLOSS_ITEMS = 4 Enfim, não sei se essas funções que mudam a perda de EXP e SKILL resolveriam para algo infinito, pois creio que ao morrer, o personagem volta para as configurações padrões ... Para resolver o problema do item infinito, eu faria um item que daria as 5 bless e também daria uma STORAGE que seria verificada a cada login dando ao jogador as bless. ONLOGIN SE STORAGE == 1 ENTÃO ADD BLESS DE 1 A 5 E no caso da script de checar as bless, colocaria para funcionar penas se o jogador não tiver a STORAGE acima. O que acha @Vodkart? STYLLER OT 2022
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.