Ir para conteúdo

Source DarkXPoke e PDA


Posts Recomendados

17 minutos atrás, America disse:

Não, ta o MOD padrão do DXP mesmo.

Bom.. Eu não usei o padrão dxp pelo fato de eu não gostar muito daquele lua, então aqui está um exemplo do qual eu usei para testes. ^^ 

Spoiler

local config = {

    loginMessage = getConfigValue('loginMessage'),

    useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))

}

function AutoLootinit(cid)

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

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

    end

    return true 

    end

function onLogin(cid)

    

    

    local accountManager = getPlayerAccountManager(cid)

    if(accountManager == MANAGER_NONE) then

        local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage

        if(lastLogin > 0) then

            doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)

            str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."

            str = "Seu Personagem sera salvo a cada 30 segundos para evitar rollbacks"

        else

            str = str

        end

        doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)

    elseif(accountManager == MANAGER_NAMELOCK) then

        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")

    elseif(accountManager == MANAGER_ACCOUNT) then

        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")

    else

        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")

    end

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

        local outfit = {}

        if accountManagerRandomPokemonOutfit then

            outfit = {lookType = getPokemonXMLOutfit(oldpokedex[math.random(151)][1])}

        else

            outfit = accountManagerOutfit

        end

    

        doSetCreatureOutfit(cid, outfit, -1)

    return true

    end    

    

    if getPlayerVocation(cid) == 0 then

        doPlayerSetMaxCapacity(cid, 0)

        doPlayerSetVocation(cid, 1)

        setCreatureMaxMana(cid, 6)

        doPlayerAddSoul(cid, -getPlayerSoul(cid))

        setPlayerStorageValue(cid, 19898, 0)

            if getCreatureOutfit(cid).lookType == 128 then

                outfit = {lookType = 510, lookHead = math.random(0, 132), lookBody = math.random(0, 132), lookLegs = math.random(0, 132), lookFeet = math.random(0, 132)}

            elseif getCreatureOutfit(cid).lookType == 136 then

                outfit = {lookType = 511, lookHead = math.random(0, 132), lookBody = math.random(0, 132), lookLegs = math.random(0, 132), lookFeet = math.random(0, 132)}

            end

        doCreatureChangeOutfit(cid, outfit)

    end

    if getCreatureName(cid) == "[ADM] One" then

       setPlayerGroupId(cid, 15)

       doRegainSpeed(cid)

       doGetPlayersOnToADM(cid)

    else

       doSendUpdatesOnlineToADM()

    end

    

    

    doPlayerSetVocation(cid, 10)

    doSendPlayerExtendedOpcode(cid, 126, "nao")

    doResetPlayerTVSystem(cid)

    

    if not isGod(cid) then

       setPlayerGroupId(cid, 1)

       doRegainSpeed(cid)

    end

    

        if isGod(cid) then -- Resetar diarias se for God

            setPlayerStorageValue(cid, storages.miniQuests.storDayTask1, -1)

            setPlayerStorageValue(cid, storages.miniQuests.storDayTask2, -1)

            setPlayerStorageValue(cid, storages.miniQuests.storDayTask3, -1)

            setPlayerStorageValue(cid, storages.miniQuests.storDayTask4, -1)

        end

        

    if getPlayerLevel(cid) >= 1 and getPlayerLevel(cid) <= 10 then

       doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 0)

    else     

       doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, (getPlayerLevel(cid) >= 200 and 100 or math.floor(getPlayerLevel(cid)/2)) )

    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)

    AutoLootinit(cid)

    --doAddShoppingItem(cid)

        

    -- otclient life

        doSendLifePokeToOTC(cid)

    -- otclient life

    

    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

 

18 minutos atrás, Deadpool disse:

dxp vem com mod fistitem? que eu lembre a source dele nao aceita, da erro no loadbu..

A dxp padrão não vem com mods, Você que tem que colocar e por ventura geralmente colocam a mais usada "Cyan ou qualquer outro PDA".. Já que a Items.otb é a mesma coisa xD

Link para o comentário
Compartilhar em outros sites

Agora, KyoGron disse:

Bom.. Eu não usei o padrão dxp pelo fato de eu não gostar muito daquele lua, então aqui está um exemplo do qual eu usei para testes. ^^ 

  Mostrar conteúdo oculto

local config = {

    loginMessage = getConfigValue('loginMessage'),

    useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))

}

function AutoLootinit(cid)

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

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

    end

    return true 

    end

function onLogin(cid)

    

    

    local accountManager = getPlayerAccountManager(cid)

    if(accountManager == MANAGER_NONE) then

        local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage

        if(lastLogin > 0) then

            doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)

            str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."

            str = "Seu Personagem sera salvo a cada 30 segundos para evitar rollbacks"

        else

            str = str

        end

        doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)

    elseif(accountManager == MANAGER_NAMELOCK) then

        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")

    elseif(accountManager == MANAGER_ACCOUNT) then

        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")

    else

        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")

    end

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

        local outfit = {}

        if accountManagerRandomPokemonOutfit then

            outfit = {lookType = getPokemonXMLOutfit(oldpokedex[math.random(151)][1])}

        else

            outfit = accountManagerOutfit

        end

    

        doSetCreatureOutfit(cid, outfit, -1)

    return true

    end    

    

    if getPlayerVocation(cid) == 0 then

        doPlayerSetMaxCapacity(cid, 0)

        doPlayerSetVocation(cid, 1)

        setCreatureMaxMana(cid, 6)

        doPlayerAddSoul(cid, -getPlayerSoul(cid))

        setPlayerStorageValue(cid, 19898, 0)

            if getCreatureOutfit(cid).lookType == 128 then

                outfit = {lookType = 510, lookHead = math.random(0, 132), lookBody = math.random(0, 132), lookLegs = math.random(0, 132), lookFeet = math.random(0, 132)}

            elseif getCreatureOutfit(cid).lookType == 136 then

                outfit = {lookType = 511, lookHead = math.random(0, 132), lookBody = math.random(0, 132), lookLegs = math.random(0, 132), lookFeet = math.random(0, 132)}

            end

        doCreatureChangeOutfit(cid, outfit)

    end

    if getCreatureName(cid) == "[ADM] One" then

       setPlayerGroupId(cid, 15)

       doRegainSpeed(cid)

       doGetPlayersOnToADM(cid)

    else

       doSendUpdatesOnlineToADM()

    end

    

    

    doPlayerSetVocation(cid, 10)

    doSendPlayerExtendedOpcode(cid, 126, "nao")

    doResetPlayerTVSystem(cid)

    

    if not isGod(cid) then

       setPlayerGroupId(cid, 1)

       doRegainSpeed(cid)

    end

    

        if isGod(cid) then -- Resetar diarias se for God

            setPlayerStorageValue(cid, storages.miniQuests.storDayTask1, -1)

            setPlayerStorageValue(cid, storages.miniQuests.storDayTask2, -1)

            setPlayerStorageValue(cid, storages.miniQuests.storDayTask3, -1)

            setPlayerStorageValue(cid, storages.miniQuests.storDayTask4, -1)

        end

        

    if getPlayerLevel(cid) >= 1 and getPlayerLevel(cid) <= 10 then

       doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 0)

    else     

       doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, (getPlayerLevel(cid) >= 200 and 100 or math.floor(getPlayerLevel(cid)/2)) )

    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)

    AutoLootinit(cid)

    --doAddShoppingItem(cid)

        

    -- otclient life

        doSendLifePokeToOTC(cid)

    -- otclient life

    

    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

 

A dxp padrão não vem com mods, Você que tem que colocar e por ventura geralmente colocam a mais usada "Cyan ou qualquer outro PDA".. Já que a Items.otb é a mesma coisa xD

Vlw ae

Link para o comentário
Compartilhar em outros sites

Em 08/04/2017 at 14:16, America disse:

doCreatureSetNick

OnWalk

OnWriteChannel

 

Entre Outras.

Creio que só a Write Channel que não foi adicionada '-' OnWalk entre outras eu adicionei .

Irei começar a fazer uma lista do que foi modificado.

Link para o comentário
Compartilhar em outros sites

2 horas atrás, Boos disse:

@KyoGron  o pokemon não entra em área de PZ :/

Existe As Funções OnUse e OnTarget ? (ta lotando o console de erro)

Existe sim, está usando as funções da própria DxP, vou dar uma olhada e em breve estarei corrigindo ^^ 

Link para o comentário
Compartilhar em outros sites

3 horas atrás, KyoGron disse:

Creio que só a Write Channel que não foi adicionada '-' OnWalk entre outras eu adicionei .

Irei começar a fazer uma lista do que foi modificado.

OnWalk não ta sendo encontrado...

Link para o comentário
Compartilhar em outros sites

Igual o amigo acima falou,tentei adaptar um pdazinho 1.9 com essa source,deu tudo acerto,porém um unico problema surgiu,o pokémon não entra em area de Pz,e nem pode dar go/back em areas Pz.

Link para o comentário
Compartilhar em outros sites

Em 07/04/2017 at 02:13, KyoGron disse:

Olá pessoal tudo de boa? 

Bom não vou enrolar o titulo já diz tudo, Hoje estive conversando com uns membros do fórum e vi que a area sobre "dxp" está meio caída.

Então decidi refazer a source do dxp usando TFS 0.3.6 limpo e adicionar funções que eram "necessárias" para o jogo rodar, Não cheguei a colocar todas, Pois já disponibilizar ela rodando em um TFS que eu tenho certeza que está livre de códigos de guerras ou bugs da própria source original já está de bom tamanho certo? Sem enrolação.

 

*Apaguei o executável e a pasta obj porque quando fui upar aqui acusou virus, Então vocês terão que compilar ^^

 

(Um colega disse que ela é compativel com PDA também.. Não aconselho muito pelo fato dela possuir Storages dentro da própria source)

 

Caso apareça mais funções estarei fazendo modificações futuras.

Download: https://www.4shared.com/rar/dWFUE_m1ei/Source_tfs_036.html?

Scan: https://virustotal.com/pt/file/c270b7261e45227e9a3311048b4fadd1311ddfedb0667eca0a6d806f099fc58f/analysis/1491538770/

bom man só corrigindo aqui não funciona em pda não.

ela ate que liga mas ja gera erro no creature walk, e ao chamar o pokemon pra fora da ball gera erro no goback chamando varios pokemons e lotando a tela.

sim deve dar pra arrumar isso mas pra pda n serve, pelo menos n do jeito q ta alias o pokemon nem é chamado em area pz

Editado por wevertonvrb
Link para o comentário
Compartilhar em outros sites

9 horas atrás, KyoGron disse:

Creio que só a Write Channel que não foi adicionada '-' OnWalk entre outras eu adicionei .

Irei começar a fazer uma lista do que foi modificado.

isso seria maneiro =):

Link para o comentário
Compartilhar em outros sites

Em 07/04/2017 at 22:30, KyoGron disse:

Bom.. Eu não usei o padrão dxp pelo fato de eu não gostar muito daquele lua, então aqui está um exemplo do qual eu usei para testes. ^^ 

  Ocultar conteúdo

local config = {

    loginMessage = getConfigValue('loginMessage'),

    useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))

}

function AutoLootinit(cid)

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

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

    end

    return true 

    end

function onLogin(cid)

    

    

    local accountManager = getPlayerAccountManager(cid)

    if(accountManager == MANAGER_NONE) then

        local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage

        if(lastLogin > 0) then

            doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)

            str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."

            str = "Seu Personagem sera salvo a cada 30 segundos para evitar rollbacks"

        else

            str = str

        end

        doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)

    elseif(accountManager == MANAGER_NAMELOCK) then

        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")

    elseif(accountManager == MANAGER_ACCOUNT) then

        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")

    else

        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")

    end

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

        local outfit = {}

        if accountManagerRandomPokemonOutfit then

            outfit = {lookType = getPokemonXMLOutfit(oldpokedex[math.random(151)][1])}

        else

            outfit = accountManagerOutfit

        end

    

        doSetCreatureOutfit(cid, outfit, -1)

    return true

    end    

    

    if getPlayerVocation(cid) == 0 then

        doPlayerSetMaxCapacity(cid, 0)

        doPlayerSetVocation(cid, 1)

        setCreatureMaxMana(cid, 6)

        doPlayerAddSoul(cid, -getPlayerSoul(cid))

        setPlayerStorageValue(cid, 19898, 0)

            if getCreatureOutfit(cid).lookType == 128 then

                outfit = {lookType = 510, lookHead = math.random(0, 132), lookBody = math.random(0, 132), lookLegs = math.random(0, 132), lookFeet = math.random(0, 132)}

            elseif getCreatureOutfit(cid).lookType == 136 then

                outfit = {lookType = 511, lookHead = math.random(0, 132), lookBody = math.random(0, 132), lookLegs = math.random(0, 132), lookFeet = math.random(0, 132)}

            end

        doCreatureChangeOutfit(cid, outfit)

    end

    if getCreatureName(cid) == "[ADM] One" then

       setPlayerGroupId(cid, 15)

       doRegainSpeed(cid)

       doGetPlayersOnToADM(cid)

    else

       doSendUpdatesOnlineToADM()

    end

    

    

    doPlayerSetVocation(cid, 10)

    doSendPlayerExtendedOpcode(cid, 126, "nao")

    doResetPlayerTVSystem(cid)

    

    if not isGod(cid) then

       setPlayerGroupId(cid, 1)

       doRegainSpeed(cid)

    end

    

        if isGod(cid) then -- Resetar diarias se for God

            setPlayerStorageValue(cid, storages.miniQuests.storDayTask1, -1)

            setPlayerStorageValue(cid, storages.miniQuests.storDayTask2, -1)

            setPlayerStorageValue(cid, storages.miniQuests.storDayTask3, -1)

            setPlayerStorageValue(cid, storages.miniQuests.storDayTask4, -1)

        end

        

    if getPlayerLevel(cid) >= 1 and getPlayerLevel(cid) <= 10 then

       doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 0)

    else     

       doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, (getPlayerLevel(cid) >= 200 and 100 or math.floor(getPlayerLevel(cid)/2)) )

    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)

    AutoLootinit(cid)

    --doAddShoppingItem(cid)

        

    -- otclient life

        doSendLifePokeToOTC(cid)

    -- otclient life

    

    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

 

 

oque faço com este codigo?

desculpa pois sou novato nessa area '-'

Link para o comentário
Compartilhar em outros sites

4 horas atrás, LocAnderson disse:

 

oque faço com este codigo?

desculpa pois sou novato nessa area '-'

Bom uma base chamada "DxP" cujo nome completo é DarkXPoke foi postada, Mas a source dela oficialmente ninguém confia pela reputação de ter vindo com códigos de derrubar entre outras coisas, E muitos estão refazendo ou refizeram ela mas não divulgaram, Estou divulgando uma que estou usando por enquanto(Essa ai) E como falei conforme eu for adicionando funções eu vou liberando aqui o changelog. ^^ 

13 horas atrás, wevertonvrb disse:

bom man só corrigindo aqui não funciona em pda não.

ela ate que liga mas ja gera erro no creature walk, e ao chamar o pokemon pra fora da ball gera erro no goback chamando varios pokemons e lotando a tela.

sim deve dar pra arrumar isso mas pra pda n serve, pelo menos n do jeito q ta alias o pokemon nem é chamado em area pz

Ok, vou deixar só para DxP por enquanto, embora eu usei aqui em Cyan 3.0 e não tive muitos problemas, sobre chamar o pokémon em PZ na dxp há uma função que bloqueia isso na datapack.

17 horas atrás, America disse:

OnWalk não ta sendo encontrado...

Vou ver isso aqui amiguinho, Pois eu testei aqui e liga sem problemas algum.

13 horas atrás, kaleudd disse:

Igual o amigo acima falou,tentei adaptar um pdazinho 1.9 com essa source,deu tudo acerto,porém um unico problema surgiu,o pokémon não entra em area de Pz,e nem pode dar go/back em areas Pz.

Bom o PZ se reparar bem a própria DXP bloqueia isso na datapack, Não é culpa da source mas sim pela dxp aqui aparece a mensagem "Não há espaço para seu pokémon" se não me engano é esta.

Link para o comentário
Compartilhar em outros sites

Agora, KyoGron disse:

Bom uma base chamada "DxP" cujo nome completo é DarkXPoke foi postada, Mas a source dela oficialmente ninguém confia pela reputação de ter vindo com códigos de derrubar entre outras coisas, E muitos estão refazendo ou refizeram ela mas não divulgaram, Estou divulgando uma que estou usando por enquanto(Essa ai) E como falei conforme eu for adicionando funções eu vou liberando aqui o changelog. ^^ 

Ok, vou deixar só para DxP por enquanto, embora eu usei aqui em Cyan 3.0 e não tive muitos problemas, sobre chamar o pokémon em PZ na dxp há uma função que bloqueia isso na datapack.

Vou ver isso aqui amiguinho, Pois eu testei aqui e liga sem problemas algum.

Bom o PZ se reparar bem a própria DXP bloqueia isso na datapack, Não é culpa da source mas sim pela dxp aqui aparece a mensagem "Não há espaço para seu pokémon" se não me engano é esta.

não é isto,o problema é que não pode sumonar o pokemon em area com pz,mais area sem pz ele sumona normal.

Agora, wevertonvrb disse:

bom man só corrigindo aqui não funciona em pda não.

ela ate que liga mas ja gera erro no creature walk, e ao chamar o pokemon pra fora da ball gera erro no goback chamando varios pokemons e lotando a tela.

sim deve dar pra arrumar isso mas pra pda n serve, pelo menos n do jeito q ta alias o pokemon nem é chamado em area pz

Deixa de ser besta,obviu que funciona,o erro creature walk é da tv system coisa izi de arrumar,o pokémon para fora da ball vc tem que mecher nos scripts do pda,tipo no Login.lua e demais arquivos,o meu está quase adaptado sem erros,só tem um que citei acima.

Link para o comentário
Compartilhar em outros sites

2 horas atrás, kaleudd disse:

não é isto,o problema é que não pode sumonar o pokemon em area com pz,mais area sem pz ele sumona normal.

Deixa de ser besta,obviu que funciona,o erro creature walk é da tv system coisa izi de arrumar,o pokémon para fora da ball vc tem que mecher nos scripts do pda,tipo no Login.lua e demais arquivos,o meu está quase adaptado sem erros,só tem um que citei acima.

O Evento OnWalk não está sendo encontrado pois não tem nas sources...você está falando izi de arrumar á unica maneira é adicionando á função, você deve ter o jeito seu de arrumar que deve ser deletando coisas sem saber para que serve...para o pokémon sair da ball você pode fazer gambiarras ou adicionar á função doCreatureSetNick.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...