Ir para conteúdo

Featured Replies

Postado
  • Autor

1- Coloca em creaturescripts/scripts/ login.lua antes do ultimo return true:

if getPlayerStorageValue(cid, 19333) == -1 then
    setPlayerStorageValue(cid, 19333, 0)

    setPlayerStorageValue(cid, 19334, 0)
end

2- a formula fica nessa linha aqui:

if experience >= (8+(getPlayerStorageValue(cid, config.storage)^2))/config.k then

você muda para:


if experience >= 10 *(getPlayerStorageValue(cid, config.storage) + 1) then

3-  basicamente colocar um else 

 

Spoiler

local terra = {351,352,353,354,355}

local levels = {
	[-1] = 2229, ---- skull
	[0] = 1294, --- small stone
	[10] = 2149, -- Small Emerald
	[12] = 2146, -- Small Sapphire
	[20] = 2145, -- Small Diamond 
	[40] = 2150, -- Small Amethyst
	[60] = 2147, -- Small Ruby
	[80] = 2144, -- Black Pearls 
	[100] = 2143, -- White Pearls
	[120] = 7761, -- small enchanted emerald 
	[140] = 7759, -- Small Enchanted Sapphiire
	[160] = 7762, -- Small Enchanted Amethyst
	[180] = 7760, -- Small Enchanted Ruby
	[200] = 2157  -- Pepita de Ouro
} 

local config = {
	storage = 19333,
	chance = 70, --- chance de achar um item ou não
	k = 10, --- constante de level.. quanto maior, mais dificil é upar. (a fórmula é level+1 * k)
	experience = 19334
}

local function getDrops(uid)
	local drops = {}
	for i = -1, getPlayerStorageValue(uid, config.storage) do
		if levels[i] then
			table.insert(drops, levels[i])
		end
	end
	return drops
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
	if isInArray(terra, itemEx.itemid) then
		local drops = getDrops(cid)
		doPlayerSetStorageValue(cid, config.experience, getPlayerStorageValue(cid, config.experience)+1)
		local experience = getPlayerStorageValue(cid, config.experience)  		
		if experience >= config.k *(getPlayerStorageValue(cid, config.storage) + 1) then
			doPlayerSetStorageValue(cid, config.storage, getPlayerStorageValue(cid, config.storage)+1)
      		doPlayerSetStorageValue(cid, config.experience, 0)
			doPlayerSendTextMessage(cid, 27, "Congratulations, you have leveled! Your currect level is "..getPlayerStorageValue(cid, config.storage) ..".")
			doSendMagicEffect(getCreaturePosition(cid),98)
			doSendAnimatedText(getCreaturePosition(cid), 'Mining UP', 100, cid)
			if getPlayerStorageValue(cid, config.storage) == 50 then
				doPlayerSendTextMessage(cid, 20, "For reaching level "..getPlayerStorageValue(cid, config.storage) .." you have been awarded with Mining Helmet.")
				doPlayerAddItem(cid, 7497, 1, true)
			end
		else
			doPlayerSendTextMessage(cid, 20, "You have picked ".. getPlayerStorageValue(cid, config.experience) .." from ".. config.k *(getPlayerStorageValue(cid, config.storage) + 1) ..". Keep it up.")
		end
		
		if config.chance >= math.random(1,100) then
			if #drops >= 1 then
				local item = drops[math.random(1,#drops)]
				doPlayerSendTextMessage(cid, 27, "You have found a "..getItemNameById(item)..".")
				doPlayerAddItem(cid, item, 1, true)
			end
			doSendMagicEffect(toPosition, 289)
			doSendAnimatedText(toPosition , 'TiickK!', 169)
		else
			doSendMagicEffect(toPosition, 288)
			doSendAnimatedText(toPosition , "Puuff!", 61)
		return true
		end
	elseif itemEx.itemid == item.itemid then
		doPlayerSendTextMessage(cid, 27, "You're currenctly level "..getPlayerStorageValue(cid, config.storage)..".")
	end
	return true
end

 

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

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

  • Respostas 122
  • Visualizações 20.1k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • tem sim, eu só não coloquei porque o próprio tibia ja tem um sistema de exhausted padrão de 1 segundo entre ações contendo itemEx (que é configurável pelo config.lua)

  • dá ué..  terra = {65783} . . . isInArray(terra, itemEx.uid) agora só vai dar pra minerar nos pisos que tiverem unique id 65783. A constante de level é o seguinte.. a fórmula da experiência necessá

  • sim ué.. pra upar do 50 pro 51 a conta é a seguinte: (51*51/k) - (50*50/k) que é igual a 1300 - 1250 = 50 picaretadas.

Postado

@xWhiteWolf Desculpa, eu esqueci de mencionar, funcionou perfeitamente a quantidade fixa de cada picaretada a cada level, porem, eu gostaria que ele resetasse, exemplo:

 

Level 0 ao 1 = 10 picaretada

Level 1 ao 2 = 20 picaretada começando do 0

Level 2 ao 3 = 30 picaretada começando do 0

 

No script atual quando to no nível 1 ele já diz que dei 10 picaretada do nível 1 ao 2, só que essas picaretada foi pra upar do 0 ao 1.

 

A proposito, muito obrigado por estar me ajudando!

Postado
  • Autor

para zerar vc usa: 

doPlayerSetStorageValue(cid, config.experience,

Editei ali em cima e ja aproveitei e corrigi um fecha parenteses q tava faltando

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Postado

@xWhiteWolf Estou utilizando o script que você passou pro @Thayguroficial

 

Que cada terra minera uma pedra preciosa diferente, está funcionando perfeitamente, só tem 1 pequeno problema:

 

Quando meu nível de mining é 10 e eu tento minerar uma terra que ta setada pra vir drops do nível 12 por exemplo, não vem nada, só upa meu nível de mining. (obvio, estou tentando minerar uma terra de nível acima)

 

Seria possível que quando o player tentasse da picaretada em terra de nível superior ao que ele tem de mining, aparecer uma mensagem em branco pra ele dizendo que aquela terra é só para niveis acima de 12. Isso para cada tipo de terra.

 

Terra especial nível 12: desculpe você não tem nível 12 para minerar essa terra.

Terra brilhante nível 30: desculpe você não tem nível 30 para minerar essa terra.

 

Gostaria que essa mensagem não fosse padrão pra 1 terra só, pois vão existir diversas terras diferentes, outra coisa, se possível, ao tentar da picaretada na terra de nível superior, que não houvesse efeito nenhum (não upa skill).

Postado
  • Autor

cola o script no seu comentário por favor pra eu n acabar pegando o errado

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

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