Ir para conteúdo

Vodkart

Héroi
  • Registro em

Tudo que Vodkart postou

  1. @Jeff Delay então tenta usar a linha assim: doCreateMonster(x:match("%s(.+)"), pos, false) ou doCreateMonster(x:match("%s(.+)"), pos, false, false)
  2. Vodkart postou uma resposta no tópico em Suporte Tibia OTServer
    @Mapeador troca doCreateMonster(config.name, config.pos) por doSummonCreature(config.name, config.pos) e confere a position
  3. @Jeff Delay tentou trocar a função? trocar essa linha: doCreateMonster(x:match("%s(.+)"), pos) por doSummonCreature(x:match("%s(.+)"), pos) @Jeff Delay posta seu código aqui pra mim dar uma olhada...
  4. Vodkart postou uma resposta no tópico em Suporte Tibia OTServer
    Beleza, agora estou em aula EAD, assim que tiver um tempo eu posto aqui no tópico, até mais.
  5. Obrigado pela contribuição, espero mais trabalhos seus por aqui!! Parabéns.
  6. Vodkart postou uma resposta no tópico em Suporte Tibia OTServer
    @BangxD Então acho que vou fazer melhor, já que dependendo da hora vai ser determinado boss, vou fazer que nem o "arauto" do League of Legends. Se estiverem atacando o arauto os players tem mais "X" minutos para matar ele. Digamos que o "arauto" seja sumonado 02:00 horas e tem até 02:20 para mata-lo, porém se estiver uma equipe lá atacando ele as 2:20, o arauto ficará até 2:30 para dar o tempo necessário de ele ser feito. o que acha dessa ideia?
  7. Vodkart postou uma resposta no tópico em Suporte Tibia OTServer
    Quem estiver com esse erro: attempt to call global 'getCreatureByName' (a nil value) Testem o código dessa forma: local config = { name = "Shuryu Boss", pos = {x = 60, y = 63, z = 3}, time = 20 } function onThink(interval, lastExecution) doCreateMonster(config.name, config.pos) broadcastMessage("O "..config.name.." apareceu, voce tem "..config.time.." para mata-lo", MESSAGE_STATUS_CONSOLE_ORANGE) addEvent(function() local t = getSpectators(config.pos, 10, 10, false) -- radius 10x10 if t then for _, cid in ipairs(t) do if isMonster(cid) and getCreatureName(cid):lower() == config.name:lower() then doRemoveCreature(cid) end end end end, config.time*60*1000) return true end
  8. Vodkart postou uma resposta no tópico em Suporte Tibia OTServer
    @Doidodepeda local lvl = 500 local entrada = { {x = 154, y = 60, z = 7}, {x = 155, y = 60, z = 7}, {x = 156, y = 60, z = 7}, {x = 157, y = 60, z = 7}, {x = 158, y = 60, z = 7} } local saida = {x = 153, y = 62, z = 7} function onUse(cid, item, fromPosition, itemEx, toPosition) local check = {} for _, k in ipairs(entrada) do local x = getTopCreature(k).uid if (x > 0 and isPlayer(x) and getPlayerLevel(x) >= lvl) then check[#check+1] = x end end for _, pid in pairs(check) do doSendMagicEffect(getPlayerPosition(pid), CONST_ME_POFF) doTeleportThing(pid, saida) doSendMagicEffect(getPlayerPosition(pid), CONST_ME_ENERGYAREA) end doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945) return true end
  9. vc usou a tag certa e registrou no onLogin?
  10. local storage = 2000 local from,to = {x = 2100, y = 2100, z = 7}, {x = 2200, y = 2200, z = 7} local death_pos = {x = 1100, y = 1100, z = 7} function onPrepareDeath(cid, deathList) if isPlayer(cid) and getPlayerStorageValue(cid, storage) > 0 and isInRange(getCreaturePosition(cid), from, to) then local strings = {""} local j, position, corpse = 1, 1, 0 for _, pid in ipairs(deathList) do if isCreature(pid) == true then strings[position] = j == 1 and "" or strings[position] .. ", " strings[position] = strings[position] .. getCreatureName(pid) .. "" j = j + 1 else strings[position] = j == 1 and "" or strings[position] .. ", " strings[position] = strings[position] .."a field item" j = j + 1 end end for i, str in ipairs(strings) do if(str:sub(str:len()) ~= ",") then str = str .. "." end desc = "You recognize " desc = desc .. "" .. getCreatureName(cid) .. ". He was killed by " .. str end if(getPlayerSex(cid) == 1) then corpse = doCreateItem(3058, getCreaturePosition(cid)) else corpse = doCreateItem(3065, getCreaturePosition(cid)) end doItemSetAttribute(corpse, "description", desc) doTeleportThing(cid, death_pos) setPlayerStorageValue(cid, storage , 0) -- aqui estou apagando a storage // pode apagar a linha se quiser doRemoveConditions(cid, false) return false end return true end
  11. @Guizek69 Ah, entendi o que quis dizer!! Desculpa amigo, abraços!
  12. Era mais facil fazer uma tabela que não executasse nesse tipo de boss... BlockMonsters = {"Demon","Hydra"} -- nome dos mobs if isMonster(cid) and not isInArray(BlockMonsters, getCreatureName(cid)) then -- sua função do autoLoot end
  13. É possível sim, eu tirei o teleport boss do 4.0 pq ninguém estava usando. Como funcionaria?
  14. @leozincorsair local tab = { ["Renegade"] = {storage = 19100, amount = 75, storage_reward = 9100}, ["Nukenin"] = {storage = 19101, amount = 100, storage_reward = 9101}, ["Anbu"] = {storage = 19102, amount = 100, storage_reward = 9102}, ["Konan"] = {storage = 19104, amount = 100, storage_reward = 9104}, ["Larva"] = {storage = 19105, amount = 200, storage_reward = 9105}, ["Aranha"] = {storage = 19106, amount = 100, storage_reward = 9106}, ["Black Dragon"] = {storage = 19107, amount = 10, storage_reward = 9107}, ["Black Machine"] = {storage = 19108, amount = 10, storage_reward = 9108}, ["Evill Ghost"] = {storage = 19109, amount = 10, storage_reward = 9109}, ["Evill Snake"] = {storage = 191010, amount = 300, storage_reward = 9110} } function onKill(cid, target) if(isPlayer(target) == TRUE and getPlayerStorageValue(cid,9103) ~= 1) then setPlayerStorageValue(cid, 9103, 1) end local ret = tab[getCreatureName(target)] if isMonster(target) == true and ret then local amount = getPlayerStorageValue(cid, ret.storage) <= 0 and 0 or getPlayerStorageValue(cid, ret.storage) if amount < ret.amount then setPlayerStorageValue(cid, ret.storage, amount+1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você matou "..getPlayerStorageValue(cid, ret.storage).."/"..ret.amount.." "..getCreatureName(target)..".") end if getPlayerStorageValue(cid, ret.storage) >= ret.amount then setPlayerStorageValue(cid, ret.storage_reward, 1) end end return true end
  15. @leozincorsair if isMonster(target) == true and getCreatureName(target) == "Renegade" then local amount = getPlayerStorageValue(cid,19100) <= 0 and 0 or getPlayerStorageValue(cid, 19100) if amount < 75 then setPlayerStorageValue(cid, 19100, amount+1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você matou "..getPlayerStorageValue(cid, 19100).."/75 Renegades.") end end
  16. só mostra a quantidade que foi recebida de exp no total? seja em quest ou matando monstro?
  17. eu já sei onde é, é que uma função perdeu o parâmetro, você teria que substituir uma outra função na talkactions. e além disso, talvez tenha que alterar também uma função na lib tbm onde pega o item, em alguns OTX isso acontece... eu sei pq o código é meu e eu fiz uma versão especial para OTX.
  18. https://tibiaking.com/forums/topic/80799-86talk-reedem-codes-sqlitebeta/
  19. @poko360 quem que fica mostrando o tempo real? esse que eu fiz no mods já é pelo creaturescript
  20. @bielfaisca me adc no discord, tens?
  21. tenta usar assim: levels = { {level = {0,19}, quant = {1,1}, percent = 5}, {level = {10,19}, quant = {1,1}, percent = 6}, {level = {20,59}, quant = {1,1}, percent = 7}, {level = {60,89}, quant = {1,2}, percent = 8}, {level = {90,99}, quant = {1,2}, percent = 9}, {level = {100, math.huge}, quant = {1,3}, percent = 10} },
  22. @poko360 Testei aqui e funcionou. 18:33 [Vodkart]: Iniciou uma hunt em Nishapur 1 [PVP] 18:34 seu tempo na sala acabou e fui jogado para o Templo. Unica coisa que esqueci foi de colocar no TP final a coordenadas para sair... Use assim os movements roomkick1.lua function onStepIn(cid, item, position, fromPosition) local getP = getPoints(cid) local minutos = 1 -- 1 minuto if not isPlayer(cid) then return true end if getPoints(cid) < 800 then doCreatureSay(cid, "Voce nao possui 800 online coins na sua account.", TALKTYPE_ORANGE_1) doTeleportThing(cid, fromPosition, true) return true end doTeleportThing(cid, {x=56, y=1463, z=7}) doPlayerRemovePoints(cid, 800) setPlayerStorageValue(cid, 982301, 1) setPlayerStorageValue(cid, 982300, os.time()+ minutos*60) doBroadcastMessage("["..getCreatureName(cid).."]: \ Iniciou uma hunt em Nishapur 1 [PVP] \n Gastou: 800x Online coins \n Account balance: [".. getP .."] online coins", 25) doBroadcastMessage("["..getCreatureName(cid).."]: \ Iniciou uma hunt em Nishapur 1 [PVP] \n Gastou: 800x Online coins \n Account balance: [".. getP .."] online coins", MESSAGE_STATUS_CONSOLE_BLUE) return true end roomkick2.lua function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) then return true end doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) setPlayerStorageValue(cid, 982301, 0) return true end TAG <movevent type="StepIn" actionid="16530" event="script" value="roomkick1.lua"/> <movevent type="StepIn" actionid="16531" event="script" value="roomkick2.lua"/> @poko360 acabei de arrumar os movements que estavam errado... favor atualizar eles agr!!
  23. local config = { p_time = 3600, -- Tempo em segundos para receber os pontos( 3600 = 1hora ) p_points = 1 -- Quantidade de pontos recebida a cada "p_time" } local function givePoints(cid, quant) if os.time() - getCreatureStorage(cid, 1219) >= config.p_time then doPlayerSendTextMessage(cid, 19, "Congratulations, you recieved ".. config.p_points .." p points. Now you have ".. config.p_points + getPoints(cid) .." p points in your account. Your timer was reseted.") doPlayerAddPoints(cid, quant) doCreatureSetStorage(cid, 1219, 0) doCreatureSetStorage(cid, 1219, os.time()) end return true end function onThink(interval) local players = getPlayersOnline() if #players > 0 then local t,v = {},{} for _, pid in pairs(players) do if not isInArray(t, getPlayerIp(pid)) then t[#t+1] = getPlayerIp(pid) v[#v+1] = pid end end for _, ret in pairs(v) do givePoints(ret, config.p_points) end end return true end
  24. Fala galera, não sou de fazer muitos pedidos, mas como não é minha área, preciso de ajuda para montar um banner de restaurante!! Quem puder me ajudar serei eternamente grato, quem for me ajudar só postar aqui que eu chamo por PM/imbox

Informação Importante

Confirmação de Termo