Jump to content
Close

Vodkart

Hero
  • Content Count

    2768
  • Joined

  • Days Won

    111

Vodkart last won the day on October 5

Vodkart had the most liked content!

About Vodkart

  • Rank
    Systems Developer!
  • Birthday 09/05/1999

Profile Information

  • Gender
    Masculino
  • I am
    Scripter

Recent Profile Visitors

62405 profile views
  1. ele pega o primeiro e coloca onde? na sua bag?
  2. como ele disse, deve ser algum movement relacionado ao item. procure lá na pasta e arquivo xml
  3. para que usar 2 códigos se pode fazer somente 1? usa assim: nome do seu script.lua local ret = { [10021] = {id = 6132, price = 10000, effect = CONST_ME_FIREWORK_BLUE}, [10022] = {id = 9933, price = 20000, effect = CONST_ME_FIREWORK_RED} } function onUse(cid, item, fromPosition, itemEx, toPosition) local t = ret[item.itemid] if not t then return true elseif not doPlayerRemoveMoney(cid, t.price) then doPlayerSendCancel(cid, "You need "..t.price.." golds.") return true end local pos = getThingPos(cid) doSendMagicEffect(pos, t.effect) doTransformItem(item.uid, t.id) return true end tag: <action itemid="10021;10022" event="script" value="nome do seu script.lua"/> ---------------------- OBS: não dá para ver o vídeo.
  4. já sei porque está acontecendo isso e é bem simples, o seu script já veio com a função errada. sabe essa linha: doTeleportThing(cid, fromPosition, false) vc tem que colocar true. doTeleportThing(cid, fromPosition, true) ai ai, nem reparei nisso. local tp_mineracao = {x = 2848, y = 2871, z = 8} local areasMineracao = { {{x = 2803, y = 2861, z = 8}, {x = 2864, y = 2896, z = 8}}, {{x = 2799, y = 2864, z = 9}, {x = 2869, y = 2903, z = 9}}, {{x = 2802, y = 2876, z = 10}, {x = 2894, y = 2923, z = 10}} } function onStepIn(cid, item, position, fromPosition, toPosition) local max, ret = 3,0 -- 3 por account if not isPlayer(cid) then return true end for _, v in pairs(areasMineracao) do for _, pid in pairs(getPlayersOnline()) do if (getPlayerIp(pid) == getPlayerIp(cid) and isInRange(getThingPos(pid), v[1], v[2])) then ret = ret+1 end end end if ret > max then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"Só é permitido "..max.." jogadores por IP na mineração.") doTeleportThing(cid, fromPosition, true) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) return true end doTeleportThing(cid, tp_mineracao, false) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) setPlayerStorageValue(cid, 45393, 1) return true end
  5. @Pifafa foi um erro noob meu... kkkkk troque essa linha: if ret > max then por if ret >= max then
  6. Deixa eu ver a lib das positions das minerações, porque pela lógica do código está certo.
  7. Parabéns pelo evento, bem criativo e simples!!
  8. @Pifafa function onStepIn(cid, item, position, fromPosition, toPosition) local max, ret = 3,0 -- 3 por account if not isPlayer(cid) then return true end for _, v in pairs(areasMineracao) do for _, pid in pairs(getPlayersOnline()) do if (getPlayerIp(pid) == getPlayerIp(cid) and isInRange(getThingPos(pid), v[1], v[2])) then ret = ret+1 end end end if ret > max then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"Só é permitido "..max.." jogadores por IP na mineração.") doTeleportThing(cid, fromPosition, false) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) return true end doTeleportThing(cid, tp_mineracao, false) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) setPlayerStorageValue(cid, 45393, 1) return true end
  9. na verdade n precisa nem atribuir storage, a função da anihi no caso para esse codigo, está errada... use assim: local config = { from = {x = 22987, y = 19805, z = 7}, -- coordenada do canto superior esquerdo da área. to = {x = 23024, y = 19992, z = 7}, -- coordenada do canto inferior direito da área. } local t = { lvl = 100, Time = 2, -- em minutos entrada = { {x = 23052, y = 19991, z = 7}, -- pos players {x = 23051, y = 19991, z = 7}, {x = 23050, y = 19991, z = 7}, {x = 23049, y = 19991, z = 7} }, saida = { {x = 23017, y = 19985, z = 7}, -- pos para onde eles irão {x = 23019, y = 19985, z = 7}, {x = 23017, y = 19987, z = 7}, {x = 23019, y = 19987, z = 7} }, monstros = { {{x = 23004, y = 19832, z = 7}, "Juggernaut"}, -- defina pos dos montros e nomes {{x = 23004, y = 19834, z = 7}, "Ghazbaran"} } } local function getPlayersInArea(fromPos, toPos) local players = {} for _, pid in ipairs(getPlayersOnline()) do if isInRange(getPlayerPosition(pid), fromPos, toPos) then table.insert(players, pid) end end return players end local function VarAnihiPlayer(cid) if not isCreature(cid) then return LUA_ERROR end if isInRange(getPlayerPosition(cid), config.from, config.to) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) end end function onUse(cid, item, fromPosition, itemEx, toPosition) local check = {} if #getPlayersInArea(config.from, config.to) > 0 then doPlayerSendCancel(cid, 'Aguarde, tem jogadores fazendo a quest.') return true end for _, k in ipairs(t.entrada) do local x = getTopCreature(k).uid if(x == 0 or not isPlayer(x) or getPlayerLevel(x) < t.lvl) then doPlayerSendCancel(cid, 'Está faltando player ou alguém não possui level '..t.lvl..' ou mais.') return true end table.insert(check, x) end for _, summon in pairs(t.monstros) do local creature = getTopCreature(summon[1]).uid if(creature > 0 and not isPlayer(creature)) then doRemoveCreature(creature) end doCleanTile(summon[1]) doCreateMonster(summon[2], summon[1]) end for i, tid in ipairs(check) do doSendMagicEffect(t.entrada[i], CONST_ME_POFF) doTeleportThing(tid, t.saida[i], false) addEvent(VarAnihiPlayer, t.Time*60*1000, tid) doSendMagicEffect(t.saida[i], CONST_ME_ENERGYAREA) end doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945) return true end
  10. @maicao22 entendi, então tem a ver com a datapack!! bom saber, que bom que deu certo!! valeu.
  11. Ficou perfeito esse rain system, parabéns pelo código!! Gostei mesmo, espero ver mais scripts seus daqui pra frente, você é o cara mesmo!
  12. diz que não está achando o arquivo, reinstala de novo...
  13. @maicao22 seu servidor não tem a função onStats... apaga tudo aí que te mandei, e dentro do xml do monstro apaga o event tbm, claro... (obs: apa as tags tbm) agora usa assim: nome do seu script.lua function onLogin(cid) registerCreatureEvent(cid, "noBossDamage") return true end function onCombat(cid, target) if isPlayer(cid) and isMonster(target) then local monster = "Rabbit" -- nome do boss if getCreatureName(target):lower() == monster:lower() and #getCreatureSummons(target) ~= 0 then return false end end return true end TAG <event type="login" name="noBossLogin" event="script" value="nome do seu script.lua"/> <event type="combat" name="noBossDamage" event="script" value="nome do seu script.lua"/>
  14. function onStatsChange(cid, attacker, type, combat, value) local monster = "Rabbit" -- nome do boss if not isMonster(cid) then return true end if type == STATSCHANGE_HEALTHLOSS and getCreatureName(cid):lower() == monster:lower() then if #getCreatureSummons(cid) ~= 0 then return false end end return true end Tag <event type="statschange" name="NoDamageBoss" event="script" value="nome do seu script.lua"/> Na XML do monstro adc: <script> <event name="NoDamageBoss"/> </script>
  15. @bpm91 depois me passa o seu mods e npc por pm que eu vou fazer uma alteração pra você!!

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia começando do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer fazer um plano publicitário para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução!

×
×
  • Create New...