JN

[Resolvido]Comprar Bless Por Talkaction

By JNLPB, 20 de jan. de 2010 in Archived

6
994
JNLPBJ
20 de janeiro de 2010 às 10:32

eae! Eu gostaria de uma talkaction para que os players possam comprar as 5 bless de uma vez pelo preço de 100k ao dizer !bless. Se alguém puder fazer eu agradeço.

Edited Janeiro 20 by JNLPB

WendelsW
20 de janeiro de 2010 às 10:42

Vá no seu OT depois data/talkactions/scripts :

e copie um bloco de notas lá com qualquer script..agora cole ele e abra-o

dentro dele coloque isso :

 

 

local priceBless = 100000

 

function onSay(cid, words, param)

if getPlayerBlessing(cid, 1) or getPlayerBlessing(cid, 2) or getPlayerBlessing(cid, 3) or getPlayerBlessing(cid, 4) or getPlayerBlessing(cid, 5) then

doPlayerSendCancel(cid,'You have already got one or more blessings!')

else

if doPlayerRemoveMoney(cid, priceBless) == TRUE then

doPlayerAddBlessing(cid, 1)

doPlayerAddBlessing(cid, 2)

doPlayerAddBlessing(cid, 3)

doPlayerAddBlessing(cid, 4)

doPlayerAddBlessing(cid, 5)

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_HOLYDAMAGE)

doPlayerSendTextMessage(cid,25,'You have been blessed.')

else

doPlayerSendCancel(cid, "You need "..priceBless.." gold coins to get all blessings!")

end

end

return 1

end

 

Legenda ;

Roxo - dinheiro para cada bless em ROSA

AZUL - Significa ; você precisa de "tanto de dinheiro" para comprar a bless !

VERDE - Você ganhou a bless!

 

depois vá nos talkactions e ponha isso !

<talkaction words="!blessing" script="systembless.lua"/>

 

Mais essas blessing são compradas todas de 1 vez..vc fica 100% protegido..nao perde nada nem de level nem skill!

ali emcima estão separadas 1 por 1 ..mais são compradas todas juntas!

Edited Janeiro 20 by WendelsDark

rockstar96R
20 de janeiro de 2010 às 13:34
local costPerBless = 20000
local bless = {}
function onSay(cid)
for i = 1, 5 do
	if getPlayerBlessing(cid, i) == false then
		table.insert(bless, i)
	end
end
if table.getn(bless) == 0 then
	doPlayerSendTextMessage(cid, 25, "You already have all blessings.")
	doSendMagicEffect(getCreaturePosition(cid), 2)
else
	for i = 1, table.getn(bless) do
		doPlayerAddBlessing(cid, bless[i])
		doPlayerRemoveMoney(cid, costPerBless*table.getn(bless))
	end
	doPlayerSendTextMessage(cid, 25, "You bought "..table.getn(bless).." blessings for "..table.getn(bless)*costPerBless.."!")
end
return true
end

Esse aqui só compra as blessings que o player não tem, além de avisar se já tem todas ele também avisa quantas você comprou, e por quanto comprou.

Como eram 5 blessings por 100 mil, coloquei o custo de cada uma por 20 mil.

Edited Janeiro 20 by iRockStar

JNLPBJ
20 de janeiro de 2010 às 15:11

Agradeço a ajuda de todos,vlw mesmo! :happy:

satan666S
20 de janeiro de 2010 às 15:15
local costPerBless = 20000
local bless = {}
function onSay(cid)
for i = 1, 5 do
	if getPlayerBlessing(cid, i) == false then
		table.insert(bless, i)
	end
end
if table.getn(bless) == 0 then
	doPlayerSendTextMessage(cid, 25, "You already have all blessings.")
	doSendMagicEffect(getCreaturePosition(cid), 2)
else
	for i = 1, table.getn(bless) do
		doPlayerAddBlessing(cid, bless[i])
		doPlayerRemoveMoney(cid, costPerBless*table.getn(bless))
	end
	doPlayerSendTextMessage(cid, 25, "You bought "..table.getn(bless).." blessings for "..table.getn(bless)*costPerBless.."!")
end
return true
end

Esse aqui só compra as blessings que o player não tem, além de avisar se já tem todas ele também avisa quantas você comprou, e por quanto comprou.

Como eram 5 blessings por 100 mil, coloquei o custo de cada uma por 20 mil.

 

o problema é que mesmo que o player não tenha dinheiro ele compra a bless.

ficaria melhor se fosse apenas um loop.

DaNDaNrOxXD
20 de janeiro de 2010 às 16:06

Segundo o JNLPB o problema foi resolvido, então vou fechar o tópico.

Obrigado pela ajuda de todos, estou adicionando 1 ponto de reputação para os que criaram o script.

 

Tópico Fechado