Ir para conteúdo

Featured Replies

Postado
  • Autor

@KotZletY  Expliquei sim, rs.

Ou melhor, achei que fui claro com o Exemplo que citei.

 

O Level Adicionado Permanentemente seria previamente configurado e exato como no exemplo citado.

Editado por r0bert0lol (veja o histórico de edições)

  • Respostas 14
  • Visualizações 1.2k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • @r0bert0lol  local lvl_min = 400 -- Leve mínimo para usar o script. local storage = 344240 -- Para não usar o script novamente. local skills_t = { {skill = SKILL_CLUB, count_lvl = 10}, {skill =

  • @r0bert0lol  local cfg = { level = 400, effect = 30, addLevel = { [1] = {ID_LEVEL = SKILL_AXE, quant = 1}, [2] = {ID_LEVEL = SKILL_SWORD, quant = 1}, [3] = {ID_LEVEL = SKILL_LEVEL, quant

  • local cfg = { level = 400, effect = 30, addLevel = { [1] = {id = SKILL_AXE, quant = 1}, [2] = {id = SKILL_SWORD, quant = 1}, [3] = {id = SKILL_LEVEL, quant = 1}, [4] = {id = SKILL_CLUB, qua

Postado
local cfg = {
	level = 400,
	effect = 30,
	addLevel = {
		[1] = {ID_LEVEL = SKILL_AXE, quant = 1},
		[2] = {ID_LEVEL = SKILL_SWORD, quant = 1},
		[3] = {ID_LEVEL = SKILL_LEVEL, quant = 1},
		[4] = {ID_LEVEL = SKILL_CLUB, quant = 1}
	},

	storage = 344240,
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
	
	local posPlayer = getPlayerPosition(cid)
	
	if not getPlayerStorageValue(cid, cfg.storage) < 1 then
		doPlayerSendTextMessage(cid, 23, "Voce ja usou o item.")
		doSendMagicEffect(posPlayer, cfg.effect)
		return false
	end

	if not getPlayerLevel(cid) >= cfg.level then
		doPlayerSendTextMessage(cid, 23, "Voce nao possui nivel.")
		doSendMagicEffect(posPlayer, cfg.effect)
		return false
	end

	for k, z in pairs(cfg.addLevel) do
		doPlayerAddSkill(cid, z.ID_LEVEL, z.quant)
	end
	setPlayerStorageValue(cid, cfg.storage, 1)
	return true
end
2 horas atrás, r0bert0lol disse:

@KotZletY 

Quanto ao Seu script ele funcionou porem não como desejava, o script não está adicionando Leveis Exatos.

Se eu colocar por exemplo, 


count_lvl = 10},

O Player ganha apenas 1 Level, e se ele já estiver com skill Alta tipo 80 + ele recebe apenas alguns % do level.

 

 

@tataboy67 

Quanto ao seu Script,  está gerando esse erro ao usar o item.


[19:20:32.703] [Error - Action Interface]
[19:20:32.703] data/actions/scripts/max skills.lua:onUse
[19:20:32.703] Description:
[19:20:32.703] data/actions/scripts/max skills.lua:18: attempt to compare boolean with number
[19:20:32.703] stack traceback:
[19:20:32.703]  data/actions/scripts/max skills.lua:18: in function <data/actions/scripts/max skills.lua:14>

 

 

Postado
  • Autor

@tataboy67 

[22:29:24.611] data/actions/scripts/max skills.lua:onUse
[22:29:24.611] Description:
[22:29:24.611] data/actions/scripts/max skills.lua:18: attempt to compare boolean with number
[22:29:24.611] stack traceback:
[22:29:24.611]  data/actions/scripts/max skills.lua:18: in function <data/actions/scripts/max skills.lua:14>

Tataboy, voce fez alteração no script mas alterou a parte do for alí que executa a função doPlayerAddSkill mas oque está gerando esse Erro acredito eu que seja o not do if na linha 18.

Eu tentei tirar o not do if que confere a storage e aí o erro parou, porem dentro do jogo mesmo alterando a storage e usando pela primeira vez ele acusa que o player ja tem a storage retornando a mensagem

18:45 Voce ja usou o item.

E aí o script não executa o resto, assim não da pra saber se a parte doPlayerAddSkill está funcionando ;/

Postado
3 horas atrás, r0bert0lol disse:

@tataboy67 


[22:29:24.611] data/actions/scripts/max skills.lua:onUse
[22:29:24.611] Description:
[22:29:24.611] data/actions/scripts/max skills.lua:18: attempt to compare boolean with number
[22:29:24.611] stack traceback:
[22:29:24.611]  data/actions/scripts/max skills.lua:18: in function <data/actions/scripts/max skills.lua:14>

Tataboy, voce fez alteração no script mas alterou a parte do for alí que executa a função doPlayerAddSkill mas oque está gerando esse Erro acredito eu que seja o not do if na linha 18.

Eu tentei tirar o not do if que confere a storage e aí o erro parou, porem dentro do jogo mesmo alterando a storage e usando pela primeira vez ele acusa que o player ja tem a storage retornando a mensagem

18:45 Voce ja usou o item.

E aí o script não executa o resto, assim não da pra saber se a parte doPlayerAddSkill está funcionando ;/

local cfg = {
	level = 400,
	effect = 30,
	addLevel = {
		[1] = {ID_LEVEL = SKILL_AXE, quant = 1},
		[2] = {ID_LEVEL = SKILL_SWORD, quant = 1},
		[3] = {ID_LEVEL = SKILL_LEVEL, quant = 1},
		[4] = {ID_LEVEL = SKILL_CLUB, quant = 1}
	},

	storage = 344240,
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
	
	local posPlayer = getPlayerPosition(cid)
	
	if getPlayerStorageValue(cid, cfg.storage) >= 1 then
		doPlayerSendTextMessage(cid, 23, "Voce ja usou o item.")
		doSendMagicEffect(posPlayer, cfg.effect)
		return false
	end

	if not getPlayerLevel(cid) >= cfg.level then
		doPlayerSendTextMessage(cid, 23, "Voce nao possui nivel.")
		doSendMagicEffect(posPlayer, cfg.effect)
		return false
	end

	for k, z in pairs(cfg.addLevel) do
		doPlayerAddSkill(cid, z.ID_LEVEL, z.quant)
	end
	setPlayerStorageValue(cid, cfg.storage, 1)
	return true
end

 

Postado
local cfg = {
	level = 400,
	effect = 30,
	addLevel = {
		[1] = {id = SKILL_AXE, quant = 1},
		[2] = {id = SKILL_SWORD, quant = 1},
		[3] = {id = SKILL_LEVEL, quant = 1},
		[4] = {id = SKILL_CLUB, quant = 1}
	},

	storage = 344240,
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
	if getPlayerStorageValue(cid, cfg.storage) >= 1 then
		doPlayerSendTextMessage(cid, 23, "Voce ja usou o item.")
		doSendMagicEffect(getPlayerPosition(cid), cfg.effect)
		return true
	end

	if getPlayerLevel(cid) < cfg.level then
		doPlayerSendTextMessage(cid, 23, "Voce nao possui nivel.")
		doSendMagicEffect(getPlayerPosition(cid), cfg.effect)
		return true
	end

	for i = 1, #cfg.addLevel do
		local skill = cfg.addLevel[i]
		doPlayerAddSkill(cid, skill.id, skill.quant)
	end

	setPlayerStorageValue(cid, cfg.storage, 1)
	return true
end

Primeira observação: A função getPlayerLevel puxa um número, o que funciona com operadores.. Por isso está retornando tal erro...
Segunda observação: Quanto ao for, é mais otimizado utilizar um loop numérico ao invés de utilizar o pairs e o ipairs...

Editado por FlavioHulk (veja o histórico de edições)

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo