Ir para conteúdo

Lurk

Membro
  • Registro em

  • Última visita

Tudo que Lurk postou

  1. Lurk postou uma resposta no tópico em Suporte OTServer Derivados
    @raicont do you use premium account on your server to make the players "vip"? if not, you probably use an item that when they use they become vip, if you use an item, send me the script of that item
  2. @El Reverso nice, se quiser postar o sistema pode sim da os creditos lá (embora eu tenha feito bem pouco, só teve confusao p krai kk) e n esquece de escolher a melhor resposta poe a primeira q eu dei aq no topico pq editei ela la
  3. @El Reverso n eh incomodo nenhum n man
  4. @El Reverso concordo sim man, mas poe esse aq local blocked_items = {8413, 5726} -- adicione aqui os itens que vc quer bloquear separados por , function onUse(cid, item, fromPosition, itemEx, toPosition) if getItemAttribute(item.uid, "corpseowner") ~= cid then return doPlayerSendCancel(cid, "You're not the owner.") end local items = {} for i = 0, getContainerSize(item.uid) do local it = getContainerItem(item.uid, i) if it.uid > 0 and not isInArray(blocked_items,it.itemid) then table.insert(items, {it.itemid, it.type}) doRemoveItem(it.uid) end end if #items > 0 then for k = 1, #items do local playerItem = getPlayerItemById(cid, true, items[k][1]) if playerItem.uid > 0 then if (playerItem.type + items[k][2]) > 100 then doPlayerAddItem(cid, items[k][1], (playerItem.type + items[k][2]) - 100) doTransformItem(playerItem.uid, items[k][1], 100) else doTransformItem(playerItem.uid, items[k][1], playerItem.type + items[k][2]) end else doPlayerAddItem(cid, items[k][1], items[k][2]) end end return true end doSetItemActionId(item.uid, 0) return false end e confere q ta funfando, pelo q vi tinha 1 palavra sobrando lá
  5. @El Reverso tenta local blocked_items = {8413, 5726} -- adicione aqui os itens que vc quer bloquear separados por , function onUse(cid, item, fromPosition, itemEx, toPosition) if getItemAttribute(item.uid, "corpseowner") ~= cid then return doPlayerSendCancel(cid, "You're not the owner.") end local items = {} for i = 0, getContainerSize(item.uid) do local it = getContainerItem(item.uid, i) if it.uid > 0 and not isInArray(blocked_items,it.itemid) then table.insert(items, {it.itemid, it.type}) doRemoveItem(it.uid) end end if #items > 0 then for k = 1, #items do local playerItem = getPlayerItemById(cid, true, items[k][1]) if playerItem.uid > 0 then if (playerItem.type + items[k][2]) > 100 then doPlayerAddItem(cid, items[k][1], (playerItem.type + items[k][2]) - 100) doTransformItem(playerItem.uid, items[k][1], 100) else doTransformItem(playerItem.uid, items[k][1], playerItem.type + items[k][2]) end elseif not isInArray(blocked_items, item.uid) then doPlayerAddItem(cid, items[k][1], items[k][2]) end end return true end doSetItemActionId(item.uid, 0) return false end
  6. @El Reverso apaga o print("Item do container: " ..getContainerItem(item.uid))
  7. @El Reverso imagino q n exista um item com o id de 72005 no seu ot.. em baixo de local it = getContainerItem(item.uid, i) poe print("Item do container: " ..getContainerItem(item.uid)) print("Item do container2: " ..getContainerItem(item.uid, i))
  8. em baixo de local playerItem = getPlayerItemById(cid, true, items[k][1]) poe print("Item id: " ..item.uid) e me diz o que aparece no console qnd o player pega um item com o sistema p eu ver o que ta retornando
  9. @El Reverso troca tudo por local blocked_items = {8413, 5726} -- adicione aqui os itens que vc quer bloquear separados por , function onUse(cid, item, fromPosition, itemEx, toPosition) if getItemAttribute(item.uid, "corpseowner") ~= cid then return doPlayerSendCancel(cid, "You're not the owner.") end local items = {} for i = 0, getContainerSize(item.uid) do local it = getContainerItem(item.uid, i) if it.uid > 0 then table.insert(items, {it.itemid, it.type}) doRemoveItem(it.uid) end end if #items > 0 then for k = 1, #items do local playerItem = getPlayerItemById(cid, true, items[k][1]) if playerItem.uid > 0 and not isInArray(blocked_items, item.uid) then if (playerItem.type + items[k][2]) > 100 then doPlayerAddItem(cid, items[k][1], (playerItem.type + items[k][2]) - 100) doTransformItem(playerItem.uid, items[k][1], 100) else doTransformItem(playerItem.uid, items[k][1], playerItem.type + items[k][2]) end elseif not isInArray(blocked_items, item.uid) then doPlayerAddItem(cid, items[k][1], items[k][2]) end end return true end doSetItemActionId(item.uid, 0) return false end
  10. @El Reverso tem sim vei calmai q vamo resolver troca local it = getContainerItem(item.uid, i) if it.uid > 0 and not isInArray(blocked_items, getContainerItem(item.uid)) then por local it = getContainerItem(item.uid, i) local itt = getContainerItem(item.uid) if it.uid > 0 and not isInArray(blocked_items, itt) then é exatamente desse jeito que bloqueia, só to apanhando p pegar o id do item, n tinha lido o código muito bem antes, agora acho que vai se isso não der certo, poe print("Isso aqui: " ..getContainerItem(item.uid)) em baixo do local it = getContainer(item.uid, i) e me diz o que aparece no console
  11. @El Reverso troca todo o código por local blocked_items = {8413, 5726} -- adicione aqui os itens que vc quer bloquear separados por , function onUse(cid, item, fromPosition, itemEx, toPosition) if getItemAttribute(item.uid, "corpseowner") ~= cid then return doPlayerSendCancel(cid, "You're not the owner.") end local items = {} for i = 0, getContainerSize(item.uid) do local it = getContainerItem(item.uid, i) if it.uid > 0 and not isInArray(blocked_items, getContainerItem(item.uid)) then table.insert(items, {it.itemid, it.type}) doRemoveItem(it.uid) end end if #items > 0 then for k = 1, #items do local playerItem = getPlayerItemById(cid, true, items[k][1]) if playerItem.uid > 0 then if (playerItem.type + items[k][2]) > 100 then doPlayerAddItem(cid, items[k][1], (playerItem.type + items[k][2]) - 100) doTransformItem(playerItem.uid, items[k][1], 100) else doTransformItem(playerItem.uid, items[k][1], playerItem.type + items[k][2]) end else doPlayerAddItem(cid, items[k][1], items[k][2]) end end return true end doSetItemActionId(item.uid, 0) return false end acho que agora vai
  12. @El Reverso troca também o if it.uid > 0 and not isInArray(blocked_items,it.uid) then por if it.uid > 0 and not isInArray(blocked_items, item.uid) then
  13. esse é o melhor pet system que eu conheço https://otland.net/threads/mod-pet-system-tfs-0-3-7-0-3-6-0-4-0.259531/ nossa o post é de 2019 deixa quieto nem vi
  14. @El Reverso kkkkkkkkkkkkkkkkk comi umas 5 letras da palavra foi mal, troca if playerItem.uid > 0 and not isInArray(blocked_items,it.uid) then por if playerItem.uid > 0 and not isInArray(blocked_items, playerItem.uid) then e me diz o que rola
  15. Lurk postou uma resposta no tópico em Suporte OTServer Derivados
    @raicont since I don't know the storage of your vip system I made it to 300+ only, if you want it vip only then tell me your vip storage function onUse(cid, item, fromPosition, itemEx, toPosition) local daysvalue = 1 * 24 * 60 * 60 local daily = getPlayerStorageValue(cid, 13541) local rewards = { { item = 12832, count = 1 }, { item = 2160, count = 100 }, { item = 12227, count = 1 }, { item = 12331, count = 1 }, { item = 12618, count = 5 }, { item = 12242, count = 1 }, { item = 2145, count = 1 } } if (daily == -1) then daily = 0 end if getPlayerStorageValue(cid, 13540) - os.time() <= 0 and getPlayerLevel(cid) >= 300 then local random = math.random(1, #rewards) doPlayerAddItem(cid, rewards[random].item, rewards[random].count) time = os.time() + daysvalue setPlayerStorageValue(cid, 13540, time) setPlayerStorageValue(cid, 13541, daily+1) local daily = getPlayerStorageValue(cid, 13541) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You done your " .. daily .. " Daily Quest. You got 1 cc.") elseif getPlayerLevel(cid) < 300 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You must be at least level 300 to do this quest.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You must wait 24 Hours to get your daily quest. Next avaiable will be at: " .. os.date("%H:%M:%S", getPlayerStorageValue(cid, 13540)) .. ".") end return true end if this solves your issue please don't forget to select best answer and upvote
  16. @WooX sem sacanagem tava me perguntando essa semana ai se tinha como fuçar com o target do player e deixei a ideia morrer, muito obrigado por disponibilizar a função man
  17. @El Reverso não testei mas tenta ai, ve o que da ---- REPOSTA EDITADA ---- esse é o script funcional, pra vcs n precisarem ir até a pag 2 p pegar o sistema funcionando local blocked_items = {8413, 5726} -- adicione aqui os itens que vc quer bloquear separados por , function onUse(cid, item, fromPosition, itemEx, toPosition) if getItemAttribute(item.uid, "corpseowner") ~= cid then return doPlayerSendCancel(cid, "You're not the owner.") end local items = {} for i = 0, getContainerSize(item.uid) do local it = getContainerItem(item.uid, i) if it.uid > 0 and not isInArray(blocked_items,it.itemid) then table.insert(items, {it.itemid, it.type}) doRemoveItem(it.uid) end end if #items > 0 then for k = 1, #items do local playerItem = getPlayerItemById(cid, true, items[k][1]) if playerItem.uid > 0 then if (playerItem.type + items[k][2]) > 100 then doPlayerAddItem(cid, items[k][1], (playerItem.type + items[k][2]) - 100) doTransformItem(playerItem.uid, items[k][1], 100) else doTransformItem(playerItem.uid, items[k][1], playerItem.type + items[k][2]) end else doPlayerAddItem(cid, items[k][1], items[k][2]) end end return true end doSetItemActionId(item.uid, 0) return false end
  18. @Senju uchira @joaovitorbk9 da uma olhada nesse pet system https://otland.net/threads/mod-pet-system-tfs-0-3-7-0-3-6-0-4-0.259531/, vc pode controlar pra onde ele anda, que magias usa, ele ganha niveis e muito mais. se so quer controlar magia, analisa os scripts ai e poe só eles no seu ot
  19. @Mor3nao cara pior que tem, vi um mlk falando disso hj no otland, vou ve se acho aq dnv o post lá e se achar edito a resposta aq edit: aqui, só muda o criticalHitSystemXHP pro nome do seu evento ai Open data/events/events.xml Find <event class="Creature" method="onTargetCombat" enabled="0" /> and change enabled="0" to enabled="1" Open data/events/scripts/creature.lua Find function Creature:onTargetCombat(target) and add there target:registerEvent("criticalHitSystemXHP")
  20. @Darwiinxp n parece ter nada de errado ai mas tenta assim function onStepIn(cid, item, position, fromPosition) if item.actionid == 13700 then local config = { msgDenied = "No eres VIP, contacta al administrador.", msgWelcome = "Bienvenido al Area vip." } if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then doPlayerSendCancel(cid, config.msgDenied) doTeleportThing(cid, fromPosition, true) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return TRUE end doPlayerSendCancel(cid, config.msgWelcome) end return true end
  21. @diarmaint se vc olhar dentro da pasta lib do seu servidor vc vai ver que tem uns arquivos declarando um monte de coisa, dentro da pasta creaturescripts tb, spell, npcs e tudo mais. vc provavelmente ta usando libs que não são próprias da sua source (o .exe que vc usa p iniciar o ot) vc tem que copiar as libs proprias do seu .exe pra pasta do seu ot e ver se resolve
  22. @Mor3nao o sistema de critico p 0.4 q é parecido com o seu (pelo menos na ideia) tambem nao funciona em monstro A NAO SER que vc registre o script em >> TODOS << os montros da uma lidinha aqui https://tibiaking.com/forums/topic/35663-critical-skill-system/ na parte do <script> <event name="critical"/> </script>
  23. @diarmaint vc precisa copiar as libs da datapack q vc usa de base por exemplo, as minhas são as libs q tao nessa base https://github.com/Fir3element/3777
  24. @Yan Liima coloquei mas parece bem impreciso, meu ping pelo cmd é 153 +/- mas qnd checo ingame ta uns 20 e tantos, é p ser assim msm ou eu errei algo?
  25. cara, é muito simples cada vocação tem uma "especialização" com armas digamos assim, knight upa bem a sword mas upa mal o ml, e o knight de alguma forma pegar ml 120 e usar um exura vita da vida o servidor vai freezar, do mesmo jeito que se um sorcerer pegar sword 120 e tentar atacar com ela o servidor vai freezar. Isso é definido no vocations.xml ve o valor da sword do knight e poe esse valor em sword de todos, ml do mage pra todas tambem, desse jeito n vai ter freeze

Informação Importante

Confirmação de Termo