Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá tudo bem, estou aqui para fazer um pedido, de benção por level, ou seja, player que for level 100 paga mais que player que for level 300, uso ot serv 8.60 tfs 0.4

e nele o bless é no seguinte comando !bless, lá mesmo eu coloquei o valor que eu queria, mas ficou 150k para todos, gostaria de eu poder configurar o valor da bless dependendo do level do player.

desde já agradeço

(segue anexo o bless que utilizo)

local bless = {1, 2, 3, 4, 5}
local cost = 150000
function onSay(cid, words, param)
for i = 1, table.maxn(bless) do
if(getPlayerBlessing(cid, bless[i])) then
doPlayerSendCancel(cid, "Voce ja tem todas as bless.")
return TRUE
end
end

if(doPlayerRemoveMoney(cid, cost) == TRUE) then
for i = 1, table.maxn(bless) do
doPlayerAddBlessing(cid, bless[i])
end
doCreatureSay(cid, "Voce esta abencoado pelos Deuses!" , 19)
doSendMagicEffect(getPlayerPosition(cid), 49)
else
doPlayerSendCancel(cid, "Voce precisa de 150k para a bless.")
end
end
return TRUE

 

Link para o post
Compartilhar em outros sites
5 horas atrás, victorat disse:

UP

Aqui está o script, e já testei.. Se quiser ajuda para configurar ou se der um erro e só postar.
 

	local bless = {1, 2, 3, 4, 5}

	local price = {
	[1] = {min=1, max=49, gold=100},
	[2] = {min=50, max=99, gold=100},
	[3] = {min=100, max=199, gold=10000},
	[4] = {min=200, max=299, gold=1000},
	[5] = {min=300, max=399, gold=1000},
	[6] = {min=400, max=99999, gold=15000},

 }


		function onSay(cid, words, param)

 	local level = getPlayerLevel(cid)

		for i = 1, table.maxn(bless) do
			if(getPlayerBlessing(cid, bless[i])) then
			doPlayerSendCancel(cid, "Voce ja tem todas as bless.")
		return TRUE
	end
end
				for r = 1, table.maxn(price) do
			if level > price[r].min and level < price[r].max then
				if doPlayerRemoveMoney(cid, price[r].gold) == TRUE then
				doPlayerRemoveMoney(cid, price[r].gold) 
				for i = 1, table.maxn(bless) do
					doPlayerAddBlessing(cid, bless[i])
				end

					doCreatureSay(cid, "Voce esta abencoado pelos Deuses!" , 19)
					doSendMagicEffect(getPlayerPosition(cid), 49)

					elseif (doPlayerRemoveMoney(cid, price[r].gold) == FALSE) then
					doPlayerSendCancel(cid, "Voce nao tem dinheiro suficiente.")
				end
end
end
end
return TRUE

 

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

                                                                     Ajudei? De nada \o/                                            Att Rusherzin

Link para o post
Compartilhar em outros sites
local bless = {1, 2, 3, 4, 5}

	local price = {
	[1] = {min=1, max=49, gold=10000},
	[2] = {min=50, max=99, gold=20000},
	[3] = {min=100, max=149, gold=40000},
	[3] = {min=150, max=199, gold=80000},
	[4] = {min=200, max=249, gold=160000},
	[5] = {min=250, max=299, gold=320000},
	[6] = {min=300, max=349, gold=640000},
	[7] = {min=350, max=999, gold=1280000},
 }


		function onSay(cid, words, param)

 	local level = getPlayerLevel(cid)

		for i = 1, table.maxn(bless) do
			if(getPlayerBlessing(cid, bless[i])) then
			doPlayerSendCancel(cid, "Voce ja tem todas as bless.")
		return TRUE
	end
end
				for r = 1, table.maxn(price) do
			if level > price[r].min and level < price[r].max then
				if doPlayerRemoveMoney(cid, price[r].gold) == TRUE then
				doPlayerRemoveMoney(cid, price[r].gold) 
				for i = 1, table.maxn(bless) do
					doPlayerAddBlessing(cid, bless[i])
				end

					doCreatureSay(cid, "Voce esta abencoado pelos Deuses!" , 19)
					doSendMagicEffect(getPlayerPosition(cid), 49)

					elseif (doPlayerRemoveMoney(cid, price[r].gold) == FALSE) then
					doPlayerSendCancel(cid, "Voce nao tem dinheiro suficiente.")
				end
end
end
end
return TRUE

eu fiz assim, pra deixar do meu jeito.. esta certo? mudei apenas o valor, level e adicionei alguns lvls a mais, ai oq acontece

o player é lvl 1, ele diz: !bless, e o comando !bless sai no default e nao acontece nada, após inserir alguns lvls nele para o lvl 15, ele diz !bless e a bless cobra 20k "q n deveria" o correto seria 10k

Já no lvl 70, a bless cobra 40k, o correto seria 20k.. 

ai testei no level 115, simplesmente o comando !bless sai no default e nada acontece, oque seria isso? vlw!

Link para o post
Compartilhar em outros sites

@victorat Eu testei aqui e deu certo, botei para as mensagens saírem acima do player agora, quando o comando sai no chat é por que o player não tem dinheiro ou já tem a benção..
Tenta usar esse:

 


 

 

local bless = {1, 2, 3, 4, 5}

	local price = {
	[1] = {min=1, max=49, gold=10000},
	[2] = {min=50, max=99, gold=20000},
	[3] = {min=100, max=149, gold=40000},
	[3] = {min=150, max=199, gold=80000},
	[4] = {min=200, max=249, gold=160000},
	[5] = {min=250, max=299, gold=320000},
	[6] = {min=300, max=349, gold=640000},
	[7] = {min=350, max=9999, gold=1280000},
 }


		function onSay(cid, words, param)

 	local level = getPlayerLevel(cid)

		for i = 1, table.maxn(bless) do
			if(getPlayerBlessing(cid, bless[i])) then
			doCreatureSay(cid, "Voce ja tem todas as bless.", 19)
		return TRUE
	end
end
				for r = 1, table.maxn(price) do
			if level > price[r].min and level < price[r].max then
				if doPlayerRemoveMoney(cid, price[r].gold) == TRUE then
				doPlayerRemoveMoney(cid, price[r].gold) 
				for i = 1, table.maxn(bless) do
					doPlayerAddBlessing(cid, bless[i])
				end

					doCreatureSay(cid, "Voce esta abencoado pelos Deuses!" , 19)
					doSendMagicEffect(getPlayerPosition(cid), 49)

					elseif (doPlayerRemoveMoney(cid, price[r].gold) == FALSE) then
					doCreatureSay(cid, "Voce nao tem dinheiro suficiente.", 19)
				end
end
end
end
return TRUE
Editado por Rusherzin (veja o histórico de edições)

                                                                     Ajudei? De nada \o/                                            Att Rusherzin

Link para o post
Compartilhar em outros sites

Cara, seguinte: todo player level 1 quando for usar a bless ela aparece no default e nada acontece, mas quando é level 2, a bless custa 20k, já no level 49 ele escreve !bless e ela sai no default, então quando lvl 50 ele volta a usar bless novamente, mas pagando 40k, e no lvl 99 volta aparecer no default o comando !bless, coloquei ele pro lvl 104, mesma coisa, só funcionou a bless quando morri, ai nasci e usei bless, mas ai custando no lvl 176 160k

cheguei a conclusão que o valor da bless sempre sera o dobro da tabela de preços, e que quando a bless buga, aparecendo no default.. pra ele poder usar bless novamente, ele terá que cair em um level antes ou depois do atual da tabela, tipo se ele esta pagando o valor da bless do level 100-150 e bugou, ele terá que ir pro lvl 99 ou 151 para poder usar novamente a bless

 

Link para o post
Compartilhar em outros sites

Putz, já entendi. Muda isso:

if level > price[r].min and level < price[r].max then

Para isso:

if level >= price[r].min and level <= price[r].max then
Editado por Rusherzin (veja o histórico de edições)

                                                                     Ajudei? De nada \o/                                            Att Rusherzin

Link para o post
Compartilhar em outros sites

Cara.. olha só oque achei no script, de uma olhada nos campos duhudhauda é 1, 2 , 3, 3, ...

cara esta tudo ok agora, substitui aquilo que voce pediu, estou conseguindo sempre usar bless, porém toda soma do gold da bless é x2, mas da nada não, agora eu sei que a regra é toda bless colocar o valor da metade, que entao vai pedir o gold correto! valeu mano, era isso mesmo que eu estava precisando, colocar igualdade haha vlw!

Link para o post
Compartilhar em outros sites
  • 2 years later...
Em 02/01/2016 em 13:37, Rusherzin disse:

@victorat Eu testei aqui e deu certo, botei para as mensagens saírem acima do player agora, quando o comando sai no chat é por que o player não tem dinheiro ou já tem a benção..
Tenta usar esse:

 


 

 


local bless = {1, 2, 3, 4, 5}

	local price = {
	[1] = {min=1, max=49, gold=10000},
	[2] = {min=50, max=99, gold=20000},
	[3] = {min=100, max=149, gold=40000},
	[3] = {min=150, max=199, gold=80000},
	[4] = {min=200, max=249, gold=160000},
	[5] = {min=250, max=299, gold=320000},
	[6] = {min=300, max=349, gold=640000},
	[7] = {min=350, max=9999, gold=1280000},
 }


		function onSay(cid, words, param)

 	local level = getPlayerLevel(cid)

		for i = 1, table.maxn(bless) do
			if(getPlayerBlessing(cid, bless[i])) then
			doCreatureSay(cid, "Voce ja tem todas as bless.", 19)
		return TRUE
	end
end
				for r = 1, table.maxn(price) do
			if level > price[r].min and level < price[r].max then
				if doPlayerRemoveMoney(cid, price[r].gold) == TRUE then
				doPlayerRemoveMoney(cid, price[r].gold) 
				for i = 1, table.maxn(bless) do
					doPlayerAddBlessing(cid, bless[i])
				end

					doCreatureSay(cid, "Voce esta abencoado pelos Deuses!" , 19)
					doSendMagicEffect(getPlayerPosition(cid), 49)

					elseif (doPlayerRemoveMoney(cid, price[r].gold) == FALSE) then
					doCreatureSay(cid, "Voce nao tem dinheiro suficiente.", 19)
				end
end
end
end
return TRUE

 

cara, eu testei ela deu certo mas eu continuo perdendo items e level, como arrumo isso?

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 hallz7
      Bom dia TibiaKing.

      Ja estou com um projeto a alguns anos, venho adquirindo experiencia com o tempo. Estou nesse projeto sozinho, ou seja, mapeando e "scriptando", mas não tenho tanta experiencia em scripts, a maioria eu pego pronto e edito certas/pequenas coisas. Dito isso, segue minha duvida:

      Eu preciso editar o "RATE DAS BLESSINGS"... Voce deve estar se perguntando agora, "Como assim hallz!?
      Deixe-me ser mais claro, as blessings atuais do Tibia diminuem uma porcentagem "X" de exp e skill que serão perdidos caso voce morra, e claro, a chance de dropar sua bp e itens tbm não fica de fora. Eu quero EDITAR esses valores de "defesa" da bless, ou seja, quero aumentar/diminuir o quanto uma bless defende.
      Eu ja procurei nas pastas do meu otserver, mas nao encontrei nenhum script do tipo, que possa estar relacionado com a rate atual das blessings. Baixei tbm o TFS 1.2 Vanaheim Global e não encontrei nenhum arquivo do tipo.
      ENFIM... Gostaria que alguem me ajudasse, informando se esse arquivo existe, e se existe aonde ele está localizado, e é claro, caso ele seja um arquivo muito complexo como posso edita-lo..?

      Desde ja agradeço ao TibiaKing, que sempre me ajudou muito!
      Aguardo a resposta.
    • Por Mr. Void
      Ola! Como todos os ots, o meu possui blessing system (!bless) porem eu recebi algumas reclamacoes de players, que morreram e droparam coisas. Inclusive ouvi falar tambem que existe uma chance da bless nao estar protegendo 100%, ou seja, existir chance de dropar algo mesmo estando de bless. Alguem sabe onde e como eu posso solucionar isso?
       
      Obrigado desde ja
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo