Jump to content
×
×
  • Create New...

klbkevinklb

Campones
  • Posts

    40
  • Joined

  • Last visited

  • Days Won

    2

klbkevinklb last won the day on March 26

klbkevinklb had the most liked content!

About klbkevinklb

Informações

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

Recent Profile Visitors

1394 profile views
  1. function onStepIn(cid, item, position, fromPosition) if getPlayerStorageValue(cid, 17000) == 1 or getPlayerStorageValue(cid, 17001) == 1 then doTeleportThing(cid, fromPosition, true) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_RED) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Voce nao pode passar aqui de fly ou ride.") end return TRUE end Bom galera, esse script nada mais é que um piso que cancela de voce poder entrar em algum local de fly ou ride, bem isso. <movevent type="StepIn" actionid="666266" event="script" value="pisoflyride.lua"/> Esse código ja deve ter gente que tenha, até que eu me lembre na dxp pode ter tbm, é isso...espero que ajude quem precisar. PS: caso esteja em local errado, peço a gentileza e bondade de mover para o local correto.
  2. Mano, então, isso foi feito na base deles já, por source, procura no arquivo game.cpp...procura por looktype, aí vc faz igual, compila que é sucesso.
  3. Galera, estava sem fazer nada, quando lembrei da epoca tibiana onde se usava exiva pra encontrar o player, sendo assim o caçador era obrigado a rodar o mapa, dando a esse script a força-lo abrir o mapa...entao eu peguei um que dava exiva no npc e coloquei pra exivar pokemons...porem se conter mais de 1 pokemon com o mesmo nome ele só vai mostra a posicao de 1...é bem básico o script...vamos la. local config = { cost = 100 } function onSay(cid, words, param, channel) if(param == "" or param == nil) then return false end if doPlayerRemoveMoney(cid, config.cost) == FALSE then doPlayerSendCancel(cid, "You do not have enough money.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return true end local getMonster = getCreatureByName(param) if ehMonstro(getMonster) == TRUE then local playerPos, monsterPos = getCreaturePosition(cid), getCreaturePosition(getMonster) local px, py = 0, 0 local pS = "" local text = "" if(playerPos.x == monsterPos.x) and (playerPos.y < monsterPos.y) then px = 1 py = monsterPos.y - playerPos.y pS = "south" elseif(playerPos.x == monsterPos.x) and (playerPos.y > monsterPos.y) then px = 1 py = playerPos.y - monsterPos.y pS = "north" elseif(playerPos.x < monsterPos.x) and (playerPos.y == monsterPos.y) then px = monsterPos.x - playerPos.x py = 1 pS = "east" elseif(playerPos.x > monsterPos.x) and (playerPos.y == monsterPos.y) then px = playerPos.x - monsterPos.x py = 1 pS = "west" elseif(playerPos.x > monsterPos.x) and (playerPos.y > monsterPos.y) then px = playerPos.x - monsterPos.x py = playerPos.y - monsterPos.y pS = "north-west" elseif(playerPos.x > monsterPos.x) and (playerPos.y < monsterPos.y) then px = playerPos.x - monsterPos.x py = monsterPos.y - playerPos.y pS = "south-west" elseif(playerPos.x < monsterPos.x) and (playerPos.y < monsterPos.y) then px = monsterPos.x - playerPos.x py = monsterPos.y - playerPos.y pS = "south-east" elseif(playerPos.x < monsterPos.x) and (playerPos.y > monsterPos.y) then px = monsterPos.x - playerPos.x ps = playerPos.y - monsterPos.y pS = "north-east" end if(px <= 4 and py <= 4) then text = "" .. getCreatureName(getMonster) .. " is standing next you." elseif((px > 4 and px <= 100) and (py > 4 and py <= 100)) or ((px > 4 and px <= 100) and (py <= 4)) or ((px <= 4) and (py > 4 and py <= 100)) then text = "" .. getCreatureName(getMonster) .. " is to the " .. pS .. "." elseif((px > 100 and px <= 274) and (py > 100 and py <= 274)) or ((px > 100 and px <= 274) and (py <= 100)) or ((px <= 100) and (py > 100 and py <= 274)) then text = "" .. getCreatureName(getMonster) .. " is far to the " .. pS .. "." elseif((px > 274 and px <= 280) and (py > 274 and py <= 280)) or ((px > 274 and px <= 280) and (py < 274)) or ((px < 274) and (py > 274 and py <= 280)) then text = "" .. getCreatureName(getMonster) .. " is very far to the " .. pS .. "." elseif(px > 280 and py > 280) or (px > 280 and py < 280) or (px < 280 and py > 280) then text = "" .. getCreatureName(getMonster) .. " is to the " .. pS .. "." end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, text) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_GREEN) return false else doPlayerSendCancel(cid, "A monster with that name does not exist.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return true end end Testado na base do antigo pokeroxy. tag <talkaction words="!exiva;/exiva" access="0" event="script" value="exiva.lua"/> Obrigado e é isso.
  4. 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
  5. 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.
  6. 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é
  7. 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.
  8. 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.
  9. bagas, voce conseguiu colocar pra quando passar o mouse por cima, e aparecer a imagem do item?
  10. 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.
  11. O que ele quis dizer que ele escreve /bc Green | blablabla lá e mesmo assim não funciona
  12. Obrigado meu amigo por completar, acabei esquecendo dessa parte.
  • Recently Browsing   0 members

    • No registered users viewing this page.