Ir para conteúdo

Vodkart

Héroi
  • Registro em

Tudo que Vodkart postou

  1. setPlayerStorageValue(cid, 30001, 1) o certo é setPlayerStorageValue(cid, 30002, 1) outra coisa que não entendo, no eu servidor começa em voc? ai quando ganha voc tem que vir mais itens?
  2. @bpm91 faltou as virgula nessa parte firstItems[4] = { 2412 2449 2405 } o correto é: firstItems[4] = { 2412, 2449, 2405 }
  3. não tem a tag no creaturecript.xml adiciona: <event type="login" name="FirstItemLogin" event="script" value="firstitems.lua"/>
  4. mas tu fecho e abriu o ot? outra coisa, você registrou esse onLogin em creaturescript.xml?
  5. claro que influencia, por isso etá entregando o itens errados... exclua o MODS
  6. só agora que vi, erro meu function HaveCreatureArena(area, remove, clean) for x = area[1].x - 1, area[2].x + 1 do for y = area[1].y - 1, area[2].y + 1 do local pos = {x=x, y=y, z=area[1].z} local m = getTopCreature(pos).uid if remove ~= false and m ~= 0 and isMonster(m) then doRemoveCreature(m) end if clean ~= false then doCleanTile(pos,false) end end end end local from, to = {x = 1105, y = 1113, z = 7}, {x = 1115, y = 1123, z = 7} local t = { lvl = 100, Time = 15, -- em minutos entrada = { {x = 1045, y = 1014, z = 6}, -- pos players {x = 1045, y = 1015, z = 6} }, saida = { {x = 1110, y = 1122, z = 7}, -- pos para onde eles irão {x = 1110, y = 1123, z = 7} }, monstros = { {{x = 1108, y = 1116, z = 7}, "Orc"}, -- defina pos dos montros e nomes {{x = 1108, y = 1117, z = 7}, "Orc"}, {{x = 1108, y = 1118, z = 7}, "Orc"}, {{x = 1108, y = 1119, z = 7}, "Orc"} } } function VarAnihiPlayer(cid) if not isCreature(cid) then return LUA_ERROR end if isInRange(getPlayerPosition(cid), from, to) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) end end 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 function onUse(cid, item, fromPosition, itemEx, toPosition) local check = {} if #getPlayersInArea(from, 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 HaveCreatureArena({from,to}, true, true) for _, summon in pairs(t.monstros) do doCreateMonster(summon[2], summon[1]) end for i, tid in ipairs(check) do doSendMagicEffect(t.entrada, CONST_ME_POFF) doTeleportThing(tid, t.saida, false) addEvent(VarAnihiPlayer, t.Time*1000, tid) doSendMagicEffect(t.saida, CONST_ME_ENERGYAREA) end doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945) return true end
  7. acho que pode ser algum MOD na pasta MODS, da uma olhada, pode estar gerando conflito,
  8. vá até data\creaturescripts\scripts e crie um arquivo.lua e renomeie para preparedeathred.lua dentro coloque: function onDeath(cid, corpse, deathList) if (getPlayerSlotItem(cid, 2).itemid == 13755) then -- id do colar doCreatureSetDropLoot(cid, getPlayerSkullType(cid) >= 4 and true or false) if getPlayerSkullType(cid) >= 4 then doPlayerRemoveItem(cid, 13755, 1) end end return true end em data\creaturescripts\scripts\login.lua adiciona a linha: registerCreatureEvent(cid, "RedSkullAmulet") creaturescripts.xml adicione: <event type="death" name="RedSkullAmulet" event="script" value="preparedeathred.lua"/> em items.xml deixa assim: <item id="13755" article="a" name="Amulet Vip"> <attribute key="description" value="Protect All 6%, Dropa os items apenas RedSkull" /> <attribute key="weight" value="500" /> <attribute key="absorbPercentAll" value="6" /> <attribute key="slotType" value="necklace" />
  9. é mais ou menos isso: local qry = db.getResult("SELECT * FROM `shop_pacc` WHERE `trans_state` = 0;") -- procura o trans_state 0 é que falta entregar if (qry:getID() ~= -1) then repeat local trans_id = qry:getDataInt("id") -- bloco que entrega itens db.executeQuery("UPDATE `shop_pacc` SET `trans_state` = 1 WHERE `id` = "..trans_id) -- muda o state para 1 que é entregue until not qry:next() qry:free() end
  10. Vodkart postou uma resposta no tópico em Suporte Tibia OTServer
    @KaboFloww @KaboFloww esse é um action
  11. @Zazeros esqueci de excluir a linha, desculpa!! function HaveCreatureArena(area, remove, clean) for x = area[1].x - 1, area[2].x + 1 do for y = area[1].y - 1, area[2].y + 1 do local pos = {x=x, y=y, z=area[1].z} local m = getTopCreature(pos).uid if remove ~= false and m ~= 0 and isMonster(m) then doRemoveCreature(m) end if clean ~= false then doCleanTile(pos,false) end end end end local from, to = {x = 1105, y = 1113, z = 7}, {x = 1115, y = 1123, z = 7} local t = { lvl = 100, Time = 15, -- em minutos entrada = { {x = 1045, y = 1014, z = 6}, -- pos players {x = 1045, y = 1015, z = 6} }, saida = { {x = 1110, y = 1122, z = 7}, -- pos para onde eles irão {x = 1110, y = 1123, z = 7} }, monstros = { {{x = 1108, y = 1116, z = 7}, "Orc"}, -- defina pos dos montros e nomes {{x = 1108, y = 1117, z = 7}, "Orc"}, {{x = 1108, y = 1118, z = 7}, "Orc"}, {{x = 1108, y = 1119, z = 7}, "Orc"} } } function VarAnihiPlayer(cid) if not isCreature(cid) then return LUA_ERROR end if isInRange(getPlayerPosition(cid), t.saida[1], t.saida[#t.saida]) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) end end 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 function onUse(cid, item, fromPosition, itemEx, toPosition) local check = {} if #getPlayersInArea(t.saida[1], t.saida[#t.saida]) > 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 HaveCreatureArena({from,to}, true, true) for _, summon in pairs(t.monstros) do doCreateMonster(summon[2], summon[1]) end for i, tid in ipairs(check) do doSendMagicEffect(t.entrada, CONST_ME_POFF) doTeleportThing(tid, t.saida, false) addEvent(VarAnihiPlayer, t.Time*1000, tid) doSendMagicEffect(t.saida, CONST_ME_ENERGYAREA) end doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945) return true end
  12. @Zazeros function HaveCreatureArena(area, remove, clean) for x = area[1].x - 1, area[2].x + 1 do for y = area[1].y - 1, area[2].y + 1 do local pos = {x=x, y=y, z=area[1].z} local m = getTopCreature(pos).uid if m ~= 0 and isMonster(m) then var = var +1 end if remove ~= false and m ~= 0 and isMonster(m) then doRemoveCreature(m) end if clean ~= false then doCleanTile(pos,false) end end end end local from, to = {x = 1105, y = 1113, z = 7}, {x = 1115, y = 1123, z = 7} local t = { lvl = 100, Time = 15, -- em minutos entrada = { {x = 1045, y = 1014, z = 6}, -- pos players {x = 1045, y = 1015, z = 6} }, saida = { {x = 1110, y = 1122, z = 7}, -- pos para onde eles irão {x = 1110, y = 1123, z = 7} }, monstros = { {{x = 1108, y = 1116, z = 7}, "Orc"}, -- defina pos dos montros e nomes {{x = 1108, y = 1117, z = 7}, "Orc"}, {{x = 1108, y = 1118, z = 7}, "Orc"}, {{x = 1108, y = 1119, z = 7}, "Orc"} } } function VarAnihiPlayer(cid) if not isCreature(cid) then return LUA_ERROR end if isInRange(getPlayerPosition(cid), t.saida[1], t.saida[#t.saida]) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) end end 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 function onUse(cid, item, fromPosition, itemEx, toPosition) local check = {} if #getPlayersInArea(t.saida[1], t.saida[#t.saida]) > 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 HaveCreatureArena({from,to}, true, true) for _, summon in pairs(t.monstros) do doCreateMonster(summon[2], summon[1]) end for i, tid in ipairs(check) do doSendMagicEffect(t.entrada, CONST_ME_POFF) doTeleportThing(tid, t.saida, false) addEvent(VarAnihiPlayer, t.Time*1000, tid) doSendMagicEffect(t.saida, CONST_ME_ENERGYAREA) end doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945) return true end
  13. que estranho, nenhum deles somem? você pode me passar então a pos de inicio e final da sala? no caso de toda a sala da anihi ai, tipo um quadrado.
  14. posta o script amigo!
  15. é possível sim, basta fazer por movements!
  16. @poko360 o problema é o 'return true' no lugar errado, você está parando o looping. function onThink(interval, lastExecution) local from, to = {x = 148, y = 49, z = 7}, {x = 170, y = 60, z = 7} for _, pid in ipairs(getPlayersOnline()) do if isInRange(getPlayerPosition(pid), from, to) then doPlayerAddItem(pid, 2152, 4) doSendAnimatedText(getCreaturePosition(pid), '+400$', 65) end end return true end
  17. Vodkart postou uma resposta no tópico em Suporte Tibia OTServer
    @Pifafa ja arrumei isso no script que postei... doRemoveItem(item.uid)
  18. Vodkart postou uma resposta no tópico em Suporte Tibia OTServer
    local position, templepos = {x = 170, y = 94, z = 10}, {x = 165, y = 54, z = 7} local tempo = 10 function onUse(cid, item, fromPosition, itemEx, toPosition) doRemoveItem(item.uid) doTeleportThing(cid, position) doCreatureSetStorage(cid, 583441, 1) addEvent(function() if not isCreature(cid) then return LUA_ERROR end doTeleportThing(cid, templepos) doPlayerSendTextMessage(cid, 22, "Seu tempo acabou, e foi transportado de volta ao templo!") doCreatureSetStorage(cid, 583441, -1) end, 1000 * tempo) return true end obs: essa função teria que ser refeita, na verdade o bom seria fazer por globalevents! dava uma storage com os.time() e quando acabasse o tempo mandava ele para o templo..
  19. @pokadelo Muito estranho, na verdade não está dando erro em si, é como se na hora que fosse jogar os fires, os players não tivessem sido encontrados... que horas vai estar no discord? vou te auxiliar em tempo real.
  20. @pokadelo posso ver como ficou ali na parte das configurações? e outra... seu serve deve ser em milesegundos  nesta linha, troque "60" por "60000" <globalevent name="Storm_Fire_Start" interval="60" event="script"><![CDATA[ por <globalevent name="Storm_Fire_Start" interval="60000" event="script"><![CDATA[
  21. @pokadelo acho que a position Y do seu mapa está errado, nessa linha aqui: arena = {{x=32393,y=32463,z=7},{x=32423,y=32463,z=7}} -- posição começo e final da area está certo? 32463 as duas?? se sim, então deixa assim: arena = {{x=32393,y=32463,z=7},{x=32423,y=32464,z=7}} -- posição começo e final da area mas confere certinho a pos Y ai...
  22. me manda seu mods pra mim dar uma olhada
  23. local table = { itemNeed = 2205, -- Mesmo id do itemid que você colocou na tag xml. delay = 1000 -- Tempo que vai ficar saindo } function doPlayerLoopEff(cid) if not isCreature(cid) then return LUA_ERROR end local sto = getPlayerStorageValue(cid, 2399) - os.time() local x = sto > 0 and 2 or 1 local mpAdd = math.random(500, 500)*x if isPlayer(cid) and getPlayerSlotItem(cid, CONST_SLOT_RING).itemid == table.itemNeed then doSendAnimatedText(getThingPos(cid), "+" .. mpAdd .. "MP", TEXTCOLOR_LIGHTGREEN) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) doCreatureAddMana(cid, mpAdd) addEvent(function() doPlayerLoopEff(cid) end, table.delay) end return true end function onEquip(cid, item, slot) doPlayerLoopEff(cid) return true end
  24. O dono da cave somente pode invitar 1 Friend para cave. ou seja, somente no máximo 2 pessoas por cave! Ai ele convida quem ele quiser kkk

Informação Importante

Confirmação de Termo