Postado Janeiro 13, 2017 8 anos Então, as chances das minhas raids não estão sendo respeitadas. Já tentei colocar 0, 1, 2, ..., 100, mas qualquer que seja o número que ponho ali, ela sempre acontece, e eu queria que a probabilidade fosse respeitada. Alguém sabe dizer o motivo? Pode ser erro da distro? Tem alguma gambiarra que eu possa usar? Eu uso OTX Meu raids.xml <?xml version="1.0" encoding="UTF-8"?> <raids> <raid name="OrcsThais" file="normal/OrcsThais.xml" chance="0" interval2="60" margin="0" /> <raid name="Pirates" file="normal/Pirates.xml" chance="0" interval2="65" margin="0" /> </raids> Um dos meus arquivos de raid <?xml version="1.0" encoding="UTF-8"?> <raid> <announce delay="1000" type="event" message="Pirates are launching a surprise attack on Liberty Bay! Take care, they seem to be everywhere." /> <announce delay="60000" type="event" message="Pirates have invaded the city." /> <areaspawn delay="60000" fromx = "32211" fromy = "32821" fromz = "7" tox = "32248" toy = "32876" toz = "7"> <monster name="Pirate Corsair" amount="30" /> <monster name="Pirate Buccaneer" amount="30" /> <monster name="Pirate Cutthroat" amount="30" /> <monster name="Pirate Marauder" amount="30" /> <monster name="Smuggler" amount="30" /> <monster name="Deadeye Devious" amount="1" /> <monster name="Ron the Ripper" amount="1" /> <monster name="Brutus Bloodbeard" amount="1" /> <monster name="Lethal Lissy" amount="1" /> </areaspawn> </raid> Editado Janeiro 13, 2017 8 anos por jefersonzc erro de grafia (veja o histórico de edições)
Postado Janeiro 13, 2017 8 anos pelo que eu vi ai, voce esta colocando as chances no lugar errado, o "interval" significa "intervalo", ou seja, o tempo que vai acontecer as raids, tente colocar a chance no chance="0"
Postado Janeiro 14, 2017 8 anos Autor 2 horas atrás, Pepeco disse: pelo que eu vi ai, voce esta colocando as chances no lugar errado, o "interval" significa "intervalo", ou seja, o tempo que vai acontecer as raids, tente colocar a chance no chance="0" Creio que você não entendeu bem. Eu coloquei chance="0" justamente para testar se a raid não iria acontecer, e mesmo assim ela aconteceu. Ou seja, independente do número que eu coloque no chance, a raid SEMPRE acontece. Mas tudo bem, fiz uma gambiarra que deu certo, vou postar aqui para futuras pessoas com o mesmo problema. ------------------------------------------ SOLUÇÃO -------------------------------------------- Bom, aqui vai a gambiarra solução: Já que o servidor em questão dá SS uma vez por dia, vou colocar um tempo e uma margem alta o suficiente no meu arquivo raids.xml (maior que 1 dia), de forma que as raids NUNCA aconteçam através dele. <?xml version="1.0" encoding="UTF-8"?> <raids> <raid name="Orcs" file="normal/Orcs.xml" chance="0" interval2="99999" margin="99999" /> <raid name="Pirates" file="normal/Pirates.xml" chance="0" interval2="99999" margin="99999" /> </raids> Agora em globalevents.xml vou inserir a seguinte linha: <globalevent name="Raids" interval="3600000" script="raids.lua"/> OBS 1.: interval="3600000" equivale à 1h, ou seja, de hora em hora o arquivo vai tentar executar as raids Então criei um raids.lua dentro de /data/globalevents/scripts local RAIDS = { [1] = {name = "Orcs", chance = 1}, -- nome da raid e chance em % [2] = {name = "Pirates", chance = 1}, -- nome da raid e chance em % } function onThink(interval, lastExecution) for i = 1,#RAIDS do local x = math.random(1, 100) if x <= RAIDS[i].chance then executeRaid(RAIDS[i].name) end end return true end OBS 2.: O nome da raid nesse arquivo tem que ser igual ao nome da raid em raids.xml OBS 3.: Não cheguei a testar, mas acho que quando uma raid acontece, outra não pode acontecer imediatamente em seguida. Para manter um melhor equilíbrio, aconselho a deixar as raids em ordem crescente de chances Editado Janeiro 14, 2017 8 anos por jefersonzc (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.