Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Um cara fez um script de Level max por vocação que segue a baixo:

 

local cfg = {
    [501] = {1, 2, 3, 4, 5, 6}, 
    [601] = {7, 8, 9, 10}, 
    [701] = {11, 12 ,13, 14, 15}
}
local storage = 23423 -- max level storage

function onAdvance(cid, skill, oldLevel, newLevel)
    local playerVocation = getPlayerVocation(cid)
    getLevel = cfg[newLevel]
    if newLevel == getLevel and isInArray(getLevel, playerVocation) or getPlayerStorageValue(storage) == 1 then 
        doPlayerAddExperience(cid, (getExperienceForLevel(getLevel) - getPlayerExperience(cid)))
        setPlayerStorageValue(storage, 1)
        return true
    end                                                   
    return true
end

 

Porém não está funcionando e da esse erro, alguem arruma ou ajuda?

 

Citar

[11:9:40.823] [Error - CreatureScript Interface]
[11:9:40.825] data/creaturescripts/scripts/maxlevel.lua:onAdvance
[11:9:40.826] Description:
[11:9:40.827] (luaGetCreatureStorage) Creature not found

 

Editado por Duality (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

@Duality tem certeza que o arquivo é esse ? O erro está apontando a chamada de uma função que que não existe, porém essa função não está declarada no script.

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

Link para o post
Compartilhar em outros sites

@KotZletY  Obrigado por reparar, ele modificou e eu não tinha percebido

 

Mas agora da esse erro:

 

Citar

[11:9:40.823] [Error - CreatureScript Interface]
[11:9:40.825] data/creaturescripts/scripts/maxlevel.lua:onAdvance
[11:9:40.826] Description:
[11:9:40.827] (luaGetCreatureStorage) Creature not found

 

E não funciona

Editado por Duality (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

@Duality que não ia funcionar eu já sabia, mas queria saber da função.... Use este:

Spoiler

local cfg = {
    [501] = {1, 2, 3, 4, 5, 6}, 
    [601] = {7, 8, 9, 10}, 
    [701] = {11, 12 ,13, 14, 15}
}
local storage = 23423 -- max level storage

function onAdvance(cid, skill, oldLevel, newLevel)
    local playerVocation = getPlayerVocation(cid)
    getLevel = cfg[newLevel]
    if newLevel == getLevel and isInArray(getLevel, playerVocation) or getPlayerStorageValue(cid, storage) == 1 then 
        doPlayerAddExperience(cid, (getExperienceForLevel(getLevel) - getPlayerExperience(cid)))
        setPlayerStorageValue(cid, storage, 1)
        return true
    end                                                   
    return true
end

 

 

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

Link para o post
Compartilhar em outros sites


Tentei fazer a minha maneira mas acho que me perdi no final KKKK mas testa e veja no que dá.

local storage = 23423 -- max level storage

function onAdvance(cid, skill, oldLevel, newLevel)
	local playerVocation = getPlayerVocation(cid)
	if playerVocation == 1 or 2 or 3 or 4 or 5 or 6 then
		maxlvl = 501
	elseif playerVocation == 7 or 8 or 9 or 10 then
		maxlvl = 601
	elseif playerVocation == 11 or 12 or 13 or 14 or 15 then
		maxlvl = 701
	end
	local atlvl = getPlayerLevel(cid)
	if atlvl >= maxlvl then
		local xptoremove = getPlayerExperience(cid) - getExperienceForLevel(maxlvl)
		doPlayerAddExperience(cid, (getPlayerExperience(cid) - xptoremove))
		setPlayerStorageValue(storage, 1)
		return true
	end 
	return true
end

 

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

Link para o post
Compartilhar em outros sites

Cara precisava minimizar as vocações pois preciso adicionar muitas e assim com or fica mto grande, queria no jeito do de cima, mas vlw 

Link para o post
Compartilhar em outros sites
1 minuto atrás, Duality disse:

Cara precisava minimizar as vocações pois preciso adicionar muitas e assim com or fica mto grande, queria no jeito do de cima, mas vlw 

Vc sabe que não faz diferença nenhuma né? Mas beleza boa sorte pois detesto trabalhar com tabelas, sou moda antiga.

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

Link para o post
Compartilhar em outros sites
2 horas atrás, Duality disse:

@luangop nesse script que você fez daria para adicionar exemplo vocação assim 1-50, que seria da vocação 1 até a 50?

if playerVocation >= 1 and playerVocation <= 50 then

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

Link para o post
Compartilhar em outros sites

@luangop faz toda diferença, muitos checks, então você arruma um jeito de comprar, puxar essa comparação e fazer 1 check só. Menos processo a ser usado na hora de realizar a mágica.

 

 

@Duality impedi o up não tem, mas impedi o ganho de xp tem:

Spoiler

local cfg = {
    [578] = {1, 2, 3, 4, 5, 6}, 
    [601] = {7, 8, 9, 10}, 
    [701] = {11, 12 ,13, 14, 15}
}
local storage = 23423 -- max level storage

function onAdvance(cid, skill, oldLevel, newLevel)
    if  cfg[newLevel] and isInArray(cfg[newLevel], getPlayerVocation(cid)) then 
		doPlayerSetExperienceRate(cid, 0.0)
		setPlayerStorageValue(cid, storage, 1)
        return true
    end     
    return true
end

 

 

no seu login.lua adicione isso:

	local storage = 23423 -- max level storage
	if getPlayerStorageValue(cid, storage) == 1 then
	doPlayerSetExperienceRate(cid, 0.0)
	end

 

 

Como eu falei, não tem como impedi o up, então o que eu fiz foi, na hora que ele upar pro level máximo, ele dará um storage ao player, e na mesma hora irá setar a rate de exp em 0, e então ele não vai ganhar exp quando matar algum monstro, porém se ele relogar, o rate setado irá sumir, então é ae que o code do login entra,

ao logar e se ele tiver a storage ganha no up do level máx, então irá setar a rate sempre em 0, impedindo ele ganhar exp e upar.

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

Link para o post
Compartilhar em outros sites

@KotZletY Obrigado vou testar. =D

 

 

Testei, não apareceu nenhum erro mas o player passa do level relogo e logo tbm e não acontece nada..

 

 

Editado por Duality (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

@Duality então não sei o que está errado, testei aqui e está 101%.

Não sei mesmo, funciona como deveria funcionar! 

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

Link para o post
Compartilhar em outros sites

@KotZletY

@luangop

Vamos la oque eu fiz

 

Criei um arquivo com o nome de maxlevel.lua

 

local cfg = {
    [501] = {1, 2, 3, 4, 5, 6}, 
    [601] = {7, 8, 9, 10}, 
    [701] = {11, 12 ,13, 14, 15}
}
local storage = 23423 -- max level storage

function onAdvance(cid, skill, oldLevel, newLevel)
    local playerVocation = getPlayerVocation(cid)
    getLevel = cfg[newLevel]
    if newLevel == getLevel and isInArray(getLevel, playerVocation) or getPlayerStorageValue(cid, storage) == 1 then 
        doPlayerAddExperience(cid, (getExperienceForLevel(getLevel) - getPlayerExperience(cid)))
        setPlayerStorageValue(cid, storage, 1)
        return true
    end                                                   
    return true
end

 

em seguida adicionei no creaturescript.xml

 

<event type="advance" name="MaxLvl" event="script" value="maxlevel.lua"/>

 

Depois adicionei na login.lua

 

-------------- Novos --------------	
	registerCreatureEvent(cid, "MaxLvl")
	
	local storage = 23423 -- max level storage
	if getPlayerStorageValue(cid, storage) == 1 then
	doPlayerSetExperienceRate(cid, 0.0)
	end

 

Faltou alguma coisa? ou tem algo de errado?

Editado por Duality (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

@Duality sim, faltou "usar o script que eu passei". 

Spoiler


local cfg = {
    [578] = {1, 2, 3, 4, 5, 6}, 
    [601] = {7, 8, 9, 10}, 
    [701] = {11, 12 ,13, 14, 15}
}
local storage = 23423 -- max level storage

function onAdvance(cid, skill, oldLevel, newLevel)
    if  cfg[newLevel] and isInArray(cfg[newLevel], getPlayerVocation(cid)) then 
		doPlayerSetExperienceRate(cid, 0.0)
		setPlayerStorageValue(cid, storage, 1)
        return true
    end     
    return true
end

 

 

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

Link para o post
Compartilhar em outros sites

@KotZletY Segui a ordem usando seu script.. continua sem erro e sem funcionar, os personagens passam do lvl desejado no script e estou usando a ID que está no script

Link para o post
Compartilhar em outros sites

@Duality

local cfg = {
    [578] = {1, 2, 3, 4, 5, 6}, 
    [601] = {7, 8, 9, 10}, 
    [701] = {11, 12 ,13, 14, 15}
}
local storage = 23423 -- max level storage

function onAdvance(cid, skill, oldLevel, newLevel)
    if  cfg[newLevel] and isInArray(cfg[newLevel], getPlayerVocation(cid)) then 
		doPlayerSetExperienceRate(cid, 0.0)
		setPlayerStorageValue(cid, storage, 1)
        return true
    end     
    return true
end

 

Não dê reload no creaturescript, reinicie o servidor.

                                                              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.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por LeoTK
      Salve galera neste tópico irei postar algumas prints do mapa do servidor para quem queira acompanhar e quem sabe até utilizar de inspiração para mapear o seu NTO.
       
      #Att 11/08/2022

       
       
       
       
      Konoha (Em Desenvolvimento)
       
       
       
       
    • Por DiigooMix
      Como o título já diz, será que alguém possui sprite do hitto e se possível as transformações dele?
    • Por OmegaZero
      Olá gostaria que alguém me ajudasse com uma "scripting" não sei se é pela mesma, seria o seguinte uma determinada arma teria a chance de dar double hit e não sei oque fazer alguem poderia ajudar?

      OBS:não sei se é o local correto se não for mova, desculpe
    • Por Madarasenju
      Olá galera do Tibia King, queria por uns npc's no meu server que não tem função de trade nem nada do tipo, queria que eles só andassem como enfeite, Rep+ Pra quem me ajudar... grato desde já.
    • Por SilenceRoot
      A magia é assim o você usa a a magia e ela ficará ativado por 10 segundos, até que o inimigo lance a primeira magia ou todos de uma vez, quando ele lançar a primeira magia, ele não lhe acertará ou seja esquivando dela, e logo em seguida será teletransportado aleatoriamente ao redor do inimigo que usou.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo