Ir para conteúdo
  • Cadastre-se

Derivado SCRIPT de colocar No nomes dos pokes Shinys "Shiny"


Posts Recomendados

SCRIPT de colocar No nomes dos pokes Shinys "Shiny" ou alguem  me ensinar a troca meu "SCRIPT"

level system.lua  VOU DEIXA MEU "SCRIPT AQUI CASO ALGUEM POSSA ME AJUDAR...

Editado por DarkRed (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
Em 09/03/2017 ás 08:51, DarkRed disse:

SCRIPT de colocar No nomes dos pokes Shinys "Shiny" ou alguem  me ensinar a troca meu "SCRIPT"

level system.lua  VOU DEIXA MEU "SCRIPT AQUI CASO ALGUEM POSSA ME AJUDAR...

Cara até onde eu sei não tem nada a ver com o arquivo level system, e sim com o arquivo configuration.lua, esse arquivo fica na pasta /lib do seu Ot, la vai ter isso escrito 

shinyBeforeNames = false, onde ta false muda pra trueque vai aparecer o nome dos shinys, pelo menos é para aparecer, qualquer coisa me diz se funcionou

Editado por arthurmgoncalves (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
Em 01/07/2016 ás 20:44, Trelik disse:

 

Puts cara , se puder ver ai oq vc fez , estou com o mesmo problema que você estava , chequei e estou usando a dat e spr do DxP mesmo . Reparei que toda vez que abro (antes de carregar algum mapa) da esse erro :
 

  Mostrar conteúdo oculto

f6c87c45ad53a85aa44bb1506df0da6d.png

 

 

Em 28/11/2014 ás 13:55, Thayam disse:

Você só quer alterar o nome de um pokemon pra Shiny? tipo um Raichu (shiny) para mostrar Shiny Raichu?

 

 

Se for só isso basta acessar sua pasta : data/monster/poke e abrir o arquivo de algum shiny, ja que falei do shiny raichu, vou usa-lo de exemplo:


<?xml version="1.0" encoding="UTF-8"?>
<monster name="Raichu" nameDescription="a Shiny raichu" race="electric" experience="668" speed="302" manacost="0">
  <health now="90" max="90"/>
  <look type="1220" head="60" body="70" legs="95" feet="113" corpse="12445"/>
  <targetchange interval="1000" chance="0"/>
  <strategy attack="100" defense="0"/>

o lugar ecrito Raichu é o nome que aparecerá no jogo (no caso se você chegar a ver um Shiny Raichu, o nome dele será Raichu, porem ele continua sendo um shiny)

O lugar escrito a Shiny Raichu é o nome que apararecerá quando você der look no poke (ex: You see a Shiny Raichu).

 

Caso queira que o Raichu apareça como Shiny Raichu, basta trocar o nome dele na palavra Raichu e o mesmo serve para o Look!

 

Não é necessário um script para isso, basta editar o script do próprio Pokemon :wink:

 

Ajudei?

 

51 minutos atrás, arthurmgoncalves disse:

Cara até onde eu sei não tem nada a ver com o arquivo level system, e sim com o arquivo configuration.lua, esse arquivo fica na pasta /lib do seu Ot, la vai ter isso escrito 

shinyBeforeNames = false, onde ta false muda pra trueque vai aparecer o nome dos shinys, pelo menos é para aparecer, qualquer coisa me diz se funcionou

amigo nao tem nada se quiser da uma olhada 

configuration.lua

Link para o post
Compartilhar em outros sites
Citar
24 minutos atrás, DarkRed disse:

 

 

amigo nao tem nada se quiser da uma olhada 

configuration.lua

 

Cara normalmente nos arquivos do shinys na pasta monsters eles ja ficam com o nome shiny msm são poucos os que ficam sem isso, mas vc ja fez o teste pra se é so isso msm, e no configuration onde tem

wildBeforeNames = false adiciona isso shinyBeforeNames = true em baixo ficando assim

wildBeforeNames = false
shinyBeforeNames = true

Link para o post
Compartilhar em outros sites

bom amigo mesmo assim nao foi 

 

13 minutos atrás, arthurmgoncalves disse:

Cara normalmente nos arquivos do shinys na pasta monsters eles ja ficam com o nome shiny msm são poucos os que ficam sem isso, mas vc ja fez o teste pra se é so isso msm, e no configuration onde tem

wildBeforeNames = false adiciona isso shinyBeforeNames = true em baixo ficando assim

wildBeforeNames = false
shinyBeforeNames = true

amigo mesmo assim nao foi

Link para o post
Compartilhar em outros sites
5 minutos atrás, arthurmgoncalves disse:

e aquilo que o cara disse la em cima sobre coloca o nome do shiny no arquivo dele vc fez?

amigo ja sim se quiser  eu posto o server aqui e voce ve fiz como o cara falou e nao vai

Link para o post
Compartilhar em outros sites
10 minutos atrás, arthurmgoncalves disse:

aqui ta abrindo como configuration.lua copia e cola aqui o começo de um deles pra eu ver

<?xml version="1.0" encoding="UTF-8"?>
<monster name="Shiny Alakazam" nameDescription="a Shiny alakazam" race="psychic" experience="876" speed="267" manacost="0">
  <health now="120" max="120"/>
  <look type="1259" head="80" body="90" legs="95" feet="113" corpse="12484"/>
  <targetchange interval="0" chance="0"/>
  <strategy attack="100" defense="0"/>
<flags>
 <flag summonable="1"/>
 <flag attackable="1"/>
 <flag hostile="1"/>
 <flag illusionable="1"/>
 <flag convinceable="1"/>
 <flag pushable="1"/>
 <flag canpushitems="0"/>
 <flag canpushcreatures="0"/>
 <flag targetdistance="2"/>
 <flag staticattack="100"/>
 <flag runonhealth="0"/>
 
</flags>

<attacks>
        <attack name="physical" interval="2000" chance="100" range="5" min="-50" max="-100">
            <attribute key="shootEffect" value="eartharrow"/>
        </attack>
        <attack name="Confusion" interval="2617" chance="70" range="6"/>
        <attack name="Restore" interval="4920" chance="20" range="6"/>
        <attack name="Psy Pulse" interval="2852" chance="70" range="6"/>
        <attack name="Psywave" interval="3040" chance="70" range="5"/>
        <attack name="Psybeam" interval="3275" chance="70" range="6"/>
        <attack name="Calm Mind" interval="5625" chance="70" range="6"/>
        <attack name="Psychic" interval="3510" chance="70" range="6"/>
        <attack name="Hypnosis" interval="5510" chance="70" range="3"/>
        <attack name="Psyusion" interval="5610" chance="70" range="4"/>
        <attack name="Reflect" interval="4510" chance="70" range="6"/>
</attacks>


<defenses armor="0" defense="0">
</defenses>

 <voices interval="5000" chance="10">
 <voice sentence="ALAKAZAM!"/>
 </voices>

  <loot>
          <item id="11452" chance="20000" count="1" countmax="5"/> --enigma stone
  </loot>

<script>
<event name="Spawn"/>
</script>
</monster>

Link para o post
Compartilhar em outros sites

Ah man, tem nada haver com isso ai não, tem haver com o level system msm, vai em level system da ctrl+f procura por 

if string.find(tostring(nick), "Shiny") then
       nick = tostring(nick):match("Shiny (.*)")
    end

e apaga e salva o arquivo só isso

Link para o post
Compartilhar em outros sites
Em 15/03/2017 ás 17:53, arthurmgoncalves disse:

Ah man, tem nada haver com isso ai não, tem haver com o level system msm, vai em level system da ctrl+f procura por 

if string.find(tostring(nick), "Shiny") then
       nick = tostring(nick):match("Shiny (.*)")
    end

e apaga e salva o arquivo só isso

MANO DEU ERRO MAIS OLHA COMO E O MEU

 

 

 

function getPokemonHealth(name)                
    if not pokes[string.lower(name)] then return false end
    return getMonsterInfo(string.lower(name)).healthMax
end

function adjustWildPoke(cid, optionalLevel)
if not isCreature(cid) then return true end
if isSummon(cid) then return true end
    if getPlayerStorageValue(cid, 154585) ~= 1 then
       doSendMagicEffect(getThingPos(cid), 21)
    end
    
    local nick = doCorrectString(getCreatureName(cid))
    local level = getPokemonLevelByName(nick)
    
    if not pokes[nick] then return false end -- rever isto
     
    setPlayerStorageValue(cid, 1000, level) --alterado v1.8
    setPlayerStorageValue(cid, 1001, pokes[nick].offense)
    setPlayerStorageValue(cid, 1002, pokes[nick].defense)
    setPlayerStorageValue(cid, 1003, pokes[nick].agility)                                  
    setPlayerStorageValue(cid, 1004, pokes[nick].vitality * level)
    setPlayerStorageValue(cid, 1005, pokes[nick].specialattack)
    
    doRegainSpeed(cid)         --alterado!
        
        local pokeLifeMax = pokes[nick].life 
        
        if pokes[nick].wildLvl > 50 then
           pokeLifeMax = pokeLifeMax * 3
        end
        
        if string.find(nick, "Shiny") then
            pokeLifeMax = pokeLifeMax * 4 + (200 * pokes[nick].wildLvl)
        end
        
        setCreatureMaxHealth(cid, pokeLifeMax) -- perfeita formula, os pokemons "ruins" só precisam de ajustes no pokemonStatus, tabela vitality.
        doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
   
end       


function adjustStatus(pk, item, health, dittoLife, conditions, isPassiva)

    if not isCreature(pk) then return true end

-- Defense -- 
local heldBonusAttack = 1
local heldBonusDefense = 1
local heldBonusSpeed = 0
local heldBonusVitality = 1
local heldx = getItemAttribute(item, "xHeldItem")
if heldx then
local heldName, heldTier = string.explode(heldx, "|")[1], string.explode(heldx, "|")[2]
      if heldName == "X-Attack" then
        heldBonusAttack = heldAttack[tonumber(heldTier)]
      end
      if heldName == "X-Defense" then
        heldBonusDefense = heldDefense[tonumber(heldTier)]
      end
      if heldName == "X-Haste" then
        heldBonusSpeed = heldHaste[tonumber(heldTier)]
      end
      if heldName == "X-Vitality" then
        heldBonusVitality = heldVitality[tonumber(heldTier)]
      end
end


local nick = getItemAttribute(item, "poke")

    if isInArray({"ditto", "shiny ditto"}, nick) then
       if getItemAttribute(item, "copyName") then
          nick = getItemAttribute(item, "copyName")
       end
    end

    setPlayerStorageValue(pk, 1001, pokes[nick].offense * heldBonusAttack)
    setPlayerStorageValue(pk, 1002, pokes[nick].defense * heldBonusDefense)
    setPlayerStorageValue(pk, 1003, pokes[nick].agility + heldBonusSpeed)
    setPlayerStorageValue(pk, 1004, pokes[nick].vitality * (getMasterLevel(pk) + getPokemonBoost(pk)))
    setPlayerStorageValue(pk, 1005, pokes[nick].specialattack * heldBonusAttack)

    local life_boost = 100 * getPokemonBoost(pk)
        
        local pokeLifeMax = pokes[nick].life
        local boost = getPokemonBoost(pk)
        local masterLevel = getPlayerLevel(getCreatureMaster(pk))
        
        -- base + ( vity * level + boost * 12.2 )
            local life = (pokeLifeMax + (pokes[nick].vitality * (masterLevel + boost)) * 12.5) * (heldBonusVitality / 100 + 1)
                
            
            --if getItemAttribute(item, "initialKit") then
            --    life = getBallMaxHealthUnique(cid, item)
            --end
            
            
            setCreatureMaxHealth(pk, life) -- perfeita formula, os pokemons "ruins" só precisam de ajustes no pokemonStatus, tabela vitality.
            local hpToDraw = not isPassiva and getItemAttribute(item, "hpToDraw") or 0
                  if(not hpToDraw)then
                    doItemSetAttribute(item, "hpToDraw", 0)
                  end
                  if type(dittoLife) == "number" then 
                     hpToDraw = dittoLife
                  end
             
                doCreatureAddHealth(pk, getCreatureMaxHealth(pk))
                if hpToDraw > getCreatureHealth(pk) then
                   hpToDraw = getCreatureHealth(pk)-1
                end
                doCreatureAddHealth(pk, -hpToDraw)
                setBallHealth(item, getCreatureHealth(pk), getCreatureMaxHealth(pk))
            
            local cid = getCreatureMaster(pk)
            doSendLifePokeToOTC(cid)
        
                                                                      
    doRegainSpeed(pk)  

    if isGhostPokemon(pk) then
       setPlayerStorageValue(pk, 8981, 1)
       updateGhostWalk(pk)
    end
        
    

    if getItemAttribute(item, "nick") then
        nick = getItemAttribute(item, "nick")
    end

    setPlayerStorageValue(pk, 1007, nick)

    if not getItemAttribute(item, "happy") then
        doItemSetAttribute(item, "happy", 120)
    end

    if not getItemAttribute(item, "hunger") then
        doItemSetAttribute(item, "hunger", 5)
    end

    local happy = getItemAttribute(item, "happy")
        if happy < 0 then
            happy = 1
        end
    setPlayerStorageValue(pk, 1008, happy)

    local hunger = getItemAttribute(item, "hunger")
    setPlayerStorageValue(pk, 1009, hunger)
    
    if isSummon(pk) and conditions then
        local burn = getItemAttribute(item, "burn")   
        if burn and burn >= 0 then
           local ret = {id = pk, cd = burn, check = false, damage = getItemAttribute(item, "burndmg"), cond = "Burn"}
           addEvent(doCondition2, 3500, ret)
        end

        local poison = getItemAttribute(item, "poison")
        if poison and poison >= 0 then
           local ret = {id = pk, cd = poison, check = false, damage = getItemAttribute(item, "poisondmg"), cond = "Poison"}
           addEvent(doCondition2, 1500, ret)
        end

        local confuse = getItemAttribute(item, "confuse")
        if confuse and confuse >= 0 then
           local ret = {id = pk, cd = confuse, check = false, cond = "Confusion"}
           addEvent(doCondition2, 1200, ret)                                                
        end

        local sleep = getItemAttribute(item, "sleep")
        if sleep and sleep >= 0 then
           local ret = {id = pk, cd = sleep, check = false, first = true, cond = "Sleep"}
           doCondition2(ret)
        end
        
        local miss = getItemAttribute(item, "miss")     
        if miss and miss >= 0 then      
          local ret = {id = pk, cd = miss, eff = getItemAttribute(item, "missEff"), check = false, spell = getItemAttribute(item, "missSpell"), cond = "Miss"}
          doCondition2(ret)
        end
        
        local fear = getItemAttribute(item, "fear")
        if fear and fear >= 0 then
           local ret = {id = pk, cd = fear, check = false, skill = getItemAttribute(item, "fearSkill"), cond = "Fear"}
           doCondition2(ret)
        end
        
        local silence = getItemAttribute(item, "silence")
        if silence and silence >= 0 then      
           local ret = {id = pk, cd = silence, eff = getItemAttribute(item, "silenceEff"), check = false, cond = "Silence"}
           doCondition2(ret)
        end                                     
        
        local stun = getItemAttribute(item, "stun")
        if stun and stun >= 0 then
           local ret = {id = pk, cd = stun, eff = getItemAttribute(item, "stunEff"), check = false, spell = getItemAttribute(item, "stunSpell"), cond = "Stun"}
           doCondition2(ret)
        end 
                                                       
        local paralyze = getItemAttribute(item, "paralyze")
        if paralyze and paralyze >= 0 then
           local ret = {id = pk, cd = paralyze, eff = getItemAttribute(item, "paralyzeEff"), check = false, first = true, cond = "Paralyze"}
           doCondition2(ret)
        end  
                                                     
        local slow = getItemAttribute(item, "slow")
        if slow and slow >= 0 then
           local ret = {id = pk, cd = slow, eff = getItemAttribute(item, "slowEff"), check = false, first = true, cond = "Slow"}
           doCondition2(ret)
        end                                              
        
        local leech = getItemAttribute(item, "leech")
        if leech and leech >= 0 then
           local ret = {id = pk, cd = leech, attacker = 0, check = false, damage = getItemAttribute(item, "leechdmg"), cond = "Leech"}
           doCondition2(ret)
        end                               
        
        for i = 1, 3 do
            local buff = getItemAttribute(item, "Buff"..i)
            if buff and buff >= 0 then
               local ret = {id = pk, cd = buff, eff = getItemAttribute(item, "Buff"..i.."eff"), check = false, 
               buff = getItemAttribute(item, "Buff"..i.."skill"), first = true, attr = "Buff"..i}
               doCondition2(ret)
            end
        end
               
    end
                                                                          --alterado v1.9
    if getItemAttribute(item, "boost") and getItemAttribute(item, "boost") >= 50 and getItemAttribute(item, "aura") then
       sendAuraEffect(pk, auraSyst[getItemAttribute(item, "aura")])        
    end
    
    if getPlayerStorageValue(getCreatureMaster(pk), 6598754) >= 1 then
        setPlayerStorageValue(pk, 6598754, 1)                               
    elseif getPlayerStorageValue(getCreatureMaster(pk), 6598755) >= 1 then
        setPlayerStorageValue(pk, 6598755, 1)
    end

return true
end


function getPokemonXMLOutfit(name)                --alterado v1.9 \/
local path = "data/monster/pokes/Shiny/"..name..".xml"
local tpw = io.type(io.open(path))

if not tpw then
   path = "data/monster/pokes/geracao 2/"..name..".xml"
   tpw = io.type(io.open(path))
end
if not tpw then
   path = "data/monster/pokes/geracao 1/"..name..".xml"
   tpw = io.type(io.open(path))
end
if not tpw then
   path = "data/monster/pokes/"..name..".xml"
   tpw = io.type(io.open(path))
end   
if not tpw then
   return print("[getPokemonXMLOutfit] Poke with name: "..name.." ins't in any paste on monster/pokes/") and 2
end
   local arq = io.open(path, "a+")
   local txt = arq:read("*all")
   arq:close()
   local a, b = txt:find('look type="(.-)"')
   txt = string.sub(txt, a + 11, b - 1)
return tonumber(txt)
end 

function getNPCXMLLOOKDIR(name)                --alterado v1.9 \/
local path = name
local tpw = io.type(io.open(path))
if not tpw then
   return false
end
   local arq = io.open(path, "a+")
   local txt = arq:read("*all")
   arq:close()
   local a, b = txt:find('lookdir="(.-)"')
   txt = string.sub(txt, a + 9, b - 1)
return tonumber(txt)
end 

function doEvolutionOutfit(cid, oldout, outfit)
    if not isCreature(cid) then return true end
        if getCreatureOutfit(cid).lookType == oldout then
            doSetCreatureOutfit(cid, {lookType = outfit}, -1)
        else
            doSetCreatureOutfit(cid, {lookType = oldout}, -1)
        end
end

function doSendEvolutionEffect(cid, pos, evolution, turn, ssj, evolve, f, h)
    if not isCreature(cid) then
        doSendAnimatedText(pos, "CANCEL", 215)
        return true 
    end
    if evolve then
        doEvolvePokemon(getCreatureMaster(cid), {uid = cid}, evolution, 0, 0)
    return true
    end
    doSendMagicEffect(pos, 18)
        if ssj then
            sendSSJEffect(evo)
        end
    doEvolutionOutfit(cid, f, h)
    addEvent(doSendEvolutionEffect, math.pow(1900, turn/20), cid, getThingPos(cid), evolution, turn - 1, turn == 19, turn == 2, f, h)
end

function sendSSJEffect(cid)
    if not isCreature(cid) then return true end
    local pos1 = getThingPos(cid)
    local pos2 = getThingPos(cid)
    pos2.x = pos2.x + math.random(-1, 1)
    pos2.y = pos2.y - math.random(1, 2)
    doSendDistanceShoot(pos1, pos2, 37)
    addEvent(sendSSJEffect, 45, cid)
end

function sendFinishEvolutionEffect(cid, alternate)
    if not isCreature(cid) then return true end
    local pos1 = getThingPos(cid)

    if alternate then
        local pos = {
        [1] = {-2, 0},
        [2] = {-1, -1},
        [3] = {0, -2},
        [4] = {1, -1},
        [5] = {2, 0},
        [6] = {1, 1},
        [7] = {0, 2},
        [8] = {-1, 1}}
        for a = 1, 8 do
            local pos2 = getThingPos(cid)
            pos2.x = pos2.x + pos[a][1]
            pos2.y = pos2.y + pos[a][2]
            local pos = getThingPos(cid)
            doSendDistanceShoot(pos2, pos, 37)
            addEvent(doSendDistanceShoot, 300, pos, pos2, 37)
        end
    else
        for a = 0, 3 do
            doSendDistanceShoot(pos1, getPosByDir(pos1, a), 37)
        end
        for a = 4, 7 do
            addEvent(doSendDistanceShoot, 600, pos1, getPosByDir(pos1, a), 37)
        end
    end
end

function doEvolvePokemon(cid, item2, theevo, stone1, stone2)

    if not isCreature(cid) then return true end

    if not pokes[theevo] or not pokes[theevo].offense then
    doReturnPokemon(cid, item2.uid, getPlayerSlotItem(cid, 8), pokeballs[getPokeballType(getPlayerSlotItem(cid, 8).itemid)].effect, false, true)
    return true
    end

    local owner = getCreatureMaster(item2.uid)
    local pokeball = getPlayerSlotItem(cid, 8)
    local description = "Contains a "..theevo.."."
    local nick = getItemAttribute(pokeball.uid, "nick")

        doItemSetAttribute(pokeball.uid, "poke", theevo)
        doItemSetAttribute(pokeball.uid, "description", "Contains a "..theevo..".")

        doPlayerSendTextMessage(cid, 27, "Congratulations! Your "..getPokeName(item2.uid).." evolved into a "..theevo.."!")        

        doSendMagicEffect(getThingPos(item2.uid), 18)
        doTransformItem(getPlayerSlotItem(cid, 7).uid, fotos[theevo])
        doSendMagicEffect(getThingPos(cid), 173)

        local oldpos = getThingPos(item2.uid)
        local oldlod = getCreatureLookDir(item2.uid)
        doRemoveCreature(item2.uid)
        
        if not nick then
           nick = theevo
        end

        pokeSourceCode = doCreateMonsterNick(cid, theevo, nick, getThingPos(cid), true)
            if not pokeSourceCode then
               doSendMsg(cid, "Erro. Comunique esse codigo ao GM. [31121994]")
               return true
            end
        local pk = getCreatureSummons(cid)[1]

        doTeleportThing(pk, oldpos, false)
        doCreatureSetLookDir(pk, oldlod)

        sendFinishEvolutionEffect(pk, true)
        addEvent(sendFinishEvolutionEffect, 550, pk, true)
        addEvent(sendFinishEvolutionEffect, 1050, pk)
        
        doPlayerRemoveItem(cid, stone1, 1)
        doPlayerRemoveItem(cid, stone2, 1)

        doAddPokemonInOwnList(cid, theevo)
        adjustStatus(pk, pokeball.uid, true, false)

        if useKpdoDlls then
            doUpdateMoves(cid)
        end
end

function doMathDecimal(number, casas)

    if math.floor(number) == number then return number end

    local c = casas and casas + 1 or 3

    for a = 0, 10 do
        if math.floor(number) < math.pow(10, a) then
            local str = string.sub(""..number.."", 1, a + c)
            return tonumber(str)    
        end
    end

return number
end

function doAdjustWithDelay(cid, pk, health, vit, status)
if isCreature(cid) then                                   
   adjustStatus(pk, getPlayerSlotItem(cid, 8).uid, health, vir, status)
end
end

function getOffense(cid)
    if not isCreature(cid) then return 0 end
return tonumber(getPlayerStorageValue(cid, 1001))
end

function getDefense(cid)
    if not isCreature(cid) then return 0 end
return tonumber(getPlayerStorageValue(cid, 1002))
end

function getSpeed(cid)
    if not isCreature(cid) then return 0 end
return tonumber(getPlayerStorageValue(cid, 1003))
end

function getVitality(cid)
    if not isCreature(cid) then return 0 end
return tonumber(getPlayerStorageValue(cid, 1004))
end

function getSpecialAttack(cid)
    if not isCreature(cid) then return 0 end
return tonumber(getPlayerStorageValue(cid, 1005))
end

function getHappiness(cid)
    if not isCreature(cid) then return 0 end
return tonumber(getPlayerStorageValue(cid, 1008))
end

function getSpecialDefense(cid)
    if not isCreature(cid) then return 0 end
return getSpecialAttack(cid) * 0.85 + getDefense(cid) * 0.2      
end

function getPokemonLevel(cid, dex)
if not isCreature(cid) or not pokes[getCreatureName(cid)] then return 0 end 
    if not dex then                      --alterado v1.9
       if ehMonstro(cid) and getPlayerStorageValue(cid, 1000) > 0 then  
          return getPlayerStorageValue(cid, 1000)
       elseif ehMonstro(cid) then 
          return pokes[getCreatureName(cid)].wildLvl             
       end
    end   
return pokes[getCreatureName(cid)].level
end

function getPokemonLevelByName(name)
return pokes[name] and pokes[name].level or 0  --alterado v1.9
end

function getMasterLevel(poke)
    if not isSummon(poke) then return 0 end
return getPlayerLevel(getCreatureMaster(poke))
end

function getPokemonBoost(poke)
    if not isSummon(poke) then return 0 end
return getItemAttribute(getPlayerSlotItem(getCreatureMaster(poke), 8).uid, "boost") or 0
end

function getPokeballBoost(ball)
    if not isPokeball(ball.itemid) then return 0 end  --alterado v1.8
return getItemAttribute(ball.uid, "boost") or 0
end

function getPokeName(cid)
    if not isSummon(cid) then return getCreatureName(cid) end
    if getCreatureName(cid) == "Evolution" then return getPlayerStorageValue(cid, 1007) end
    
local item = getPlayerSlotItem(getCreatureMaster(cid), 8)
    if getItemAttribute(item.uid, "nick") then
       return getItemAttribute(item.uid, "nick")
    end
    if string.find(tostring(getCreatureName(cid)), "Shiny") then
      local newName = tostring(getCreatureName(cid)):match("Shiny (.*)")
      return newName
    end
return getCreatureName(cid)
end

function getPokeballName(item, truename)
if not truename and getItemAttribute(item, "nick") then
return getItemAttribute(item, "nick")
end
return getItemAttribute(item, "poke")
end

function getPokemonName(cid)
return getCreatureName(cid)
end

function getPokemonGender(cid) --alterado v1.9
return getCreatureSkullType(cid)
end

function setPokemonGender(cid, gender)
if isCreature(cid) and gender then        --alterado v1.8
   doCreatureSetSkullType(cid, gender)
   return true
end
return false
end

function getWildPokemonExp(cid)
return getMonsterInfo(getCreatureName(cid)).experience
end

Link para o post
Compartilhar em outros sites
Em 10/03/2017 ás 16:13, arthurmgoncalves disse:

Cara normalmente nos arquivos do shinys na pasta monsters eles ja ficam com o nome shiny msm são poucos os que ficam sem isso, mas vc ja fez o teste pra se é so isso msm, e no configuration onde tem

wildBeforeNames = false adiciona isso shinyBeforeNames = true em baixo ficando assim

wildBeforeNames = false
shinyBeforeNames = true

Hei de está errado jovem!

Amigo, posta pra mim o seu spawn.xml, fica em creaturescript/script.


PS: è pra ficar shiny só no nome dos monstros? Ou é pra ficar em players também?

Link para o post
Compartilhar em outros sites
8 horas atrás, Yota disse:

Hei de está errado jovem!

Amigo, posta pra mim o seu spawn.xml, fica em creaturescript/script.


PS: è pra ficar shiny só no nome dos monstros? Ou é pra ficar em players também?

AQUI ESTA NOS DOIS NO PLAYER E NO PKEMON 

 

 

 

local shinysName = {
"Blastoise", "Venusaur", "Butterfree", "Beedrill", "Pidgeot", "Rattata", "Raticate", "Raichu", "Golbat", "Paras", "Parasect", "Magmar", "Typhlosion", "Xatu", "Growlithe", "Arcanine", "Tentacruel", "Gengar", "Krabby", "Tauros", 
"Kingler", "Cubone", "Horsea", "Seadra", "Weezing", "Scyther", "Pinsir", "Crobat", "Zubat", "Tentacool", "Feraligatr", "Machamp", "Meganium", "Alakazam", "Tangela", "Ampharos", "Electabuzz", "Jynx", "Charizard", "Voltorb", "Electrode"}

function onSpawn(cid)
    if getCreatureName(cid) == "" or getCreatureName(cid) == nil then
       setPlayerStorageValue(cid, 510, getCreatureNick(cid))
    end
    
    
    
    --if isTwoGerenetion(doCorrectString(getCreatureName(cid))) then doRemoveCreature(cid) return false end
    registerCreatureEvent(cid, "GeneralConfiguration")
    registerCreatureEvent(cid, "WildAttack")
    registerCreatureEvent(cid, "Experience")
    registerCreatureEvent(cid, "Matou")
    registerCreatureEvent(cid, "PokeWalk")
    registerCreatureEvent(cid, "StatsChange")
    
    if not ehMonstro(cid) then
        registerCreatureEvent(cid, "Target")
        registerCreatureEvent(cid, "Matou")
        registerCreatureEvent(cid, "SummonDeath")
        getPokeDistanceToTeleport(cid)
        setPokemonGhost(cid)
        if getCreatureName(cid):find("Shiny ") then
           setPlayerStorageValue(cid, storages.EhShiny, 1)
        end
    return true
    end
    
    addEvent(doShiny, 5, cid)
    addEvent(adjustWildPoke, 5, cid)
    setPokemonGhost(cid)
    doMarkedPos(cid, getThingPos(cid))
    
       if isPokePassive(cid) then
          setPokemonPassive(cid, true)
       end

return true
end

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(shinysName, doCorrectString(getCreatureName(cid))) then  --alterado v1.9 \/
               chance = 40    --1% chance  
            end    
            local sid = cid
            if math.random(1, 500) <= chance then  
              doSendMagicEffect(getThingPos(cid), 18)               
              local name, pos = "Shiny ".. 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

aqui, usa este:

Spoiler

local shinysName = {
"Blastoise", "Venusaur", "Butterfree", "Beedrill", "Pidgeot", "Rattata", "Raticate", "Raichu", "Golbat", "Paras", "Parasect", "Magmar", "Typhlosion", "Xatu", "Growlithe", "Arcanine", "Tentacruel", "Gengar", "Krabby", "Tauros", 
"Kingler", "Cubone", "Horsea", "Seadra", "Weezing", "Scyther", "Pinsir", "Crobat", "Zubat", "Tentacool", "Feraligatr", "Machamp", "Meganium", "Alakazam", "Tangela", "Ampharos", "Electabuzz", "Jynx", "Charizard", "Voltorb", "Electrode"}
function onSpawn(cid)
    if getCreatureName(cid) == "" or getCreatureName(cid) == nil then
       setPlayerStorageValue(cid, 510, getCreatureNick(cid))
    end
    
    
    
    --if isTwoGerenetion(doCorrectString(getCreatureName(cid))) then doRemoveCreature(cid) return false end
    registerCreatureEvent(cid, "GeneralConfiguration")
    registerCreatureEvent(cid, "WildAttack")
    registerCreatureEvent(cid, "Experience")
    registerCreatureEvent(cid, "Matou")
    registerCreatureEvent(cid, "PokeWalk")
    registerCreatureEvent(cid, "StatsChange")
    
    if not ehMonstro(cid) then
        registerCreatureEvent(cid, "Target")
        registerCreatureEvent(cid, "Matou")
        registerCreatureEvent(cid, "SummonDeath")
        getPokeDistanceToTeleport(cid)
        setPokemonGhost(cid)
        if getCreatureName(cid):find("Shiny ") then
           setPlayerStorageValue(cid, storages.EhShiny, 1)
        end
    return true
    end
    
    addEvent(adjustWildPoke, 5, cid)
    setPokemonGhost(cid)
    doMarkedPos(cid, getThingPos(cid))
    
       if isPokePassive(cid) then
          setPokemonPassive(cid, true)
       end
return true
end

 

 

Link para o post
Compartilhar em outros sites
22 minutos atrás, Yota disse:

aqui, usa este:

  Ocultar conteúdo


local shinysName = {
"Blastoise", "Venusaur", "Butterfree", "Beedrill", "Pidgeot", "Rattata", "Raticate", "Raichu", "Golbat", "Paras", "Parasect", "Magmar", "Typhlosion", "Xatu", "Growlithe", "Arcanine", "Tentacruel", "Gengar", "Krabby", "Tauros", 
"Kingler", "Cubone", "Horsea", "Seadra", "Weezing", "Scyther", "Pinsir", "Crobat", "Zubat", "Tentacool", "Feraligatr", "Machamp", "Meganium", "Alakazam", "Tangela", "Ampharos", "Electabuzz", "Jynx", "Charizard", "Voltorb", "Electrode"}
function onSpawn(cid)
    if getCreatureName(cid) == "" or getCreatureName(cid) == nil then
       setPlayerStorageValue(cid, 510, getCreatureNick(cid))
    end
    
    
    
    --if isTwoGerenetion(doCorrectString(getCreatureName(cid))) then doRemoveCreature(cid) return false end
    registerCreatureEvent(cid, "GeneralConfiguration")
    registerCreatureEvent(cid, "WildAttack")
    registerCreatureEvent(cid, "Experience")
    registerCreatureEvent(cid, "Matou")
    registerCreatureEvent(cid, "PokeWalk")
    registerCreatureEvent(cid, "StatsChange")
    
    if not ehMonstro(cid) then
        registerCreatureEvent(cid, "Target")
        registerCreatureEvent(cid, "Matou")
        registerCreatureEvent(cid, "SummonDeath")
        getPokeDistanceToTeleport(cid)
        setPokemonGhost(cid)
        if getCreatureName(cid):find("Shiny ") then
           setPlayerStorageValue(cid, storages.EhShiny, 1)
        end
    return true
    end
    
    addEvent(adjustWildPoke, 5, cid)
    setPokemonGhost(cid)
    doMarkedPos(cid, getThingPos(cid))
    
       if isPokePassive(cid) then
          setPokemonPassive(cid, true)
       end
return true
end

 

 

nao deu certo mais vlw a tentativa

Link para o post
Compartilhar em outros sites
Em 17/03/2017 ás 22:09, DarkRed disse:

MANO DEU ERRO MAIS OLHA COMO E O MEU

 

 

 

function getPokemonHealth(name)                
    if not pokes[string.lower(name)] then return false end
    return getMonsterInfo(string.lower(name)).healthMax
end

function adjustWildPoke(cid, optionalLevel)
if not isCreature(cid) then return true end
if isSummon(cid) then return true end
    if getPlayerStorageValue(cid, 154585) ~= 1 then
       doSendMagicEffect(getThingPos(cid), 21)
    end
    
    local nick = doCorrectString(getCreatureName(cid))
    local level = getPokemonLevelByName(nick)
    
    if not pokes[nick] then return false end -- rever isto
     
    setPlayerStorageValue(cid, 1000, level) --alterado v1.8
    setPlayerStorageValue(cid, 1001, pokes[nick].offense)
    setPlayerStorageValue(cid, 1002, pokes[nick].defense)
    setPlayerStorageValue(cid, 1003, pokes[nick].agility)                                  
    setPlayerStorageValue(cid, 1004, pokes[nick].vitality * level)
    setPlayerStorageValue(cid, 1005, pokes[nick].specialattack)
    
    doRegainSpeed(cid)         --alterado!
        
        local pokeLifeMax = pokes[nick].life 
        
        if pokes[nick].wildLvl > 50 then
           pokeLifeMax = pokeLifeMax * 3
        end
        
        if string.find(nick, "Shiny") then
            pokeLifeMax = pokeLifeMax * 4 + (200 * pokes[nick].wildLvl)
        end
        
        setCreatureMaxHealth(cid, pokeLifeMax) -- perfeita formula, os pokemons "ruins" só precisam de ajustes no pokemonStatus, tabela vitality.
        doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
   
end       


function adjustStatus(pk, item, health, dittoLife, conditions, isPassiva)

    if not isCreature(pk) then return true end

-- Defense -- 
local heldBonusAttack = 1
local heldBonusDefense = 1
local heldBonusSpeed = 0
local heldBonusVitality = 1
local heldx = getItemAttribute(item, "xHeldItem")
if heldx then
local heldName, heldTier = string.explode(heldx, "|")[1], string.explode(heldx, "|")[2]
      if heldName == "X-Attack" then
        heldBonusAttack = heldAttack[tonumber(heldTier)]
      end
      if heldName == "X-Defense" then
        heldBonusDefense = heldDefense[tonumber(heldTier)]
      end
      if heldName == "X-Haste" then
        heldBonusSpeed = heldHaste[tonumber(heldTier)]
      end
      if heldName == "X-Vitality" then
        heldBonusVitality = heldVitality[tonumber(heldTier)]
      end
end


local nick = getItemAttribute(item, "poke")

    if isInArray({"ditto", "shiny ditto"}, nick) then
       if getItemAttribute(item, "copyName") then
          nick = getItemAttribute(item, "copyName")
       end
    end

    setPlayerStorageValue(pk, 1001, pokes[nick].offense * heldBonusAttack)
    setPlayerStorageValue(pk, 1002, pokes[nick].defense * heldBonusDefense)
    setPlayerStorageValue(pk, 1003, pokes[nick].agility + heldBonusSpeed)
    setPlayerStorageValue(pk, 1004, pokes[nick].vitality * (getMasterLevel(pk) + getPokemonBoost(pk)))
    setPlayerStorageValue(pk, 1005, pokes[nick].specialattack * heldBonusAttack)

    local life_boost = 100 * getPokemonBoost(pk)
        
        local pokeLifeMax = pokes[nick].life
        local boost = getPokemonBoost(pk)
        local masterLevel = getPlayerLevel(getCreatureMaster(pk))
        
        -- base + ( vity * level + boost * 12.2 )
            local life = (pokeLifeMax + (pokes[nick].vitality * (masterLevel + boost)) * 12.5) * (heldBonusVitality / 100 + 1)
                
            
            --if getItemAttribute(item, "initialKit") then
            --    life = getBallMaxHealthUnique(cid, item)
            --end
            
            
            setCreatureMaxHealth(pk, life) -- perfeita formula, os pokemons "ruins" só precisam de ajustes no pokemonStatus, tabela vitality.
            local hpToDraw = not isPassiva and getItemAttribute(item, "hpToDraw") or 0
                  if(not hpToDraw)then
                    doItemSetAttribute(item, "hpToDraw", 0)
                  end
                  if type(dittoLife) == "number" then 
                     hpToDraw = dittoLife
                  end
             
                doCreatureAddHealth(pk, getCreatureMaxHealth(pk))
                if hpToDraw > getCreatureHealth(pk) then
                   hpToDraw = getCreatureHealth(pk)-1
                end
                doCreatureAddHealth(pk, -hpToDraw)
                setBallHealth(item, getCreatureHealth(pk), getCreatureMaxHealth(pk))
            
            local cid = getCreatureMaster(pk)
            doSendLifePokeToOTC(cid)
        
                                                                      
    doRegainSpeed(pk)  

    if isGhostPokemon(pk) then
       setPlayerStorageValue(pk, 8981, 1)
       updateGhostWalk(pk)
    end
        
    

    if getItemAttribute(item, "nick") then
        nick = getItemAttribute(item, "nick")
    end

    setPlayerStorageValue(pk, 1007, nick)

    if not getItemAttribute(item, "happy") then
        doItemSetAttribute(item, "happy", 120)
    end

    if not getItemAttribute(item, "hunger") then
        doItemSetAttribute(item, "hunger", 5)
    end

    local happy = getItemAttribute(item, "happy")
        if happy < 0 then
            happy = 1
        end
    setPlayerStorageValue(pk, 1008, happy)

    local hunger = getItemAttribute(item, "hunger")
    setPlayerStorageValue(pk, 1009, hunger)
    
    if isSummon(pk) and conditions then
        local burn = getItemAttribute(item, "burn")   
        if burn and burn >= 0 then
           local ret = {id = pk, cd = burn, check = false, damage = getItemAttribute(item, "burndmg"), cond = "Burn"}
           addEvent(doCondition2, 3500, ret)
        end

        local poison = getItemAttribute(item, "poison")
        if poison and poison >= 0 then
           local ret = {id = pk, cd = poison, check = false, damage = getItemAttribute(item, "poisondmg"), cond = "Poison"}
           addEvent(doCondition2, 1500, ret)
        end

        local confuse = getItemAttribute(item, "confuse")
        if confuse and confuse >= 0 then
           local ret = {id = pk, cd = confuse, check = false, cond = "Confusion"}
           addEvent(doCondition2, 1200, ret)                                                
        end

        local sleep = getItemAttribute(item, "sleep")
        if sleep and sleep >= 0 then
           local ret = {id = pk, cd = sleep, check = false, first = true, cond = "Sleep"}
           doCondition2(ret)
        end
        
        local miss = getItemAttribute(item, "miss")     
        if miss and miss >= 0 then      
          local ret = {id = pk, cd = miss, eff = getItemAttribute(item, "missEff"), check = false, spell = getItemAttribute(item, "missSpell"), cond = "Miss"}
          doCondition2(ret)
        end
        
        local fear = getItemAttribute(item, "fear")
        if fear and fear >= 0 then
           local ret = {id = pk, cd = fear, check = false, skill = getItemAttribute(item, "fearSkill"), cond = "Fear"}
           doCondition2(ret)
        end
        
        local silence = getItemAttribute(item, "silence")
        if silence and silence >= 0 then      
           local ret = {id = pk, cd = silence, eff = getItemAttribute(item, "silenceEff"), check = false, cond = "Silence"}
           doCondition2(ret)
        end                                     
        
        local stun = getItemAttribute(item, "stun")
        if stun and stun >= 0 then
           local ret = {id = pk, cd = stun, eff = getItemAttribute(item, "stunEff"), check = false, spell = getItemAttribute(item, "stunSpell"), cond = "Stun"}
           doCondition2(ret)
        end 
                                                       
        local paralyze = getItemAttribute(item, "paralyze")
        if paralyze and paralyze >= 0 then
           local ret = {id = pk, cd = paralyze, eff = getItemAttribute(item, "paralyzeEff"), check = false, first = true, cond = "Paralyze"}
           doCondition2(ret)
        end  
                                                     
        local slow = getItemAttribute(item, "slow")
        if slow and slow >= 0 then
           local ret = {id = pk, cd = slow, eff = getItemAttribute(item, "slowEff"), check = false, first = true, cond = "Slow"}
           doCondition2(ret)
        end                                              
        
        local leech = getItemAttribute(item, "leech")
        if leech and leech >= 0 then
           local ret = {id = pk, cd = leech, attacker = 0, check = false, damage = getItemAttribute(item, "leechdmg"), cond = "Leech"}
           doCondition2(ret)
        end                               
        
        for i = 1, 3 do
            local buff = getItemAttribute(item, "Buff"..i)
            if buff and buff >= 0 then
               local ret = {id = pk, cd = buff, eff = getItemAttribute(item, "Buff"..i.."eff"), check = false, 
               buff = getItemAttribute(item, "Buff"..i.."skill"), first = true, attr = "Buff"..i}
               doCondition2(ret)
            end
        end
               
    end
                                                                          --alterado v1.9
    if getItemAttribute(item, "boost") and getItemAttribute(item, "boost") >= 50 and getItemAttribute(item, "aura") then
       sendAuraEffect(pk, auraSyst[getItemAttribute(item, "aura")])        
    end
    
    if getPlayerStorageValue(getCreatureMaster(pk), 6598754) >= 1 then
        setPlayerStorageValue(pk, 6598754, 1)                               
    elseif getPlayerStorageValue(getCreatureMaster(pk), 6598755) >= 1 then
        setPlayerStorageValue(pk, 6598755, 1)
    end

return true
end


function getPokemonXMLOutfit(name)                --alterado v1.9 \/
local path = "data/monster/pokes/Shiny/"..name..".xml"
local tpw = io.type(io.open(path))

if not tpw then
   path = "data/monster/pokes/geracao 2/"..name..".xml"
   tpw = io.type(io.open(path))
end
if not tpw then
   path = "data/monster/pokes/geracao 1/"..name..".xml"
   tpw = io.type(io.open(path))
end
if not tpw then
   path = "data/monster/pokes/"..name..".xml"
   tpw = io.type(io.open(path))
end   
if not tpw then
   return print("[getPokemonXMLOutfit] Poke with name: "..name.." ins't in any paste on monster/pokes/") and 2
end
   local arq = io.open(path, "a+")
   local txt = arq:read("*all")
   arq:close()
   local a, b = txt:find('look type="(.-)"')
   txt = string.sub(txt, a + 11, b - 1)
return tonumber(txt)
end 

function getNPCXMLLOOKDIR(name)                --alterado v1.9 \/
local path = name
local tpw = io.type(io.open(path))
if not tpw then
   return false
end
   local arq = io.open(path, "a+")
   local txt = arq:read("*all")
   arq:close()
   local a, b = txt:find('lookdir="(.-)"')
   txt = string.sub(txt, a + 9, b - 1)
return tonumber(txt)
end 

function doEvolutionOutfit(cid, oldout, outfit)
    if not isCreature(cid) then return true end
        if getCreatureOutfit(cid).lookType == oldout then
            doSetCreatureOutfit(cid, {lookType = outfit}, -1)
        else
            doSetCreatureOutfit(cid, {lookType = oldout}, -1)
        end
end

function doSendEvolutionEffect(cid, pos, evolution, turn, ssj, evolve, f, h)
    if not isCreature(cid) then
        doSendAnimatedText(pos, "CANCEL", 215)
        return true 
    end
    if evolve then
        doEvolvePokemon(getCreatureMaster(cid), {uid = cid}, evolution, 0, 0)
    return true
    end
    doSendMagicEffect(pos, 18)
        if ssj then
            sendSSJEffect(evo)
        end
    doEvolutionOutfit(cid, f, h)
    addEvent(doSendEvolutionEffect, math.pow(1900, turn/20), cid, getThingPos(cid), evolution, turn - 1, turn == 19, turn == 2, f, h)
end

function sendSSJEffect(cid)
    if not isCreature(cid) then return true end
    local pos1 = getThingPos(cid)
    local pos2 = getThingPos(cid)
    pos2.x = pos2.x + math.random(-1, 1)
    pos2.y = pos2.y - math.random(1, 2)
    doSendDistanceShoot(pos1, pos2, 37)
    addEvent(sendSSJEffect, 45, cid)
end

function sendFinishEvolutionEffect(cid, alternate)
    if not isCreature(cid) then return true end
    local pos1 = getThingPos(cid)

    if alternate then
        local pos = {
        [1] = {-2, 0},
        [2] = {-1, -1},
        [3] = {0, -2},
        [4] = {1, -1},
        [5] = {2, 0},
        [6] = {1, 1},
        [7] = {0, 2},
        [8] = {-1, 1}}
        for a = 1, 8 do
            local pos2 = getThingPos(cid)
            pos2.x = pos2.x + pos[a][1]
            pos2.y = pos2.y + pos[a][2]
            local pos = getThingPos(cid)
            doSendDistanceShoot(pos2, pos, 37)
            addEvent(doSendDistanceShoot, 300, pos, pos2, 37)
        end
    else
        for a = 0, 3 do
            doSendDistanceShoot(pos1, getPosByDir(pos1, a), 37)
        end
        for a = 4, 7 do
            addEvent(doSendDistanceShoot, 600, pos1, getPosByDir(pos1, a), 37)
        end
    end
end

function doEvolvePokemon(cid, item2, theevo, stone1, stone2)

    if not isCreature(cid) then return true end

    if not pokes[theevo] or not pokes[theevo].offense then
    doReturnPokemon(cid, item2.uid, getPlayerSlotItem(cid, 8), pokeballs[getPokeballType(getPlayerSlotItem(cid, 8).itemid)].effect, false, true)
    return true
    end

    local owner = getCreatureMaster(item2.uid)
    local pokeball = getPlayerSlotItem(cid, 8)
    local description = "Contains a "..theevo.."."
    local nick = getItemAttribute(pokeball.uid, "nick")

        doItemSetAttribute(pokeball.uid, "poke", theevo)
        doItemSetAttribute(pokeball.uid, "description", "Contains a "..theevo..".")

        doPlayerSendTextMessage(cid, 27, "Congratulations! Your "..getPokeName(item2.uid).." evolved into a "..theevo.."!")        

        doSendMagicEffect(getThingPos(item2.uid), 18)
        doTransformItem(getPlayerSlotItem(cid, 7).uid, fotos[theevo])
        doSendMagicEffect(getThingPos(cid), 173)

        local oldpos = getThingPos(item2.uid)
        local oldlod = getCreatureLookDir(item2.uid)
        doRemoveCreature(item2.uid)
        
        if not nick then
           nick = theevo
        end

        pokeSourceCode = doCreateMonsterNick(cid, theevo, nick, getThingPos(cid), true)
            if not pokeSourceCode then
               doSendMsg(cid, "Erro. Comunique esse codigo ao GM. [31121994]")
               return true
            end
        local pk = getCreatureSummons(cid)[1]

        doTeleportThing(pk, oldpos, false)
        doCreatureSetLookDir(pk, oldlod)

        sendFinishEvolutionEffect(pk, true)
        addEvent(sendFinishEvolutionEffect, 550, pk, true)
        addEvent(sendFinishEvolutionEffect, 1050, pk)
        
        doPlayerRemoveItem(cid, stone1, 1)
        doPlayerRemoveItem(cid, stone2, 1)

        doAddPokemonInOwnList(cid, theevo)
        adjustStatus(pk, pokeball.uid, true, false)

        if useKpdoDlls then
            doUpdateMoves(cid)
        end
end

function doMathDecimal(number, casas)

    if math.floor(number) == number then return number end

    local c = casas and casas + 1 or 3

    for a = 0, 10 do
        if math.floor(number) < math.pow(10, a) then
            local str = string.sub(""..number.."", 1, a + c)
            return tonumber(str)    
        end
    end

return number
end

function doAdjustWithDelay(cid, pk, health, vit, status)
if isCreature(cid) then                                   
   adjustStatus(pk, getPlayerSlotItem(cid, 8).uid, health, vir, status)
end
end

function getOffense(cid)
    if not isCreature(cid) then return 0 end
return tonumber(getPlayerStorageValue(cid, 1001))
end

function getDefense(cid)
    if not isCreature(cid) then return 0 end
return tonumber(getPlayerStorageValue(cid, 1002))
end

function getSpeed(cid)
    if not isCreature(cid) then return 0 end
return tonumber(getPlayerStorageValue(cid, 1003))
end

function getVitality(cid)
    if not isCreature(cid) then return 0 end
return tonumber(getPlayerStorageValue(cid, 1004))
end

function getSpecialAttack(cid)
    if not isCreature(cid) then return 0 end
return tonumber(getPlayerStorageValue(cid, 1005))
end

function getHappiness(cid)
    if not isCreature(cid) then return 0 end
return tonumber(getPlayerStorageValue(cid, 1008))
end

function getSpecialDefense(cid)
    if not isCreature(cid) then return 0 end
return getSpecialAttack(cid) * 0.85 + getDefense(cid) * 0.2      
end

function getPokemonLevel(cid, dex)
if not isCreature(cid) or not pokes[getCreatureName(cid)] then return 0 end 
    if not dex then                      --alterado v1.9
       if ehMonstro(cid) and getPlayerStorageValue(cid, 1000) > 0 then  
          return getPlayerStorageValue(cid, 1000)
       elseif ehMonstro(cid) then 
          return pokes[getCreatureName(cid)].wildLvl             
       end
    end   
return pokes[getCreatureName(cid)].level
end

function getPokemonLevelByName(name)
return pokes[name] and pokes[name].level or 0  --alterado v1.9
end

function getMasterLevel(poke)
    if not isSummon(poke) then return 0 end
return getPlayerLevel(getCreatureMaster(poke))
end

function getPokemonBoost(poke)
    if not isSummon(poke) then return 0 end
return getItemAttribute(getPlayerSlotItem(getCreatureMaster(poke), 8).uid, "boost") or 0
end

function getPokeballBoost(ball)
    if not isPokeball(ball.itemid) then return 0 end  --alterado v1.8
return getItemAttribute(ball.uid, "boost") or 0
end

function getPokeName(cid)
    if not isSummon(cid) then return getCreatureName(cid) end
    if getCreatureName(cid) == "Evolution" then return getPlayerStorageValue(cid, 1007) end
    
local item = getPlayerSlotItem(getCreatureMaster(cid), 8)
    if getItemAttribute(item.uid, "nick") then
       return getItemAttribute(item.uid, "nick")
    end
    if string.find(tostring(getCreatureName(cid)), "Shiny") then
      local newName = tostring(getCreatureName(cid)):match("Shiny (.*)")
      return newName
    end
return getCreatureName(cid)
end

function getPokeballName(item, truename)
if not truename and getItemAttribute(item, "nick") then
return getItemAttribute(item, "nick")
end
return getItemAttribute(item, "poke")
end

function getPokemonName(cid)
return getCreatureName(cid)
end

function getPokemonGender(cid) --alterado v1.9
return getCreatureSkullType(cid)
end

function setPokemonGender(cid, gender)
if isCreature(cid) and gender then        --alterado v1.8
   doCreatureSetSkullType(cid, gender)
   return true
end
return false
end

function getWildPokemonExp(cid)
return getMonsterInfo(getCreatureName(cid)).experience
end

imagino que seja esse aqui   

 if string.find(tostring(getCreatureName(cid)), "Shiny") then
      local newName = tostring(getCreatureName(cid)):match("Shiny (.*)")
      return newName
    end

apaga e testa pra ver 

Editado por arthurmgoncalves (veja o histórico de edições)
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.

  • Conteúdo Similar

    • Por LeoTK
      Salve galera neste tópico irei postar algumas prints do mapa do servidor para quem queira acompanhar e quem sabe até utilizar de inspiração para mapear o seu NTO.
       
      #Att 11/08/2022

       
       
       
       
      Konoha (Em Desenvolvimento)
       
       
       
       
    • Por DiigooMix
      Como o título já diz, será que alguém possui sprite do hitto e se possível as transformações dele?
    • Por OmegaZero
      Olá gostaria que alguém me ajudasse com uma "scripting" não sei se é pela mesma, seria o seguinte uma determinada arma teria a chance de dar double hit e não sei oque fazer alguem poderia ajudar?

      OBS:não sei se é o local correto se não for mova, desculpe
    • Por Madarasenju
      Olá galera do Tibia King, queria por uns npc's no meu server que não tem função de trade nem nada do tipo, queria que eles só andassem como enfeite, Rep+ Pra quem me ajudar... grato desde já.
    • Por SilenceRoot
      A magia é assim o você usa a a magia e ela ficará ativado por 10 segundos, até que o inimigo lance a primeira magia ou todos de uma vez, quando ele lançar a primeira magia, ele não lhe acertará ou seja esquivando dela, e logo em seguida será teletransportado aleatoriamente ao redor do inimigo que usou.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo