Jump to content

Scripting Recompensa por vocação !


Go to solution Solved by math0182,

Recommended Posts

  • Solution

.Qual servidor ou website você utiliza como base? 

OtservBr 12.60

 

Bom dia galera do Tibia King.

No meu servidor eu optei usar rookgaard como ilha inicial. O set inicial de rookgaard eu deixei salvo no Rook Sample.

Porém eu queria que ao sair de rook para main os players ganhassem um set basico para cada vocação e também recompensas por level, por exemplo 10k no lvl 20, 50k no lvl 50 e por ao vai...

Eu não consegui fazer nenhum script de recompensa funcionar pois nessa versão nao se usa mais XML para registrar os scripts..

Se alguém puder me dar uma luz fico eternamente agradecido

 

Link to post
Share on other sites

  • Moderator
41 minutos atrás, math0182 disse:

.Qual servidor ou website você utiliza como base? 

OtservBr 12.60

 

Bom dia galera do Tibia King.

No meu servidor eu optei usar rookgaard como ilha inicial. O set inicial de rookgaard eu deixei salvo no Rook Sample.

Porém eu queria que ao sair de rook para main os players ganhassem um set basico para cada vocação e também recompensas por level, por exemplo 10k no lvl 20, 50k no lvl 50 e por ao vai...

Eu não consegui fazer nenhum script de recompensa funcionar pois nessa versão nao se usa mais XML para registrar os scripts..

Se alguém puder me dar uma luz fico eternamente agradecido

 

 

Esse script é simples e facil de configurar tem algumas coisas adicionadas já só configurar certinho

 

Spoiler

 



local mainVocations = {
	VOCATION.CLIENT_ID.KNIGHT,
	VOCATION.CLIENT_ID.PALADIN,
	VOCATION.CLIENT_ID.SORCERER,
	VOCATION.CLIENT_ID.DRUID
}
local knightVocations = {
	VOCATION.CLIENT_ID.KNIGHT
}
local paladinVocations = {
	VOCATION.CLIENT_ID.PALADIN
}
local sorcererVocations = {
	VOCATION.CLIENT_ID.SORCERER
}
local druidVocations = {
	VOCATION.CLIENT_ID.DRUID
}
local rookVocations = {
	VOCATION.CLIENT_ID.NONE
}

local rewardsConfig = {
	-- rookgaard
	{
		level = 10,
		vocations = rookVocations,
		storage = 25100,
		items = {
			{ 2160, 1 },
		}
	},
	{
		level = 15,
		vocations = rookVocations,
		storage = 25101,
		items = {
			{ 2160, 3 },
		}
	},
	{
		level = 20,
		vocations = rookVocations,
		storage = 25102,
		items = {
			{ 2160, 6 },
		}
	},
	{
		level = 25,
		vocations = rookVocations,
		storage = 25103,
		items = {
			{ 2160, 9 },
		}
	},
	{
		level = 30,
		vocations = rookVocations,
		storage = 25104,
		items = {
			{ 2160, 12 },
		}
	},
	{
		level = 35,
		vocations = rookVocations,
		storage = 25105,
		items = {
			{ 2160, 15 },
		}
	},
	{
		level = 40,
		vocations = rookVocations,
		storage = 25106,
		items = {
			{ 2160, 18 },
		}
	},
	{
		level = 45,
		vocations = rookVocations,
		storage = 25107,
		items = {
			{ 2160, 21 },
		}
	},
	{
		level = 50,
		vocations = rookVocations,
		storage = 25108,
		items = {
			{ 2160, 25 },
		}
	},
	{
		level = 60,
		vocations = rookVocations,
		storage = 25109,
		items = {
			{ 2173, 1 },
		}
	},
	--- vocations main
	{
		level = 10,
		vocations = mainVocations,
		storage = 25200,
		items = {
			{ 2160, 2 },
		}
	},
	{
		level = 20,
		vocations = mainVocations,
		storage = 25201,
		items = {
			{ 2160, 4 },
		}
	},
	{
		level = 40,
		vocations = mainVocations,
		storage = 25202,
		items = {
			{ 2160, 6 },
		}
	},
	{
		level = 60,
		vocations = mainVocations,
		storage = 25203,
		items = {
			{ 2160, 8 },
		}
	},
	{
		level = 60,
		vocations = paladinVocations,
		storage = 25204,
		items = {
			{ 8850, 1 },
			{ 8856, 1 },
		}
	},
	{
		level = 60,
		vocations = knightVocations,
		storage = 25205,
		items = {
			{ 7389, 1 },
			{ 11305, 1 },
			{ 7414, 1 },
			{ 7415, 1 },
			{ 7384, 1 },
			{ 7382, 1 },
			{ 6131, 1 },
		}
	},
	{
		level = 60,
		vocations = druidVocations,
		storage = 25206,
		items = {
			{ 8910, 1 },
			{ 2183, 1 },
			{ 8903, 1 },
		}
	},
	{
		level = 60,
		vocations = sorcererVocations,
		storage = 25207,
		items = {
			{ 8922, 1 },
			{ 2187, 1 },
			{ 8903, 1 },
		}
	},
	{
		level = 80,
		vocations = mainVocations,
		storage = 25208,
		items = {
			{ 2160, 10 },
		}
	},
	{
		level = 120,
		vocations = mainVocations,
		storage = 25209,
		items = {
			{ 2160, 12 },
		}
	},
	{
		level = 150,
		vocations = mainVocations,
		storage = 25210,
		items = {
			{ 2160, 14 },
		}
	},
	{
		level = 175,
		vocations = mainVocations,
		storage = 25211,
		items = {
			{ 2160, 16 },
		}
	},
	{
		level = 200,
		vocations = mainVocations,
		storage = 25212,
		items = {
			{ 2160, 18 },
		}
	},
	{
		level = 250,
		vocations = mainVocations,
		storage = 25213,
		items = {
			{ 2160, 20 },
		}
	},	
}

local reward = CreatureEvent("RewardLevel")

function reward.onAdvance(player, skill, oldLevel, newLevel)
	if skill ~= SKILL_LEVEL then
		return true
	end
	
	for i1, rewardConfig in pairs(rewardsConfig) do
		if newLevel >= rewardConfig.level then
			if table.contains(rewardConfig.vocations, player:getVocation():getClientId()) then
				if player:getStorageValue(rewardConfig.storage) < 1 then
					player:setStorageValue(rewardConfig.storage, os.time())
					for i2, item in pairs(rewardConfig.items) do
						player:addItem(item[1], item[2])
					end
					player:getPosition():sendMagicEffect(CONST_ME_ORANGE_FIREWORKS)
					player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You received reward for getting " .. rewardConfig.level .. " level.")
				end
			end
		end
	end
	
	return true
end

reward:register()

 

 

🛠️ Projeto NTO NS 🛠️

📝 Detalhes 📝

🗺️ Mapa próprio em produção 🗺️

🖱️ Versão: 8.60 🖱️

🔥 War System 🔥

⚔️ Jutsus Próprios baseado no anime ⚔️

🔰 Itens com as características e efeitos do anime 🔰

💻 Para mais detalhes acesse as redes sociais do servidor abaixo 💻

💡 Usando como referencias Anime/Jogos/Wallpapers etc... para trazer algo mais próximo possível do universo de Naruto 💡

 

💎 Redes Sociais 💎

🌀 Facebook 🌀

🎒 Youtube 🎒
🌌 Discord 🌌

 

📚 Tutoriais / Conteúdos 📥

♨️ Clique Aqui ♨️

Link to post
Share on other sites

  • Moderator
15 minutos atrás, math0182 disse:

Você é um monstro !! Obrigado mano, vou editar e testar.

Eu coloco em creaturescripts né ?

eu prefiro deixar em custom porque não é um script do projeto ai a pasta custom é tudo que não faz parte do original porém faço isso por questão de organização

🛠️ Projeto NTO NS 🛠️

📝 Detalhes 📝

🗺️ Mapa próprio em produção 🗺️

🖱️ Versão: 8.60 🖱️

🔥 War System 🔥

⚔️ Jutsus Próprios baseado no anime ⚔️

🔰 Itens com as características e efeitos do anime 🔰

💻 Para mais detalhes acesse as redes sociais do servidor abaixo 💻

💡 Usando como referencias Anime/Jogos/Wallpapers etc... para trazer algo mais próximo possível do universo de Naruto 💡

 

💎 Redes Sociais 💎

🌀 Facebook 🌀

🎒 Youtube 🎒
🌌 Discord 🌌

 

📚 Tutoriais / Conteúdos 📥

♨️ Clique Aqui ♨️

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By VitorDeMacedo
      Boa noite a todos, esse é meu primeiro topico aqui na TK então me desculpem se eu errar em alguma coisa nesse posts. 
       
      Qual o motivo deste tópico? [Error - CreatureScript Interface]
      Possuo um servidor de tibia "King-Fusion" nunca tive problema de erros na distro ao ligar, alguns era apenas de houses etc... Só que agora começou a da esse "ERROR" e de uma forma floodante fazendo com que o servidor "CRASHA-SE" o error é o seguinte ↓
       
      Está surgindo algum erro? Se sim coloque-o aqui. 
       
      Você tem o código disponível? Se tiver publique-o aqui: 
      function onKill(cid) if isPlayer(cid) then setPlayerStorageValue(cid, 167912, math.max(0, getPlayerStorageValue(cid, 167912)) + 1) end return true end function onDeath(cid, corpse, deathList) local target = deathList[1] if target and isPlayer(target) then setPlayerStorageValue(cid, 167913, math.max(0, getPlayerStorageValue(cid, 167913)) + 1) end return true end  
      Por favor gente, me ajudemmmmmmmmmm!
      Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 
       


    • By Luanmax21
      Ola gostaria de um scritpt player estivese usando o item x  e ele perdece menos 50% de skills e level.
    • By Shoguns
      .Qual servidor ou website você utiliza como base? 
       
      Qual o motivo deste tópico? 
      Tenho um Script de Boost de exp e loot diário por monstro aleatório, o erro é que o monstro não é trocado, só muda quando reinicia o sv e executa a funcao startup, queria que o script tbm fizesse que o monstro fosse alterado junto com o dia
      Está surgindo algum erro? Se sim coloque-o aqui. 
       
       
      Você tem o código disponível? Se tiver publique-o aqui: 
       
       
      Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 
       
    • By Eycron Otp
      oiipipip
    • By stauro
      Boa tarde seus lindos, to enchendo o saco de novo.
      A Stamina passa das 14-12-10hrs e ainda continua dropando loot dos monstros e exp. Alguém sabe onde altera isso na source e como faz? Uso TFS 0.4 protocolo 8.6
      Meu config.lua está assim:
       
          rateStaminaLoss = 1
          rateStaminaGain = 3
          rateStaminaThresholdGain = 12
          staminaRatingLimitTop = 40 * 60
          staminaRatingLimitBottom = 14 * 60
          staminaLootLimit = 14 * 60
          rateStaminaAboveNormal = 1.5
          rateStaminaUnderNormal = 0.5
          staminaThresholdOnlyPremium = true
       
       
       
         
       
       
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...

Important Information

Confirmação de Termo