Ir para conteúdo
  • Cadastre-se

(Resolvido)Spawn de mega aleatório igual de shiny


Ir para solução Resolvido por Crypter,

Posts Recomendados

Olá , gostaria que os megas spawnassem igual aos shinys , aleatoriamente

 

Agradeço desde já 

 

Spawn.lua

 

  Citar

local shinys = {
"Venusaur", "Dratini", "Milotic", "Houndoomm", "Magikarp", "Rapidash", "Wobbuffet", "Grimer", "Larvitar", "Pupitar", "Flygon", "Umbreon", "Dodrio", "Muk", "Sandslash", "Magmar", "Electabuzz", "Magneton", "Ariados", "Scizor", "Ludicolo", "Ninetales", "Rhydon", "Swellow", "Kabutops", "Miltank", "Houndoom", "Magcargo", "Venomoth", "Politoed", "Mr. Mime", "Tropius", "Metagross", "Lanturn", "Tangrowth", "Slowking", "Swampert", "Sceptile", "Blaziken", "Blastoise", "Butterfree", "Beedrill", "Pidgeot", "Rattata", "Raticate", "Raichu", "Golbat", "Paras", "Parasect", "Magmar", "Typhlosion", "Xatu", "Growlithe", "Arcanine", "Tentacruel", "Farfetch'd", "Gengar", "Krabby", "Tauros", 
"Kingler", "Cubone", "Horsea", "Seadra", "Kingdra", "Weezing", "Scyther", "Pinsir", "Crobat", "Zubat", "Tentacool", "Feraligatr", "Machamp", "Meganium", "Alakazam", "Tangela", "Ampharos", "Electabuzz", "Jynx", "Charizard", "Voltorb", "Electrode"}

local raros = {"Dragonair", "Snorlax", "Dratini", "Giant Magikarp", "Gyarados", "Magmortar", "Electivire", "Salamence", "Mantine"}                               

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 == 500 then
            gender = 4
        elseif rate == -1 then
            gender = 0
        elseif math.random(1, 500) <= 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 = 2.0    --4% chance        
elseif isInArray(raros, getCreatureName(cid)) then   --n coloquem valores menores que 0.1 !!
   chance = 1  --2% chance       
else
   return true
end    
    if math.random(1, 500) <= 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(doShiny, 10, cid)
    addEvent(ShinyName, 15, cid)
    addEvent(adjustWildPoke, 5, cid)

return true
end

Mostrar mais  

 

Link para o post
Compartilhar em outros sites

no começo do arquivo, abaixo de

local raros = {"Dragonair", "Snorlax", "Dratini", "Giant Magikarp", "Gyarados", "Magmortar", "Electivire", "Salamence", "Mantine"}       

adicione:

local megas = { 
"Blastoise", "Alakazam", "Absol", "Venusaur", "Aggron", "Tyranitar", "Gengar", "Ampharos", "Lucario", "Manectric", "Pidgeot", "Scizor"} 

depois do ultimo end adicione:

function doShiny(cid)
    if isCreature(cid) then
           if isSummon(cid) then return true end
           if isNpcSummon(cid) then return true end
            local chance = 0
            if isInArray(megas, doCorrectString(getCreatureName(cid))) then  --alterado v1.9 \/
               chance = 500   --50% chance  
            end    
            local sid = cid
            if math.random(1, 1000) <= chance then  
              doSendMagicEffect(getThingPos(cid), 18)               
              local name, pos = "Mega ".. getCreatureName(cid), getThingPos(cid)
              if not pokes[name] then return true end
              doRemoveCreature(cid)
              --print(name .. ", " .. retireShinyName(name))
              local shi = doCreateMonsterNick(sid, name, retireShinyName(name), pos, false)          
           end  
    else
                                                               
    return true
    end
end

 

Link para o post
Compartilhar em outros sites
  Mostrar conteúdo oculto

 

 

Te ajudei ?? Que tal fazer uma contribuição ?

Doar

Link para o post
Compartilhar em outros sites
  Em 27/02/2018 em 01:02, Danxi disse:

no começo do arquivo, abaixo de

local raros = {"Dragonair", "Snorlax", "Dratini", "Giant Magikarp", "Gyarados", "Magmortar", "Electivire", "Salamence", "Mantine"}       

adicione:

local megas = { 
"Blastoise", "Alakazam", "Absol", "Venusaur", "Aggron", "Tyranitar", "Gengar", "Ampharos", "Lucario", "Manectric", "Pidgeot", "Scizor"} 

depois do ultimo end adicione:

function doShiny(cid)
    if isCreature(cid) then
           if isSummon(cid) then return true end
           if isNpcSummon(cid) then return true end
            local chance = 0
            if isInArray(megas, doCorrectString(getCreatureName(cid))) then  --alterado v1.9 \/
               chance = 500   --50% chance  
            end    
            local sid = cid
            if math.random(1, 1000) <= chance then  
              doSendMagicEffect(getThingPos(cid), 18)               
              local name, pos = "Mega ".. getCreatureName(cid), getThingPos(cid)
              if not pokes[name] then return true end
              doRemoveCreature(cid)
              --print(name .. ", " .. retireShinyName(name))
              local shi = doCreateMonsterNick(sid, name, retireShinyName(name), pos, false)          
           end  
    else
                                                               
    return true
    end
end

 

Mostrar mais  

este , deu erro na distro e não ligou mais o server

  Em 27/02/2018 em 02:45, DboExplorer disse:
  Mostrar conteúdo oculto

 

Mostrar mais  

Este deu este erro :

 

image.thumb.png.5e11df886ed3c29d81a289d9f01459f2.png

Link para o post
Compartilhar em outros sites
  • Solução
  Mostrar conteúdo oculto

 

Editado por DboExplorer (veja o histórico de edições)

 

Te ajudei ?? Que tal fazer uma contribuição ?

Doar

Link para o post
Compartilhar em outros sites
  Em 28/02/2018 em 00:45, DboExplorer disse:
  Mostrar conteúdo oculto

 

Mostrar mais  

Mesmo problema ...

Link para o post
Compartilhar em outros sites

Mas não fala no console a linha que está errada , fica que nem na print , e o server não liga

  Em 28/02/2018 em 02:47, DboExplorer disse:

Se tu não ver no console qual linha está com o erro fica dificil ajudar,  o codigo foi editado

Mostrar mais  

descobri q é a linha 126

Link para o post
Compartilhar em outros sites

agora não da o erro , mas não está spawnando o mega

  Em 28/02/2018 em 20:33, DboExplorer disse:

Eu editei o codigo cara lê meu comentario e testa

Mostrar mais  

ja consegui vei , obrigado de coração mesmo man <3 , era só 1 errinho no nome do blastoise tava blatoise kkkk mas tirando isso , valeu mesmo :) 

Link para o post
Compartilhar em outros sites

Eu só coloquei aqueles nomes pra exemplos você teria que arrumar isso é meio obvio, se a duvida foi solucionada coloca como melhor resposta.

 

Te ajudei ?? Que tal fazer uma contribuição ?

Doar

Link para o post
Compartilhar em outros sites
  • 3 years later...
  Em 01/03/2018 em 01:52, Crypter disse:

Eu só coloquei aqueles nomes pra exemplos você teria que arrumar isso é meio obvio, se a duvida foi solucionada coloca como melhor resposta.

Expand   Mostrar mais  

 

poderia me ajuda no meu da esse erro!!

 

[03/05/2021 16:47:48] [Error - LuaScriptInterface::loadFile] data/creaturescripts/scripts/spawn2.lua:127: 'end' expected (to close 'function' at line 66) near '<eof>'
[03/05/2021 16:47:48] [Warning - Event::loadScript] Cannot load script (data/creaturescripts/scripts/spawn2.lua)
[03/05/2021 16:47:48] data/creaturescripts/scripts/spawn2.lua:127: 'end' expected (to close 'function' at line 66) near '<eof>'

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Estatísticas dos Fóruns

    96823
    Tópicos
    519566
    Posts
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo