Ir para conteúdo
  • Cadastre-se

(Resolvido)Todos ganham item ao matar boss


Ir para solução Resolvido por Bodak Reborn,

Posts Recomendados

Galera preciso de um script por favor!

                 8.6 Real Server 0.3.6.             

Esclarecendo: Estou precisando de um script que todos que deram dano no boss recebam item diretamente na bolsa.

 

Obs: É um evento que ocorre 1 vez ao dia então poderá ganha a recompensa toda vez que o jogador participar.

 

Preciso muito desse script, Rep+ para quem me ajudar. Obrigado.

Editado por caioitalo1 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Respostas 51
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

function onDeath(cid, corpse, deathList) local monsters, t = {"Demon","Hydra"}, {} local items = {{2160,1},{2148,2}} -- ITEM ID, QUANTIDADE if isMonster(cid) and isInArray(monsters, getCreatureName

creaturescripts/script nome_arquivo.lua local config = { monster = {"Demon", "Dragon"}, -- nome dos monstros, separado por vírgulas. item = {[1] = 2160, [2] = 2159}, -- [um numero maior que o

@Talesigorvr   se você diz, ta dito!   eu pensei em fazer por onDeath, fiz um esboço, claro que tem que arrumar para checar se o jogador tem CAP suficiente, se não tiver mandar o i

creaturescripts/script

nome_arquivo.lua

local config = {
monster = {"Demon", "Dragon"}, -- nome dos monstros, separado por vírgulas.
item = {[1] = 2160, [2] = 2159}, -- [um numero maior que o anterior] = ID do item1, ID do item2, ID do item3...
qnt = {[1] = 2, [2] = 5}, -- [um numero maior que o anterior] = quantidade do item1, quantidade do item2, quantidade do item3...
effect = 27, -- efeito ao matar o monstro.
}

function onKill(cid, target)
	if isInArray(config.monster, getCreatureName(target)) then
		for i = 1, #config.item do
			doPlayerAddItem (cid, config.item[i], config.qnt[i])
		end

		doPlayerSendTextMessage (cid, 19, "Você receberá uma recompensa por derrotar o "..getCreatureName(target)..".")
		doSendMagicEffect (getThingPos (cid), config.effect)
	end
return true
end

XML:

<event type="kill" name="killBossReward" event="script" value="nome_arquivo.lua"/>

Registre o evento em login.lua:

registerCreatureEvent(cid, "killBossReward")

 

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

Não dou suporte via PM, crie um tópico caso tenha dúvidas.

Isso previne que outras pessoas com a mesma dúvida criem tópicos desnecessários.

Link para o post
Compartilhar em outros sites

@ UP

 

 

Nesse caso ele só vai dar item para quem matou o monstro, não todos aqueles que deram dano...

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

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

@Vodkart, eu testei aqui e funcionou como deveria.

Com um char, eu dei algum dano (deixei o monstro na verde ainda) e com o outro eu finalizei. Ambos receberam o prêmio.

Não dou suporte via PM, crie um tópico caso tenha dúvidas.

Isso previne que outras pessoas com a mesma dúvida criem tópicos desnecessários.

Link para o post
Compartilhar em outros sites

@Talesigorvr

 

se você diz, ta dito!

 

eu pensei em fazer por onDeath, fiz um esboço, claro que tem que arrumar para checar se o jogador tem CAP suficiente, se não tiver mandar o item pro depot e tal...

 

function onDeath(cid, corpse, deathList)
	local monsters = {"Demon","Hydra"} -- Monster Name
	local items = {{2160,1},{2148,2}} -- ITEM ID, QUANTIDADE
	if isMonster(cid) and isInArray(monsters, getCreatureName(cid)) then
		for _, players in pairs(deathList) do
			if isPlayer(players) then
				for i = 1, #items do
					doPlayerAddItem(players, items[i][1], items[i][2])
				end
			end
		end
		return true
	end
	return true
end

 

Lembrando que tem que registrar o evento no XML do monstro...

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
16 horas atrás, Talesigorvr disse:

creaturescripts/script

nome_arquivo.lua


local config = {
monster = {"Demon", "Dragon"}, -- nome dos monstros, separado por vírgulas.
item = {[1] = 2160, [2] = 2159}, -- [um numero maior que o anterior] = ID do item1, ID do item2, ID do item3...
qnt = {[1] = 2, [2] = 5}, -- [um numero maior que o anterior] = quantidade do item1, quantidade do item2, quantidade do item3...
effect = 27, -- efeito ao matar o monstro.
}

function onKill(cid, target)
	if isInArray(config.monster, getCreatureName(target)) then
		for i = 1, #config.item do
			doPlayerAddItem (cid, config.item[i], config.qnt[i])
		end

		doPlayerSendTextMessage (cid, 19, "Você receberá uma recompensa por derrotar o "..getCreatureName(target)..".")
		doSendMagicEffect (getThingPos (cid), config.effect)
	end
return true
end

XML:


<event type="kill" name="killBossReward" event="script" value="nome_arquivo.lua"/>

Registre o evento em login.lua:


registerCreatureEvent(cid, "killBossReward")

 

@Talesigorvr ou @VodkartDesculpem reabrir o tópico,  porém estou com uma dúvida. Existe alguma possibilidade de colocar para pessoas que forem com MC não ganhar o prêmio? 

Ex: foram 2 com mesmo IP, apenas uma delas irá ganhar o prêmio

Ex2: foram 2 com mesmo IP, nenhum dos 2 irá receber porque está com MC.

 

Qualquer 1 desses 2 exemplos são válidos para o script.

Editado por caioitalo1 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Eu postei essa função para você em algum pedido seu, só pegá-la e aplicar ai.

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

Não dou suporte via PM, crie um tópico caso tenha dúvidas.

Isso previne que outras pessoas com a mesma dúvida criem tópicos desnecessários.

Link para o post
Compartilhar em outros sites
4 minutos atrás, Talesigorvr disse:

Eu fiz essa função para você em algum pedido seu, só pegá-la e aplicar ai.

Sim eu lembro, foi no post Recompensa por matar jogador.

Caso o jogador matasse MC ele não receberia a recompensa. Porém aí e um pouco diferente porque eu estarei matando um monstro, aí no caso não sei como funcionaria.

Link para o post
Compartilhar em outros sites

A verificação é a mesma.

Só colocar a função que eu postei lá acima da função onKill.

if not isMC (cid) then
	--código
else
	doPlayerSendTextMessage (cid, 19, "Você não irá receber a recompensa por estar com Multi Client.")
end

 

Não dou suporte via PM, crie um tópico caso tenha dúvidas.

Isso previne que outras pessoas com a mesma dúvida criem tópicos desnecessários.

Link para o post
Compartilhar em outros sites
1 minuto atrás, Talesigorvr disse:

A verificação é a mesma.

Só colocar a função que eu postei lá acima da função onKill.


if not isMC (cid) then
	--código
else
	doPlayerSendTextMessage (cid, 19, "Você não irá receber a recompensa por estar com Multi Client.")
end

 

Ok, obg. Assim que eu chegar em casa irei tentar colocar, caso dê algum error por falta de atenção minha, eu retorno.

 

Obs: não sou muito bom com scripts, ainda estou aprendendo o básico do básico. 

 

Rep+ 

Link para o post
Compartilhar em outros sites
13 horas atrás, Talesigorvr disse:

A verificação é a mesma.

Só colocar a função que eu postei lá acima da função onKill.


if not isMC (cid) then
	--código
else
	doPlayerSendTextMessage (cid, 19, "Você não irá receber a recompensa por estar com Multi Client.")
end

 

@Talesigorvr Juro que tentei colocar sozinho, coloquei em varios lugares, com espaço sem espaço, e nao consegui. So dava error no script.

Se possivel me ajudar ae :/.

Link para o post
Compartilhar em outros sites

@Talesigorvr Mano poderia coloca essa funçao no script? Nao consegui de jeito nenhum. 

 

Em 19/05/2016 at 17:15, Talesigorvr disse:

A verificação é a mesma.

Só colocar a função que eu postei lá acima da função onKill.


if not isMC (cid) then
	--código
else
	doPlayerSendTextMessage (cid, 19, "Você não irá receber a recompensa por estar com Multi Client.")
end

 

 

Link para o post
Compartilhar em outros sites

...

local config = {
monster = {"Demon", "Dragon"}, -- nome dos monstros, separado por vírgulas.
item = {[1] = 2160, [2] = 2159}, -- [um numero maior que o anterior] = ID do item1, ID do item2, ID do item3...
qnt = {[1] = 2, [2] = 5}, -- [um numero maior que o anterior] = quantidade do item1, quantidade do item2, quantidade do item3...
effect = 27, -- efeito ao matar o monstro.
}


local function isMC (cid)
	for _, pid in pairs(getPlayersOnline()) do
		if(cid ~= pid and getPlayerIp(cid) == getPlayerIp(pid)) then
			doPlayerSendTextMessage (cid, MESSAGE_STATUS_CONSOLE_BLUE, "MSG caso seja MC.")
		return true
		end
	end
return true
end

function onKill(cid, target)
	if not isMC (cid) then
		if isInArray(config.monster, getCreatureName(target)) then
			for i = 1, #config.item do
				doPlayerAddItem (cid, config.item[i], config.qnt[i])
			end

			doPlayerSendTextMessage (cid, 19, "Você receberá uma recompensa por derrotar o "..getCreatureName(target)..".")
			doSendMagicEffect (getThingPos (cid), config.effect)
		end
	else
		doPlayerSendTextMessage (cid, 19, ".....")
	end
return true
end

 

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

Não dou suporte via PM, crie um tópico caso tenha dúvidas.

Isso previne que outras pessoas com a mesma dúvida criem tópicos desnecessários.

Link para o post
Compartilhar em outros sites

No caso isso daria o item pra qualquer jogador certo? até mesmo um player level 1 que desse 1 de dano no monstro iria receber, sem ajudar/fazer muito esforço. Eu acho que ficaria melhor por uma quantidade certa de dano. Por exemplo se os jogadores desse mais de 50 dano iria receber, já os que não chegaro a bater mais que isso não iria receber. Bom mais como eu não irei utilizar e é você que irá usa fique de sua escolha. Era apenas uma ideia xD

════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ═══╗

Te Ajudei? Rep + e ficamos Quits

166420979_logoyanliimaornight.png.33f822b8970081a5b3646e85dbfd5934.png

Precisando de ajuda?

discord.png.1ecd188791d0141f74d99db371a2e0a4.png.890d5a38d7bcde75543c72b624a65de1.pngDiscord: Yan Liima #3702

Programador Júnior de LUA, PHP e JavaScript

Juntos somos lendas, separados somos Mitos!

╚══════════════════════════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ═════════════════════════════╝

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.


×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo