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
253.5k
DuhisbackD
08 de junho de 2016 às 19:42
1 minuto atrás, Drakopoulos disse:

Acho q é pq o no adm a storage ja está como "all" no caso para coletar tudo, mas teste em outra acc q irá estar certo.

Vc pode resolver isso na database trocando o "all" por "no".

Mas tipo antes de colocar o codigo no adm tava funfando normal tava aparecendo os items ai depois que adicionei esse código ai bugou no adm e no player tbm

DrakopoulosD
08 de junho de 2016 às 19:47
4 minutos atrás, Eduzinhonho disse:

Mas tipo antes de colocar o codigo no adm tava funfando normal tava aparecendo os items ai depois que adicionei esse código ai bugou no adm e no player tbm

Algum erro?

DuhisbackD
08 de junho de 2016 às 19:52
4 minutos atrás, Drakopoulos disse:

Algum erro?

na distro não só no game que tá bugado n aparece item nem em player normal e nem em adm mais tipo se eu remover os códigos ai aparece no adm mais fica bugado o painel no player

DuhisbackD
08 de junho de 2016 às 19:53
11 minutos atrás, Pokemonultimatetwo disse:

Sim, salva eles, ai você abre com o Object Builder/normal pra compilar ele dnv, pq o server só aceita compilado tlgd ? então abre com o compilado > normal, edita, dps abre com o normal>compilado pro slicne t reconheçer e.e

Fiz isso mais não reconheceu não no normal p/ compilado e não abriu o rme n

DrakopoulosD
08 de junho de 2016 às 19:54
Agora, Eduzinhonho disse:

na distro não só no game que tá bugado n aparece item nem em player normal e nem em adm mais tipo se eu remover os códigos ai aparece no adm mais fica bugado o painel no player

Mano, refiz tudo aqui para ver se esqueci de algo e ta normal, funcionando certinho.

boxxer321B
08 de junho de 2016 às 19:54
Agora, Eduzinhonho disse:

Fiz isso mais não reconheceu não no normal p/ compilado e não abriu o rme n

Acho que pra abrir no rme vc tem q fazer compliado > normal

TaigerT
08 de junho de 2016 às 19:54

Galera por favor, peço que não tumultuem o tópico com brigas, postei o server no intuito de contribuir para a comunidade, caso continuem spamando o tópico com discussões pedirei ao adm para fechar. Obrigado, e gogo ajudar =):

DuhisbackD
08 de junho de 2016 às 19:55
Agora, Drakopoulos disse:

Mano, refiz tudo aqui para ver se esqueci de algo e ta normal, funcionando certinho.

 

Não seria mais facil você fazer um Spoiler e colar o teu login.lua e mandar? para me testar as vezes posso ter colocado até algo errado ou alguma linha/ponto a mais ou a menos

TaigerT
08 de junho de 2016 às 19:57

Caso alguem conseguir corrigir algum bug e testar ver se esta tudo ok, me mandem uma msg para eu atualizar no tópico. ja vou atualizar com o patch do Kattalla e com o site e db para criar accs que o Justiceiro usou.

Editado Junho 8 por Taiger

DuhisbackD
08 de junho de 2016 às 19:57
2 minutos atrás, boxxer321 disse:

Acho que pra abrir no rme vc tem q fazer compliado > normal

 

Tipo eu fiz assim...

  1. Abri o compilando para normal
  2. Dupliquei um item qualquer
  3. cliquei em compile e pronto ai tentei abrir o mapa mais não deu
boxxer321B
08 de junho de 2016 às 19:59
Agora, Eduzinhonho disse:

 

Tipo eu fiz assim...

  1. Abri o compilando para normal
  2. Dupliquei um item qualquer
  3. cliquei em compile e pronto ai tentei abrir o mapa mais não deu

que erro ta dando? voce trocou o itens.otb e itens.xml?

DrakopoulosD
08 de junho de 2016 às 20:00
1 minuto atrás, Eduzinhonho disse:

 

Não seria mais facil você fazer um Spoiler e colar o teu login.lua e mandar? para me testar as vezes posso ter colocado até algo errado ou alguma linha/ponto a mais ou a menos

 

local config = {

    loginMessage = getConfigValue('loginMessage'),

    useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))

}

local megasStones = {15131, 15133, 15136, 15793, 15783, 15781, 15794, 15784, 15780, 15792}

local megasToPlayer = {

    ["Alakazite"] = {id = 15131, megaID = "", pokeName = "Alakazam"},

    ["Blastoisinite"] = {id = 15133, megaID = "", pokeName = "Blastoise"},    

    ["Gengarite"] = {id = 15136, megaID = "", pokeName = "Gengar"},    

    

    ["Venusaurite"] = {id = 15793, megaID = "", pokeName = "Venusaur"},    

    ["Kangaskhanite"] = {id = 15783, megaID = "", pokeName = "Kangaskhan"},

    ["Tyranitarite"] = {id = 15781, megaID = "", pokeName = "Tyranitar"},

    ["Ampharosite"] = {id = 15794, megaID = "", pokeName = "Ampharos"},    

    ["Scizorite"] = {id = 15784, megaID = "", pokeName = "Scizor"},    

    

    ["Aggronite"] = {id = 15780, megaID = "", pokeName = "Aggron"},        

    ["Blazikenite"] = {id = 15792, megaID = "", pokeName = "Blaziken"},    

}

function BetaItem(cid)

    if getPlayerStorageValue(cid, storages.betaStorage) == -1 then

        addPokeToPlayer(cid, "Shiny Ditto", 0, nil, "poke", true)

        setPlayerStorageValue(cid, storages.betaStorage, 1)

        doSendMsg(cid, "Você ganhou um Shiny Ditto, uma TV Cam e uma Mega Stone para testalos a vontade.")

        

        item = doCreateItemEx(12330)

        doItemSetAttribute(item, "unique", getCreatureName(cid))

        doPlayerAddItemEx(cid, item)

        

        local mega = megasStones[math.random(1, #megasStones)]

        

        for a, b in pairs(megasToPlayer) do

            if mega == b.id then 

                addPokeToPlayer(cid, b.pokeName, 0, nil, "shinyyume", true, a)

                break

            end

        end    

    end

end

 

function AutoLootinit(cid)

    if getPlayerStorageValue (cid, storages.AutoLootCollectAll) == -1 then

    setPlayerStorageValue(cid, storages.AutoLootCollectAll, "no")

    end

    return true 

    end

 

function onLogin(cid)    

    doPlayerSetVocation(cid, 10)

    doSendPlayerExtendedOpcode(cid, 126, "nao")

    doResetPlayerTVSystem(cid)

    

    if not isGod(cid) then

       setPlayerGroupId(cid, 1)

       doRegainSpeed(cid)

    end

    doRegainSpeed(cid)

 

 --////// storages \\\\\\-- 

   doEreaseDuel(cid)

   setPlayerStorageValue(cid, 500, -1)

   setPlayerStorageValue(cid, 8085, 0)

   --// duel

   setPlayerStorageValue(cid, storages.requestCountPlayer, 0)

   setPlayerStorageValue(cid, storages.requestCountPokemon, 0)

   setPlayerStorageValue(cid, storages.requestedPlayer, 0)

   --// duel

 --////// storages \\\\\\-- 

 

 --////// Eventos \\\\\\-- 

     registerCreatureEvent(cid, "ShowPokedex")

     registerCreatureEvent(cid, "ClosePokedex")

      registerCreatureEvent(cid, "Mail")

     registerCreatureEvent(cid, "WildAttack")

     registerCreatureEvent(cid, "GuildMotd")

     registerCreatureEvent(cid, "Idle")

     registerCreatureEvent(cid, "ReportBug")

     registerCreatureEvent(cid, "AdvanceSave")

     --Adicionados \/

     registerCreatureEvent(cid, "PlayerLogout")

     registerCreatureEvent(cid, "LookSystem")

     registerCreatureEvent(cid, "Opcode")

     registerCreatureEvent(cid, "EmeraldShop")

     registerCreatureEvent(cid, "PokeStats")

     registerCreatureEvent(cid, "PokeWalk")

     registerCreatureEvent(cid, "PokeSleep")

     registerCreatureEvent(cid, "MoveItem")

     registerCreatureEvent(cid, "UpLevel")

     registerCreatureEvent(cid, "BlockWords")

     --registerCreatureEvent(cid, "PartySystem")

     registerCreatureEvent(cid, "Target")

     registerCreatureEvent(cid, "GeneralConfiguration")

     registerCreatureEvent(cid, "EffectOnAdvance")

     registerCreatureEvent(cid, "TradeRequest")

     registerCreatureEvent(cid, "TradeAccpet")

 --////// Eventos \\\\\\-- 

 

    if(not isPlayerGhost(cid)) then

        doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)

    end

   

local legs = getPlayerSlotItem(cid, CONST_SLOT_LEGS)

local ball = getPlayerSlotItem(cid, 8):

 

    if getPlayerSlotItem(cid, CONST_SLOT_FEET).uid ~= 0 then

        doItemEraseAttribute(getPlayerSlotItem(cid, CONST_SLOT_FEET).uid, "healthChanged")

    end

    --doOTCSendPokemonHealth(cid)

    --doClearPokemonStatus(cid)

 

    if isRiderOrFlyOrSurf(cid) and ball.uid ~= 0 then 

    local pokeName = getItemAttribute(ball.uid, "poke")

    

                    if isInArray({"ditto", "shiny ditto"}, pokeName:lower()) then

                       pokeName = getItemAttribute(ball.uid, "copyName")

                    end

    

                     local outfit = getPokemonOutfitToSkill(pokeName)

                     local speed = getPokemonSpeedToSkill(pokeName)

                         doSetCreatureOutfit(cid, {lookType = outfit + 351}, -1)

                         

                         doChangeSpeed(cid, -getCreatureSpeed(cid))

                         doChangeSpeed(cid, speed)

                         

                         if isRider(cid) then

                            setPlayerStorageValue(cid, orderTalks["ride"].storage, 1)

                         elseif isFly(cid) then

                            setPlayerStorageValue(cid, orderTalks["fly"].storage, 1)

                              if not hasSqm(getThingPos(cid)) then

                              --   doCreateItem(460, 1, getThingPos(cid))

                              end

                         elseif isSurf(cid) then

                            setPlayerStorageValue(cid, orderTalks["surf"].storage, 1) -- rever o markedPos

                            doChangeSpeed(cid, -getCreatureSpeed(cid))

                            doChangeSpeed(cid, getPlayerStorageValue(cid, 54844))

                         end

                         doTeleportThing(cid, getMarkedSpawnPos(cid))

                         setPokemonGhost(cid)

    end                    

    

    setPlayerStorageValue(cid, storages.gobackDelay, -1)

    setPlayerStorageValue(cid, storages.pokedexDelay, -1)

    setPlayerStorageValue(cid, 154585, -1)

    doAddFirstItemsToPlayer(cid)

    BetaItem(cid)

    AutoLootinit(cid)

    doAddShoppingItem(cid)

    if getPlayerSlotItem(cid, 6).uid ~= 0 and getPlayerSlotItem(cid, 6).itemid ~= 2382 then

       doTransformItem(getPlayerSlotItem(cid, 6).uid, 2382)

    end

        

    -- otclient life

        doSendLifePokeToOTC(cid)

    -- otclient life

    

    

    return true

end

function doAddFirstItemsToPlayer(cid)

if not isCreature(cid) then return true end

if getPlayerStorageValue(cid, storages.BugFishing) ~= -1 then return true end

local config = {

            storage = 30001,

            items = {1988, 1987, 2382, 2120, 2550, 2580, 7385, 2395}

            -- 7385 (pokeinfo)

            -- 2395 (portfoil)  ok

            -- 2382    (pokedex)    ok

            -- 2550 (order)        ok

            -- 1987 (bag)        ok

            -- 1988 (badge case)    ok

            -- 2120 (rope)        ok

            -- 2580 (fishing rod)    ok

        }

            if getCreatureName(cid) == "Account Manager" then

                doSetCreatureOutfit(cid, {lookType = 655}, -1)

            return true

            end

            

            local pokeID = db.getResult("SELECT `pokeInicial` FROM `players` WHERE `name` = '" .. getCreatureName(cid) .. "' LIMIT 1;")

            local pokeIdNumber = tonumber(pokeID:getDataInt("pokeInicial"))

            local pokesIDS = {

                    [1] = "Caterpie",

                    [2] = "Rattata",

                    [3] = "Weedle"

                  }

            

            setPlayerCap(cid, 7)            

            setPlayerStorageValue(cid, duelTable.wins, 0)

            setPlayerStorageValue(cid, duelTable.loses, 0)

            local pokeBag = getPlayerItemById(cid, false, 1987).uid

            local ultraPotions = addItemInFreeBag(pokeBag, 12346, 10)

                  doItemSetAttribute(ultraPotions, "unique", getCreatureName(cid))

            local pokeballs = addItemInFreeBag(pokeBag, 2394, 20)

                  doItemSetAttribute(pokeballs, "unique", getCreatureName(cid))

            local ultraballs = addItemInFreeBag(pokeBag, 2392, 5)

                  doItemSetAttribute(ultraballs, "unique", getCreatureName(cid))

            

            addSkillsToDB(cid)

            setPlayerStorageValue(cid, storages.BugFishing, 1)

            addPokeToPlayer(cid, pokesIDS[pokeIdNumber], 0, nil, btype, true) 

            doTeleportThing(cid, getTownTemplePosition(1), false)

 

return true

end

 

local itensShopping = {

    [1] = {{2394, 100}, {12344, 25}, {12286, 2}},

    [2] = {{2391, 200}, {2393, 100}, {2392, 100}},

    [3] = {{12832, 1}},

    [4] = {{12286, 1}},

    [5] = {premiumDays = 30}

}

 

function doAddShoppingItem(cid)

    local allItems = {}

    local compra = 0

    local msg = ""

    local result = db.getResult("SELECT `itemID`, `compraID` FROM `playerCompras` WHERE `playerID` = '" .. getPlayerGUID(cid) .. "' AND `entregue` = 0")

    if result:getID() ~= -1 then

        compra = result:getDataInt("compraID")

        allItems[#allItems+1] = result:getDataInt("itemID")

        db.executeQuery("UPDATE `playerCompras` SET `entregue` = 13 WHERE `compraID` = ".. compra ..";")

        while(result:next()) do

            allItems[#allItems+1] = result:getDataInt("itemID")

            compra = result:getDataInt("compraID")

            db.executeQuery("UPDATE `playerCompras` SET `entregue` = 13 WHERE `compraID` = ".. compra ..";")

        end

    end

    

    if #allItems > 0 then

        for i = 1, #allItems do

            if allItems == 5 then

                doPlayerAddPremiumDays(cid, itensShopping[allItems].premiumDays)

                msg = "Seu pacote de '30 premium days' foi adicionado a sua conta com sucesso!"

                doSendMsg(cid, msg)

            else

            local bag = doCreateItemEx(12694) -- cubone bag de gratis

                for j = 1, #itensShopping[allItems] do

                    doAddContainerItem(bag, itensShopping[allItems][j][1], itensShopping[allItems][j][2])

                end

            

                doPlayerSendMailByName(getCreatureName(cid), bag, 1)

                msg = "Os itens que foram comprados pelo shopping foram enviados para seu cp."

                doSendMsg(cid, msg)

            end

        end

    end

end

 

function addSkillsToDB(cid)

        local str1 = "INSERT INTO `player_skills` (player_id, skillid, value, count) VALUES (" .. getPlayerGUID(cid) .. ", 5, 5, 0);"

        local str2 = "INSERT INTO `player_skills` (player_id, skillid, value, count) VALUES (" .. getPlayerGUID(cid) .. ", 6, 5, 0);"

            db.executeQuery(str1)

            db.executeQuery(str2)

end

DuhisbackD
08 de junho de 2016 às 20:00
Agora, boxxer321 disse:

que erro ta dando? voce trocou o itens.otb e itens.xml?

 

Ele não reconhece o Tibia.dat e nem o Tibia.spr

DrakopoulosD
08 de junho de 2016 às 20:01
3 minutos atrás, Eduzinhonho disse:

 

Tipo eu fiz assim...

  1. Abri o compilando para normal
  2. Dupliquei um item qualquer
  3. cliquei em compile e pronto ai tentei abrir o mapa mais não deu

Duplicar n vai, tem q criar um outro item

boxxer321B
08 de junho de 2016 às 20:02
1 minuto atrás, Eduzinhonho disse:

 

Ele não reconhece o Tibia.dat e nem o Tibia.spr

ta usando o rme extendido by senhor?