Ir para conteúdo
  • Cadastre-se

(Resolvido)power limiter


Ir para solução Resolvido por KotZletY,

Posts Recomendados

Base: 1.2

 

Descrição:
 

Pessoal boa noite, eu estou passando recentemente por um problema bem chato no meu servidor, onde os players conseguem upar ML,SKILLS e level mais do que o permitido, como assim? Então eu passei as spells do meu jogo para formula de skill e ml, sendo assim, quanto mais eles tiverem, mais dano eles causam e esta ficando um tanto exagerado porque não há um limite de nível para o ML e a skills, já no level eu coloquei no stage para não uparem mais do que x level,entretanto, eu coloquei um npc de task e foi ai que surgiu o problema com limite de level, pois o npc esta upando o player acima do limite permitido.

 

 

Pedido:

eu gostaria de saber se alguém tem algum script de limitar skills, ml e level do player em x valor.


Agradeço desde já! ?

 

Link para o post
Compartilhar em outros sites
Em 31/07/2018 em 00:54, Navegante disse:

Base: 1.2

 

Descrição:
 

Pessoal boa noite, eu estou passando recentemente por um problema bem chato no meu servidor, onde os players conseguem upar ML,SKILLS e level mais do que o permitido, como assim? Então eu passei as spells do meu jogo para formula de skill e ml, sendo assim, quanto mais eles tiverem, mais dano eles causam e esta ficando um tanto exagerado porque não há um limite de nível para o ML e a skills, já no level eu coloquei no stage para não uparem mais do que x level,entretanto, eu coloquei um npc de task e foi ai que surgiu o problema com limite de level, pois o npc esta upando o player acima do limite permitido.

 

 

Pedido:

eu gostaria de saber se alguém tem algum script de limitar skills, ml e level do player em x valor.


Agradeço desde já! ?

 

ei mano pode passa seu servido e data base pra eu cria um dbo pra mim pleas 

 

Link para o post
Compartilhar em outros sites
4 minutos atrás, Mafuuba disse:

ei mano pode passa seu servido e data base pra eu cria um dbo pra mim pleas 

 

infelizmente não posso meu amigo, mas aqui no fórum existe varias bases muito melhores que a minha para um projeto de DBO, basta procurar, mas caso tenha alguma duvida crie um tópico dentro desse assunto que eu de garanto que alguém irá mostrar uma base ótima para você iniciar o seu projeto!

Link para o post
Compartilhar em outros sites
1 hora atrás, Navegante disse:

infelizmente não posso meu amigo, mas aqui no fórum existe varias bases muito melhores que a minha para um projeto de DBO, basta procurar, mas caso tenha alguma duvida crie um tópico dentro desse assunto que eu de garanto que alguém irá mostrar uma base ótima para você iniciar o seu projeto!

vc pode ajuda a arruma um servidor pra mim? mano

Link para o post
Compartilhar em outros sites
3 horas atrás, Mafuuba disse:

vc pode ajuda a arruma um servidor pra mim? mano

sinceramente eu não conheço nenhum bom pra DBO!


Alias meu amigo ficar comentando assuntos que não são relacionados ao tópico e contra as regras, e isso vai da ruim tanto mim quanto pra você, então crie um tópico e tire suas duvidas la, por favor! :)

Link para o post
Compartilhar em outros sites
  • 2 weeks later...

olá.

você pode deixando os skills e os demais em "stages" onde você pode controla o tanto de rates e limitando o valor máximo , level também você pode fazer isso

Link para o post
Compartilhar em outros sites
3 horas atrás, Dragon Ball Hiper disse:

olá.

você pode deixando os skills e os demais em "stages" onde você pode controla o tanto de rates e limitando o valor máximo , level também você pode fazer isso

eu só sei colocar stage em level, agora com skills eu não faço ideia de como funciona.

Link para o post
Compartilhar em outros sites
  • 2 weeks later...
3 horas atrás, Jovim disse:

@Navegante Experimenta dar uma olhada neste tópico.

 

Boa tarde! Eu não entendi muito bem como funciona o script e percebi também que só funciona com magic level, certo? Vi também que ele só checa as vocações iniciais já as promotions não, aliás seria possível você me explicar como funcionar esse script por favor?

Link para o post
Compartilhar em outros sites

@NaveganteTenta com isso. Vá data/events/scripts/player.lua substitua onGainSkillTries por:

 

skillStages = {}
skillStages[SKILL_FIST] = {{0,8},{60,5},{80,3},{100,2}}
skillStages[SKILL_CLUB] = {{0,8},{60,5},{80,2},{100,1}}
skillStages[SKILL_SWORD] = {{0,8},{60,5},{80,2},{100,1}}
skillStages[SKILL_AXE] = {{0,8},{60,5},{80,2},{100,1}}
skillStages[SKILL_DISTANCE] = {{0,8},{60,5},{80,2},{100,1}}
skillStages[SKILL_SHIELD] = {{0,9},{60,8},{80,7},{100,6},{110,3}}
skillStages[SKILL_FISHING] = {{0,5},{60,4},{80,3},{100,2},{110,1}}
skillStages[SKILL_MAGLEVEL] = {{0,10},{6,5},{15,7},{80,5},{90,2},{99,1}}
   
function Player:onGainSkillTries(skill, tries)
    if APPLY_SKILL_MULTIPLIER == false then
        return tries
    end
   
local skillName
local skillRate
    if(skill==0)then
        skillName=SKILL_FIST
    elseif(skill==1)then
        skillName=SKILL_CLUB
    elseif(skill==2)then
        skillName=SKILL_SWORD
    elseif(skill==3)then
        skillName=SKILL_AXE
    elseif(skill==4)then
        skillName=SKILL_DISTANCE
    elseif(skill==5)then
        skillName=SKILL_SHIELD
    elseif(skill==6)then
        skillName=FISHING
    end
     if(skillStages[skill] ~= nil) then
        skillRate = 1
        for i, skillRateInfo in pairs(skillStages[skill]) do
            if(getPlayerSkill(self, skillName) >= skillRateInfo[1]) then
                skillRate = skillRateInfo[2]
            else
                break
            end
        end
    end
   
    if skill == SKILL_MAGLEVEL then
        return tries * configManager.getNumber(configKeys.RATE_MAGIC) * skillRate
    end
    return tries * configManager.getNumber(configKeys.RATE_SKILL) * skillRate
end
Link para o post
Compartilhar em outros sites
Em 24/08/2018 em 16:01, Jovim disse:

@NaveganteTenta com isso. Vá data/events/scripts/player.lua substitua onGainSkillTries por:

 

skillStages = {}
skillStages[SKILL_FIST] = {{0,8},{60,5},{80,3},{100,2}}
skillStages[SKILL_CLUB] = {{0,8},{60,5},{80,2},{100,1}}
skillStages[SKILL_SWORD] = {{0,8},{60,5},{80,2},{100,1}}
skillStages[SKILL_AXE] = {{0,8},{60,5},{80,2},{100,1}}
skillStages[SKILL_DISTANCE] = {{0,8},{60,5},{80,2},{100,1}}
skillStages[SKILL_SHIELD] = {{0,9},{60,8},{80,7},{100,6},{110,3}}
skillStages[SKILL_FISHING] = {{0,5},{60,4},{80,3},{100,2},{110,1}}
skillStages[SKILL_MAGLEVEL] = {{0,10},{6,5},{15,7},{80,5},{90,2},{99,1}}
   
function Player:onGainSkillTries(skill, tries)
    if APPLY_SKILL_MULTIPLIER == false then
        return tries
    end
   
local skillName
local skillRate
    if(skill==0)then
        skillName=SKILL_FIST
    elseif(skill==1)then
        skillName=SKILL_CLUB
    elseif(skill==2)then
        skillName=SKILL_SWORD
    elseif(skill==3)then
        skillName=SKILL_AXE
    elseif(skill==4)then
        skillName=SKILL_DISTANCE
    elseif(skill==5)then
        skillName=SKILL_SHIELD
    elseif(skill==6)then
        skillName=FISHING
    end
     if(skillStages[skill] ~= nil) then
        skillRate = 1
        for i, skillRateInfo in pairs(skillStages[skill]) do
            if(getPlayerSkill(self, skillName) >= skillRateInfo[1]) then
                skillRate = skillRateInfo[2]
            else
                break
            end
        end
    end
   
    if skill == SKILL_MAGLEVEL then
        return tries * configManager.getNumber(configKeys.RATE_MAGIC) * skillRate
    end
    return tries * configManager.getNumber(configKeys.RATE_SKILL) * skillRate
end

Muito bom! Mas poderia me explicar como configurar? Tipo como eu limito o ML e as skills em 100? O player só vai poder upar ml e skill ate o nível 100 a partir disso só usando itens que tao atributos.

Link para o post
Compartilhar em outros sites

@Navegante Primeiramente, não fui eu que criei este script. Acredito que no primeiro numero entre chaves {} das 8 skills, seja o RATE de experiencia (Como não fui eu quem criou este script, pode ser que eu esteja falando merda). Mas, faz o seguinte, vai dando umas modificadas nos valores e vê o que mudou. Sobre limitar as skills para o level 100, da uma olhada pelo fórum que tem alguns tópicos ensinando a limitar as skills. E por fim, me desculpe, não sou um scripter fodão como os que tem aqui no fórum, mas to trabalhando pra isso :)

Link para o post
Compartilhar em outros sites
40 minutos atrás, Jovim disse:

@Navegante Primeiramente, não fui eu que criei este script. Acredito que no primeiro numero entre chaves {} das 8 skills, seja o RATE de experiencia (Como não fui eu quem criou este script, pode ser que eu esteja falando merda). Mas, faz o seguinte, vai dando umas modificadas nos valores e vê o que mudou. Sobre limitar as skills para o level 100, da uma olhada pelo fórum que tem alguns tópicos ensinando a limitar as skills. E por fim, me desculpe, não sou um scripter fodão como os que tem aqui no fórum, mas to trabalhando pra isso :)

que isso cara sem problema nenhum! Eu realmente não entendi como configurar esse script, mesmo assim agradeço pela ajuda. Irei tirar um tempo e para ficar "futucando" ele e tentar entender como ele funciona, mas eu ainda acredito que alguém vai tirar um tempinho pra tentar me ajudar, entretanto eu suspeito que essa demora seja pelo fato do script ser bem chatinho de ser feito, não tenho certeza, mas deduzo isso.

Sobre pesquisar no fórum eu cheguei a encontra 4 tópicos relacionados a tal assunto, mas nenhum deles funcionou no meu servidor, fora que em alguns tópicos tinham comentários de erros no qual ninguém postou uma solução, logo o tópico "morreu".



OBS: Como eu havia dito agradeço bastante pela atenção que você deu no tópico, mas continuarei dando UP no tópico ate chegar minha vez de ser atendido pelos nossos amados suportes do TK. ?

Link para o post
Compartilhar em outros sites
  • Solução

@Navegante acima de:

function Player:onGainSkillTries(skill, tries)

adicione:

local skills_limit = {
[SKILL_FIST] = 100,
[SKILL_CLUB] = 100,
[SKILL_SWORD] = 100,
[SKILL_AXE] = 100,
[SKILL_DISTANCE] = 100,
[SKILL_SHIELD] = 100,
[SKILL_FISHING] = 100,
[SKILL_MAGLEVEL] = 100
}

abaixo da function citada anteriormente, adicione:

Spoiler

	local limit_skill = skills_limit[skill]

	if limit_skill then
		if skill == SKILL_MAGLEVEL then
			if self:getMagicLevel() == limit_skill then
				return 0
			end
		elseif self:getSkillLevel(skill) == limit_skill then
			return 0			
		end
	end

 

 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites
11 minutos atrás, KotZletY disse:

@Navegante acima de:


function Player:onGainSkillTries(skill, tries)

adicione:


local skills_limit = {
[SKILL_FIST] = 100,
[SKILL_CLUB] = 100,
[SKILL_SWORD] = 100,
[SKILL_AXE] = 100,
[SKILL_DISTANCE] = 100,
[SKILL_SHIELD] = 100,
[SKILL_FISHING] = 100,
[SKILL_MAGLEVEL] = 100
}

abaixo da function citada anteriormente, adicione:

  Mostrar conteúdo oculto


	local limit_skill = skills_limit[skill]

	if limit_skill then
		if skill == SKILL_MAGLEVEL then
			if self:getMagicLevel() == limit_skill then
				return 0
			end
		elseif self:getSkillLevel(skill) == limit_skill then
			return 0			
		end
	end

 

 

Obrigado! Funcionou perfeitamente.

Link para o post
Compartilhar em outros sites
5 horas atrás, Navegante disse:

Obrigado! Funcionou perfeitamente.

Por nada, fico feliz em ter ajudado!! :LOL:

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo