Jump to content
Close

granoob

Member
  • Content Count

    19
  • Joined

  • Last visited

About granoob

  • Rank
    Baker

Profile Information

  • Gender
    Masculino
  • I am
    Tibiano

Recent Profile Visitors

240 profile views
  1. eu não tive tempo de ler tudo ainda, devido a trabalho, no fim de semana eu vou ler a ideia seria tfs1.2 ou OTX, mais a do malucooo não tenho acesso então vamos fazer para distro mais comuns, Dwarfer , inicialmente obrigado e vamos aos trabalhos olhei o código que fez, ficou lindo sim porem pode ser que funcione na distro mais antigas, a funcion OnCombat, onTarget entre outras não estão presente na creaturescripts tentei mudar colocando no EVENTS-PLAYER.LUA onde ela tem porem obtive o resultado estranhos um deles foi a formação do look, o modo pvp nao testei se tava 100% pq tava solo no servidor estou usando a TFS1.2
  2. Olá galera da TK, trago uma ideia para os veteranos de plantão caso eu esteja postando em tópico errado, ja peço desculpas e pode mover esse tópico inicialmente sou programador, mais não tenho conhecimento em todas função e código que o otserver pode suporta por isso peço ajuda a ideia inicial é criar um sistema no qual pode evitar vários ots caírem em falência devido os pelegos que nele envolve. Como assim? Hoje em dia os OTs server são visto como um fonte de diversão no os jogadores tem em mente que vai logar, forma o seu time e depois dominar o mundo , são bonitos motivos porem muito outros jogadores querem tornar o seu Ots um servidor serio um local para eles se diverti e sempre esta presente fazendo amizades e sempre esta na emoção de Quest cada vez mais difíceis, neste caso vem aquele time de pelego e começa a matar os jogadores que nem estão neste clima, derrotando todo o trabalho de meses ajeitando o seu OT que tinha um ideal transformando ele numa plataforma de pvp sem limites, contudo vários players abandonando o seu OT ate chegar o dia de resetar ou ate mesmo encerrar. principio basico da ideia é criar um mundo onde inicial é não pvp ao mesmo tempo pvp veja abaixo a ideologia que tive quero ajudar a montar esse sistema pois sei que os veteranos que conhece cada função que o OT possuir e saberá como ajudar vamos lá. 1° Inicialmente o mundo seria um mundo não-pvp aquele jogadores que queria pelegar, fazer o famoso mata-mata precisaria de uma permissão ou items que permita ele mata outro players que esteja com a mesma função ativa, neste modo aqueles q não querem ser envolvido nos pelegos não teria nenhum problema de continua sua vida em jogo 2° Iniciando a troca dos Modos a forma de transforma um modo de jogo pode ser através de comandos ou items, o jogador que queria ser pvp ele precisaria ativar o comando ou items a parti dai ele se torna um jogador pvp exemplo um jogador chegou um certo level e quer sai ao seu pelego de boa com outro time basta ativa a função, ao ativa ele terá um tempo nesse modo, onde o tempo sera configurado ao administrador do ot para cada kill que o jogador do pelego faça ele aumenta esse tempo de forma também que seja configurado o aumento do tempo por kill, assim tornando mais justo para ambos caso o jogador esteja com skulls seja ela qual for, o tempo neste caso não mudaria ate que todas as skull fosse removidas, a parti dai o tempo para volta ao não-pvp voltaria a desce para sabe se o jogador tem a funcao pvp ativada em seu look, teria que ter uma tag por exemplo: (modo pvp on), assim todos vai sabe que aquele jogador é PVP caso o jogador cansou de ser caçado ou queria continua a jogar sem pelego ele precisaria desativa a função de forma que seja configurada, por um valor e tempo determinado pelo administrador e o que seria pra desativar os jogadores PVP não teria como matar outros players que não tive com o mesmo modo ativo, a não ser por traps a ideia seria basicamente esse de forma os OTs servers seria algo muito melhor e um ambiente para todos. aguardo comunicações sobre tal sistema e vou esta periodicamente acompanhando o tópico para esse desenvolvimento e anexando o inicio do trabalho vlw galera do TK Tambem quero compartilhar algo com vocês para o seu OT logicamente ideia de melhorias podem ser aplicada esse é uma TAG de top level do servidor, que ja tem ai na TK, porem foi feita para ser TFS1.2 Crie um arquivo no seu creaturescripts com o nome: topeffect.lua local function getHighestPlayer() local resultId = db.storeQuery("SELECT `name` FROM `players` ORDER BY `level` DESC, `experience` DESC LIMIT 5") if not resultId then return false end return result.getDataString(resultId, "name") end local config = { interval = 5, effect = CONST_ME_POFF } local function sendEffectTopPlayer(cid) local player = Player(cid) if not player then return true end if config.effect then -- player:getPosition():sendMagicEffect(math.random(CONST_ME_FIREWORK_YELLOW, CONST_ME_FIREWORK_BLUE)) player:say('[TOP]', TALKTYPE_MONSTER_SAY) --player:getPosition():sendMagicEffect(config.effect) addEvent(sendEffectTopPlayer, config.interval * 1000, cid) return true end end function onLogin(player) if player:getName() ~= getHighestPlayer() then return true end sendEffectTopPlayer(player:getId()) return true end function onAdvance(player) if player:getName() ~= getHighestPlayer() then return true end sendEffectTopPlayer(player:getId()) return true end depois adicione isso em seu creaturescripts.xml <event type="login" name="TopEffect" script="topeffect.lua"/> <event type="advance" name="CheckTop" script="topeffect.lua"/> esse scripts ta básico aceito ideias de melhorias, mais ta muito legal e espero que gostem
  3. eu vir o projeto e legal, talvez possa dar uma ajuda a vcs se quiserem logicamente

     

    1. Yinz

      Yinz

      show, o projeto é open source, qlq ajuda é bem vinda.

    2. granoob

      granoob

      te, um contato para conversamos legal

    3. Yinz
  4. eu dei inicio ao projeto da summon la, depois teve um outro coloca que postou 

  5. ja resolvir algumas parte como exemplo o teleport das summon, e tempo de duraçao agora so falta eu te um tempo para ver se vou mexe na source ou em script para as summon nao atacar jogadora, e tambem nao estou mas usando via items, esta via spell como postei no githud do malucoo a um tempo que deu inicio as novas summons @Andreeyyy
  6. na verdade acho que não teria como, poderia um sistema semilar no qual aparece no chat que vc tirou dano critico um tempo atras tinha visto isso aqui no tk
  7. eu comecei o codigo la das summouns mais tudo bem, o que preciso de um bloqueio para que nao ataque a jogador e o seu dono kkk
  8. Ola galera do TK, estou a procura de um script pode ser ate creaturescript melhor ainda onde certas summon nao ataque a jogador uso tfs1.2
  9. estou colocando um sistema antibot, porem ele tem um problema porque não achei um melhor ainda, quando o jogador responde a pergunta o chat fica aberto no qual ele para de notifica o jogador alguem saber um script o metodo desse chat fechar automaticamente segue o script abaixo function onJoin(player) if not player then return true end if not ANTI_BOT_SYSTEM.cache.players[player:getId()] or ANTI_BOT_SYSTEM.cache.players[player:getId()].verified == false then player:popupFYI('You can\'t open this channel.') return false end addEvent(function() player:sendChannelMessage("", string.format(ANTI_BOT_SYSTEM.messages.channel_enter.msg, ANTI_BOT_SYSTEM.config.timeToAnswer), ANTI_BOT_SYSTEM.messages.channel_enter.type, ANTI_BOT_SYSTEM.config.channelId) end, 300) addEvent(function() local random = math.random(#ANTI_BOT_SYSTEM.questions) player:sendChannelMessage("", ANTI_BOT_SYSTEM.questions[random].question, TALKTYPE_CHANNEL_R1, ANTI_BOT_SYSTEM.config.channelId) ANTI_BOT_SYSTEM.cache.question = random end, 2000) addEvent(vericationBot, ANTI_BOT_SYSTEM.config.timeToAnswer * 1000, player:getId()) return true end function onLeave(player) if not player then return true end if ANTI_BOT_SYSTEM.cache.players[player:getId()] then player:openChannel(ANTI_BOT_SYSTEM.config.channelId) addEvent(function() player:sendChannelMessage("", ANTI_BOT_SYSTEM.messages.channel_close.msg, ANTI_BOT_SYSTEM.messages.channel_close.type, ANTI_BOT_SYSTEM.config.channelId) end, 300) end end function onSpeak(player, type, message) player:sendChannelMessage(player:getName(), message, TALKTYPE_CHANNEL_Y, ANTI_BOT_SYSTEM.config.channelId) if message ~= ANTI_BOT_SYSTEM.questions[ANTI_BOT_SYSTEM.cache.question].answer then addEvent(function() player:sendChannelMessage("", ANTI_BOT_SYSTEM.messages.wrong_answer.msg, ANTI_BOT_SYSTEM.messages.wrong_answer.type, ANTI_BOT_SYSTEM.config.channelId) end, 300) else addEvent(function() player:sendChannelMessage("", ANTI_BOT_SYSTEM.messages.correct_answer.msg, ANTI_BOT_SYSTEM.messages.correct_answer.type, ANTI_BOT_SYSTEM.config.channelId) end, 300) ANTI_BOT_SYSTEM.cache.players[player:getId()] = nil end return false end e o chatchannel que ele usa <channel id="10" name="Anti Bot" public="1" script="antibot.lua" />
  10. eae rapaz, estava olhando o seu projeto e vir que estar sozinho nele, tipo sou programador, porem tenho o basico como mapping

     

    se quizer troca umas ideia vamos troca contatos

    1. Qwizer

      Qwizer

      boa, manda msg no whats: 66 9 8427 4493 ou no skype: onjogos 

    2. granoob

      granoob

      adicionei vc la

  11. neste caso, seria assim <attribute key="skillcriticalchance" value="100" /> -- value="100" chance de acerto usando o item <attribute key="skillcriticaldamage" value="20" /> -- value="20" em a qts porcentos de dano a mais que ele vai acerta lembrando que ao acerta o dano o jogador vai receber o efeito (CRIT) critical ao dano
  12. local freeBlessMaxLevel = 20 -- level onde o jogador vai receber bless function onLogin(cid) local player = Player(cid) if player:getLevel() <= freeBlessMaxLevel then for i = 1, 6 do player:addBlessing(i) end player:sendTextMessage(MESSAGE_EVENT_ADVANCE,'You received all blessing for you to be level less than ' .. freeBlessMaxLevel .. '!') player:getPosition():sendMagicEffect(CONST_ME_HOLYDAMAGE) end return true end agora em creaturescript.xml <event type="login" name="bless1" script="freeblesslowlevel.lua"/> sistema de recompensa por level se esse a edita o seu gosto function onAdvance(cid, skill, oldlevel, newlevel) if getPlayerLevel(cid) >= 20 and getPlayerStorageValue(cid, 99963) ~= 1 then doPlayerSetBalance(cid, getPlayerBalance(cid) + 2000)--gold ao chegar ao level setPlayerStorageValue(cid, 99963, 1) doPlayerSendTextMessage(cid, 19, "You have received 2000 gold in your bank for advancing to Level 20.") elseif getPlayerLevel(cid) >= 40 and getPlayerStorageValue(cid, 99964) ~= 1 then doPlayerSetBalance(cid, getPlayerBalance(cid) + 10000)--gold ao chegar ao level setPlayerStorageValue(cid, 99964, 1) doPlayerSendTextMessage(cid, 19, "You have received 10000 gold in your bank for advancing to Level 40.") elseif getPlayerLevel(cid) >= 50 and getPlayerStorageValue(cid, 99965) ~= 1 then doPlayerSetBalance(cid, getPlayerBalance(cid) + 10000)--gold ao chegar ao level setPlayerStorageValue(cid, 99965, 1) doPlayerSendTextMessage(cid, 19, "You have received 10000 gold in your bank for advancing to Level 50.") elseif getPlayerLevel(cid) >= 75 and getPlayerStorageValue(cid, 99966) ~= 1 then doPlayerSetBalance(cid, getPlayerBalance(cid) + 10000)--gold ao chegar ao level setPlayerStorageValue(cid, 99966, 1) doPlayerSendTextMessage(cid, 19, "You have received 10000 gold in your bank for advancing to Level 75.") elseif getPlayerLevel(cid) >= 100 and getPlayerStorageValue(cid, 99969) ~= 1 then doPlayerSetBalance(cid, getPlayerBalance(cid) + 40000) --gold ao chegar ao level setPlayerStorageValue(cid, 99969, 1) doPlayerSendTextMessage(cid, 19, "You have received 40000 gold in your bank for advancing to Level 100.") elseif getPlayerLevel(cid) >= 150 and getPlayerStorageValue(cid, 99970) ~= 1 then doPlayerAddItem(cid, 5942)-- items ao chegar ao level setPlayerStorageValue(cid, 99970, 1) doPlayerSendTextMessage(cid, 19, "You have received one blessed wooden stake because you reached level 150.") elseif getPlayerLevel(cid) >= 200 and getPlayerStorageValue(cid, 99971) ~= 1 then doPlayerAddItem(cid, 2195) -- items ao chegar ao level setPlayerStorageValue(cid, 99971, 1) doPlayerSendTextMessage(cid, 19, "You have been awarded with 1 boots of haste for reaching level 200.") end return TRUE end agora segue novamente o creaturescript.lxml <event type="advance" name="Recompense" script="recompense.lua"/> espero que tenha ajudado!
  13. qual a versão do seu otserv, se possilvel poste a gamestore.lua e tambem dentro da pasta (lib) ou na mesma pasta init.lua para que possa te ajudar
  14. não sei exatamente qual objetivo disso vamos ao que entendi, voce que que itens tenha <attribute key="increaseMagicPercent" value="10"/> seria para dar ML? se for ultilize essa tag <attribute key="magiclevelpoints" value="10"/> cuidado essa tarde não da porcentagem e sim valores inteiros exemplo value="10" seria que o item dar 10 pontos na ML

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução! A publicação do seu anuncio é instantânea!

×
×
  • Create New...