KyoGron 76 Postado Abril 8, 2017 Autor Share Postado Abril 8, 2017 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, 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 https://xtibia.com/forum/topic/244935-source-darkxpoke-e-pda/page/2/#findComment-1715905 Compartilhar em outros sites More sharing options...
America 2 Postado Abril 8, 2017 Share Postado Abril 8, 2017 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, 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 https://xtibia.com/forum/topic/244935-source-darkxpoke-e-pda/page/2/#findComment-1715907 Compartilhar em outros sites More sharing options...
boxxer321 67 Postado Abril 8, 2017 Share Postado Abril 8, 2017 @KyoGron poderia citar quais funções não foram adicionadas? Link para o comentário https://xtibia.com/forum/topic/244935-source-darkxpoke-e-pda/page/2/#findComment-1715954 Compartilhar em outros sites More sharing options...
America 2 Postado Abril 8, 2017 Share Postado Abril 8, 2017 50 minutos atrás, boxxer321 disse: @KyoGron poderia citar quais funções não foram adicionadas? doCreatureSetNick OnWalk OnWriteChannel Entre Outras. Link para o comentário https://xtibia.com/forum/topic/244935-source-darkxpoke-e-pda/page/2/#findComment-1715955 Compartilhar em outros sites More sharing options...
KyoGron 76 Postado Abril 9, 2017 Autor Share Postado Abril 9, 2017 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 https://xtibia.com/forum/topic/244935-source-darkxpoke-e-pda/page/2/#findComment-1716014 Compartilhar em outros sites More sharing options...
Boos 7 Postado Abril 9, 2017 Share Postado Abril 9, 2017 (editado) @KyoGron o pokemon não entra em área de PZ Existe As Funções OnUse e OnTarget ? (ta lotando o console de erro) Editado Abril 9, 2017 por Boos Link para o comentário https://xtibia.com/forum/topic/244935-source-darkxpoke-e-pda/page/2/#findComment-1716017 Compartilhar em outros sites More sharing options...
KyoGron 76 Postado Abril 9, 2017 Autor Share Postado Abril 9, 2017 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 https://xtibia.com/forum/topic/244935-source-darkxpoke-e-pda/page/2/#findComment-1716027 Compartilhar em outros sites More sharing options...
America 2 Postado Abril 9, 2017 Share Postado Abril 9, 2017 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 https://xtibia.com/forum/topic/244935-source-darkxpoke-e-pda/page/2/#findComment-1716031 Compartilhar em outros sites More sharing options...
kaleudd 200 Postado Abril 10, 2017 Share Postado Abril 10, 2017 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 https://xtibia.com/forum/topic/244935-source-darkxpoke-e-pda/page/2/#findComment-1716036 Compartilhar em outros sites More sharing options...
wevertonvrb 25 Postado Abril 10, 2017 Share Postado Abril 10, 2017 (editado) 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 Abril 10, 2017 por wevertonvrb Link para o comentário https://xtibia.com/forum/topic/244935-source-darkxpoke-e-pda/page/2/#findComment-1716037 Compartilhar em outros sites More sharing options...
boxxer321 67 Postado Abril 10, 2017 Share Postado Abril 10, 2017 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 https://xtibia.com/forum/topic/244935-source-darkxpoke-e-pda/page/2/#findComment-1716040 Compartilhar em outros sites More sharing options...
LocAnderson 0 Postado Abril 10, 2017 Share Postado Abril 10, 2017 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, 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 https://xtibia.com/forum/topic/244935-source-darkxpoke-e-pda/page/2/#findComment-1716041 Compartilhar em outros sites More sharing options...
KyoGron 76 Postado Abril 10, 2017 Autor Share Postado Abril 10, 2017 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 https://xtibia.com/forum/topic/244935-source-darkxpoke-e-pda/page/2/#findComment-1716047 Compartilhar em outros sites More sharing options...
kaleudd 200 Postado Abril 10, 2017 Share Postado Abril 10, 2017 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 https://xtibia.com/forum/topic/244935-source-darkxpoke-e-pda/page/2/#findComment-1716049 Compartilhar em outros sites More sharing options...
America 2 Postado Abril 10, 2017 Share Postado Abril 10, 2017 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 https://xtibia.com/forum/topic/244935-source-darkxpoke-e-pda/page/2/#findComment-1716059 Compartilhar em outros sites More sharing options...
Posts Recomendados