Você tem as sources do seu servidor?
info
Grupo: Visconde
Registrado: 26/04/08
Posts: 251
Reputação: +36
Gênero: Masculino
Char no Tibia: Senhor Mithril

Sim, tfs 8.54 0.3.6
OK. Você saberia dizer se há alguma tabela no seu servidor (em algum arquivo da lib) em que os pokémons são configurados para alguma coisa (por exemplo, status e spells, como no PDA)? Se sim, peço que diga o nome desta tabela. Assim, não haverá margens de erros na criação do shiny.
Caso contrário, eu posso criar uma função para verificar se o monstro existe (meio gambiarra, mas enfim).
Editado Junho 28 por zipter98
info
Grupo: Campones
Registrado: 30/12/11
Posts: 12
Reputação: 0

Zipter,teria como configurar este script de pokémon na versão de Tibia? Tipo se mata dragon lord tem 2% no próximo respawn de vir Demodras.
Uso TFS 0.4 - TIBIA 8.60
Claro, seria quase o mesmo processo. Porém, neste caso, você teria que configurar uma tabela indicando os monstros e seus respectivos "shinies".
Já adianto a ambos: será necessário instalar nas sources o creatureevent onSpawn.
Editado Junho 28 por zipter98
info
Grupo: Campones
Registrado: 30/12/11
Posts: 12
Reputação: 0

Bom você me poderia citar, as pastas que são envolvidas e os arquivos .lua necessários? Porque assim baixo um Otserv pokémon e copio as pastas, alterando somente os nomes dos monsters e bosses. Se puder me ajudar, ficarei muito grato. ![]()
data/creaturescripts/scripts, geralmente spawn.lua. Você deve registrar o evento no arquivo XML do(s) monstro(s).
Entretanto, em servidores de pokémon, os pokémons shinies são gerados pelo script apenas adicionando o prefixo "Shiny " no nome. No seu caso, este método não seria possível.
info
Grupo: Visconde
Registrado: 26/04/08
Posts: 251
Reputação: +36
Gênero: Masculino
Char no Tibia: Senhor Mithril

É exatamente isso que o amigo falou, quero que um dragon lord se torne demodras, tenha 2% de chance, não tem essa tabela, pois não é um servidor de pokémon e sim de tibia, queria adaptar esse sistema de shinys para poder vim boss no lugar dos monstros normais, tendo uma chance pequena, tipo isso, matar um rat ter uma chance de vim um Super rat, algo desse genero ![]()
info
Grupo: Campones
Registrado: 30/12/11
Posts: 12
Reputação: 0

Fjinst, fiz download aqui de um server pokémon; no caminho data\creaturescripts\scripts coloquei o arquivo spawn.lua contendo:
local shinys = {
"Rat", "Bug", "Rotworm", "Minotaur", "Dragon", "Dragon Lord", "Witch", "Hydra", "Ice Witch", "Necromancer", "Giant Spider"}
local raros = {"Demon"}
local function doShinys(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 --
if isInArray(shinys, getCreatureName(cid)) and math.random(1, 1000) <= 2 then
local position = {x=getCreaturePosition(cid).x, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z}
local newName = "Shiny "..getCreatureName(cid)..""
doRemoveCreature(cid)
local s = doCreateMonster(newName, position)
doSendMagicEffect(getThingPos(s), 18)
end
end
end
function onSpawn(cid)
print(getCreatureName(cid))
registerCreatureEvent(cid, "Exp")
if isSummon(cid) then
registerCreatureEvent(cid, "SummonDeath")
return true
end
doShiny(cid)
doShinys(cid)
return true
end
function doShiny(cid)
if isPlayer(cid) or isNpc(cid) then return true end
local position = {x=581, y=980, z=7} -- não sei pra que serve
local level = pokes[getCreatureName(cid)].level
local newName = getCreatureName(cid).."["..level.."]"
doRemoveCreature(cid)
doCreateMonsterNick(getCreatureName(cid),newName, position)
return true
end
Então como não manjo de scripts fiz essas alterações, só que porém não funfa pois tem que fazer outra tabela com os bosses.
Se o Zipter98 puder acrescenta-la ficaremos gratos. ![]()
info
Grupo: Visconde
Registrado: 26/04/08
Posts: 251
Reputação: +36
Gênero: Masculino
Char no Tibia: Senhor Mithril

Se eu não me engano tem que criar uma função na pasta libs, sobre esse doShiny, ou então até mesmo seja pelas soucers, não sei dizer.
Não se preocupem, fazer o que vocês querem é bem simples. Como estou ocupado no momento, mais tarde farei o código para vocês.
Pelas sources, é necessário apenas instalar aquele creatureevent que citei (onSpawn).
Editado Junho 28 por zipter98
info
Grupo: Campones
Registrado: 30/12/11
Posts: 12
Reputação: 0

Bom, não consegui pelas sources.. daquele tutorial que você citou.. vou aguardar o código.
Obrigado desde já. ![]()
Não se esqueçam de registrar o evento no arquivo .XML dos monstros que poderão spawnar um boss.
local config = {
chance = 1, --Coloquem apenas números inteiros (1 - 0.0001%).
bosses = {
--["monster_name"] = "boss",
["Dragon Lord"] = "Demodras",
},
}
function onSpawn(cid)
if isMonster(cid) then
addEvent(function()
if isCreature(cid) then
local boss = config.bosses[getCreatureName(cid)]
if boss and math.random(1, 1000000) <= config.chance then
local pos = getThingPos(cid)
doRemoveCreature(cid)
doCreateMonster(boss, pos)
end
end
end, 5)
end
return true
end
Editado Junho 29 por zipter98




info
Grupo: Visconde
Registrado: 26/04/08
Posts: 251
Reputação: +36
Gênero: Masculino
Char no Tibia: Senhor Mithril
Olá a todos, eu estou aqui para pedir se alguém sabe onde posso encontrar ou até mesmo me disponibilizar ou explicar como faço para ter o sistema de shiinys de pokémon?
Resumindo:
Um script ou sistema que quando matar o bixo tem tipo 0,0003% de chance de vim um shiny no lugar dele, algo assim, alguém pode me disponibilizar um?, procurei mas não achei :S
Desde já, grato pela atenção de ambos