Ir para conteúdo

Featured Replies

Postado
  • Autor
11 horas atrás, Joaovettor disse:

Em creaturescripts/scripts V

  Ocultar conteúdo


local config = { 
	storage = 34567, -- storage que o player precisa ter
	item = 2160 -- item que vai receber ao matar o monstro
	}


function onDeath(cid, corpse, deathList)
if isMonster(cid) then
	if getPlayerStorageValue(deathList[1], config.storage) >= 1 then
	doPlayerAddItem(deathList[1], config.item, 1)
	end
end
return true
end

 

Em creaturescripts.xml V

  Ocultar conteúdo


    <event type="death" name="QuestDemon" event="script" value="questdemon.lua"/> 

 

Em creaturescripts/scripts/login.lua V

  Ocultar conteúdo


	registerCreatureEvent(cid, "QuestDemon")

 

E em monster/demon abaixo de /flags

  Ocultar conteúdo


	<script>
	<event name="QuestDemon"/>
	</script>

 

 

 

Opa, primeiramente obrigado pela ajuda,

 

Deixa eu perguntar. Tem como colocar por chance do item dropar ou nao?

 

Tipo, uma vez que o player pega a quest eu nao quero que el drope toda vez que matar um monstro desse, mas sim que seja por chance normal onde eu dificultarei para que ele tenha que matar muitas criaturas para ai sim conseguir dropar tal item;

  • Respostas 9
  • Visualizações 1.5k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Mathias Kenfi
    Mathias Kenfi

    Atualizei o tópico

  • Mathias Kenfi
    Mathias Kenfi

    Da forma que você quer especificamente, você pode simplesmente criar 1 monstro novo só que com nome de Demon   E para Capacity está aqui V  

Postado
4 horas atrás, maicao22 disse:

Opa, primeiramente obrigado pela ajuda,

 

Deixa eu perguntar. Tem como colocar por chance do item dropar ou nao?

 

Tipo, uma vez que o player pega a quest eu nao quero que el drope toda vez que matar um monstro desse, mas sim que seja por chance normal onde eu dificultarei para que ele tenha que matar muitas criaturas para ai sim conseguir dropar tal item;

 

Atualizei o tópico

Postado
  • Autor

Obrigado meu brother, deu certinho aqui.

 

So uma ultima curiosidade, apenas para fins acadêmico, pois do jeito que ta esta otimo. Mas digamos que em vez de fazer o item ser adicionado na bp do player com a function doPlayerAddItem, cair como loot do monstro mesmo.

 

Sera que e possivel isso, existe uma function para tal?

 

Mais uma vez brigadão. Vou deixar como ficou o meu abaixo para quem quiser. Adicionei para remover a storage depois que conseguir o item.

 

local config = { 
    chance = 0.1, -- chance em % de dar o item
	storage = 30318, -- storage que o player precisa ter
	item = 10523 -- item que vai receber ao matar o monstro
	}


function onDeath(cid, corpse, deathList)
if isMonster(cid) then
	if getPlayerStorageValue(deathList[1], config.storage) >= 1 then
    if math.random (1,100) <= config.chance then
	doPlayerAddItem(deathList[1], config.item, 1)
	doPlayerSendTextMessage(deathList[1],22,"Voce encontrou 1 egg of the Many.")
	setPlayerStorageValue(deathList[1], 30318, -1)
    end
	end
end
return true
end

 

 

PS: Tentei implementar para verificar a cap do player antes mas nao obtive sucesso. Tentei dessa forma.

 

local config = { 
    chance = 0.1, -- chance em % de dar o item
	storage = 30318, -- storage que o player precisa ter
	item = 10523, -- item que vai receber ao matar o monstro
	peso = 50.00
	}

function onDeath(cid, corpse, deathList)
if isMonster(cid) then
if getPlayerFreeCap(cid) >= peso then
	if getPlayerStorageValue(deathList[1], config.storage) >= 1 then
    if math.random (1,100) <= config.chance then
	doPlayerAddItem(deathList[1], config.item, 1)
	doPlayerSendTextMessage(deathList[1],22,"Voce encontrou 1 egg of the Many.")
	setPlayerStorageValue(deathList[1], 30318, -1)
    end
	end
	else
doPlayerSendTextMessage(deathList[1],20,"Voce nao pode obter o egg of the many enquanto sua bp estiver cheia.")
end
	
end
return true
end

 

Postado
23 minutos atrás, maicao22 disse:

Obrigado meu brother, deu certinho aqui.

 

So uma ultima curiosidade, apenas para fins acadêmico, pois do jeito que ta esta otimo. Mas digamos que em vez de fazer o item ser adicionado na bp do player com a function doPlayerAddItem, cair como loot do monstro mesmo.

 

Sera que e possivel isso, existe uma function para tal?

 

Mais uma vez brigadão. Vou deixar como ficou o meu abaixo para quem quiser. Adicionei para remover a storage depois que conseguir o item.

 


local config = { 
    chance = 0.1, -- chance em % de dar o item
	storage = 30318, -- storage que o player precisa ter
	item = 10523 -- item que vai receber ao matar o monstro
	}


function onDeath(cid, corpse, deathList)
if isMonster(cid) then
	if getPlayerStorageValue(deathList[1], config.storage) >= 1 then
    if math.random (1,100) <= config.chance then
	doPlayerAddItem(deathList[1], config.item, 1)
	doPlayerSendTextMessage(deathList[1],22,"Voce encontrou 1 egg of the Many.")
	setPlayerStorageValue(deathList[1], 30318, -1)
    end
	end
end
return true
end

 

 

PS: Tentei implementar para verificar a cap do player antes mas nao obtive sucesso. Tentei dessa forma.

 


local config = { 
    chance = 0.1, -- chance em % de dar o item
	storage = 30318, -- storage que o player precisa ter
	item = 10523, -- item que vai receber ao matar o monstro
	peso = 50.00
	}

function onDeath(cid, corpse, deathList)
if isMonster(cid) then
if getPlayerFreeCap(cid) >= peso then
	if getPlayerStorageValue(deathList[1], config.storage) >= 1 then
    if math.random (1,100) <= config.chance then
	doPlayerAddItem(deathList[1], config.item, 1)
	doPlayerSendTextMessage(deathList[1],22,"Voce encontrou 1 egg of the Many.")
	setPlayerStorageValue(deathList[1], 30318, -1)
    end
	end
	else
doPlayerSendTextMessage(deathList[1],20,"Voce nao pode obter o egg of the many enquanto sua bp estiver cheia.")
end
	
end
return true
end

 

 

Da forma que você quer especificamente, você pode simplesmente criar 1 monstro novo só que com nome de Demon

 


E para Capacity está aqui V

Spoiler

local config = { 
    chance = 0.1, -- chance em % de dar o item
	storage = 30318, -- storage que o player precisa ter
	item = 10523, -- item que vai receber ao matar o monstro
	peso = 50.00
	}

function onDeath(cid, corpse, deathList)
if isMonster(cid) then
	if getPlayerStorageValue(deathList[1], config.storage) >= 1 then
		if math.random (1,100) <= config.chance then
			if getPlayerFreeCap(cid) >= config.peso then
				doPlayerAddItem(deathList[1], config.item, 1)
				doPlayerSendTextMessage(deathList[1],22,"Voce encontrou 1 egg of the Many.")
				setPlayerStorageValue(deathList[1], 30318, -1)
			else
				doPlayerSendTextMessage(deathList[1], 22, "You don't have capacity")
			end
		end
	end
end
return true
end

 

 

Postado
  • Autor

Muito obrigado grande, funcionando perfeitamente.

 

Uma ultima coisa e paro de incomodar.

 

Mas eu estava pensando aqui se em vez de apenas mandar a mensagem la sobre a cap, enviar o item direto para a dp do player. Ou seja se ele nao tiver cap o script funciona perfeitamente mas o item vai para a depot do player.

 

Acho que ja tou pedindo demais. Creio que isso e bem mais complexo, mas se for possível eu agradeço demais.

 

Vlw amigo!

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo