Se você não quer por Respaw então cria para aparece como evento.
- Fórum
- OTServ
- Suporte
- Tópicos Sem Resposta
- [Encerrado] (Pedido) Chance Aparecer Pokemon Raro
[Encerrado] (Pedido) Chance Aparecer Pokemon Raro
Por zedarosquinha, 03 de dez. de 2012 em Tópicos Sem Resposta
info
Grupo: Lorde
Registrado: 05/06/12
Posts: 2.2k
Reputação: +215
Gênero: Masculino

info
Grupo: Campones
Registrado: 26/11/12
Posts: 72
Reputação: 0

Como assim?
info
Grupo: Lorde
Registrado: 05/06/12
Posts: 2.2k
Reputação: +215
Gênero: Masculino

Se você não quer por respaw o jeito é fazer por evento.
info
Grupo: Campones
Registrado: 26/11/12
Posts: 72
Reputação: 0

Tipo eu ir lá e sumonar?
Não existe alguma forma de fazer script de por pra ter chance de
aparecer um poke raro no lugar de qualquer outro poke no respawn?
Assim fica mais justo para todos.
E nem sempre vou poder ta entrando no server.
info
Grupo: Lorde
Registrado: 05/06/12
Posts: 2.2k
Reputação: +215
Gênero: Masculino

Não tem como vc colocar no lugar de outro, só criando evento ou sumonando pelo ADM mesmo.
info
Grupo: Campones
Registrado: 26/11/12
Posts: 72
Reputação: 0

É a mesma coisa do arquivo dos shinys.
No do shiny, ele substitui o pokemon normal e transforma ele em shiny, com chance de transformar.
No caso aqui, eu queria que todos tivessem a chance de se transformar em um dos pokes de uma lista de lendários.
entende?
Aqui ta o respawn aleatório dos pokemons shinys... Ai é só editar!!!
Em data/creaturescript/scripts procure pelo spawn e deixe assim:
local shinys = {
"Bulbasaur", "Ivysaur", "Venusaur", "Charmander", "Charmeleon", "Charizard", "Squirtle", "Wartortle", "Blastoise",
"Caterpie", "Metapod", "Butterfree", "Weedle", "Kakuna", "Beedrill", "Pidgey", "Pidgeotto", "Pidgeot", "Rattata",
"Raticate", "Spearow", "Fearow", "Ekans", "Arbok", "Pikachu", "Raichu", "Sandshrew", "Sandslash", "Nidoran Female",
"Nidorina", "Nidoqueen", "Nidoran Male", "Nidorino", "Nidoking", "Clefairy", "Clefable", "Vulpix", "Ninetales",
"Jigglytuff", "Wigglytuff", "Zubat", "Golbat", "Odish", "Gloom", "Vileplume", "Paras", "Parasect", "Venonat", "Venomoth",
"Diglett", "Dugtrio", "Mewoth", "Persian", "Psyduck", "Golduck", "Mankey", "Primeape", "Growlithe", "Arcanine",
"Poliwag", "Poliwhirl", "Poliwrath", "Abra", "Kadabra", "Alakazam", "Machop", "Machoke", "Machamp", "Bellsprout",
"Weepinbell", "Victreebel", "Tentacool", "Tentacruel", "Geodude", "Graveler", "Golem", "Ponyta", "Rapidash", "Slowpoke",
"Slowbro", "Magnamite", "Magneton", "Farfetch'd", "Doduo", "Dodrio", "Seel", "Dewgong", "Grimer", "Muk", "Shellder",
"Cloyster", "Gastly", "Haunter", "Gengar", "Onix", "Drowzee", "Hypno", "Krabby", "Kingler", "Voltorb", "Electrode",
"Exeggcute", "Exeggutor", "Cubone", "Marowak", "Hitmonlee", "Hitmonchan", "Lickitung", "Koffing", "Weezing", "Rhyhorn",
"Rhydon", "Chansey", "Tangela", "Kangaskhan", "Horsea", "Seadra", "Goldeen", "Seaking", "Staryu", "Starmie", "Mr. Mime",
"Scyther", "Jynx", "Electabuzz", "Magmar", "Pinsir", "Tauros", "Magikarp", "Gyarados", "Lapras", "Ditto", "Eevee", "Vaporeon",
"Jolteon", "Flareon", "Porygon", "Omanyte", "Omastar", "Kabuto", "Kabutops", "Snorlax", "Dragonair", "Dratini"
}
local raros = {"Articuno", "Zapdos", "Moltreas", "Mew", "Mewtwo", "Dragonite", "Aerodactyl"}
local function doPokemonRegisterLevel(cid)
if not isCreature(cid) then return true end
if getWildPokemonLevel(cid) == -1 then
setWildPokemonLevel(cid)
end
end
local function doSetRandomGender(cid)
if not isCreature(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 isNpcSummon(cid) then return true end
if isInArray(shinys, getCreatureName(cid)) then
transform = math.random(1, 100) --1% chance
elseif isInArray(raros, getCreatureName(cid)) then
transform = math.random(1, 1000) --0.1% chance
elseif not isInArray(raros, getCreatureName(cid)) and not isInArray(shinys, getCreatureName(cid)) then
return true
end
if transform == 10 then
doSendMagicEffect(getThingPos(cid), 18)
local shi = doCreateMonster("Shiny ".. getCreatureName(cid) .."", getThingPos(cid))
setPlayerStorageValue(shi, 74469, 1)
setPlayerStorageValue(cid, 74469, 1)
doRemoveCreature(cid)
else
setPlayerStorageValue(cid, 74469, 1)
end
else
return true
end
end
function onSpawn(cid)
registerCreatureEvent(cid, "GeneralConfiguration")
registerCreatureEvent(cid, "DirectionSystem")
registerCreatureEvent(cid, "CastSystem")
if isSummon(cid) then
registerCreatureEvent(cid, "SummonDeath")
return true
end
registerCreatureEvent(cid, "Experience")
addEvent(doPokemonRegisterLevel, 5, cid)
addEvent(doSetRandomGender, 5, cid)
addEvent(doShiny, 10, cid)
return true
end
lembrando q ta configurado pra 1% chance vira shiny para pokes normais.. e 0.1% pra pokes raros.. mas dai eh soh modificar como quiser...
Créditos a Slicer!! xD
info
Grupo: Campones
Registrado: 26/11/12
Posts: 72
Reputação: 0

Obrigado GhuPk.
Eu já havia visto esse script, só que ele é para pokes shiny tbm.
Ele troca, por exemplo, o dragonite pelo shiny dragonite.
e eu quero que troque qualquer poke por um lendário,
tipo, qualquer pokemon, qualquer um que coloquei no respawn, poderá ser substituido
na hora de dar o respawn dele por um lendário.
vlw
Atah, agora sim entendi...
Vou olhar o script e ver se consigo editar!! asuhsauh'
info
Grupo: Príncipe
Registrado: 19/08/10
Posts: 4k
Reputação: +1.1k
Gênero: Masculino

local chance = 0.1 local lendario = "Dialga" --sei la se eh assim kk if math.random(1, 1000) <= chance*10 then local pos = getThingPos(cid) doRemoveCreature(cid) doSummonCreature(lendario, pos) end
achu q seria algu +/- assim?
Isso ai Slicer, só que agora como faz para que este pokemon lendario apareça somente onde tem outros pokemons??!! XD
E isso aqui:
local lendario = "Dialga"
Acho que seria apenas com 1 aspa ou sei la oque:
local lendario = 'Dialga'
info
Grupo: Campones
Registrado: 26/11/12
Posts: 72
Reputação: 0

opa obrigado slicer!
mas não deu certo não.
e apareceu uma das vezes q abri o server que não existe NPC DIALGA
aushaushauh
para aumentar a chance mexe no local chance?
e em que lugar do arquivo eu o coloco?
ou devo criar um novo arquivo.
pq eu coloquei logo após de:
local shinys = {
"Venusaur", "Charizard", "Blastoise", "Butterfree", "Beedrill", "Pidgeot", "Rattata", "Raticate", "Raichu", "Zubat", "Golbat", "Paras", "Parasect",
"Venonat", "Venomoth", "Growlithe", "Arcanine", "Alakazam", "Tentacool", "Tentacruel", "Farfetch'd", "Grimer", "Muk", "Gengar", "Krabby",
"Kingler", "Voltorb", "Electrode", "Cubone", "Marowak", "Tangela", "Horsea", "Seadra", "Scyther", "Jynx", "Electabuzz", "Pinsir",
"Magikarp", "Gyarados", "Snorlax", "Dragonair", "Dratini",
}
local raros = {"Dragonite"} --alterado v2.5
local function ShinyName(cid)
if isCreature(cid) then
if string.find(tostring(getCreatureName(cid)), "Shiny") then
local newName = tostring(getCreatureName(cid)):match("Shiny (.*)")
local newNamed = newName.." ["..getPokemonLevel(cid).."]"
doCreatureSetNick(cid, newNamed)
if isMonster(cid) then
doSetCreatureDropLoot(cid, false)
end
end
end
end
Pois é, como disse, acho que trocou por npc
aushuash
Então ninguém sabe?
To querendo que os meus pokemons selvagens do respawn tenham chance de serem trocados por pokemons lendarios,
qualquer pokemon do respawn, desde rattata até um charizard, como os shinys, que tem chance de aparecerem no lugar dos normais,
só que além dos shinys, queria que tivesse a chance de aparecer os lendarios.
dai tipo, to la matando bulbasaur e do nada aparece um zapdos. outro dia to matando jynx e aparece um mewtwo no lugar da jynx que eu tinha matado.
vlw espero que alguém saiba como fazer isso.
abrass
Não sei se posso dar rep, mas se der eu dou pra quem conseguir resolver isso pra mim.
info
Grupo: Príncipe
Registrado: 19/08/10
Posts: 4k
Reputação: +1.1k
Gênero: Masculino

tenta isso mano...
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", "Hitmonlee", "Hitmonchan", "Tangela", "Horsea", "Seadra", "Scyther", "Jynx", "Electabuzz", "Pinsir",
"Magikarp", "Gyarados", "Snorlax", "Dragonair", "Dratini"}
local raros = {"Dragonite"} --alterado v1.5
local lendarios = {"Mewtwo", "Mew"}
local function doLendario(cid)
if isCreature(cid) then
local chance = 0.1 --0.1 = 0.1%... 1 = 1%...
if math.random(1000) <= chance*10 then
local pos = getThingPos(cid)
local lend = lendarios[math.random(#lendarios)]
doRemoveCreature(cid)
local sum = doSummonCreature(lend, pos)
doSendMagicEffect(getThingPos(sum), 18)
return true
end
end
return true
end
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 --alterado v1.7 -golden-
if isNpcSummon(cid) then return true end
if isInArray(shinys, getCreatureName(cid)) then
transform = math.random(1, 1000) --0.1% chance
elseif isInArray(raros, getCreatureName(cid)) then
transform = math.random(1, 1000) --0.1% chance
else
return true
end
if transform == 10 then
doSendMagicEffect(getThingPos(cid), 18)
local shi = doCreateMonster("Shiny ".. getCreatureName(cid) .."", getThingPos(cid))
setPlayerStorageValue(shi, 74469, 1)
setPlayerStorageValue(cid, 74469, 1)
doRemoveCreature(cid)
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)
addEvent(doLendario, 15, cid)
return true
end
info
Grupo: Campones
Registrado: 26/11/12
Posts: 72
Reputação: 0

Cara muito obrigado por ter me ajudado
por isso ganhou meu REP positivo!!!
Só que só funcionou quando eu tirei a parte no final:
addEvent(adjustWildPoke, 5, cid)
aí funfou belezinha.
Só tenho uma pergunta, com esse script não vai acabar nascendo poke lendario no lugar de NPC?
vlww
aaaa, tem como vc dar uma olhadinha nesse tópico aqui tbm:
http://www.xtibia.com/forum/topic/200430-duvida-evolucao-pokemon-chance/
abrass





info
Grupo: Campones
Registrado: 26/11/12
Posts: 72
Reputação: 0
caros conhecedores do mundo scripter,
como eu não sei fazer venho aqui apelar para os que sabem aushaushaush
No meu servidor estou querendo colocar para aparecer pokemons raros sem ser respawn,
tipo, em todos os respawns normais, eu quero que tenha a possibilidade de aparecer um pokemon
raro/lendário no lugar do bixo que tem lá.
Queria por uma chance bem remota kkkkk pq vai poder aparecerer no lugar de qualquer bixo do mapa
inteiro, tipo, se no mapa tem respawn de 5500 pokemons, cada um desses vai ter a chance de ser substituido por um lendário.
Então ele vai poder aparecer tanto no respawn dos rattata, caterpie e etc quanto no respawn de blastoise, charizard e etc, em qualquer lugar.
Eu não quero que de tantas em tantas horas apareça o bixo, quero que seja chance, pode ser que o bixo apareça logo que abre
o servidor como depois de 50 semanas aberto....
Vlw rapaziada.