Postado Julho 15, 2012 12 anos Galera estou com um pepino na mão (ahsuahsuah sem brincadeiras por favor) Seguinte eu estou com um problema no meu ot que os players high level (200, 300) ficam matando os coitados dos leveis 30, 40. Então bolei um script potência! kkkkk Anti-power abuser! Seguinte funciona assim, ele tem 3 condições: O target é player? Se verdadeiro continue, caso contrario não execute. O target não está pk? Se vedadeiro continue, caso contrario não execute. O target é level maior, igual ou X porcento que o player que está atacando? Se vedadeiro não execute, caso contrario continue. Pronto, se ele executar sabemos que o target é um player, não está pk e é level menor do que foi configurado. Ai você me pergunta "Como assim tio, do configurado?" Simples, se você colocar X% (x porcento) o player só poderá matar (sem ser punido) um jogador que for X% (x porcento) DO LEVEL DELE. Exemplo se eu configurar 70%: Um jogador level 100, matou um outro jogador level 75. Então ele não vai ser punido. Agora esse mesmo jogador resolveu matar um level 65. Então e vai perder 5*200 de xp (sendo que esse 5, é a quantidade necessária para chegar nos 70% configurado, ja que ele matou um player com 65% do level dele) Bom, agora que vem a duvida, eu tenho um script desse aqui que um amigo me ajudou, só que não está funcionando Oo. E eu gostaria de adicionar mais uma condição: se o target não estiver na guild war com o player. O script que eu tenho é este: local config = { maxLevelDifference = 0.7, experience = 2000 } function onKill(cid, target, lastHit) if(not isPlayer(target)) then return true end if(getCreatureSkull(cid) > 1) then return true end if(getPlayerLevel(target) > getPlayerLevel(cid) or getPlayerLevel(target) >= config.maxLevelDifference * getPlayerLevel(cid)) then return true end local formula = ((config.maxLevelDifference - (getPlayerLevel(target) / getPlayerLevel(cid))) * 100) * config.experience doPlayerAddExperience(cid, -formula) doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você não teve honra!\nVocê matou um jogador com ".. getPlayerLevel(cid) - getPlayerLevel(target) .." levels de diferença e, por isso, perderá ".. formula .." pontos de experiência.") return true end E ai, será que alguém sabe como DIABOS danado eu faço isso? Oo Claro que darei +rep Cansado de ot normal? O único onde a etimologia dos players são diferentes! http://xingocity.servegame.com
Postado Julho 16, 2012 12 anos Tente editar aqui local config = { maxLevelDifference = 0.7, experience = 2000 Em maxLevelDiference = 0.7 você coloca o lvl maximo de diferença para atacar outro player??(Pelo que eu entendi da script sim)Tenta ae e se funcionar me fale Editado Julho 16, 2012 12 anos por Gratos (veja o histórico de edições) Web Master 100% Scripter 20% Spriter 20% Mapper 5% Hoster 0%
Postado Julho 16, 2012 12 anos Não seria mais facil nao conseguir atacar o player com a diferença de lvl pre configurada no arquivo? Eu até editei um aqui e funcionou, mas eu preciso saber se isto te atende (não deixar atacar o player low lvl) e preciso do teu script de guild war para saber qual o parametro que o player fica quando ta em war pra incluir no check do arquivo entende? edit: e outra, se tu tiver WOE no teu ot ou algum tipo de vento de arena, pvp, competiçoes, isso tudo vai ser afetado... Editado Julho 16, 2012 12 anos por vesgo (veja o histórico de edições)
Postado Julho 16, 2012 12 anos Conseguil? Web Master 100% Scripter 20% Spriter 20% Mapper 5% Hoster 0%
Postado Julho 16, 2012 12 anos Autor @Gratos Tipo eu to ligado que eu mudo ali pra configurar o level, mas não está funcionando no ot quer dizer, funciona sim, mas os dois players tem que esta com o guild war ativado ( e serem das guilds inimigas) @vesgo Também não seria má ideia, mas eu queria que ele sofresse algum tipo de punição. aqui está o guild_war, Woe também. o sistema de guild war é este ( http://www.######.com/forum/topic/169139-guild-war-system-com-escudos/ ) < se ligou? Xis xD kkkkk e o woe é esse aqui ( http://tibiaking.com/forum/topic/3014-war-of-emperium/ ) Cansado de ot normal? O único onde a etimologia dos players são diferentes! http://xingocity.servegame.com
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.