Jump to content

klbkevinklb

Campones
  • Content Count

    37
  • Joined

  • Last visited

  • Days Won

    1
  • xPoints

    0 [ Donate ]

klbkevinklb last won the day on July 10

klbkevinklb had the most liked content!

About klbkevinklb

Informações

  • Forma que conheci o xTibia
    Amigos
  • Sou
    OT-Admin

Recent Profile Visitors

931 profile views
  1. eu fiz isso de remover e começo a dar erro no meu catch.lua [11/07/2020 19:58:32] [Error - Action Interface] [11/07/2020 19:58:32] In a timer event called from: [11/07/2020 19:58:32] data/actions/scripts/catch.lua:onUse [11/07/2020 19:58:32] Description: [11/07/2020 19:58:32] (luaGetThingPosition) Thing not found if icons[poke] then ballid = icons[poke].on end
  2. Fala gente, tudo bem...bom eu to sumido aqui do portal, porém hoje estou de volta com uma coisa para disponibilizar. Muitos ja devem saber, alguns não...a pxg tem um sistema que voce pode pescar de andares mais altos, eu procurei muito pra descobrir e bom encontrei e hjee vou ensinar a voces: abra o arquivo: actions.cpp/ procure por isso: ReturnValue Actions::canUseFar(const Creature* creature, const Position& toPos, bool checkLineOfSight) Ela vai estar assim: ReturnValue Actions::canUseFar(const Creature* creature, const Position& toPos, bool checkLineOfSight) { if(toPos.x == 0xFFFF) return RET_NOERROR; const Position& creaturePos = creature->getPosition(); if(creaturePos.z > toPos.z) return RET_FIRSTGOUPSTAIRS; if(creaturePos.z < toPos.z) return RET_FIRSTGODOWNSTAIRS; if(!Position::areInRange<7,5,0>(toPos, creaturePos)) return RET_TOOFARAWAY; if(checkLineOfSight && !g_game.canThrowObjectTo(creaturePos, toPos)) return RET_CANNOTTHROW; return RET_NOERROR; } Troque por essa abaixo: Apague a função toda e coloque isso: ReturnValue Actions::canUseFar(const Creature* creature, const Position& toPos, bool checkLineOfSight) { if(toPos.x == 0xFFFF) return RET_NOERROR; const Position& creaturePos = creature->getPosition(); if(creaturePos.z > toPos.z) return RET_FIRSTGOUPSTAIRS; // if(creaturePos.z < toPos.z) // return RET_FIRSTGODOWNSTAIRS; if(!Position::areInRange<7,5,3>(toPos, creaturePos)) return RET_TOOFARAWAY; // if(checkLineOfSight && !g_game.canThrowObjectTo(creaturePos, toPos)) // return RET_CANNOTTHROW; return RET_NOERROR; } Feito tudo certo, voce conseguira pescar de cima de montanhas. Obrigado e boa noite a todos.
  3. Tá na na cara neh...o dono que compro n quer ngm usando, tá falando mal da base pra ele usar sem concorrência, lógico que ele iria falar mal, pois a base tem várias coisas, pegando as coisas de lá e por em outra deixa de ser "novo" então ele fala q tá bugada, zuada pra ngm usarem...e garanto se o dead falo q tá safe é pq tá, ele não arriscaria fala uma coisa e por a fama dele em jogo. Acordem né
  4. Olá bom dia meus amigos, eu estava procurando um npc no qual você trocava um npc e mais alguns itens com npc, mas comecei a viajar nas ideias, porém não sei como por em prática...seria assim: Você tem um Cacturne, aí vai no npc, ele fala que precisa de um Cacturne, porém precisa de mais alguns itens...suponhamos 3 rocks, 100 bulbs e 300 leaves, quando você volta no npc ele te teleportaria pra outro lugar que seria uma sala de Quest...obs o poke iria sumir e os itens tbm, caso morra na Quest não seria pedido novamente os itens nem o poke. É isso espero que possam ajudar, e seria de boa ajuda isso pra comunidade esse npc. Desde já obg.
  5. klbkevinklb

    pokemon Rent System

    Oi boa noite, tenho um sistema de aluguel por mod, disponibilizado por vodkart, porem ele é pra montaria de tibia, eu gostaria de pedir ajuda, para que se possivel pra fazer o sistema alocar pokemons, por x periodo de tempo e por y preço. desde ja agradeço.
  6. bagas, voce conseguiu colocar pra quando passar o mouse por cima, e aparecer a imagem do item?
  7. Olá galera, bom, hoje um colega meu me pediu para que eu o ajudasse com um sistema de plantação, igual do otp...mas nao aquele de colher frutos e tals, e sim um de guarda os moveis, de guardar um item em uma caixa, eu fiz um bem básico. Então vamos lá. Em actions.xml adicione essas 2 linhas <action itemid="2595" event="script" value="caixa_planta.lua"/> <action itemid="12337" event="script" value="planta_caixa.lua"/> em vermelho são os id's dos items...2595 id da caixa (parcel) e 12337 da planta (no caso coloquei qualquer um pra apenas testar) Agora em um arquivo nomeado de caixa_planta.lua coloque esse arquivo dentro function onUse(cid, item, frompos, item2, topos) local level = 10 -- level que precisa para abrir a caixa if item.itemid == 2595 then -- id da caixa if getPlayerLevel(cid) >= level then doPlayerAddItem(cid, 12337, 1) -- id da caixa e quantas vao ser geradas doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"Você abriu a caixa e ganhou uma planta decorativa") doRemoveItem(item.uid, 1) else doPlayerSendCancel(cid,"Você deve estar pelo menos no level"..level.."") end return true end end agora crie outro arquivo com o nome planta_caixa.lua e coloque isso dentro. function onUse(cid, item, frompos, item2, topos) local level = 10 -- level if item.itemid == 12337 then -- id do item planta o que forem por no script seila if getPlayerLevel(cid) >= level then doPlayerAddItem(cid, 2595, 1) -- vai geral uma caixa nova (parcel) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"Você guardou a planta decorativa") doRemoveItem(item.uid, 1) else doPlayerSendCancel(cid,"Você deve estar pelo menos no level"..level.."") end return true end end Em pronto ai esta o sistema para guarda um item novamente na caixa...caso esteja na sessão errada por por gentileza que mova por favor...agora algumas notas. Notas: o sistema é bem básico, ele poderia ser facilmente editado, para que a caixa fosse apenas uma para todas as plantas...como seria? ao voce abrir uma caixa vir um item decorativo, mas nao random, um item decorativo programado no script, e quando fosse guarda ele, ao clicar ele virasse um parcel, e uma outra ideia seria que a caixa só fosse possivel abrir dentro de casa, bom é isso, caso alguma boa alma queira ajudar, comente como faria essas edições, ou poste editado. Fiquem em paz.
  8. O que ele quis dizer que ele escreve /bc Green | blablabla lá e mesmo assim não funciona
  9. Obrigado meu amigo por completar, acabei esquecendo dessa parte.
  10. Salve equipe xtibia, bom dia, tarde, boa noite. Bm galera, eu estava pensando (estou ainda ) em fazer uma quest, onde teria varias partes dela, porem se o player morrer ele nao poderia completar a quest, pois perderia a storage da quest, entao oq pensei, sempre que ele for pra uma nova parte da quest ele falar com npc e o npc salvar a posição dele, sendo assim se o player morrer, ele volta e fala com o npc e o npc o levaria onde ele falou ultima vez com o npc, ai quando ele terminar a quest o npc lhe falaria que ele ja acabou a quest. E o outro npc, ele vai contar uma historia e tals, mas voce só sera teleportado para area destinada se o horario bater, ex: de segunda e quinta as 08:30 e 20:00, o resto da semana das 08:30/15:40/20:33/22:40/00:00...apenas um exemplo, se nao tiver esses horarios o npc iria falar que nao é possivel fazer isso. bom é isso desde ja agradeço a quem me ajudar...obrigado comunidade xtibia.
  11. obrigado, vai ser muito util... poderia me dar uma força?
  12. Galera bom dia,estou pra lançar alguns megas no meu servidor, e nao sera por mega stone e sim por aleatorio, porem a master ball vai ser capaz de pegar eles, eu ja retirei pra ela pegar pokes shinys, porem queria colocar pra nao pegar megas...alguem me ajuda pfv? local ballcatch = { --id normal, id da ball shiy [2394] = {cr = 6, on = 193, off = 192, ball = {11826, 11737}, send = 47, typeee = "poke", boost = "0"}, --alterado v1.9 \/ [2391] = {cr = 7, on = 198, off = 197, ball = {11832, 11740}, send = 48, typeee = "great", boost = "0"}, [2393] = {cr = 9, on = 202, off = 201, ball = {11835, 11743}, send = 46, typeee = "super", boost = "0"}, [2392] = {cr = 13, on = 200, off = 199, ball = {11829, 11746}, send = 49, typeee = "ultra", boost = "0"}, [12617] = {cr = 11, on = 204, off = 203, ball = {10975, 12621}, send = 35, typeee = "saffari", boost = "0"}, [12832] = {cr = 100000, on = 23, off = 24, ball = {12826, 12829}, send = 181, typeee = "master", boost = "15"}, [15677] = {cr = 16, on = 313, off = 314, ball = {16181, 16204}, send = 72, typeee = "magu", boost = "0", type = {"fire", "ground"}}, [15676] = {cr = 16, on = 316, off = 317, ball = {16182, 16205}, send = 73, typeee = "sora", boost = "0", type = {"ice", "flying"}}, [15678] = {cr = 16, on = 320, off = 321, ball = {16183, 16206}, send = 74, typeee = "yume", boost = "0", type = {"normal", "psychic"}}, [15680] = {cr = 16, on = 322, off = 323, ball = {16184, 16207}, send = 75, typeee = "dusk", boost = "0", type = {"rock", "fighting"}}, [15673] = {cr = 16, on = 331, off = 332, ball = {16187, 16210}, send = 78, typeee = "tale", boost = "0", type = {"dragon", "fairy"}}, [15674] = {cr = 16, on = 334, off = 335, ball = {16188, 16211}, send = 79, typeee = "moon", boost = "0", type = {"dark", "ghost"}}, [15675] = {cr = 16, on = 337, off = 338, ball = {16189, 16212}, send = 80, typeee = "net", boost = "0", type = {"bug", "water"}}, [15679] = {cr = 16, on = 343, off = 344, ball = {16191, 16214}, send = 82, typeee = "premier", boost = "0", type = {"grass", "poison"}}, [15681] = {cr = 16, on = 346, off = 347, ball = {16192, 16215}, send = 83, typeee = "tinker", boost = "0", type = {"electric", "steel"}}, [15682] = {cr = 18, on = 325, off = 326, ball = {16185, 16208}, send = 76, typeee = "fast", boost = "0", pokes = {"Pikachu", "Raichu"}}, [15672] = {cr = 18, on = 328, off = 329, ball = {16186, 16209}, send = 77, typeee = "heavy", boost = "0", pokes = {"Snorlax", "Venusaur"}}, } function onUse(cid, item, frompos, item3, topos) local item2 = getTopCorpse(topos) if item2 == null then return true end if getItemAttribute(item2.uid, "catching") == 1 then return true end if getItemAttribute(item2.uid, "golden") and getItemAttribute(item2.uid, "golden") == 1 then return doPlayerSendCancel(cid, "You can't try to catch a pokemon in the Golden Arena!") end local name = string.lower(getItemAttribute(item2.uid, "pokeName")) name = string.gsub(name, "fainted ", "") name = string.gsub(name, "defeated ", "") name = doCorrectPokemonName(name) local x = pokecatches[name] if not x then return true end local storage = newpokedex[name].stoCatch if type(getPlayerStorageValue(cid, storage)) ~= "string" or not string.find(getPlayerStorageValue(cid, storage), "magu") then --alterado v1.9 setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0, dark = 0, magu = 0, sora = 0, yume = 0, dusk = 0, tale = 0, moon = 0, net = 0, premier = 0, tinker = 0, fast = 0, heavy = 0;") --alterado v1.9 end local owner = getItemAttribute(item2.uid, "corpseowner") local pOwner = getPlayerByName(owner) local isInParyWithPlayer = false if isInParty(cid) and isInParty(pOwner) then isInParyWithPlayer = isPartyEquals(pOwner, cid) end if owner and isCreature(pOwner) and isPlayer(pOwner) and cid ~= pOwner and not isInParyWithPlayer then doPlayerSendCancel(cid, "Desculpa Isso não é possivel.") return true end local newidd = isShinyName(name) and ballcatch[item.itemid].ball[2] or ballcatch[item.itemid].ball[1] --alterado v1.9 local typeee = ballcatch[item.itemid].typeee local boost = ballcatch[item.itemid].boost local catchBlocks = {"Shiny Snorlax", "Aerodactyl"} if isInArray(catchBlocks, name) then doSendMsg(cid, "Você não pode capturar este pokemon.") return true end local catchinfo = {} catchinfo.rate = ballcatch[item.itemid].cr catchinfo.catch = ballcatch[item.itemid].on catchinfo.fail = ballcatch[item.itemid].off catchinfo.newid = newidd catchinfo.name = doCorrectPokemonName(name) catchinfo.topos = topos catchinfo.chance = x.chance doBrokesCount(cid, newpokedex[doCorrectPokemonName(name)].stoCatch , typeee) doSendDistanceShoot(getThingPos(cid), topos, ballcatch[item.itemid].send) doRemoveItem(item.uid, 1) ---- newsBalls if (ballcatch[item.itemid].type ~= nil or ballcatch[item.itemid].pokes ~= nil) then catchinfo.rate = getBallsRate(catchinfo.name, item.itemid) end --if isGod(cid) then catchinfo.rate = 100000 end local d = getDistanceBetween(getThingPos(cid), topos) if getPlayerStorageValue(cid, 98796) >= 1 and getPlayerItemCount(cid, 12617) <= 0 then --alterado v1.9 setPlayerStorageValue(cid, 98796, -1) setPlayerStorageValue(cid, 98797, -1) doTeleportThing(cid, SafariOut, false) doSendMagicEffect(getThingPos(cid), 21) doPlayerSendTextMessage(cid, 27, "You spend all your saffari balls, good luck in the next time...") end addEvent(doSendPokeBall, d * 70 + 100 - (d * 14) , cid, catchinfo, false, false, typeee) addEvent(doSendMagicEffect, (d * 70 + 100 - (d * 14)) - 100, topos, 3) return true end function getBallsRate(name, id) if pokes[name] then if isInArray(ballcatch[id].type, pokes[name].type) or isInArray(ballcatch[id].type, pokes[name].type2) or isInArray(ballcatch[id].pokes, name) then return 16 end end return 13 end Ja coloquei pra mega assim: if typeee == "master" and isMegaName(name) then doSendMsg(cid, "Você não pode capturar pokemon shiny com a master ball.") return true end  abaixo disso local catchBlocks = {"Shiny Snorlax", "Aerodactyl"} if isInArray(catchBlocks, name) then doSendMsg(cid, "Você não pode capturar este pokemon.") return true end Mas da erro na distro, e nao da pra catar pokemon nenhum dps. Obrigado desde ja.
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...