Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 03/15/24 in all areas

  1. local lvldodge = 48903 local percent = 0.1 -- Porcentagem padrão de reflexão de dano local storageID = 10001 -- ID do storage para controlar a habilidade de reflexão function onStatsChange(cid, attacker, type, combat, value) if type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS and isCreature(attacker) then if (getPlayerStorageValue(cid, lvldodge) * 3) >= math.random(0, 1000) then local reflectValue = math.ceil(value * percent) doCreatureAddHealth(attacker, -reflectValue) doSendAnimatedText(getCreaturePos(cid), "Reflected!", 6) -- Incrementar o storage para indicar que a habilidade foi usada setPlayerStorageValue(cid, storageID, 1) return false end end return true end -- Adicionando o evento ao XML local eventXML = [=[<event type="statschange" name="ReflectStone" event="script" value="reflectStone.lua"/>]=] local file = io.open('data/creaturescripts/creaturescripts.xml', 'a') if file then file:write(eventXML) file:close() else print("Erro ao abrir o arquivo creaturescripts.xml") end -- Registro do evento no login.lua local loginScript = [=[registerCreatureEvent(cid, "ReflectStone")]=] local loginFile = io.open('data/creaturescripts/login.lua', 'a') if loginFile then loginFile:write(loginScript) loginFile:close() else print("Erro ao abrir o arquivo login.lua") end
    1 point
  2. Holograma

    Healing Machine

    O erro provavelmente ocorre porque a versão do seu servidor não suporta essa função diretamente. Tenta assim local itemID = 1234 -- ID do item no mapa que irá acionar a cura function onUse(cid, item, fromPosition, itemEx, toPosition) if itemEx.itemid == itemID then doCreatureAddHealth(cid, getCreatureMaxHealth(cid) - getCreatureHealth(cid)) -- Cura o jogador doCureStatus(cid, "all", true) -- Cura todos os status negativos do jogador doSendMagicEffect(getThingPos(cid), EFFECT_HEAL) -- Efeito de cura local backpack = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK) if backpack.itemid == 0 then return true end local bpItems = getItemsInContainer(backpack.uid) -- Correção aqui for _, item in ipairs(bpItems) do if isPokeball(item.itemid) then local creatureID = getItemAttribute(item.uid, "pokeid") if creatureID then doCreatureAddHealth(creatureID, getCreatureMaxHealth(creatureID) - getCreatureHealth(creatureID)) -- Cura o Pokémon doCureStatus(creatureID, "all", true) -- Cura todos os status negativos do Pokémon doSendMagicEffect(getThingPos(creatureID), EFFECT_HEAL) -- Efeito de cura end end end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Todos os seus Pokémon foram curados.") -- Mensagem de sucesso end return true end function isPokeball(itemid) -- Adicione aqui os itemids das pokébolas que deseja considerar local validPokeballIDs = {1, 2, 3, 4} -- Por exemplo, considere as pokébolas com IDs 1, 2, 3, 4 for _, id in ipairs(validPokeballIDs) do if itemid == id then return true end end return false end
    1 point
  3. function onUse(cid, item, frompos, item2, topos) if item.uid == 1624 then if getPlayerStorageValue(cid, 1624) == -1 then if getPlayerLevel(cid) >= 0 then -- Verifica se o jogador tem espaço suficiente no inventário para as mochilas local enoughSpace = true for i = 1, 42 do if not doPlayerAddItem(cid, 10518, 1) then enoughSpace = false break end end if enoughSpace then -- Adiciona 1000 moedas (ID 2159) dentro de uma mochila (ID 10518) e repete 100 vezes for i = 1, 100 do local backpack = doCreateItemEx(10518, 1) if backpack ~= 0 then for j = 1, 42 do doAddContainerItem(backpack, 2159, 1000) end doPlayerAddItemEx(cid, backpack, false) else enoughSpace = false break end end end if enoughSpace then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Parabéns! Você ganhou um prêmio.") else -- Não há espaço suficiente, então cai no chão com dinheiro dentro local townID = 1 -- Altere isso para o ID da cidade desejada (1 para DexSoft) local tile = getTownTemplePosition(townID) local container = doCreateItemEx(10518, 1) for i = 1, 42 do doAddContainerItem(container, 2159, 1000) end doItemSetAttribute(container, "depot", true) doTeleportThing(container, tile, false) doSendMagicEffect(tile, CONST_ME_TELEPORT) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não tinha espaço suficiente, a mochila foi enviada para o depot.") end setPlayerStorageValue(cid, 1624, 1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa ser level 0 para usar.") end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você já pegou o bônus.") end end return true end Este script verifica se o jogador tem espaço suficiente no inventário para as mochilas. Se tiver, ele adiciona as mochilas diretamente ao inventário do jogador. Caso contrário, ele cria as mochilas com dinheiro dentro e as envia para o depot da cidade especificada.
    1 point
  4. Rafaelvn10

    Base psoul

    Algum tem a base psoul pra disponibiliza pra mim .. agradeço dês de já
    1 point
  5. Rafaelvn10

    Base Psoul site + db

    Tungs vc tem a base da psoul pra disponibiliza? Maninho poderia tá disponibiliza a base dele pra mim por favor ?
    1 point
  6. local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if (not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local msg = string.lower(msg) local itemid, count = 9020, 300 -- Edite o id e a quantidade do item aqui if isInArray({"recover", "recuperar", "exp", "experience"}, msg) then npcHandler:say("Você deseja recuperar a experiência perdida após a sua morte por " .. count .. " " .. getItemNameById(itemid) .. "? {yes}", cid) talkState[talkUser] = 1 elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if getPlayerStorageValue(cid, death_table.before_exp) ~= -1 and getPlayerExperience(cid) < getPlayerStorageValue(cid, death_table.before_exp) then if doPlayerRemoveItem(cid, itemid, count) == TRUE then local count = (getPlayerStorageValue(cid, death_table.before_exp) - getPlayerStorageValue(cid, death_table.after_exp)) doPlayerAddExp(cid, count) npcHandler:say("Obrigado! Aqui está sua experiência.", cid) else npcHandler:say("Desculpe, você não tem " .. getItemNameById(itemid) .. " suficientes!", cid) end else npcHandler:say("Desculpe, você não morreu ou já recuperou sua exp perdida!", cid) end talkState[talkUser] = 0 elseif msg == "no" then npcHandler:say("Then not", cid) talkState[talkUser] = 0 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
    1 point
  7. function onSay(cid, words, param, channel) local maxSpellsToShow = 5000 -- Define o número máximo de feitiços a serem mostrados local t = {} -- Loop através dos feitiços do jogador for i = 0, getPlayerInstantSpellCount(cid) - 1 do if #t >= maxSpellsToShow then break -- Sai do loop se o limite máximo de feitiços for atingido end local spell = getPlayerInstantSpellInfo(cid, i) -- Verifica se o feitiço não está no nível mínimo if(spell.mlevel ~= 1) then if(spell.manapercent > 0) then spell.mana = spell.manapercent .. "%" end table.insert(t, spell) end end -- Ordena os feitiços pelo nível de magia table.sort(t, function(a, b) return a.mlevel < b.mlevel end) -- Constrói a mensagem a ser exibida local text = "" local prevLevel = -1 for i, spell in ipairs(t) do local line = "" if(prevLevel ~= spell.mlevel) then if(i ~= 1) then line = "\n" end line = line .. "Spells for Magic Level " .. spell.mlevel .. "\n" prevLevel = spell.mlevel end text = text .. line .. " " .. spell.words .. " : " .. spell.mana .. "\n" end -- Verifica o comprimento do texto if #text > 5000 then local chunks = {} local current_chunk = "" for line in text:gmatch("[^\r\n]+") do if #current_chunk + #line > 5000 then table.insert(chunks, current_chunk) current_chunk = "" end current_chunk = current_chunk .. line .. "\n" end table.insert(chunks, current_chunk) -- Mostra cada fragmento de texto ao jogador for _, chunk in ipairs(chunks) do doShowTextDialog(cid, 2175, chunk) end else -- Mostra a mensagem ao jogador doShowTextDialog(cid, 2175, text) end return true end
    1 point
  8. OTCLIENT Questlog actualizado Updated quest log, showing quest details: Npc name Npc level Npc outfit Mission status Description Amount of reward experience Number of reward points Enemies you must kill Items to collect When you click on the follow button, an alternative map opens that shows you the next objective of the mission and at what coordinates: If you want the system write a comment with your discord
    1 point
  9. Fala galera, Vamos lá! vou abrir aqui um pouco da ideia porque disponibilizar aqui e etc... OT REALMENTE LEGAL, bateu 200 Player no primeiro dia! estou disponibilizando aqui o projeto pois comprei o mesmo na net e o vendedor prometeu que o servidor erá realmente sem bugs, mais quando abri... começou alguns problemas! Projeto é fenomenal e queria disponibilizar aqui por dois motivos! # um é um projeto bem legal mais requer a atenção em algumas correções de bug... # dois acho que é um projeto bem promissor para ficar da forma que esta! Ot com mapa personalizado e realmente longo! Quests personalizada e com charada; Servidor balanceado e realmente com uma jogabilidade bem legal! Baiak com varias system, inclusive montarias, itens 12.x e alguns eventos bem bacana! Vamos falar um pouco dos bugs: # Os que encontrei é um quando loga ele dá uma pequena freezada no ot! # Task as vezes buga e coloca caracteres especiais nas storege; # Boss com bug tambem buga a storege com caracteres especial; # Eventos tem que revisitar algumas pois tem algumas tambem bugando a STOREGE. acredito que esses erros sejá bem pequenos e facil de corrigir, mais como estou sem tempo e o cara que vendeu agiu de má fé... vendeu falando que não tinha bug e quando fui reportar esses erros não deu suporte e estou abrindo a fim de pedir um HELP. Caso forem resolvendo sejam solidarios, se possivel abrir aqui a solução serei totalmente grato! OT COMPLETO COM SITE + MAPA + SYSTEM + SPRIT + EDITOR DE MAPA E CLIENTE ABERTO! link para download: https://www.mediafire.com/file/3fu1hc0nrhwhud7/ot.zip/file
    1 point
  10. Após anos contribuindo pro desenvolver do DB.D, venho com muita dor no coração, disponibilizar para todos essa base(2018) que por anos fez a felicidade de muitos players e que com certeza trás nostalgia só de citar o nome. Infelizmente tem algumas pessoas usando o nome do Moz# e o meu (Abreu) e o nome D.UD em outros servidores, oportunismo e coisa de retardado (sinceramente). O servidor tem bastante gambiarras e coisas a ser arrumada, mas é um bom ponto de partida pra quem quer um bom servidor. Espero que façam bom proveito.
    1 point
  11. Sem bla bla bla, mimimi, nhéco nhéco... to sem tempo para tirar print dos itens no OBJECT BUILD então segue print da pasta e façam bom aproveitos meus amigos... Held Itens.rar Ah... e o scan Held Itens.rar
    1 point
  12. Vai no seu config.lua do servidor, tente achar o que irei te mandar... accountManager = true Achou? agora bastar configurar corretamente. EXPLICAÇÃO: accountManager = true -- Ativar ou Desativar o ACC Manager namelockManager = false -- É possível algum player criar um char com o nome Account Manager? newPlayerChooseVoc = true -- True para o player escolher a vocação que ele quer ser no ACC Manager, e false para não escolher. newPlayerSpawnPosX = 302 -- Onde o novo player criado irá aparecer pos X newPlayerSpawnPosY = 48 -- Onde o novo player criado irá aparecer pos Y newPlayerSpawnPosZ = 5 -- Onde o novo player criado irá aparecer pos Z newPlayerTownId = 1 -- Cidade em que o personagem criado irá nascer newPlayerLevel = 1 -- Level inicial quando criar o personagem newPlayerMagicLevel = 0 -- MagicLevel inicial quando criar o personagem No newPlayerChooseVoc deixa true assim o jogador podera escolher o seu personagem Knight... etc Se caso está aparecendo até personagem que não deve aparecer, ou os personagens não está aparecendo para escolher vá na pasta \data\XML e abre a vocations.xml Agora no final de todas vocações coloque uma tag. que você quer que apareça no menu do accnout manager ou não... Para aparecer coloque: manager="1" Para não aparecer coloque: manager="0" Exemplo: <vocation id="1" name="Knight" description="a knight" needpremium="0" gaincap="100" gainhp="270" gainmana="230" manager="1"> Observe que tem o manager="1" no final. E para mudar a posição do Account Manager ou a outfit dele é na database/players.
    1 point
  13. Ollá, Vi muitos servidores a onde o nome do [ADM] xxxx Era Vermelho achei muito da hora, e vi em alguns servidor que a cor do nick de alguns pokemons lendarios era rosa e gostaria de saber como consigo modificar estas cores. não sei se é em parte de Cliente, Não sei. Desculpe se estiver na area errada Servidor é de Pokemon [ PDA ]
    1 point
  14. Talvez este Tópico lhe ajude. Ou Quem Sabe este tópico.
    1 point
  15. IgorROX2010

    [Talkaction] Bank

    Bom galerinha, esse e um sistema de banco por comando :] Como esse é meu segundo script aki do Xtibia pode haver erros , se ouver algo errado me fale. Script feito por : IgorROOX2010 Versão que funciona : De 7.92 á 8.60 Bom então vamos la :happy: Primeiro de tudo vá em talkactions.xml E Coloque isso: Bom agora vamos ao primeiro script que é o deposit.lua Pegue 1 arquivo lua nomeie para withdraw apague tudo e coloque isso: Prontinho.. Agora vamos ao segundo script que é o withdraw.lua Pegue 1 arquivo lua, nomeie para withdraw, apague tudo e coloque isso: Prontinho.. Agora vamos para o ultimo script que é o balance.lua Pegue 1 arquivo lua, nomeie para balance , apague tudo e coloque isso: E prontinho, o sistema de banco via talkaction já esta funcionando em seu OTserver Obrigado Script By: IgorROOX2010
    1 point
This leaderboard is set to Sao Paulo/GMT-03:00
×
×
  • Create New...