jholjhol10 0 Postado Novembro 6, 2016 Share Postado Novembro 6, 2016 alguem me ajuda como faço pra abrir o servidor por que so ta dando erro de SQL me ajudem meu contato 41-91510055 Link para o comentário https://xtibia.com/forum/topic/238285-pokemon-pda-xtibia/page/21/#findComment-1707209 Compartilhar em outros sites More sharing options...
damiaofg 0 Postado Março 25, 2019 Share Postado Março 25, 2019 (editado) Em 12/12/2015 em 11:40, deglorio disse: SERVIDOR ATUALIZADO 29/12/2015. -Bug TV Corrigido - Bug loot Corrigido E muito mais que esqueci Para corrigir o Bug dos pokemons sumirem ao evoluir. Vá em data/lib e troque seu level system.lua por este abaixo. Mostrar conteúdo oculto function adjustWildPoke(cid, optionalLevel)if isMonster(cid) and pokes[getCreatureName(cid)] then local level = (optionalLevel and optionalLevel >= 1) and optionalLevel or getPokemonLevel(cid) --alterado v1.8 setPlayerStorageValue(cid, 1000, level) --alterado v1.8 setPlayerStorageValue(cid, 1001, pokes[getCreatureName(cid)].offense * level)setPlayerStorageValue(cid, 1002, pokes[getCreatureName(cid)].defense)setPlayerStorageValue(cid, 1003, pokes[getCreatureName(cid)].agility) setPlayerStorageValue(cid, 1004, pokes[getCreatureName(cid)].vitality * level)setPlayerStorageValue(cid, 1005, pokes[getCreatureName(cid)].specialattack * level) doRegainSpeed(cid) --alterado! setCreatureMaxHealth(cid, (getVitality(cid) * HPperVITwild)) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) if pokes[getCreatureName(cid)].exp then local exp = pokes[getCreatureName(cid)].exp * baseExpRate + pokes[getCreatureName(cid)].vitality * pokemonExpPerLevelRate setPlayerStorageValue(cid, 1006, (exp * generalExpRate/2)*10) if getPlayerStorageValue(cid, 22546) == 1 then setPlayerStorageValue(cid, 1006, 750) doSetCreatureDropLoot(cid, false) end endendend 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))endif not tpw then path = "data/monster/pokes/geracao 1/"..name..".xml" tpw = io.type(io.open(path))endif 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 2end 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 doEvolutionOutfit(cid, oldout, outfit)if not isCreature(cid) then return true endif getCreatureOutfit(cid).lookType == oldout thendoSetCreatureOutfit(cid, {lookType = outfit}, -1)elsedoSetCreatureOutfit(cid, {lookType = oldout}, -1)endend function doSendEvolutionEffect(cid, pos, evolution, turn, ssj, evolve, f, h)if not isCreature(cid) thendoSendAnimatedText(pos, "CANCEL", 215) return true endif evolve thendoEvolvePokemon(getCreatureMaster(cid), {uid = cid}, evolution, 0, 0)return trueenddoSendMagicEffect(pos, 18)if ssj thensendSSJEffect(evo)enddoEvolutionOutfit(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 endlocal 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 endlocal pos1 = getThingPos(cid) if alternate thenlocal 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 dolocal 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)endelsefor a = 0, 3 dodoSendDistanceShoot(pos1, getPosByDir(pos1, a), 37)endfor a = 4, 7 doaddEvent(doSendDistanceShoot, 600, pos1, getPosByDir(pos1, a), 37)endendend function doEvolvePokemon(cid, item2, theevo, stone1, stone2) if not isCreature(cid) then return true end if not pokes[theevo] or not pokes[theevo].offense thendoReturnPokemon(cid, item2.uid, getPlayerSlotItem(cid, 8), pokeballs[getPokeballType(getPlayerSlotItem(cid, 8).itemid)].effect, false, true)return trueend local owner = getCreatureMaster(item2.uid)local pokeball = getPlayerSlotItem(cid, local description = "Contains a "..theevo.."."local pct = getCreatureHealth(item2.uid) / getCreatureMaxHealth(item2.uid) doItemSetAttribute(pokeball.uid, "hp", pct)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])doTransformItem(getPlayerSlotItem(cid, 8).uid, pokeballs[theevo].use) doSendMagicEffect(getThingPos(cid), 173) local oldpos = getThingPos(item2.uid)local oldlod = getCreatureLookDir(item2.uid)doRemoveCreature(item2.uid) doSummonMonster(cid, theevo, getThingPos(cid)) local pk = getCreatureSummons(cid)[1] 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) local happy = getItemAttribute(pokeball.uid, "happy") doItemSetAttribute(pokeball.uid, "happy", happy + happyGainedOnEvolution) if happy + happyGainedOnEvolution > 255 thendoItemSetAttribute(pokeball.uid, "happy", 255)end adjustStatus(pk, pokeball.uid, true, false)--doTeleportThing(getCreatureSummons(cid)[1], getThingPos(cid)) if useKpdoDlls thendoUpdateMoves(cid)endend 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 doif math.floor(number) < math.pow(10, a) thenlocal str = string.sub(""..number.."", 1, a + c)return tonumber(str)endend return numberend function doAdjustWithDelay(cid, pk, health, vit, status)if isCreature(cid) then adjustStatus(pk, getPlayerSlotItem(cid, 8).uid, health, vir, status)endend function adjustStatus(pk, item, health, vite, conditions) if getPlayerStorageValue(getCreatureMaster(pk), 990) >= 1 then setPlayerStorageValue(pk, 6598754, 1) end if not isCreature(pk) then return true enddoRegenerateWithHeld(getCreatureMaster(pk), pk)--doTeleportThing(pk, getClosestFreeTile(pk, getThingPos(cid)), true) local gender = getItemAttribute(item, "gender") and getItemAttribute(item, "gender") or 0addEvent(doCreatureSetSkullType, 10, pk, gender) setPlayerStorageValue(pk, 1001, pokes[getCreatureName(pk)].offense * (getMasterLevel(pk) + getPokemonBoost(pk)))setPlayerStorageValue(pk, 1002, pokes[getCreatureName(pk)].defense)setPlayerStorageValue(pk, 1003, pokes[getCreatureName(pk)].agility)setPlayerStorageValue(pk, 1004, pokes[getCreatureName(pk)].vitality * (getMasterLevel(pk) + getPokemonBoost(pk)))setPlayerStorageValue(pk, 1005, pokes[getCreatureName(pk)].specialattack * (getMasterLevel(pk) + getPokemonBoost(pk)))-- Defense -- local bonusdef = {}local Tiers = {[1] = {bonus = DefBonus1},[2] = {bonus = DefBonus2},[3] = {bonus = DefBonus3},[4] = {bonus = DefBonus4},[5] = {bonus = DefBonus5},[6] = {bonus = DefBonus6},[7] = {bonus = DefBonus7},}local Tier = getItemAttribute(item, "heldx") if Tier and Tier > 0 and Tier < 8 thenbonusdef = Tiers[Tier].bonuselsebonusdef = 1end-- Defense ---- Boost -- local bonusboost = {}local Tiers2 = {[36] = {bonus = BoostBonus1},[37] = {bonus = BoostBonus2},[38] = {bonus = BoostBonus3},[39] = {bonus = BoostBonus4},[40] = {bonus = BoostBonus5},[41] = {bonus = BoostBonus6},[42] = {bonus = BoostBonus7},}if Tier and Tier > 35 and Tier < 43 thenbonusboost = Tiers2[Tier].bonuselsebonusboost = 0end-- Boost -- if vite == true thenlocal pct = getCreatureHealth(pk) / getCreatureMaxHealth(pk)local vit = getVitality(pk)setCreatureMaxHealth(pk, ( vit * HPperVITsummon ))doCreatureAddHealth(pk, pct * vit * HPperVITsummon)end doRegainSpeed(pk) local nick = getItemAttribute(item, "poke") if isGhostPokemon(pk) then setPlayerStorageValue(pk, 8981, 1) updateGhostWalk(pk) end if string.find(tostring(nick), "Shiny") then nick = tostring(nick):match("Shiny (.*)") end if getItemAttribute(item, "nick") thennick = getItemAttribute(item, "nick")end setPlayerStorageValue(pk, 1007, nick) doCreatureSetNick(pk, nick) if not getItemAttribute(item, "happy") thendoItemSetAttribute(item, "happy", 120)end if not getItemAttribute(item, "hunger") thendoItemSetAttribute(item, "hunger", 5)end local happy = getItemAttribute(item, "happy")if happy < 0 thenhappy = 1endsetPlayerStorageValue(pk, 1008, happy) local hunger = getItemAttribute(item, "hunger")setPlayerStorageValue(pk, 1009, hunger) if health == true thenlocal mh = HPperVITsummon * getVitality(pk)local rd = 1 - (tonumber(getItemAttribute(item, "hp")))setCreatureMaxHealth(pk, mh) doCreatureAddHealth(pk, getCreatureMaxHealth(pk))doCreatureAddHealth(pk, -(getCreatureMaxHealth(pk) * rd))end if isSummon(pk) and conditions thenlocal 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 trueend function getOffense(cid)if not isCreature(cid) then return 0 endreturn tonumber(getPlayerStorageValue(cid, 1001))end function getDefense(cid)if not isCreature(cid) then return 0 endreturn tonumber(getPlayerStorageValue(cid, 1002))end function getSpeed(cid)if not isCreature(cid) then return 0 endreturn tonumber(getPlayerStorageValue(cid, 1003))end function getVitality(cid)if not isCreature(cid) then return 0 endreturn tonumber(getPlayerStorageValue(cid, 1004))end function getSpecialAttack(cid)if not isCreature(cid) then return 0 endreturn tonumber(getPlayerStorageValue(cid, 1005))end function getHappiness(cid)if not isCreature(cid) then return 0 endreturn tonumber(getPlayerStorageValue(cid, 1008))end function getSpecialDefense(cid)if not isCreature(cid) then return 0 endreturn getSpecialAttack(cid) * 0.85 + getDefense(cid) * 0.2 end function getPokemonLevel(cid, dex)if not isCreature(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)].levelend function getPokemonLevelByName(name)return pokes[name] and pokes[name].level or 0 --alterado v1.9end function getMasterLevel(poke) if not isSummon(poke) then return 0 endreturn getPlayerLevel(getCreatureMaster(poke))end function getPokemonBoost(poke) if not isSummon(poke) then return 0 endreturn getItemAttribute(getPlayerSlotItem(getCreatureMaster(poke), 8).uid, "boost") or 0end function getPokeballBoost(ball) if not isPokeball(ball.itemid) then return 0 end --alterado v1.8return getItemAttribute(ball.uid, "boost") or 0end function getPokeName(cid)if not isSummon(cid) then return getCreatureName(cid) endif getCreatureName(cid) == "Evolution" then return getPlayerStorageValue(cid, 1007) end local item = getPlayerSlotItem(getCreatureMaster(cid), if getItemAttribute(item.uid, "nick") then return getItemAttribute(item.uid, "nick")endif string.find(tostring(getCreatureName(cid)), "Shiny") then local newName = tostring(getCreatureName(cid)):match("Shiny (.*)") return newName endreturn getCreatureName(cid)end function getPokeballName(item, truename)if not truename and getItemAttribute(item, "nick") thenreturn getItemAttribute(item, "nick")endreturn getItemAttribute(item, "poke")end function getPokemonName(cid)return getCreatureName(cid)end function getPokemonGender(cid) --alterado v1.9return getCreatureSkullType(cid)end function setPokemonGender(cid, gender)if isCreature(cid) and gender then --alterado v1.8 doCreatureSetSkullType(cid, gender) return trueendreturn falseend function getWildPokemonExp(cid)return getPlayerStorageValue(cid, 1006)end Olá pessoal do XTibia! Há algum tempo estou criando este servidor, ele é o PDA com source, devido a compromissos pessoais, estou deixando para quem quer continuar o projeto, caso alguém tenha interesse aqui no tópico de terminar o servidor, postarei as sources, não coloquei ainda porque tem muita gente que quer tudo pronto,e um servidor desse não existe em lugar nenhum. Andamento do servidorLevel System: 100%Addon Pokemons: 100%Caught System: 100%Go-Back System: 100%Portrait System: 100%Evolution System: 100%NPC Nurse System: 100%Pokedex System: 100%Ghost System: 100%Wild Pokemon Passive: 100%Icon System: 100%Liders de Ginásio: 100%Moves System: 100%Limite de 6 Pokemons: 100%Duel System (Pela Party) 100%Tv / Cam System 100%Order 100%e MUITO MAIS. OBS: Servidor mysql, use a database dash2015.sql (dentro da pasta schemas)Senha do ADM: Account: 4926151Password: dagst4926151guto Prints: Em Breve Downloads: Servidor > https://drive.google.com/file/d/0B9RdNFevGojkTThHdE1YV05PNnM/view?usp=sharing Cliente: http://www.mediafire.com/download/rkv0xwpp2ac92f3/Client_Pounc_Limpo_Sem_Erros.rar Créditos: DeglorioBrun 123Gabrieltxu Slicer AberosSe eu esqueci alguém me avise Cara muito bom parabens eu tou com site aqui vou ver ser ele fuciona com site tambem vlw Editado Março 25, 2019 por damiaofg Cara muito bom parabens eu tou com site aqui vou ver ser ele fuciona com site tambem vlw Link para o comentário https://xtibia.com/forum/topic/238285-pokemon-pda-xtibia/page/21/#findComment-1750222 Compartilhar em outros sites More sharing options...
Posts Recomendados