AL
pedido

BAU DE Quest

Por Alezzo, 26 de jun. de 2015 em Scripts

script
resolvido
13
2.6k
AlezzoA
26 de junho de 2015 às 12:25

Fala ai pessoal, beleza. alguem pode me ajudar nessa duvida, e o seguinte:



Voce so pode abrir o bau da quest se o player matar um certo boss. Depois de morto ele pode pegar o item, e nao pode pega novamente porque ja fez a quest.



obrigado por quem for ajudar.



26 de junho de 2015 às 12:38

Tenta isso : http://www.xtibia.com/forum/topic/201228-pegar-item-apos-matar-o-boss/

 

 

AlezzoA
26 de junho de 2015 às 12:53

E quase parecido com o topico acima, porem nao quero um tempo entre minutos e nao pegar o bau novamente .

 

Tipo assim, matei o boss, com o boss ja morto posso pegar o bau dele, entendeu ?!

 

 

26 de junho de 2015 às 12:58

Sim, bom o script é uma boa base, espere alguém que tenda de lua, para te ajudar ^^, só da uma modificada no script.

BrunoB
26 de junho de 2015 às 13:36
Melhor resposta

@,

 

Vá em data/creaturescripts/creaturescripts.xml e adicione a seguinte tag:

<event type="kill" name="bossKill" script="bosskill.lua"/>
Em data/creaturescripts/scripts crie o arquivo bosskill.lua com o seguinte conteúdo:

local config = {
	boss = "Nome do Boss",
	storage = 724800
}

function onKill(cid, target, damage, flags)
    if isMonster(target) then  
		if getCreatureName(target) == config.boss and getPlayerStorageValue(cid, config.storage) == -1 then
			setPlayerStorageValue(cid, config.storage, 1)
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabens por matar o boss " .. config.boss .. ", pode pegar sua recompensa.")
			doSendMagicEffect(getCreaturePosition(cid), 66)
		end  
	end
	return true
end
Ainda em data/creaturescripts/scripts adicione isso em login.lua antes do ultimo return true:

registerCreatureEvent(cid, "bossKill")
Agora vá em data/actions/actions.xml e coloque a seguinte tag:

<action actionid="4213" script="rewardBoss.lua" />
E para finalizar, em data/actions/scripts crie o arquivo rewardBoss.lua com o seguinte conteúdo:

local config = {
	questStorage = 724877,
	bossStorage = 724800,
	item = {18422, 5} -- itemid, amount
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
	if getPlayerStorageValue(cid, config.bossStorage) >= 1 then
		if getPlayerStorageValue(cid, config.questStorage) >= 1 then
			doPlayerSendTextMessage(cid, 25, "Desculpe, mas voce ja completou essa quest!")
			return false
		end
		doPlayerAddItem(cid, config.item[1], config.item[2])
		setPlayerStorageValue(cid, config.questStorage, 1)
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabens! Voce recebeu "..config.item[2].." "..getItemNameById(config.item[1])..".")
		doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYDAMAGE)
		return true
	else
		doPlayerSendTextMessage(cid, 25, "The chest is empty.")
	end
	return false
end

Editado Junho 26 por Bruno Minervino

AlezzoA
26 de junho de 2015 às 13:54

Muito obrigado cara, mas e preciso colocar o:

 

<script>
<event name=""/>
</script>
ne isso ?
coloquei o script aqui e nao funcionou
olhe o erro que aparece

 

attempt do call global "getplayerqueststorageValue" <a nill value>

 

 

Editado Junho 26 por DarkTeam

BrunoB
26 de junho de 2015 às 14:57

Muito obrigado cara, mas e preciso colocar o:

 

<script>

<event name=""/>

</script>

 

ne isso ?

 

 

@Bruno Minervino

coloquei o script aqui e nao funcionou

 

olhe o erro que aparece

Erro meu, concertado...

AlezzoA
26 de junho de 2015 às 15:09
[Error - LuaScriptInterface::loadFile] data/actions/scripts/bigtalk.lua:9: 'then
' expected near 'if'
[Warning - Event::loadScript] Cannot load script (data/actions/scripts/bigtalk.lua)
data/actions/scripts/bigtalk.lua:9: 'then' expected near 'if'

 

@Bruno Minervino, apareceu esse erro dentro da pasta scripts, actions.

Editado Junho 26 por DarkTeam

BrunoB
26 de junho de 2015 às 15:26
apareceu esse erro dentro da pasta scripts, actions.

 

Tiro um erro e deixo outro kkkk, já arrumei!

AlezzoA
26 de junho de 2015 às 15:39

@Bruno Minervino,cara, Muito Obrigado !!!!

 

sem querer ser chato, mas voce poderia colocar um aviso do tipo "parabens por matar o boss x, pode pegar sua recompensa"

 

 

Editado Junho 26 por DarkTeam

BrunoB
26 de junho de 2015 às 16:03

@, coloquei a mensagem ao matar o boss.

 

Tópico movido para a seção de dúvidas e pedidos resolvidos.

Editado Junho 26 por Bruno Minervino

AlezzoA
26 de junho de 2015 às 16:18

mesmo assim, obrigado !!!

 

Duvida sanada

BrunoB
26 de junho de 2015 às 20:03

mesmo assim, obrigado !!!

 

Duvida sanada

Acho que você não entendeu kkkk

Eu editei o post lá com o seu pedido, coloquei pra aparecer a mensagem quando matar o boss.