Ir para conteúdo

granoob

Membro
  • Registro em

  • Última visita

Tudo que granoob postou

  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. granoob postou uma resposta no tópico em Tibia Global OTServer
    legal isso
  4. granoob postou uma resposta no tópico em Suporte Tibia OTServer
    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
  5. 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
  6. 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
  7. 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
  8. 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" />
  9. 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
  10. 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!
  11. granoob postou uma resposta no tópico em Suporte Tibia OTServer
    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
  12. 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
  13. então no seu moviments ta assim script="imbuement.lua se remove o item passa a se lido corretamente pela function="onEquipItem" entendeu ? <movevent event="Equip" itemid="2472" slot="armor" function="onEquipItem"> <vocation name="Knight" /> <vocation name="Elite Knight" showInDescription="0" /> <vocation name="Paladin" /> <vocation name="Royal Paladin" showInDescription="0" /> </movevent> <movevent event="DeEquip" itemid="2472" slot="armor" function="onDeEquipItem" /> -- DESSA FORMA O ITEM É LIDO NORMALMENTE -- dessa forma o item não ler os atributos deles <movevent event="Equip" itemid="2472" slot="armor" function="onEquipItem" script="imbuement.lua"> <vocation name="Knight" /> <vocation name="Elite Knight" showInDescription="0" /> <vocation name="Paladin" /> <vocation name="Royal Paladin" showInDescription="0" /> </movevent> <movevent event="DeEquip" itemid="2472" slot="armor" function="onDeEquipItem" script="imbuement.lua" />
  14. não vai funcionar porque os moviments, ele trabalha com função boleanas, entao como vc usa uma function= "onEquipItem" não podera usa script junto, remova a imbuements scritps que ira funcionar porque ai ele passa a ler os atributes do items eu estou fazendo uma parte da source que permita isso num futuro
  15. o meu tem a limitação de mobs porem não tem o tempo para ele sumir
  16. Olá galera do TK, ja estou ficando louco, eu estava precisando de um script, para sumonar um criatura especifica e a criatura fique ativa somente durante um tempo exemplo: meu scrift sumona apenas dragon e o dragon fica dirante apenas 10 minutos depois ele some segue o que ja fiz, lembrando que usando OTX ou TFS 1.2 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_NONE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_BLOCKHIT) local area = createCombatArea(AREA_CROSS1X1) setCombatArea(combat, area) local maxsummons = 1 function onCastSpell(cid, var) doCreatureSay(cid, "yes", TALKTYPE_ORANGE_1) local summoncount = getCreatureSummons(cid) if #summoncount < 1 then for i = 1, maxsummons - #summoncount do local mid = doSummonCreature("dragon", getCreaturePosition(cid)) if mid == false then return combat:execute(creature, var) end doConvinceCreature(cid, mid) end end return doCombat(cid, combat, var) end
  17. granoob postou uma resposta no tópico em Suporte Tibia OTServer
    Obrigado !!!! quando voce tinha postado tinha acabado de fazer o scripts hehehe, mais obrigado mais eu tambem, estou com um problema nos movimento eu uso tfs 1.2 no seu o monstro não faz a summon, no meu , ele faz a summon porem o se tira o anel, não consigo equipa de novo vou posta aki o meu function onEquip (cid, item, frompos, item2, topos) --function onDeEquip (cid, item, frompos, item2, topos) local dolls = { [11256] = {pet = "Rat"}, [26190] = {pet = "Demon"}, [5791] = {pet = "Dragon"}, } local go = dolls[item.itemid] local summon = getCreatureSummons(cid) --------------------------------------------------- if not (getTilePzInfo(getCreaturePosition(cid))) then if #summon >= 1 then for _, pid in ipairs(summon) do doRemoveCreature(pid) doCreatureSay(cid, ""..go.pet..", Recuar!", TALKTYPE_ORANGE_1) end return false end if item.itemid == 5791 then doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) else doSendTutorial(getPlayerPosition(cid), "Failed!", 180) end if item.itemid == 11256 then doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) else doSendTutorial(getPlayerPosition(cid), "Failed!", 180) end if item.itemid == 26190 then doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) else doSendTutorial(getPlayerPosition(cid), "Failed!", 180) end else doPlayerSendTextMessage(cid, 19, "Voce nao pode sumonar seu PET em Protect Zone!") doSendTutorial(getPlayerPosition(cid), "Failed!", 180) return false end end function onDeEquip(cid, item, slot) local pos = getCreaturePosition(cid) local pet = getCreatureSummons(cid) if item.itemid == 26189 then if getCreatureSummons(cid) == 1 then for _, k in ipairs(pet)do doRemoveCreature(k) doSendMagicEffect(eff, pos) end end return true end end <movevent event="Equip" itemid="26190" slot="ring" function="onEquipItem" script="simple_pet.lua" > <vocation name="Knight" /> <vocation name="Elite Knight" showInDescription="0" /> </movevent> <movevent event="DeEquip" itemid="26190" level="100" slot="ring" function="onDeEquipItem" script="simple_pet.lua" />
  18. granoob postou uma resposta no tópico em Suporte Tibia OTServer
    Olá galera do TK to sofrendo em um scripts, talvez vocês me ajuda, estou querendo criar uns anéis no qual equipo eles ele summona uma criatura, ao retira ele a criatura desaparece
  19. granoob postou uma resposta no tópico em Suporte Tibia OTServer
    GALERA DO TIBIA KING, LENDO O FORUM AQUI PERCEBI QUE A GALERA DAQUI MUITO UNIDA ! PARABENS !!!!!! EU TENHO UM DEDICADO COM 32GB 16 NUCLEOS - DA LEVEL7BR windows server 2012 ESTOU QUERENDO UMA AJUDA DE VCS PARA ESSA QUESTÃO QUERO ABRIR UM OTSERVER COM A FINALIDADE GRATUITO A TODOS DO TIPO TIBIA GLOBAL DE PREFERENCIA VERSÃO MAIS ATUAIS VOCÊS PODERIA ME DIZER UM OTSERVER MAPA GLOBAL COM MINIMO BUS JA QUE SEM BUGS IMPOSSIVEL RSRSRS ! SE POSTAGEM O LINK DO DOWNLOAD FICAREI MUITO FELIZ !!! JA AGRADEÇO DESDE JÁ !! TIBIA KING - VCS SÃO TOP

Informação Importante

Confirmação de Termo