Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá a todos do Tibia King, trago uma modificação no arquivo potions.lua do servidor, no qual agora só deixa usar se o player for premium, um membro tinha pedido e realizei a tarefa, não cheguei a testar, se tiver algum erro por favor me avisem, ajudarei e\ou corrigirei o mais rápido possível. Espero que gostem!

 

Em Actions\scripts\liquids\potions.lua, abra-o e substitua por esse:

local config = {
	removeOnUse = "no", -- remover após usar
	usableOnTarget = "yes", -- Pode usar em amigos
	splashable = "no",
	realAnimation = "no", -- Animação da fala vista apenas para 1x1 SQM de distancia
	healthMultiplier = 1.0,
	manaMultiplier = 1.0,
}

config.removeOnUse = getBooleanFromString(config.removeOnUse)
config.usableOnTarget = getBooleanFromString(config.usableOnTarget)
config.splashable = getBooleanFromString(config.splashable)
config.realAnimation = getBooleanFromString(config.realAnimation)

local POTIONS = {
	[8704] = {empty = 7636, splash = 2, health = {50, 100}}, -- small health potion
	[7618] = {empty = 7636, splash = 2, health = {100, 200}}, -- health potion
	[7588] = {empty = 7634, splash = 2, health = {200, 400}, level = 50, vocations = {3, 4, 7, 8}, vocStr = "knights and paladins"}, -- strong health potion
	[7591] = {empty = 7635, splash = 2, health = {500, 700}, level = 80, vocations = {4, 8}, vocStr = "knights"}, -- great health potion
	[8473] = {empty = 7635, splash = 2, health = {800, 1000}, level = 130, vocations = {4, 8}, vocStr = "knights"}, -- ultimate health potion

	[7620] = {empty = 7636, splash = 7, mana = {70, 130}}, -- mana potion
	[7589] = {empty = 7634, splash = 7, mana = {110, 190}, level = 50, vocations = {1, 2, 3, 5, 6, 7}, vocStr = "sorcerers, druids and paladins"}, -- strong mana potion
	[7590] = {empty = 7635, splash = 7, mana = {200, 300}, level = 80, vocations = {1, 2, 5, 6}, vocStr = "sorcerers and druids"}, -- great mana potion

	[8472] = {empty = 7635, splash = 3, health = {200, 400}, mana = {110, 190}, level = 80, vocations = {3, 7}, vocStr = "paladins"} -- great spirit potion
}

local exhaust = createConditionObject(CONDITION_EXHAUST)
setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100))

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local config2 = {TemPremmy = getPlayerPremiumDays(cid)}
	local potion = POTIONS[item.itemid]
	if(config2.TemPremmy >= 1) then
	if(not potion) then
		return false
	end

	if(not isPlayer(itemEx.uid) or (not config.usableOnTarget and cid ~= itemEx.uid)) then
		if(not config.splashable) then
			return false
		end

		if(toPosition.x == CONTAINER_POSITION) then
			toPosition = getThingPos(item.uid)
		end

		doDecayItem(doCreateItem(2016, potion.splash, toPosition))
		doTransformItem(item.uid, potion.empty)
		return true
	end

	if(hasCondition(cid, CONDITION_EXHAUST_HEAL)) then
		doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
		return true
	end

	if(((potion.level and getPlayerLevel(cid) < potion.level) or (potion.vocations and not isInArray(potion.vocations, getPlayerVocation(cid)))) and
		not getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES))
	then
		doCreatureSay(itemEx.uid, "Only " .. potion.vocStr .. (potion.level and (" of level " .. potion.level) or "") .. " or above may drink this fluid.", TALKTYPE_ORANGE_1)
		return true
	end

	local health = potion.health
	if(health and not doCreatureAddHealth(itemEx.uid, math.ceil(math.random(health[1], health[2]) * config.healthMultiplier))) then
		return false
	end

	local mana = potion.mana
	if(mana and not doPlayerAddMana(itemEx.uid, math.ceil(math.random(mana[1], mana[2]) * config.manaMultiplier))) then
		return false
	end

	doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE)
	if(not realAnimation) then
		doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1)
	else
		for i, tid in ipairs(getSpectators(getCreaturePosition(cid), 1, 1)) do
			if(isPlayer(tid)) then
				doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1, false, tid)
			end
		end
	end

	doAddCondition(cid, exhaust)
	if(not potion.empty or config.removeOnUse) then
		doRemoveItem(item.uid, 1)
		return true
	end
	doRemoveItem(item.uid, 1)
     doPlayerAddItem(cid, potion.empty, 1)
	return true
else 
	     doPlayerSendTextMessage(cid, 27, "Você não é premium account !")
	     end
end 

É bem simples, espero que gostem, qualquer coisa estou a disposição, utilizado como base o script de potions.lua de um servidor 8.60.

 

Feito por min.

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

xBlackWolf

THX @Storm Night

Best Avatar Ever

 

9p0FoTd.png

Link para o post
Compartilhar em outros sites

O mesmo problema que eu citei no outro tópico: TemPremmy = getPlayerPremiumDays(cid) tem que ser uma checagem dentro do callback, ou seja, embaixo de function onUse(cid, item, fromPosition, itemEx, toPosition); Arrume isso em 48 horas que eu aprovo.

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)

Link para o post
Compartilhar em outros sites

O mesmo problema que eu citei no outro tópico: TemPremmy = getPlayerPremiumDays(cid) tem que ser uma checagem dentro do callback, ou seja, embaixo de function onUse(cid, item, fromPosition, itemEx, toPosition); Arrume isso em 48 horas que eu aprovo.

 

Arrumado, obrigado pelas dicas, o resto está correto ?

xBlackWolf

THX @Storm Night

Best Avatar Ever

 

9p0FoTd.png

Link para o post
Compartilhar em outros sites

acredito que sim, estarei pra movendo pra area correta e te darei 1 ponto de reputação pelo conteúdo. Obrigado pela contribuição :D

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)

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 PedroPr
      Galera aonde modifico !para que os viials do potion desapareção ????
       
    • Por Yago Blind.
      Salve galera do TK , estou tendo 2 problemas com meu servidor e não estou conseguindo solucionar . Vejam se podem me ajudar.

      1°[PEDIDO] Queria um comando "!Stamina" que recupere-se toda a stamina do player por 500k.
       
      2°[DUVIDA] Fiz um esquema de um topic que vi aqui mesmo no TK , de como fazer o pally usar a potion e continuar batendo ao mesmo tempo e não funcionou foi o de adicionar no weapons.xml na linha de Ammunitions o comando swing="true" e não funcionou , como faço agora ??
       
       
    • Por crupie
      Fala galera tudo bem?
       
      Eu criei um server recentemente e estou tendo um probleminha, venho procurando isso a um tempo e nao acho nenhuma soluçao para o meu problema.
       
       
      Meu servidor esta com poçoes infinitas, eu ja mudei o meu potions para remover ao usar.
      deem uma olhada no meu potions.lua
       
       
      Se alguem souber onde que eu possa mudar para remover as pots infinitas, favor me indicar.
       
      Obrigado
    • Por Enzoo
      Meu ot tem alavancas no ultimo andar do dp,porém queria colocar elas no templo,e essas que tem no dp,vem apenas 20 potions juntamente com uma backpack,gostaria de qnd clicasse,vim 100 potions porém sem backpack.
    • Por Enzo Caue
      Pra quem baixou recentemente a atualização V5 do @Mitsuig, o servidor veio com um bug nas potions, onde você usando qualquer potion ele apresentava um erro no console e a potion ficava infinita.. 
       

       
      Consegui arrumar e venho compartilhar com vocês.
       
      Em data/lib/StorageTables.lua, troque o que está lá por este :
      Storage = { OutfitQuest = { DefaultStart = 12010, -- Is needed for each Quest to start the log NightmareOutfit = 50083, BrotherhoodOutfit = 50084, ShamanAddons = 50085 }, pitsOfInfernoPumin = 50096, -- Promotion Storage cannot be changed, it is set in source code Promotion = 30018, FriendsandTraders = { DefaultStart = 12400, TheSweatyCyclops = 12401, TheMermaidMarina = 12402, TheBlessedStake = 12403, TheBlessedStakeWaitTime = 12404 }, SvargrondArena = { Arena = 1100, Pit = 1101 }, thievesGuild = { Quest = 12501, Mission01 = 12502, Mission02 = 12503, Mission03 = 12504, Mission04 = 12505, Mission05 = 12506, Mission06 = 12507, Mission07 = 12508, Mission08 = 12509, Door = 12510, Reward = 12513, TheatreScript = 12514 }, -- Achievement storages Achievements = { PotionAddict = 50562, AllowanceCollector = 50563, Bluebarian = 50564, WildWarrior = 50565, DoctorDoctor = 50566, Masquerader = 50567, InteriorDecorator = 50568 }, } Reinicie o server e pronto :]
       
      Créditos :
      imkimgran - otland
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo