Ir para conteúdo

Featured Replies

  • 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

@FlavioHulk Pior que eu havia utilizado o for numérico primeiro kk
mas ele falou que deu erro ali e eu n tinha visto que era na linha 18 e pensei que era no for, dai mudei para pairs:
 

10 horas atrás, tataboy67 disse:

@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 = 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 i = 1, #cfg.addLevel do
		doPlayerAddSkill(cid, cfg.addLevel[i].ID_LEVEL, cfg.addLevel[i].quant)
	end
	setPlayerStorageValue(cid, cfg.storage, 1)
	return true
end

 

A parte do getPlayerLevel n esta errado eu acho... na verdade o erro estava causando na linha 18:
if not getPlayerStorageValue(cid, cfg.storage) < 1 then

Postado
34 minutos atrás, tataboy67 disse:

@FlavioHulk Pior que eu havia utilizado o for numérico primeiro kk
mas ele falou que deu erro ali e eu n tinha visto que era na linha 18 e pensei que era no for, dai mudei para pairs:
 

A parte do getPlayerLevel n esta errado eu acho... na verdade o erro estava causando na linha 18:
if not getPlayerStorageValue(cid, cfg.storage) < 1 then

Então, justamente nessa linha... Ele tá vendo como erro utilizar not em uma função que puxa número... Ao certo deveria ser assimilado junto com operadores aritméticos, saca? Nesse caso só remover o not e ajustar o operador "<"

Postado
2 horas atrás, FlavioHulk disse:

Então, justamente nessa linha... Ele tá vendo como erro utilizar not em uma função que puxa número... Ao certo deveria ser assimilado junto com operadores aritméticos, saca? Nesse caso só remover o not e ajustar o operador "<"

Obrigado pela dica ^^ . Não usarei mais not em casos do tipo.

Postado
  • Autor

Ambos os códigos estão funcionando, mas o estranho é que não sei o motivo mas em meu servidor não adiciona os leveis exatos, do Level 10 ao 13 ao usar independentemente da quantidade de Leveis que coloco para ser adicionado o player recebe apenas 1 level, e apartir do 13 buga e não recebe mais nada, não sei oque está levando a acontecer isso mas acho que é algo em meu servidor e não no script. (estou investigando)

 

Os codigos que testei e "funcionaram" são esses;

Script do Kotz

Spoiler

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 = SKILL_SWORD, count_lvl = 10},
{skill = SKILL_AXE, count_lvl = 10}
}

function onUse(cid, item, fromPosition, itemEx, toPosition)

	if getPlayerStorageValue(cid, storage) < 1 then
		if getPlayerLevel(cid) >= lvl_min then 
			doPlayerPopupFYI(cid, "Parabens, voce acaba de maximizar o seu personagem!")
			doSendMagicEffect(getPlayerPosition(cid), 5)
			setPlayerStorageValue(cid, storage, 1)
			for _, t in pairs(skills_t) do
				doPlayerAddSkill(cid, t.skill, t.count_lvl)
			end
		else
			selfSay('Voce nao tem Level Suficiente !', cid)
			doSendMagicEffect(getPlayerPosition(cid), 3)
		end
	else
		selfSay('Voce ja utilizou esse Max Scroll Antes !', cid)
		doSendMagicEffect(getPlayerPosition(cid), 3)
	end

	return true
end

Script do Tataboy corrigido pelo Flaviohulk

Spoiler

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

 

Agradeço a todos que dedicaram tempo montando o script xD

Editado por r0bert0lol (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.6k

Informação Importante

Confirmação de Termo