Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 12/20/17 em todas áreas

  1. L3K0T

    SPR E DAT atualizado OTP de 2017

    Bom galera aqui está o spr e dat do otpokemon. com mês de novembro com toda as Sprites incluindo, corpse, parede, itens, addons, etc..., façam bom aproveito! UPDATE - NOVEMBRO -2017 1 Download client: cliente otp.zip 2 Download obj: Object Builder 0.4.3.zip scan 1: https://www.virustotal.com/#/file/ec4c3f2ee12d3b56beb8887a40870c31a926df897a47494d83932c8daa3e58b2/detection scan 2: https://www.virustotal.com/#/file/6db1c7abfe7acc64adb2be04d1f0589cc51fc8f59d3faf309bd660c99fad6ee2/detection abra em modo estendido e usem acima que está pra download também. espero que tenha ajudado alguém.... pois nem todo mundo consegue sprites do otp e muita gente fica ai guardando segredos. UPDATE - DEZEMBRO - NATAL 2017 1 Download client: otp dezembro.zip 2 Download obj: Object Builder 0.4.3.zip scan 1: https://www.virustotal.com/#/file/c34eeb2167a30f6eee04b43575f62455a07e0f6006a0ffe57730c4ac301a553d/detection scan 2: https://www.virustotal.com/#/file/6db1c7abfe7acc64adb2be04d1f0589cc51fc8f59d3faf309bd660c99fad6ee2/detection
    1 ponto
  2. Gengo

    MOD de Banco no OTC

    Cara eu tenho uns trecho de código que pode te ajudar, porem ele não está completo, espero que te de uma pequena base. OtClient function init() connect(g_game, { onGameEnd = onGameEnd }) ProtocolGame.registerExtendedOpcode(177, function(protocol, opcode, buffer) onGetPlayerMoney(protocol, opcode, buffer) end) windowSysBank = g_ui.displayUI('bank.otui') windowSysBank:hide() lblMoney = windowSysBank:getChildById('lblMoney') end function show() windowSysBank:show() windowSysBank:raise() windowSysBank:focus() addEvent(function() g_effects.fadeIn(windowSysBank, 250) end) g_game.getProtocolGame():sendExtendedOpcode(177, 'refresh') end function onGetPlayerMoney(protocol, opcode, buffer) local money = string.explode(buffer, '/') lblMoney:setText('Money: '..money[2]) -- Poderia colocar mais coisas mas esse trecho já da para ter uma noção end function setDepositMoney() g_game.getProtocolGame():sendExtendedOpcode(177, 'setDepositMoney') end function getMoney() g_game.getProtocolGame():sendExtendedOpcode(177, 'getMoney') end Pasta do seu servidor creaturescript elseif opcode == op_crea.OPCODE_SYSTEM_BANK then if buffer == "refresh" then if isInArray({"setDepositMoney", "getMoney"}, buffer) then if buffer == "setDepositMoney" then setDepositMoney(cid,) elseif buffer == "getMoney" then getMoney(cid) end end end end Na pasta lib em 106-main functions function getMoney(cid) local str = "money/"..getPlayerBalance(cid) return doSendPlayerExtendedOpcode(cid, opcodes.OPCODE_SYSTEM_BANK, str) end OBS: Não acabei o código, mas creio que pode te dar uma base. Gostaria é mesmo de fazer para tibia normal, mas não achei um servidor e nem otClient que usa opCode(Comunicação de Cliente para Servidor e Servidor para Cliente). o que estou usando é poketibia mas dá para entender, me desculpa por não acabar o código, mas assim que eu tiver tempo eu termino e posto tudo com mas explicações.
    1 ponto
  3. Fala galera, hoje estarei ensinando você como fazer os monstro (selvagens) focar primeiro no summons, depois no player, sem mexer na source, hoje estarei mostrando em scripts e é o mesmo que uso em meu servidor, então testado! vai em data/creaturescripts/scripts copia uma arquivo .lua e renomeia pra ataque.lua e coloca isso lá dentro. function onAttack(cid, target, attacker, type, combat, value) if isPlayer(target) and #getCreatureSummons(target) >= 1 then doMonsterSetTarget(cid, getCreatureSummons(target)[1]) end return true end agora no creaturescripts.xml coloca a tag <event type="attack" name="BlockHit6" event="script" value="ataque.lua"/> como usar ? é muito simples agora você vai em todos monstros selvagens e vai add lá em baixo. <script> <event name="BlockHit6"></event> </script> sempre antes do </monster> ADICIONA NO LOGIN.LUA registerCreatureEvent(cid, "BlockHit6") agora é só alegria parceiro espero ter ajudado! 😘
    1 ponto
  4. zipter98

    Quest Simples

    Action: local config = { time = 10, --Tempo para fazer a quest, em minutos. toPosition = {x = x, y = y, z = z}, --Para onde os jogadores serão teleportados. positions = { {x = x, y = y, z = z}, --Posições que os jogadores devem ficar. {x = x, y = y, z = z}, {x = x, y = y, z = z}, {x = x, y = y, z = z}, }, level = 100, --Level mínimo para fazer a quest. storages = {8605, 8606}, } function onUse(cid) local pid = {} if getPlayerStorageValue(cid, config.storages[2]) > -1 then return doPlayerSendCancel(cid, "You already completed that quest.") end for _, online in pairs(getPlayersOnline()) do if getPlayerStorageValue(online, config.storages[1]) > -1 then return doPlayerSendCancel(cid, "Someone is at the quest right now.") end end for i, position in pairs(config.positions) do local p = getTopCreature(position).uid if p < 1 or not isPlayer(p) then return doPlayerSendCancel(cid, "Not enough players to start the quest.") elseif getPlayerLevel(p) < config.level then return doPlayerSendCancel(cid, "Some player is at a level below "..config.level..".") end pid[#pid + 1] = p end for _, player in pairs(pid) do doPlayerSendTextMessage(player, MESSAGE_STATUS_CONSOLE_ORANGE, "Good luck at the quest!\nTime: "..config.time.." minutes.") doTeleportThing(player, getClosestFreeTile(player, config.toPosition)) setPlayerStorageValue(player, config.storages[1], 1) end addEvent(function() for _, player in pairs(pid) do if isPlayer(player) and getPlayerStorageValue(player, config.storages[1]) > -1 then doPlayerSendTextMessage(player, 27, "Oh, timeout. Sorry. :/") setPlayerStorageValue(player, config.storages[1], -1) doTeleportThing(player, getTownTemplePosition(getPlayerTown(player))) end end end, config.time * 60 * 1000) return true end Tag: <action actionid="xxx" event="script" value="nome_do_arquivo.lua"/> Troque xxx pelo actionid. Creaturescript: function onLogout(cid) if getPlayerStorageValue(cid, 8605) > -1 then return doPlayerSendCancel(cid, "You can't logout on the quest.") and false end return true end function onLogin(cid) if getPlayerStorageValue(cid, 8605) > -1 then setPlayerStorageValue(cid, 8605, -1) end return true end Tags: <event type="logout" name="questLogout" event="script" value="nome_do_arquivo.lua"/> <event type="login" name="questLogin" event="script" value="nome_do_arquivo.lua"/> Em data/creaturescripts/scripts, abra o arquivo exp2.0.lua. Acima de: if getPlayerStorageValue(cid, 6598754) >= 1 or getPlayerStorageValue(cid, 6598755) >= 1 then Coloque: if getPlayerStorageValue(cid, 8605) > -1 then for _, pid in pairs(getPlayersOnline()) do if getPlayerStorageValue(pid, 8605) > -1 then doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid))) doPlayerSendTextMessage(pid, 27, "Someone died and you lost the quest. Better luck on the next time!") setPlayerStorageValue(pid, 8605, -1) end end doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) return false end No código de premiação da quest, coloque as seguintes linhas: setPlayerStorageValue(cid, 8605, -1) setPlayerStorageValue(cid, 8606, 1)
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...