Ir para conteúdo

[DxP] Exclusivo Poketibia OpenSource


Posts Recomendados

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.

Link para o comentário
Compartilhar em outros sites

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.

Link para o comentário
Compartilhar em outros sites

@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 por Pokemonultimatetwo
Link para o comentário
Compartilhar em outros sites

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.

Link para o comentário
Compartilhar em outros sites

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...

 

 

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...