Ir para conteúdo
  • Cadastre-se

Suporte [ERROR] Problema com adição de novos pokemon


Posts Recomendados

 Estou utilizando a base Pokemon Dash Advanced, version 0.3.6 (PDA) (uma das bases de otpokemon) basicamente está funcionando bem, ela tem pokebar, movebar e um pokeinfo no cliente dele, a questão é que quando vou adicionar novos pokemon, ele aparece na pokebar mas não aparece no pokeinfo e nem a movebar.

 

Pokemon que funciona normal:

Spoiler

image.thumb.png.c4dc754647ae726f686346823b569ba4.png

 

Pokemon que não aparece a movebar e no pokeinfo:

Spoiler

image.thumb.png.5a4dbabf0df83d34840fdcae1da8a3f6.png

 

Está ocorrendo estes dois erros:

Citar

[11/07/2022 22:50:50] [Error - TalkAction Interface] 
[11/07/2022 22:50:50] datapack/talkactions/scripts/pbar.lua:onSay
[11/07/2022 22:50:50] Description: 
[11/07/2022 22:50:50] datapack/lib/otclient.lua:23: attempt to concatenate a nil value
[11/07/2022 22:50:50] stack traceback:
[11/07/2022 22:50:50]     datapack/lib/otclient.lua:23: in function 'doUpdatePokeInfo'
[11/07/2022 22:50:50]     datapack/talkactions/scripts/pbar.lua:230: in function 'volta'
[11/07/2022 22:50:50]     datapack/talkactions/scripts/pbar.lua:288: in function <datapack/talkactions/scripts/pbar.lua:277>

[11/07/2022 22:52:30] [Error - Action Interface] 
[11/07/2022 22:52:30] datapack/actions/scripts/goback.lua:onUse
[11/07/2022 22:52:30] Description: 
[11/07/2022 22:52:30] datapack/lib/otclient.lua:23: attempt to concatenate a nil value
[11/07/2022 22:52:30] stack traceback:
[11/07/2022 22:52:30]     datapack/lib/otclient.lua:23: in function 'doUpdatePokeInfo'
[11/07/2022 22:52:30]     datapack/actions/scripts/goback.lua:195: in function <datapack/actions/scripts/goback.lua:9>

 

 

OTCLIENT.LUA:

Spoiler

function doUpdatePokeInfo(cid)
local owner = getCreatureMaster(cid)
local port = getPlayerSlotItem(owner, 8).uid
local name = getItemAttribute(port, "poke")
local pokeball = getPlayerSlotItem(cid, ?

local ret = {}
if PokeInfoPortrait[name] >= 1 then
local foto = PokeInfoPortrait[name]
table.insert(ret, foto.."")
end

local feet = getPlayerSlotItem(owner, CONST_SLOT_FEET)
local level333 = getItemAttribute(feet.uid, "level")
local level3333 = getItemAttribute(feet.uid, "nick")
if getCreatureSummons(owner)[1] then
doPokeInfoAttr(cid)
if getItemAttribute(feet.uid, "nick") then
doPlayerSendCancel(owner, "PokeInfo@"..getItemAttribute(pokeball.uid, "nick").."@"..getItemAttribute(pokeball.uid, "nick").."@"..getCreatureHealth(getCreatureSummons(cid)[1]).."@"..getCreatureMaxHealth(getCreatureSummons(cid)[1])    .."@1@0@7746@"..getItemAttribute(pokeball.uid, "exp").."@"..((level333 * 20) + (20 *(level333 - 1))).."@1,"..getItemAttribute(pokeball.uid, "poke").."@"..table.concat(ret).."")
doPlayerSendCancel(owner, "")

else
doPlayerSendCancel(owner, "PokeInfo@"..getItemAttribute(pokeball.uid, "poke").."@"..getItemAttribute(pokeball.uid, "poke").."@"..getCreatureHealth(getCreatureSummons(cid)[1]).."@"..getCreatureMaxHealth(getCreatureSummons(cid)[1])    .."@1@0@7746@"..getItemAttribute(pokeball.uid, "exp").."@"..((level333 * 20) + (20 *(level333 - 1))).."@1,"..getItemAttribute(pokeball.uid, "poke").."@"..table.concat(ret).."")
doPlayerSendCancel(owner, "")
end
else
doPlayerSendCancel(owner, "")
end

end

function doPokeInfoAttack(cid)
doPlayerSendCancel(getCreatureMaster(cid), "PokeInfoAtk")
doPlayerSendCancel(getCreatureMaster(cid), "")
end

function doPokeInfoReset(cid)
local owner = getCreatureMaster(cid)
doPlayerSendCancel(owner, "PokeInfoReset")
doPlayerSendCancel(owner, "")
end

function doPokeInfoAttr(cid)

if not getCreatureSummons(cid)[1] then
doPlayerSendCancel(cid, "##77PIN:RMATTR")
doPlayerSendCancel(cid, "")
return true
end

local skills = specialabilities
local mysum = getCreatureSummons(cid)[1]
if isInArray(skills["fly"], getPokemonName(mysum)) then
doPlayerSendCancel(cid, "##77PIN,FLY")
doPlayerSendCancel(cid, "")
end

local skills = specialabilities
local mysum = getCreatureSummons(cid)[1]
if isInArray(skills["rock smash"], getPokemonName(mysum)) then
doPlayerSendCancel(cid, "##77PIN,RSM")
doPlayerSendCancel(cid, "")
end

local skills = specialabilities
local mysum = getCreatureSummons(cid)[1]
if isInArray(skills["light"], getPokemonName(mysum)) then
doPlayerSendCancel(cid, "##77PIN,LGT")
doPlayerSendCancel(cid, "")
end

local skills = specialabilities
local mysum = getCreatureSummons(cid)[1]
if isInArray(skills["dig"], getPokemonName(mysum)) then
doPlayerSendCancel(cid, "##77PIN,DIG")
doPlayerSendCancel(cid, "")
end

local skills = specialabilities
local mysum = getCreatureSummons(cid)[1]
if isInArray(skills["blink"], getPokemonName(mysum)) then
doPlayerSendCancel(cid, "##77PIN,BLK")
doPlayerSendCancel(cid, "")
end

local skills = specialabilities
local mysum = getCreatureSummons(cid)[1]
if isInArray(skills["ride"], getPokemonName(mysum)) then
doPlayerSendCancel(cid, "##77PIN,RDI")
doPlayerSendCancel(cid, "")
end

local skills = specialabilities
local mysum = getCreatureSummons(cid)[1]
if isInArray(skills["surf"], getPokemonName(mysum)) then
doPlayerSendCancel(cid, "##77PIN,SRF")
doPlayerSendCancel(cid, "")
end

local skills = specialabilities
local mysum = getCreatureSummons(cid)[1]
if isInArray(skills["teleport"], getPokemonName(mysum)) then
doPlayerSendCancel(cid, "##77PIN,TPR")
doPlayerSendCancel(cid, "")
end

local skills = specialabilities
local mysum = getCreatureSummons(cid)[1]
if isInArray(skills["cut"], getPokemonName(mysum)) then
doPlayerSendCancel(cid, "##77PIN,CUT")
doPlayerSendCancel(cid, "")
end
end

function doUsePokemon(cid)
if getPlayerSlotItem(cid, CONST_SLOT_FEET).uid >= 1 then
doUseItem(cid, getPlayerSlotItem(cid, 8).uid)
else
doPlayerSendCancel(cid, "")
end
end


-- function changeCatchOtc(cid)
-- if getTopQuest(cid) >= 1 then
-- doPlayerSendCancel(cid, "##system##CTCH,"..getTopQuest(cid).."")
-- doPlayerSendCancel(cid, "")
-- else
-- doPlayerSendCancel(cid, "##system##CTCH,0")
-- doPlayerSendCancel(cid, "")
-- end
-- end

-- function changeTorneioOtc(cid)
-- if getTorneioW(cid) >= 1 then
-- doPlayerSendCancel(cid, "##system##TORN,"..getTorneioW(cid).."")
-- doPlayerSendCancel(cid, "")
-- else
-- doPlayerSendCancel(cid, "##system##TORN,0")
-- doPlayerSendCancel(cid, "")
-- end
-- end

 

PBAR.LUA:

Spoiler

local EFFECTS = {
    ["Perfect Zygarde Full"] = 45,
    ["Mystic Mewtwo"] = 136,
    ["Groudon"] = 34,
    ["Shiny Groudon"] = 44,
    ["Arch Heatran"] = 105,
    ["Obscure Arceus"] = 55,
    ["Zygarde M1"] = 45,
    ["Zygarde M2"] = 45,
    ["Zygarde M3"] = 105,
    ["Tornadus"] = 152,
    ["Landorus"] = 152,
    ["Thundurus"] = 152,
    ["Majestic Lugia M1"] = 136,
    ["Majestic Lugia M2"] = 136,
    ["Majestic Lugia M3"] = 136,
    ["Mew"] = 136,
    ["Mewtwo"] = 136,
    ["Shiny Mew"] = 136,
    ["Shiny Mewtwo"] = 136,
    ["Giratina Star"] = 55,
    ["Giratina Star M1"] = 55,
    ["Giratina Star M2"] = 55,
    ["Giratina Star M3"] = 55,
    ["Raikou"] = 360,
    ["Kyogre"] = 17,
    ["Shiny Kyogre"] = 17,
    ["Rayquaza"] = 17,
    ["Suicune"] = 17,
    ["Ditto"] = 17,
    ["Phione"] = 17,
    ["Zoroak"] = 55,
    ["Shiny Zoroak"] = 55,
    ["Zygard"] = 55,
    ["Regigigas"] = 35,
    ["Shiny Regigigas"] = 26,
    ["Genesect"] = 26,
    ["Zekrom"] = 26,
    ["Shiny Zekrom"] = 26,    
    ["Black Zygarde"] = 55,  
    ["Black Alpha Zekrom"] = 55, 
    ["Black Groudon"] = 55,   
    ["Deoxys Lunar"] = 55,      
}
 
local cd = 1

local function volta(cid, init)

exhausted = 10
storage = 31332

if(getPlayerStorageValue(cid, storage) > os.time() and getPlayerStorageValue(cid, storage) < 100+os.time()) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "You must wait another " .. getPlayerStorageValue(cid, storage) - os.time() .. ' second' .. ((getPlayerStorageValue(cid, storage) - os.time()) == 1 and "" or "s") .. " to use new pokemon.")
   return true
end

    -- if getPlayerStorageValue(cid, 69891) >= 1 then
       -- doPlayerSendCancel(cid, "Voce nao pode chamar seu pokemon enquanto usa seu pet.")
      -- return false     --alterado v1.5
    -- end
    
    if getPlayerSlotItem(cid, CONST_SLOT_FEET).uid > 0 then
        local item = getPlayerSlotItem(cid, CONST_SLOT_FEET)
       
if getPlayerStorageValue(cid, 912351) > os.time () then
        doPlayerSendCancel(cid, "Espere "..getPlayerStorageValue(cid, 912351) - os.time ().." segundo(s) para usar novamente")
        return true
        end

    if exhaustion.get(cid, 6666) and exhaustion.get(cid, 6666) > 0 then return true end
 
if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1
or getPlayerStorageValue(cid, 75846) >= 1 or getPlayerStorageValue(cid, 5700) >= 1  then    --alterado v1.9 <<
   return true                                                                                                                        
end
 
local ballName = getItemAttribute(item.uid, "poke")
local btype = getPokeballType(item.itemid)
local usando = pokeballs[btype].use
 
local effect = pokeballs[btype].effect
    if not effect then
        effect = 21
    end
   
if not getItemAttribute(item.uid, "tadport") and ballName then
    doItemSetAttribute(item.uid, "tadport", fotos[ballName])
end
   
unLock(item.uid) --alterado v1.8
 
if item.itemid == usando then                          
 
    -- if getPlayerStorageValue(cid, 990) == 1 then -- GYM
        -- doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.")
    -- return true
    -- end
    if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 212124) <= 0 then     --alterado v1.6
       if getPlayerStorageValue(cid, 637501) == -2 or getPlayerStorageValue(cid, 637501) >= 1 then  
          BackTeam(cid)      
       end
    end  
    if #getCreatureSummons(cid) == 2 and getPlayerStorageValue(cid, 212124) >= 1 then
       doPlayerSendCancel(cid, "You can't do that while is controling a mind")
       return true     --alterado v1.5
    end
    if #getCreatureSummons(cid) <= 0 then
        if isInArray(pokeballs[btype].all, item.itemid) then
            doTransformItem(item.uid, pokeballs[btype].off)
            doItemSetAttribute(item.uid, "hp", 0)
            doPlayerSendCancel(cid, "This pokemon is fainted.")
            return true
        end
    end
 
    local cd = getCD(item.uid, "blink", 30)
    if cd > 0 then
       setCD(item.uid, "blink", 0)
    end
   
    local z = getCreatureSummons(cid)[1]
 
    if getCreatureCondition(z, CONDITION_INVISIBLE) and not isGhostPokemon(z) then
       return true
    end
    doReturnPokemon(cid, z, item, effect)
   
        end
 
        if init then
            if item.itemid == pokeballs[btype].on then
                if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then
        doPlayerSendCancel(cid, "You must put your pokeball in the correct place!")
    return TRUE
    end
 
    local thishp = getItemAttribute(item.uid, "hp")
 
    if thishp <= 0 then
        if isInArray(pokeballs[btype].all, item.itemid) then
            doTransformItem(item.uid, pokeballs[btype].off)
            doItemSetAttribute(item.uid, "hp", 0)
            doPlayerSendCancel(cid, "This pokemon is fainted.")
            return true
        end
    end
 
    local pokemon = getItemAttribute(item.uid, "poke")
 
    if not pokes[pokemon] then
    return true
    end
---------------------------------------------------------------------------------------------------------------------------------------------------
 
    local x = pokes[pokemon]
    local boost = getItemAttribute(item.uid, "boost") or 0
 
    if getPlayerLevel(cid) < (x.level+boost) then
       doPlayerSendCancel(cid, "You need level "..(x.level+boost).." to use this pokemon.")
       return true
    end
   
    --------------------------------------------------------------------------------------
 
    doSummonMonster(cid, pokemon)
 
    local pk = getCreatureSummons(cid)[1]
    if not isCreature(pk) then return true end
   
    ------------------------passiva hitmonchan------------------------------
    if isSummon(pk) then                                                  --alterado v1.8 \/
       if pokemon == "Shiny Hitmonchan" or pokemon == "Hitmonchan" then
          if not getItemAttribute(item.uid, "hands") then
             doSetItemAttribute(item.uid, "hands", 0)
          end
          local hands = getItemAttribute(item.uid, "hands")
          doSetCreatureOutfit(pk, {lookType = hitmonchans[pokemon][hands].out}, -1)
       end
    end
    -------------------------------------------------------------------------
    ---------movement magmar, jynx-------------
    if EFFECTS[getCreatureName(pk)] then            
       markPosEff(pk, getThingPos(pk))
       sendMovementEffect(pk, EFFECTS[getCreatureName(pk)], getThingPos(pk))  
    end
    --------------------------------------------------------------------------      
 
    ---if getCreatureName(pk) == "Ditto" or getCreatureName(pk) == "Shiny Ditto" then --edited
 
    --  local left = getItemAttribute(item.uid, "transLeft")
    --  local name = getItemAttribute(item.uid, "transName")
 
    --  if left and left > 0 then
    --      setPlayerStorageValue(pk, 1010, name)
        --  doSetCreatureOutfit(pk, {lookType = getItemAttribute(item.uid, "transOutfit")}, -1)
        --  addEvent(deTransform, left * 1000, pk, getItemAttribute(item.uid, "transTurn"))
        --  doItemSetAttribute(item.uid, "transBegin", os.clock())
    --  else
    --      setPlayerStorageValue(pk, 1010, getCreatureName(pk) == "Ditto" and "Ditto" or "Shiny Ditto")     --edited
    --  end
--  end
 
    if isGhostPokemon(pk) then doTeleportThing(pk, getPosByDir(getThingPos(cid), math.random(0, 7)), false) end
 
    doCreatureSetLookDir(pk, 2)
 
    adjustStatus(pk, item.uid, true, true, true)
--    doCureWithY(getCreatureMaster(pk), pk)
 
    doTransformItem(item.uid, item.itemid+1)
 
    local pokename = getPokeName(pk) --alterado v1.7
 
    local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", pokename)
    doCreatureSay(cid, mgo, TALKTYPE_ORANGE_1)
    if getItemAttribute(item.uid, "ballorder") then
        doPlayerSendCancel(cid, "KGT,"..getItemAttribute(item.uid, "ballorder").."|".."0")
    end
setPlayerStorageValue(cid, 912351, os.time () + cd)
    doSendMagicEffect(getCreaturePosition(pk), effect)
 
                    if getItemAttribute(item.uid, "ballorder") then
                        doPlayerSendCancel(cid, "KGT,"..getItemAttribute(item.uid, "ballorder").."|".."0")
                        doPlayerSendCancel(cid, "")
                    end
                    

                    registerCreatureEvent(pk, "onPokemonPrepareDeath")
                    doUpdatePokeInfo(cid)
                    doSendMagicEffect(getCreaturePosition(pk), effect)   

                    if useOTClient then
                        doPlayerSendCancel(cid, '12//,show') --alterado v1.7
                        doPlayerSendCancel(cid, "")
                        doUpdateMoves(cid)
                    end

local pk = getCreatureSummons(cid)[1]
    local pb = getPlayerSlotItem(cid, 8).uid
    local look = getItemAttribute(pb, "addon")
   
    if not look then
        doSetItemAttribute(pb, "addon", 0)  
    end
               
    if look and look > 0 then
        doSetCreatureOutfit(pk, {lookType = look}, -1)
    end
   
    if useOTClient then
       doPlayerSendCancel(cid, '12//,show') --alterado v1.7
    end
 
local pk = getCreatureSummons(cid)[1]
                local pb = getPlayerSlotItem(cid, 8).uid
                local look = getItemAttribute(pb,"addon")
                if not look then
                                doSetItemAttribute(pb,"addon",0)
 
                end
                if look > 0 then
                                doSetCreatureOutfit(pk, {lookType = look}, -1)
 
                end
 
 
        end
    end
end
    if useKpdoDlls then
        doUpdateMoves(cid)
    end
return true
end
 
function onSay(cid, words, param, channel)
    if getPlayerSlotItem(cid, CONST_SLOT_FEET).uid > 0 then
        if getItemAttribute(getPlayerSlotItem(cid, CONST_SLOT_FEET).uid, "ballorder") == tonumber(param) then
            volta(cid, true)
            return true
        else
            volta(cid, false)
        end

    end
    doMoveBar(cid, tonumber(param))
    volta(cid, true)
    return true
end

 

GOBACK.LUA:

Spoiler

local EFFECTS = {
    --[OutfitID] = {Effect}
    ["Magmar"] = 35,   
    ["Jynx"] = 17,          --alterado v1.5
    ["Shiny Jynx"] = 17, 
    ["Piloswine"] = 205,  --alterado v1.8
    ["Swinub"] = 205,   
}
function onUse(cid, item, frompos, item2, topos)
if exhaustion.get(cid, 6666) and exhaustion.get(cid, 6666) > 0 then return true end

if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 
or getPlayerStorageValue(cid, 75846) >= 1 or getPlayerStorageValue(cid, 5700) >= 1  then    --alterado v1.9 <<
   return true                                                                                                                        
end

local ballName = getItemAttribute(item.uid, "poke")
local btype = getPokeballType(item.itemid)
local usando = pokeballs[btype].use

local effect = pokeballs[btype].effect
    if not effect then
        effect = 21
    end

if not getItemAttribute(item.uid, "tadport") and ballName then
    doItemSetAttribute(item.uid, "tadport", fotos[ballName])
end
    
unLock(item.uid) --alterado v1.8

if item.itemid == usando then                           

    if getPlayerStorageValue(cid, 990) == 1 then -- GYM
        doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.")
    return true
    end
    if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 212124) <= 0 then     --alterado v1.6
       if getPlayerStorageValue(cid, 637501) == -2 or getPlayerStorageValue(cid, 637501) >= 1 then  
          BackTeam(cid)       
       end
    end   
    if #getCreatureSummons(cid) == 2 and getPlayerStorageValue(cid, 212124) >= 1 then
       doPlayerSendCancel(cid, "You can't do that while is controling a mind")
       return true     --alterado v1.5
    end
    if #getCreatureSummons(cid) <= 0 then
        if isInArray(pokeballs[btype].all, item.itemid) then
            doTransformItem(item.uid, pokeballs[btype].off)
            doItemSetAttribute(item.uid, "hp", 0)
            doPlayerSendCancel(cid, "Este Pok�mon Est� desmaiado.")
            return true
        end
    end

    local cd = getCD(item.uid, "blink", 30)
    if cd > 0 then
       setCD(item.uid, "blink", 0)
    end
    
    local z = getCreatureSummons(cid)[1]
                  

    if getCreatureCondition(z, CONDITION_INVISIBLE) and not isGhostPokemon(z) then
       return true
    end
    doReturnPokemon(cid, z, item, effect)

elseif item.itemid == pokeballs[btype].on then

    if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then
        doPlayerSendCancel(cid, "Voc� deve colocar sua pokeball no lugar correto!")
    return TRUE
    end
 


    local thishp = getItemAttribute(item.uid, "hp")

    if thishp <= 0 then
        if isInArray(pokeballs[btype].all, item.itemid) then
            doTransformItem(item.uid, pokeballs[btype].off)
            doItemSetAttribute(item.uid, "hp", 0)
            doPlayerSendCancel(cid, "Este Pok�mon Est� desmaiado.")
            return true
        end
    end

    local pokemon = getItemAttribute(item.uid, "poke")

    if not pokes[pokemon] then
    return true
    end

    local x = pokes[pokemon]
    local boost = getItemAttribute(item.uid, "boost") or 0

    if getPlayerLevel(cid) < (x.level+boost) then
       doPlayerSendCancel(cid, "Voc� precisa de um nivel "..(x.level+boost).." para usar este Pok�mon.")
       return true
    end
    
    ---------------------------- Sistema pokes de clan --------------------------------------
    local shinysClan = {
    ["Shiny Fearow"] = {4, "Wingeon"},
    ["Shiny Flareon"] = {1, "Volcanic"},
    ["Shiny Vaporeon"] = {2, "Seavel"}, 
    ["Shiny Jolteon"] = {9, "Raibolt"},
    ["Shiny Hypno"] = {7, "Psycraft"},           
    ["Shiny Golem"] = {3, "Orebound"},
    ["Shiny Vileplume"] = {8, "Naturia"},
    ["Shiny Nidoking"] = {5, "Malefic"},
    ["Shiny Hitmontop"] = {6, "Gardestrike"},   --alterado v1.4
    }
    
    if shinysClan[pokemon] and (getPlayerGroupId(cid) < 4 or getPlayerGroupId(cid) > 6) then  --alterado v1.9 \/
       if getPlayerClanNum(cid) ~= shinysClan[pokemon][1] then
          doPlayerSendCancel(cid, "You need be a member of the clan "..shinysClan[pokemon][2].." to use this pokemon!")
          return true   
       elseif getPlayerClanRank(cid) ~= 5 then
          doPlayerSendCancel(cid, "You need be atleast rank 5 to use this pokemon!")
          return true
       end
    end
    --------------------------------------------------------------------------------------

    doSummonMonster(cid, pokemon)
          onPokeHealthChange(cid, zerar)
           ExpInicial(cid, exp)
    local pk = getCreatureSummons(cid)[1]
    if not isCreature(pk) then return true end
    
    ------------------------passiva hitmonchan------------------------------
    if isSummon(pk) then                                                  --alterado v1.8 \/
       if pokemon == "Shiny Hitmonchan" or pokemon == "Hitmonchan" then
          if not getItemAttribute(item.uid, "hands") then
             doSetItemAttribute(item.uid, "hands", 0)
          end
          local hands = getItemAttribute(item.uid, "hands")
          doSetCreatureOutfit(pk, {lookType = hitmonchans[pokemon][hands].out}, -1)
       end
    end
    -------------------------------------------------------------------------
    ---------movement magmar, jynx-------------
    if EFFECTS[getCreatureName(pk)] then             
       markPosEff(pk, getThingPos(pk))
       sendMovementEffect(pk, EFFECTS[getCreatureName(pk)], getThingPos(pk))  
    end
    --------------------------------------------------------------------------      

    if getCreatureName(pk) == "Ditto" or getCreatureName(pk) == "Shiny Ditto" then --edited

        local left = getItemAttribute(item.uid, "transLeft")
        local name = getItemAttribute(item.uid, "transName")

        if left and left > 0 then
            setPlayerStorageValue(pk, 1010, name)
            doSetCreatureOutfit(pk, {lookType = getItemAttribute(item.uid, "transOutfit")}, -1)
            addEvent(deTransform, left * 1000, pk, getItemAttribute(item.uid, "transTurn"))
            doItemSetAttribute(item.uid, "transBegin", os.clock())
        else
            setPlayerStorageValue(pk, 1010, getCreatureName(pk) == "Ditto" and "Ditto" or "Shiny Ditto")     --edited
        end
    end

    if isGhostPokemon(pk) then doTeleportThing(pk, getPosByDir(getThingPos(cid), math.random(0, 7)), false) end

    doCreatureSetLookDir(pk, 2)

    adjustStatus(pk, item.uid, true, true, true)
    doAddPokemonInOwnList(cid, pokemon)

    doTransformItem(item.uid, item.itemid+1)

    local pokename = getPokeName(pk) --alterado v1.7 

    local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", pokename)
    local mgoen = gobackmsgsen[math.random(1, #gobackmsgsen)].go:gsub("doka", pokename)
    local mgoes = gobackmsgses[math.random(1, #gobackmsgses)].go:gsub("doka", pokename)
    if getPlayerLanguage(cid) == 2 then
    doCreatureSay(cid, mgoen, 19)
    end
    if getPlayerLanguage(cid) == 0 then
    doCreatureSay(cid, mgo, 19)
    end
    if getPlayerLanguage(cid) == 1 then
    doCreatureSay(cid, mgoes, 19)
    end
        if getItemAttribute(item.uid, "ballorder") then
    doPlayerSendCancel(cid, "KGT,"..getItemAttribute(item.uid, "ballorder").."|".."0")
    doPlayerSendCancel(cid, "")
    end
    doSendMagicEffect(getCreaturePosition(pk), effect)
    
    doUpdatePokeInfo(cid)
    doPokeInfoAttr(cid)

    
        
            doPlayerSendCancel(cid, '12//,show') --alterado v1.7
            doPlayerSendCancel(cid, "")
            doUpdateMoves(cid)
    
local pk = getCreatureSummons(cid)[1]
        local pb = getPlayerSlotItem(cid, 8).uid
        local look = getItemAttribute(pb,"addon")
        if not look then
                doSetItemAttribute(pb,"addon",0)
        return false
        end
        if look > 0 then
                doSetCreatureOutfit(pk, {lookType = look}, -1)
        return true
        end

else

    doPlayerSendCancel(cid, "Seu Pok�mon Est� desmaiado.")

end

    if useKpdoDlls then
        doUpdateMoves(cid)
    end
return true
end

 

Alguém pode me dar uma luz?

 

 

 

Editado por thiagosorrow
Para adicionar os códigos (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 braianlomas
      Como faço para corrigir esse problema para meu cliente, eu uso o tfs 0.3.6  
      Quero resolver esse problema que tenho no meu cliente, como e onde posso resolver?  
      Eu uso o tfs 0.3.6, não tenho as fontes do cliente, se você puder me dar eu vou amá-las para sempre  
       

       
    • Por A.Mokk
      Ola pessoal, estou tentando compilar o TFS 1.5 Downgrade para 8.60 atraves do MSVC 2022, ao tentar compilar da o seguinte erro:
       
       
      Fiz o download do MSVC, GitDash, TFS-SDK-3.2, e de varios boosts que tentei, ao fazer o seguinte procedimento no GitDash:
       
      Ao chegar em ./bootstrap-vcpkg.bat o GitDash nao consegue realizar o procedimento corretamente, alguem poderia me ajudar ?

      Tentei de diversas formas mas o mesmo erro sempre persiste, atualmente meu servidor utiliza TFS 0.4, consigo compilar sem nenhum problema no MSVC 2010, porem, as limitações do TFS 0.4 estão me fazendo precisar atualizar, se alguem souber como corrigir esses erros eu agradeço !

      Tutoriais utilizados :
      Compiling on Windows (vcpkg) · otland/forgottenserver Wiki · GitHub
      Compiling on Windows · otland/forgottenserver Wiki · GitHub
      Compilando TFS 1.3 com vídeo-aula - Tutoriais Infraestrutura & Proteção - Tibia King - Tudo sobre Tibia, OTServ e Bots!
      Compilar TFS 1.3 Vcpkg - Tutoriais Infraestrutura & Proteção - Tibia King - Tudo sobre Tibia, OTServ e Bots!
       
      O que acontece no Powershell:
       
    • Por thunmin
      .Qual servidor ou website você utiliza como base? 
      Canary 2.3.6
      Qual o motivo deste tópico? 
      Queria fazer com que os players não pudessem mexer no aleta sio, pois, agora os mesmos estão conseguindo mexer nos itens
      Está surgindo algum erro? Se sim coloque-o aqui. 
       
      Você tem o código disponível? Se tiver publique-o aqui: 
         
      Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 
       
    • Por thunmin
      .Qual servidor ou website você utiliza como base? 
      canary para o cliente 13.16
      Qual o motivo deste tópico? 
      Não consigo encontrar onde ajusta
      to com o problema no 13.16  o exausted, por exemplo os kinas era pra combar exori, erori gran e exori min, porém não ta indo ta dando exausted o char ta soltando magia ou runa e não consegue usar as potions
      Está surgindo algum erro? Se sim coloque-o aqui. 
       
      Você tem o código disponível? Se tiver publique-o aqui: 
         
      Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 
       
    • Por Andersontatuador
      Olá galera da TK, me chamo Anderson estou procurando alguém profissional em otservs e site.
      Já tenho um servidor o site e o cliente preciso só de uma pessoal competente, que esteja empenhado a trabalhar,
      não quero nada de graça, pois nessa onda fui mais roubado do quer eu pagar um profissional.
      caso alguém se interesse entrar em contato comigo através do whatsapp
      82 9 9304-9462
       
      Está surgindo algum erro? Se sim coloque-o aqui. 
       
      Você tem o código disponível? Se tiver publique-o aqui: 
         
      Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 
       
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo