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
252k
boxxer321B
06 de junho de 2016 às 19:43
1 minuto atrás, Taiger disse:

A tabela de moves dos pokemons se encontra na pasta lib no arquivo 114 - pokeSpells

voce não teria tambem o map editor?

TaigerT
06 de junho de 2016 às 19:47

o meu map editor é do by senhor.

06 de junho de 2016 às 20:57
1 hora atrás, Taiger disse:

o meu map editor é do by senhor.

 

 

e como você edita normalmente a things no map editor do by senhor?

TaigerT
06 de junho de 2016 às 21:03
4 minutos atrás, lucasmourahere disse:

 

 

e como você edita normalmente a things no map editor do by senhor?

 

eu nao cheguei a mexer no mapa do servidor, nem no cliente e nem nos itens.

06 de junho de 2016 às 21:07
3 minutos atrás, Taiger disse:

 

eu nao cheguei a mexer no mapa do servidor, nem no cliente e nem nos itens.

 

 

ah sim, obrigado!

WickeW
06 de junho de 2016 às 22:46

Pra editar rme copia ums things e coloca nome de "Tibia" e abre normalmente.

 

LordbaxxL
06 de junho de 2016 às 22:47

Acho que relativamente não vale a pena utilizar o servidor, porém, códigos presentes podem ser aproveitados. Parabéns por tais modificações, é legal saber que muita gente ainda tenta trabalhar em meio á dificuldades para conseguir objetivos maiores, relacionados á poketibia. O único motivo pelo qual não se pode ser aproveitado é o tanto de "armadilhas" colocadas pelo programador neste código de fonte, oque atrapalha muito quem usa o servidor. Desejo sorte á quem pretende utilizá-lo, e continuem. Mais uma vez parabéns Taiger.

MuriloCavalcanttiM
06 de junho de 2016 às 22:51

Boa, belo servidor.

Drk ShadowD
07 de junho de 2016 às 00:05

@kttallan, @Taiger

 

Vocês conheçem algum tutorial para compilar essas sources ? ja tentei alguns porem sem sucesso...

 

@TOPIC

Galera, sobre o bug do fly:

Não é uma correção, mas sim uma simples melhoria, se vocês irem nas configurações do OT Client e ativar o "andar rapido", o fly também anda mais rapido nos andares superiores.

Pode parecer meio obvio, mas acredito que alguns aqui não saibam e.e pra alguns até seja inutil kk, mas ja ajuda bastante ativando essa opção.

Editado Junho 7 por Pokemonultimatetwo

EskyloE
07 de junho de 2016 às 00:27

Eita, valeu por compartilhar!

 

Apesar dos bugs,tem muita coisa boa aí que dá pra aproveitar!

 

Tô pensando até em montar uma equipe pra consertar os bugs e colocar online.

Drk ShadowD
07 de junho de 2016 às 00:47

Galera, consegui achar um jeito de criar conta, porem ainda tem alguns problemas:

 

O Char que você cria conta não pode abrir a pokebag

O Char que você criar, quando equipado um pokemon, não apareçe o portrait

O char que você cria nasce em um lugar mais distante no mapa, só configurar, acho que retirei linha errada e.e

O Char que você cria apareçe sem outfit, também deve ser facil, só configurar em algum lugar

 

Para arrumarem, façam o seguinte:

Troquem seu config.lua por esse:



accountManager = truenamelockManager = truenewPlayerChooseVoc = falsenewPlayerSpawnPosX = 1021newPlayerSpawnPosY = 1019newPlayerSpawnPosZ = 7newPlayerTownId = 1newPlayerLevel = 10newPlayerMagicLevel = 0generateAccountNumber = falselightInterval = 7500lightChange = 1startupTime = 351startupLight = 40limitPokeballs = 7                minHappinessEffectDelay = 25    maxHappinessEffectDelay = 40    PokemonStageVeryHappy = 0            maximumHunger = -1        stateHunger = -1            useTeleportWithFly = falsedropHappyDuringBattles = false        --adicionadas      ghostPokemonNames = "Gastly, Haunter, Gengar"allowBlockSpawn = false    rateGymSpellInterval = 0.10redSkullLength = 30000 * 24 * 60 * 60blackSkullLength = 45000 * 24 * 60 * 60dailyFragsToRedSkull = 3weeklyFragsToRedSkull = 5monthlyFragsToRedSkull = 10dailyFragsToBlackSkull = dailyFragsToRedSkullweeklyFragsToBlackSkull = weeklyFragsToRedSkullmonthlyFragsToBlackSkull = monthlyFragsToRedSkulldailyFragsToBanishment = dailyFragsToRedSkullweeklyFragsToBanishment = weeklyFragsToRedSkullmonthlyFragsToBanishment = monthlyFragsToRedSkullblackSkulledDeathHealth = 40blackSkulledDeathMana = 0useBlackSkull = trueuseFragHandler = trueadvancedFragList = falsenotationsToBan = 3warningsToFinalBan = 4warningsToDeletion = 5banLength = 7 * 24 * 60 * 60killsBanLength = 7 * 24 * 60 * 60finalBanLength = 30 * 24 * 60 * 60ipBanishmentLength = 1 * 24 * 60 * 60broadcastBanishments = truemaxViolationCommentSize = 200violationNameReportActionType = 2autoBanishUnknownBytes = falseworldType = "pvp"protectionLevel = 1000pvpTileIgnoreLevelAndVocationProtection = truepzLocked = 5 * 1000huntingDuration = 60 * 1000criticalHitChance = 7criticalHitMultiplier = 1displayCriticalHitNotify = falseremoveWeaponAmmunition = trueremoveWeaponCharges = trueremoveRuneCharges = truewhiteSkullTime = 150000 * 60 * 1000noDamageToSameLookfeet = falseshowHealingDamage = falseshowHealingDamageForMonsters = falsefieldOwnershipDuration = 5 * 1000stopAttackingAtExit = falseoldConditionAccuracy = falseloginProtectionPeriod = 10 * 1000deathLostPercent = 1stairhopDelay = 0 * 1000pushCreatureDelay = 1 * 1000deathContainerId = 0gainExperienceColor = 215addManaSpentInPvPZone = truesquareColor = 0allowFightback = trueworldId = 0ip = "127.0.0.1" -- "25.68.80.168"bindOnlyConfiguredIpAddress = falseloginPort = 7171gamePort = 7172adminPort = 7171statusPort = 7171loginTries = 10retryTimeout = 5 * 1000loginTimeout = 60 * 1000maxPlayers = 90    -- codificado e limitado para 7motd = "Bem Vindo ao DarkXPoke!"displayOnOrOffAtCharlist = falseonePlayerOnlinePerAccount = falseallowClones = trueserverName = "DarkXPoke"loginMessage = "Bem Vindo Ao DarkXPoke!"statusTimeout = 5 * 60 * 1000replaceKickOnLogin = trueforceSlowConnectionsToDisconnect = falseloginOnlyWithLoginServer = falsepremiumPlayerSkipWaitList = truesqlType = "sqlite"sqlHost = "localhost"sqlPort = 3306sqlUser = "root"sqlPass = "polki1324"sqlDatabase = "pokedg"sqlFile = "DarkXPoke.s3db"sqlKeepAlive = 0mysqlReadTimeout = 10mysqlWriteTimeout = 10encryptionType = "plain"deathListEnabled = truedeathListRequiredTime = 1 * 60 * 1000deathAssistCount = 19maxDeathRecords = 10ingameGuildManagement = truelevelToFormGuild = 40premiumDaysToFormGuild = 0guildNameMinLength = 2guildNameMaxLength = 25highscoreDisplayPlayers = 15updateHighscoresAfterMinutes = 60buyableAndSellableHouses = truehouseNeedPremium = truebedsRequirePremium = truelevelToBuyHouse = 1housesPerAccount = 0houseRentAsPrice = true -- housePriceAsRent = falsehousePriceEachSquare = 2975houseRentPeriod = "never"houseCleanOld = 0 -- tava 0guildHalls = falsetimeBetweenActions = 500timeBetweenExActions = 500hotkeyAimbotEnabled = truemapName = "DarkXPoke"mapAuthor = "Three"randomizeTiles = truestoreTrash = falsecleanProtectedZones = truemailboxDisabledTowns = "1"defaultPriority = "high"niceLevel = 5coresUsed = "-1"optimizeDatabaseAtStartup = trueremovePremiumOnInit = trueconfirmOutdatedVersion = falseformulaLevel = 5.0formulaMagic = 1.0bufferMutedOnSpellFailure = falsespellNameInsteadOfWords = falseemoteSpells = falseallowChangeOutfit = trueallowChangeColors = trueallowChangeAddons = truedisableOutfitsForPrivilegedPlayers = falseaddonsOnlyPremium = falsedataDirectory = "data/"bankSystem = truedisplaySkillLevelOnAdvance = falsepromptExceptionTracerErrorBox = trueseparateViplistPerCharacter = falsemaximumDoorLevel = 500maxMessageBuffer = 10000000saveGlobalStorage = falseuseHouseDataStorage = falsestorePlayerDirection = falsecheckCorpseOwner = truemonsterLootMessage = 3monsterLootMessageType = 22ghostModeInvisibleEffect = falseghostModeSpellEffects = falseidleWarningTime = 14 * 60 * 1000idleKickTime = 15 * 60 * 1000expireReportsAfterReads = 1playerQueryDeepness = 2maxItemsPerPZTile = 0maxItemsPerHouseTile = 0freePremium = truepremiumForPromotion = trueblessingOnlyPremium = trueblessingReductionBase = 30blessingReductionDecreament = 5eachBlessReduction = 8experienceStages = truerateExperience = 1000premiumrateExperience = 2000ratePremiumExperience = 2000rateExperienceFromPlayers = 200rateSkill = 1rateMagic = 1.0rateLoot = 15rateSpawn = 1rateMonsterHealth = 1.0rateMonsterMana = 1.0rateMonsterAttack = 1.0rateMonsterDefense = 1.0minLevelThresholdForKilledPlayer = 0.9maxLevelThresholdForKilledPlayer = 1.1rateStaminaLoss = 1rateStaminaGain = 3rateStaminaThresholdGain = 12staminaRatingLimitTop = 41 * 60staminaRatingLimitBottom = 14 * 60rateStaminaAboveNormal = 1.0rateStaminaUnderNormal = 1.0staminaThresholdOnlyPremium = trueexperienceShareRadiusX = 30experienceShareRadiusY = 30experienceShareRadiusZ = 1experienceShareLevelDifference = 20extraPartyExperienceLimit = 30extraPartyExperiencePercent = 20experienceShareActivity = 2 * 60 * 1000globalSaveEnabled = falseglobalSaveHour = 8shutdownAtGlobalSave = truecleanMapAtGlobalSave = falsedeSpawnRange = 2deSpawnRadius = 25maxPlayerSummons = 1teleportAllSummons = trueteleportPlayerSummons = trueownerName = "PokexCyan"ownerEmail = ""url = ""location = "Brazil"displayGamemastersWithOnlineCommand = falseadminLogsEnabled = falsedisplayPlayersLogging = falseprefixChannelLogs = ""runFile = ""outLogName = ""errorLogName = ""truncateLogsOnStartup = false



 

Agora, troquem a Database do seu server por essa:

http://www.4shared.com/file/7jIYwT9Xba/DarkXPoke.html?

Scan:

https://www.virustotal.com/pt/file/37ea9c160d690f747605c97257198748812fa0768bfc697204c229c73dc5e7ec/analysis/1465271056/

 

e por ultimo, em data/creaturescripts/scripts/player troque seu login.lua por este:



local config = {    loginMessage = getConfigValue('loginMessage'),    useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))}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,     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                                    -- otclient life        doSendLifePokeToOTC(cid)    -- otclient life            return trueendfunction doAddFirstItemsToPlayer(cid)if not isCreature(cid) then return true endif getPlayerStorageValue(cid, storages.BugFishing) ~= -1 then return true endlocal 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 trueendlocal 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[i] == 5 then                doPlayerAddPremiumDays(cid, itensShopping[allItems[i]].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[i]] do                    doAddContainerItem(bag, itensShopping[allItems[i]][j][1], itensShopping[allItems[i]][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    endendfunction 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

 

Esse login.lua vai resolver alguns erros de doItemSetAttribute que apareçeriam...

 

Bom por enquanto é só, não sei resolver os dois principais bugs que são o do inventory e o do portrait, se alguem souber e quiser ajudar...

 

 

fabiosaF
07 de junho de 2016 às 01:34

mas vc conseguiu retirar os erros que vc citou ai? 

Drk ShadowD
07 de junho de 2016 às 02:02

Não, não sei como faz pra retirar, pra falar a vdd não olhei alguns scripts relacionados a esses erros, mas um amigo me disse que isso é corrigido na source.

07 de junho de 2016 às 11:12

alguém sabe onde ta o código de derrubar o servidor que o programador da base colocou ?

boxxer321B
07 de junho de 2016 às 11:58
45 minutos atrás, Justiceiro751 disse:

alguém sabe onde ta o código de derrubar o servidor que o programador da base colocou ?

como assim?