TA

[DxP] Exclusivo Poketibia OpenSource

Por Taiger, 05 de jun. de 2016 em OTServer Alternativo (ATS)

dxp
tibia
pokemon
poke tibia
poketibia
sources
1.6k
257.6k
wlucas8190W
17 de novembro de 2016 às 10:42
1 minuto atrás, Josegvb disse:

 

poderia compartilhar?

Com muito prazer. O problema esta no player.cpp.

 

procure por

   

 if(it != depots.end())        return it->second.first;

e abaixo coloque:

 

//create a new depot?                if(autoCreateDepot)                {                    Item* locker = Item::CreateItem(ITEM_LOCKER);                    if(Container* container = locker->getContainer())                    {                        if(Depot* depot = container->getDepot())                        {                            container->__internalAddThing(Item::CreateItem(ITEM_DEPOT));                            addDepot(depot, depotId);                            return depot;                        }                    }                                g_game.freeThing(locker);        std::cout << "Failure: Creating a new depot with id: " << depotId <<            ", for player: " << getName() << std::endl;   }

Apenas isso.

InsanityAI
18 de novembro de 2016 às 14:41

eu quero uma v4 hahahha. << vai ficar querendo =/

wlucas8190W
18 de novembro de 2016 às 18:21

Alguem ja concertou o pvp-zone? e queira compartilhar?

Ou alguem sabe onde fica o problema, arquivo, etc... para que eu possa olhar e consertar? rsrs

Prometheus XP
18 de novembro de 2016 às 19:01

@wlucas8190

 

você ja concertou o problema na Cam? o Problema no PVP Zone eu Arrumei tem algum contato? Skype?Face? pra mim entrar em contato?

wevertonvrbW
18 de novembro de 2016 às 20:59

sera que alguem poderia ajudar com os ginagios? os pokes nos lideres morre e fica no xão alem deles n chamarem outros pokes

GufiplG
19 de novembro de 2016 às 17:30

[19/11/2016 20:16:44] [Error - CreatureScript Interface] 
[19/11/2016 20:16:44] data/creaturescripts/scripts/playerattack.lua:onTarget
[19/11/2016 20:16:44] Description: 
[19/11/2016 20:16:44] (luaGetCreatureStorage) Creature not found

InsanityAI
19 de novembro de 2016 às 20:58

Galera vim reportar um bug,

Quando se usa leaf stone no Tyrogue ele evolui para Hitmonlee e a stone não é perdida.

[19/11/2016 20:56:18] [Error - Action Interface] [19/11/2016 20:56:18] data/actions/scripts/evolution.lua:onUse[19/11/2016 20:56:18] Description: [19/11/2016 20:56:18] data/actions/scripts/evolution.lua:295: attempt to index global 'theevo' (a nil value)[19/11/2016 20:56:18] stack traceback:[19/11/2016 20:56:18] 	data/actions/scripts/evolution.lua:295: in function <data/actions/scripts/evolution.lua:47>


Mais alguém ta com esse erro ?

Editado Novembro 19 por InsanityA

MulizeuM
20 de novembro de 2016 às 14:05
Spoiler
local special = specialevo                  --alterado v1.9 \/ peguem ele todo!local types = {[leaf] = {"Bulbasaur", "Ivysaur", "Oddish", "Gloom", "Bellsprout", "Weepinbell", "Exeggcute", "Chikorita", "Bayleef", "Hoppip", "Skiploom", "Sunkern"},[water] = {"Squirtle", "Wartortle", "Horsea", "Goldeen", "Magikarp", "Psyduck", "Poliwag", "Poliwhirl", "Tentacool", "Krabby", "Staryu", "Omanyte", "Eevee", "Totodile", "Croconow", "Chinchou", "Marill", "Wooper", "Slowpoke", "Remoraid", "Seadra"},[venom] = {"Zubat", "Ekans", "Nidoran male", "Nidoran female", "Nidorino", "Nidorina", "Gloom", "Venonat", "Tentacool", "Grimer", "Koffing", "Spinarak", "Golbat"},[thunder] = {"Magnemite", "Pikachu", "Voltorb", "Eevee", "Chinchou", "Pichu", "Mareep", "Flaaffy", "Elekid"},[rock] = {"Geodude", "Graveler", "Rhyhorn", "Kabuto", "Slugma", "Pupitar"},[punch] = {"Machop", "Machoke", "Mankey", "Poliwhirl", "Tyrogue"},[fire] = {"Charmander", "Charmeleon", "Vulpix", "Growlithe", "Ponyta", "Eevee", "Cyndaquil", "Quilava", "Slugma", "Houndour", "Magby"},[coccon] = {"Caterpie", "Metapod", "Weedle", "Kakuna", "Paras", "Venonat", "Scyther", "Ledyba", "Spinarak", "Pineco"},[crystal] = {"Dratini", "Dragonair", "Magikarp", "Omanyte", "Kabuto", "Seadra"},[dark] = {"Gastly", "Haunter", "Eevee", "Houndour", "Pupitar"},[earth] = {"Cubone", "Sandshrew", "Nidorino", "Nidorina", "Diglett", "Onix", "Rhyhorn", "Wooper", "Swinub", "Phanpy", "Larvitar"},[enigma] = {"Abra", "Kadabra", "Psyduck", "Slowpoke", "Drowzee", "Eevee", "Natu", "Smoochum"},[heart] = {"Rattata", "Pidgey", "Pidgeotto", "Spearow", "Clefairy", "Jigglypuff", "Meowth", "Doduo", "Porygon", "Chansey", "Sentret", "Hoothoot", "Cleffa", "Igglybuff", "Togepi", "Snubull", "Teddiursa"},[ice] = {"Seel", "Shellder", "Smoochum", "Swinub"},[metal] = {"Onix", "Scyther"},[ancient] = {"Sunkern", "Gloom", "Slowpoke", "Poliwhirl", "Seadra", "Porygon"},[sfire] = {"Shiny Charmander", "Shiny Charmeleon", "Shiny Magmortar", "Shiny Vulpix", "Shiny Growlithe", "Shiny Ponyta", "Shiny Eevee"},[swater] = {"Shiny Squirtle", "Shiny Wartortle", "Shiny Horsea", "Shiny Goldeen", "Shiny Magikarp", "Shiny Psyduck", "Shiny Poliwag", "Shiny Poliwhirl", "Shiny Tentacool", "Shiny Krabby", "Shiny Staryu", "Shiny Omanyte", "Shiny Eevee"},[sleaf] = {"Shiny Bulbasaur", "Shiny Ivysaur", "Shiny Oddish", "Shiny Gloom", "Shiny Bellsprout", "Shiny Weepinbell", "Shiny Exeggcute"},[sheart] = {"Shiny Rattata", "Shiny Pidgey", "Shiny Pidgeotto", "Shiny Spearow", "Shiny Clefairy", "Shiny Jigglypuff", "Shiny Meowth", "Shiny Doduo", "Shiny Porygon", "Shiny Chansey"},[senigma] = {"Shiny Abra", "Shiny Kadabra", "Shiny Psyduck", "Shiny Slowpoke", "Shiny Drowzee", "Shiny Eevee"},[srock] = {"Shiny Geodude", "Shiny Graveler", "Shiny Rhyhorn", "Shiny Kabuto"},[svenom] = {"Shiny Zubat", "Shiny Ekans", "Shiny Nidoran male", "Shiny Nidoran female", "Shiny Nidorino", "Shiny Nidorina", "Shiny Gloom", "Shiny Venonat", "Shiny Tentacool", "Shiny Grimer", "Shiny Koffing"},[sice] = {"Shiny Seel", "Shiny Shellder"},[sthunder] = {"Shiny Magnemite", "Shiny Pikachu", "Shiny electivire", "Shiny Voltorb", "Shiny Eevee"},[scrystal] = {"Shiny Dratini", "Shiny Dragonair", "Shiny Magikarp", "Shiny Omanyte", "Shiny Kabuto"},[scoccon] = {"Shiny Caterpie", "Shiny Metapod", "Shiny Weedle", "Shiny Kakuna", "Shiny Paras", "Shiny Venonat", "Shiny Scyther"},[sdarkness] = {"Shiny Gastly", "Shiny Haunter", "Shiny Eevee"},[spunch] = {"Shiny Machop", "Shiny Machoke", "Shiny Mankey", "Shiny Poliwhirl"},[searth] = {"Shiny Cubone", "Shiny Sandshrew", "Shiny Nidorino", "Shiny Nidorina", "Shiny Diglett", "Shiny Onix", "Shiny Rhyhorn"}}local specEvos = {   --alterado v1.9 \/["Eevee"] = {               [thunder] = "Jolteon",               [water] = "Vaporeon",               [fire] = "Flareon",               [enigma] = "Espeon",               [dark] = "Umbreon",            },}function onUse(cid, item, frompos, item2, topos)local pokeball = getPlayerSlotItem(cid, 8)if not isMonster(item2.uid) or not isSummon(item2.uid) then   return trueendif #getCreatureSummons(cid) > 1 then   return true                           --alterado v1.9endif isInArray({"ditto", "shiny ditto"}, getItemAttribute(pokeball.uid, "poke"):lower()) then   doSendMsg(cid, "Ditto não tem evolução.")   return trueendif getCreatureCondition(item2.uid, CONDITION_INVISIBLE) then return true endlocal pevo = poevo[getCreatureName(item2.uid)]if not isInArray(specialevo, getCreatureName(item2.uid)) then   if not pevo then      doPlayerSendCancel(cid, "This pokemon can't evolve.")      return true   end   if not isPlayer(getCreatureMaster(item2.uid)) or getCreatureMaster(item2.uid) ~= cid then      doPlayerSendCancel(cid, "You can only use stones on pokemons you own.")      return true   end   if pevo.stoneid ~= item.itemid and pevo.stoneid2 ~= item.itemid then       doPlayerSendCancel(cid, "This isn't the needed stone to evolve this pokemon.")      return true   endendlocal minlevel = 0if getPokemonName(item2.uid) == "Eevee" then   local eevee = specEvos["Eevee"][item.itemid]   if not eevee then      doPlayerSendCancel(cid, "This isn't the required stone to evolve this pokemon.")      return true   end      minlevel = pokes[eevee].level   if getPlayerLevel(cid) < minlevel then      doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")      return true   end   doRemoveItem(item.uid, 1)   doEvolvePokemon(cid, item2, eevee, 0, 0)           local ball = getPlayerSlotItem(cid, 8).uid              doItemEraseAttribute(ball, "boost")                  doItemSetAttribute(ball, "morta", "no")              doItemSetAttribute(ball, "Icone", "yes")                  doTransformItem(ball, icons[getItemAttribute(ball, "poke")].use)   return trueendif isInArray(specialevo, getPokemonName(item2.uid)) then   if getPokemonName(item2.uid) == "Poliwhirl" then      local evolution = 0      local theevo = ""            if item.itemid == water then         if getPlayerItemCount(cid, king) >= 1 then            evolution = king            theevo = "Politoed"         elseif getPlayerItemCount(cid, punch) >= 1 then            evolution = punch            theevo = "Poliwrath"         else            doPlayerSendCancel(cid, "You need a water stone and a punch stone (Poliwrath) or a King's Rock (Politoed) to evolve this pokemon.")            return true         end                  minlevel = pokes[theevo].level                  if getPlayerLevel(cid) < minlevel then            doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")            return true         end         if getPlayerItemCount(cid, punch) >= 1 and getPlayerItemCount(cid, king) >= 1 then            doPlayerSendCancel(cid, "Please, use your Punch Stone to evolve this pokemon to a Poliwrath, or a King's Rock to a Politoed.")            return true         end         doEvolvePokemon(cid, item2, theevo, evolution, water)           local ball = getPlayerSlotItem(cid, 8).uid              doItemEraseAttribute(ball, "boost")                  doTransformItem(ball, pokeballs[theevo:lower()].use)      elseif item.itemid == punch then         minlevel = pokes["Poliwrath"].level                  if getPlayerLevel(cid) < minlevel then            doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")            return true         end         if getPlayerItemCount(cid, water) <= 0 then            doPlayerSendCancel(cid, "You need at least one Punch Stone and one Water Stone to evolve this pokemon.")            return true         end         local theevo = "Poliwrath"         doEvolvePokemon(cid, item2, theevo, water, punch)           local ball = getPlayerSlotItem(cid, 8).uid              doItemEraseAttribute(ball, "boost")                  doItemSetAttribute(ball, "morta", "no")              doItemSetAttribute(ball, "Icone", "yes")                  doTransformItem(ball, pokeballs[theevo:lower()].use)          elseif item.itemid == king then         minlevel = pokes["Politoed"].level         if getPlayerLevel(cid) < minlevel then            doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")            return true         end         if getPlayerItemCount(cid, water) <= 0 then            doPlayerSendCancel(cid, "You need at least one Punch Stone and one King's Rock to evolve this pokemon.")            return true         end         local theevo = "Politoed"         doEvolvePokemon(cid, item2, theevo, water, king)           local ball = getPlayerSlotItem(cid, 8).uid              doItemEraseAttribute(ball, "boost")                  doItemSetAttribute(ball, "morta", "no")              doItemSetAttribute(ball, "Icone", "yes")                  doTransformItem(ball, pokeballs[theevo:lower()].use)      end    elseif getPokemonName(item2.uid) == "Gloom" then       local theevo = ""       local evolution = 0       if item.itemid == leaf then          if getPlayerItemCount(cid, leaf) >= 1 then             theevo = "Vileplume"             evolution = leaf          elseif getPlayerItemCount(cid, sun) >= 1 then             theevo = "Bellossom"             evolution = sun          else             doPlayerSendCancel(cid, "You need at least one Leaf Stone, and a Sun Stone (Bellossom) or a 2 Leaf Stone (Vileplume) to evolve this pokemon.")             return true          end                    minlevel = pokes[theevo].level                    if getPlayerLevel(cid) < minlevel then             doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")             return true          end          if getPlayerItemCount(cid, venom) >= 1 and getPlayerItemCount(cid, sun) >= 1 then             doPlayerSendCancel(cid, "Please, use your Leaf Stone to evolve this pokemon to a Vileplume, or a Sun Stone to a Bellossom.")             return true          end                    doEvolvePokemon(cid, item2, theevo, evolution, leaf)           local ball = getPlayerSlotItem(cid, 8).uid              doItemEraseAttribute(ball, "boost")                  doItemSetAttribute(ball, "morta", "no")              doItemSetAttribute(ball, "Icone", "yes")                  doTransformItem(ball, pokeballs[theevo:lower()].use)       elseif item.itemid == leaf then          minlevel = pokes["Vileplume"].level          if getPlayerLevel(cid) < minlevel then             doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")             return true          end          if getPlayerItemCount(cid, leaf) <= 0 then             doPlayerSendCancel(cid, "You need at least 2 Leaf Stones to evolve this pokemon.")             return true          end          doEvolvePokemon(cid, item2, "Vileplume", leaf, leaf)           local ball = getPlayerSlotItem(cid, 8).uid              doItemEraseAttribute(ball, "boost")                  doItemSetAttribute(ball, "morta", "no")              doItemSetAttribute(ball, "Icone", "yes")                  doTransformItem(ball, pokeballs[theevo:lower()].use)                 elseif item.itemid == sun then          minlevel = pokes["Bellossom"].level          if getPlayerLevel(cid) < minlevel then             doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")             return true          end          if getPlayerItemCount(cid, leaf) <= 0 then             doPlayerSendCancel(cid, "You need at least one Leaf Stone and one Sun Stone to evolve this pokemon.")             return true          end           doEvolvePokemon(cid, item2, "Bellossom", sun, leaf)           local ball = getPlayerSlotItem(cid, 8).uid              doItemEraseAttribute(ball, "boost")                  doItemSetAttribute(ball, "morta", "no")              doItemSetAttribute(ball, "Icone", "yes")                  doTransformItem(ball, pokeballs[theevo:lower()].use)       end           elseif getPokemonName(item2.uid) == "Slowpoke" then       if item.itemid == enigma then          minlevel = pokes["Slowbro"].level          if getPlayerLevel(cid) < minlevel then             doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")             return true          end          doEvolvePokemon(cid, item2, "Slowbro", enigma, 0)           local ball = getPlayerSlotItem(cid, 8).uid              doItemEraseAttribute(ball, "boost")                  doItemSetAttribute(ball, "morta", "no")              doItemSetAttribute(ball, "Icone", "yes")                     doTransformItem(ball, pokeballs[theevo:lower()].use)        elseif item.itemid == king then          minlevel = pokes["Slowking"].level          if getPlayerLevel(cid) < minlevel then             doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")             return true          end          doEvolvePokemon(cid, item2, "Slowking", king, 0)           local ball = getPlayerSlotItem(cid, 8).uid              doItemEraseAttribute(ball, "boost")                  doItemSetAttribute(ball, "morta", "no")              doItemSetAttribute(ball, "Icone", "yes")                  doTransformItem(ball, pokeballs[theevo:lower()].use)        end    elseif getPokemonName(item2.uid) == "Tyrogue" then         if item.itemid == punch then        local evolution = ""        evolution = choose("Hitmonlee", "Hitmonchan", "Hitmontop")        minlevel = pokes[evolution].level        if getPlayerLevel(cid) < minlevel then           doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")           return true        end        doEvolvePokemon(cid, item2, evolution, punch, 0)           local ball = getPlayerSlotItem(cid, 8).uid              doItemEraseAttribute(ball, "boost")                  doItemSetAttribute(ball, "morta", "no")              doItemSetAttribute(ball, "Icone", "yes")                  doTransformItem(ball, pokeballs[theevo:lower()].use)    endreturn trueendendlocal count = poevo[getPokemonName(item2.uid)].countlocal stnid = poevo[getPokemonName(item2.uid)].stoneidlocal stnid2 = poevo[getPokemonName(item2.uid)].stoneid2local evo = poevo[getPokemonName(item2.uid)].evolution    if not pokes[evo] then       doSendMsg(cid, "Este pokemon nao existe.")       print(">>>>>>EVO BUG: " .. evo)       return true    endif stnid2 > 1 and (getPlayerItemCount(cid, stnid2) < count or getPlayerItemCount(cid, stnid) < count) then   doPlayerSendCancel(cid, "You need at least one "..getItemNameById(stnid).." and one "..getItemNameById(stnid2).." to evolve this pokemon!")   return trueendif getPlayerItemCount(cid, stnid) < count then   local str = ""   if count >= 2 then      str = "s"   endreturn doPlayerSendCancel(cid, "You need at least "..count.." "..getItemNameById(stnid)..""..str.." to evolve this pokemon!")endminlevel = pokes[evo].levelif getPlayerLevel(cid) < minlevel then   doPlayerSendCancel(cid, "Você não possui level necessario para evoluir esse pokemon ("..minlevel..").")   return trueendif count >= 2 then   stnid2 = stnidend              doEvolvePokemon(cid, item2, evo, stnid, stnid2)              local ball = getPlayerSlotItem(cid, 8).uid              doItemEraseAttribute(ball, "boost")                  doItemSetAttribute(ball, "morta", "no")              doItemSetAttribute(ball, "Icone", "yes")                  doTransformItem(ball, pokeballs[evo:lower()].use)return TRUEend

 

Action/Evolution

 

 

Editado Novembro 20 por Mulizeu

InsanityAI
20 de novembro de 2016 às 14:52

Vlw @Mulizeu vou dar uma olhada e te falo se deu, provavelmente sim né ? tava faltando aquele if maroto hehehehe

1 mês depois...
PedroluiP
16 de dezembro de 2016 às 10:38

Alguém ajuda 

15595883_719094684907731_1008036299_o.png

15595883_719094684907731_1008036299_o.thumb.png.b4b27d2ecdfe94e4aab5615992020d86.png

1 mês depois...
chulapoC
08 de janeiro de 2017 às 15:31

Alguns NPCS como Mark e Guru não respondem mensagens de HI, mas se falar offer ou trade eles respondam,
Alguém sabe pq? 

Edit: Pelo o que estou reparando, são NPCS que utilizam o script="default.lua" como base

Editado Janeiro 8 por chulapo

JosegvbJ
08 de janeiro de 2017 às 17:50

cliente bugado, use o da v1 ou outro 

2 horas atrás, chulapo disse:

Alguns NPCS como Mark e Guru não respondem mensagens de HI, mas se falar offer ou trade eles respondam,
Alguém sabe pq? 

Edit: Pelo o que estou reparando, são NPCS que utilizam o script="default.lua" como base

 

chulapoC
08 de janeiro de 2017 às 18:28
37 minutos atrás, Josegvb disse:

cliente bugado, use o da v1 ou outro 

 

Ótimo, Resolvido.

apenas para constar:

o problema é que o channel NPCs não abre, tentei tornar a conversa de NPCs publica, trocando NPCHANDLER_CONVBEHAVIOR para CONVERSATION_DEFAULT, mas não deu certo tb.

 

o problema de usar versão antiga do client é que o mapa fica todo bugado perto do CP

Editado Janeiro 8 por chulapo

geansG
08 de janeiro de 2017 às 22:59

ta dando erro na Sql ou algo do tipo >couldn't establish connection to sql database< Quem pode me ajudar ?

JosegvbJ
09 de janeiro de 2017 às 01:36
7 horas atrás, chulapo disse:

Ótimo, Resolvido.

apenas para constar:

o problema é que o channel NPCs não abre, tentei tornar a conversa de NPCs publica, trocando NPCHANDLER_CONVBEHAVIOR para CONVERSATION_DEFAULT, mas não deu certo tb.

 

o problema de usar versão antiga do client é que o mapa fica todo bugado perto do CP

 

fica bugado pq no cliente da v3 foram adicionadas umas 3 spr q foram colocadas nas costas do cp, utilize a spr da versao 3 se quiser ou o mapa da versao 1