Sem o código inteiro não há como interpretarmos como o cálculo é feito.
info
Grupo: Infante
Registrado: 27/08/11
Posts: 1.9k
Reputação: +85
Gênero: Masculino
Char no Tibia: Bruno Maciel

15 minutos atrás, zipter98 disse:Sem o código inteiro não há como interpretarmos como o cálculo é feito.
local shinys = {
"Venusaur", "Charizard", "Blastoise", "Butterfree", "Beedrill", "Pidgeot", "Rattata", "Raticate", "Raichu", "Zubat", "Golbat", "Paras", "Parasect",
"Venonat", "Venomoth", "Growlithe", "Arcanine", "Abra", "Alakazam", "Tentacool", "Tentacruel", "Farfetch'd", "Grimer", "Muk", "Gengar", "Onix", "Krabby",
"Kingler", "Voltorb", "Electrode", "Cubone", "Marowak", "Tangela", "Horsea", "Seadra", "Scyther", "Jynx", "Electabuzz", "Pinsir",
"Magikarp", "Gyarados", "Snorlax", "Dragonair", "Machamp", "Dratini", "Feraligatr", "Typhlosion", "Meganium", "Ampharos", "Tauros", "Xatu", "Rhydon", "Crobat", "Magmar", "Pupitar", "Stantler", "Umbreon", "Mr. Mime", "Magneton", "Ariados", "Dodrio", "Ninetales", "Espeon", "Magby", "Dragonite"}
local raros = {"Ditto"}
local function ShinyName(cid)
if isCreature(cid) then
if string.find(tostring(getCreatureName(cid)), "Shiny") then
local newName = tostring(getCreatureName(cid)):match("Shiny (.*)")
doCreatureSetNick(cid, newName)
if isMonster(cid) then
doSetCreatureDropLoot(cid, false)
end
end
end
end
local function doSetRandomGender(cid)
if not isCreature(cid) then return true end
if isSummon(cid) then return true end
local gender = 0
local name = getCreatureName(cid)
if not newpokedex[name] then return true end
local rate = newpokedex[name].gender
if rate == 0 then
gender = 3
elseif rate == 1000 then
gender = 4
elseif rate == -1 then
gender = 0
elseif math.random(1, 1000) <= rate then
gender = 4
else
gender = 3
end
doCreatureSetSkullType(cid, gender)
end
local function doShiny(cid)
if isCreature(cid) then
if isSummon(cid) then return true end
if getPlayerStorageValue(cid, 74469) >= 1 then return true end
if getPlayerStorageValue(cid, 22546) >= 1 then return true end
if isNpcSummon(cid) then return true end
if getPlayerStorageValue(cid, 637500) >= 1 then return true end --alterado v1.9
if isInArray(shinys, getCreatureName(cid)) then --alterado v1.9 \/
chance = 6 --1% chance
elseif isInArray(raros, getCreatureName(cid)) then --n coloquem valores menores que 0.1 !!
chance = 3 --1% chance
else
return true
end
if math.random(1, 1000) <= chance*10 then
doSendMagicEffect(getThingPos(cid), 18)
local name, pos = "Shiny ".. getCreatureName(cid), getThingPos(cid)
doRemoveCreature(cid)
local shi = doCreateMonster(name, pos, false)
setPlayerStorageValue(shi, 74469, 1)
else
setPlayerStorageValue(cid, 74469, 1)
end --/\
else
return true
end
end
function onSpawn(cid)
registerCreatureEvent(cid, "Experience")
registerCreatureEvent(cid, "GeneralConfiguration")
registerCreatureEvent(cid, "DirectionSystem")
registerCreatureEvent(cid, "CastSystem")
if isSummon(cid) then
registerCreatureEvent(cid, "SummonDeath")
return true
end
addEvent(doSetRandomGender, 5, cid)
addEvent(doShiny, 10, cid)
addEvent(ShinyName, 15, cid)
addEvent(adjustWildPoke, 5, cid)
return true
end
aii /\
Este valor é basicamente a chance, em porcentagem, do pokémon shiny nascer. Há dois possíveis valores, um para a tabela raros e um para a tabela shinys. Se você estabelecer o valor como 5, há 5% de chance de um pokémon shiny nascer. 10, 10% de chance. 70, 70% seria a chance. O mesmo vale para valores decimais acima ou iguais a 0.1. Ou seja, você pode configurar valores como 0.5 (0.5% chance de respaw), 0.75 (0.75% a chance), etc.
No caso do exemplo postado no tópico, há 6% de chance dos pokémons da tabela shinys nascerem e 3% de chance do pokémon da tabela raros nascer.
Editado Abril 7 por zipter98
info
Grupo: Infante
Registrado: 27/08/11
Posts: 1.9k
Reputação: +85
Gênero: Masculino
Char no Tibia: Bruno Maciel

haa entendi!!!



info
Grupo: Infante
Registrado: 27/08/11
Posts: 1.9k
Reputação: +85
Gênero: Masculino
Char no Tibia: Bruno Maciel
Estou com uma duvida relacionado ao systema de shiny em resp.
if isInArray(shinys, getCreatureName(cid)) then --alterado v1.9 \/
chance = 6 --1% chance
elseif isInArray(raros, getCreatureName(cid)) then --n coloquem valores menores que 0.1 !!
chance = 3 --1% chance
else
Eu queria uma expliçao de como funciona +ou- isso porque vou mexer no meu queria te uma ideia como funciona esta %%