XH

Action Ativada Ao Matar Uma Criatura.

Por xhoT-BR, 24 de fev. de 2007 em Actions e Talkactions

script
23
6.4k
xhoT-BRX
24 de fevereiro de 2007 às 01:58

------------



Action ativada ao matar uma criatura

------------

 

onMonsterDeath é uma fução, onde a actino acontece ao matar alguma criatura.

 

OBS.: Você precisa de uma versão com essa função no seu Código Fonte

A única versão que tenho conhecimento com esssa função é o NOTS 7.8

 

Veja o exemplo de uma quest usando onMonsterDeath nas imagems abaixo:

demonquest1we0.jpg

 

demonquest2yd9.jpg

 

demonquest3xj4.jpg

 

demonquest4lp3.jpg

 

Se alguem não conseguiu entender a quest eu explicarei:

O player chega em uma sala onde tem um baú, mas tem uma parede no caminho, e para a parede sumir ele tem que matar o demon, quando o caminho abrir, ele vai pegar seu premio, quando ele pega o premio ele é teletransporato e a parede aparece novamente.

 

Bom, para fazer uma quest dessa primeiro você tem que criar o ambiente da quest, e é claro, colocar o uniqueID no bau (na minha quest usei 2000 como UID)

 

*Agora crie uma arquivo .lua com o nome demonquest. Em demonquest.lua coloque:

function onMonsterDeath(killer, monster, corpse, damage, totaldamage)

 

wallpos = {x=196, y=150, z=8, stackpos=1}

wall = getThingfromPos(wallpos)

 

if wall.itemid == 1497 then

 

doRemoveItem(wall.uid,1)

doSendMagicEffect(wallpos,2)

 

 

end

return 1

end

 

function onUse(cid, item, frompos, item2, topos)

telpos = {x=196, y=151, z=8, stackpos=253}

wallpos = {x=196, y=150, z=8, stackpos=1}

wall = getThingfromPos(wallpos)

 

if item.uid == 2000 then

queststatus = getPlayerStorageValue(cid,2000)

 

if queststatus == -1 then

doPlayerSendTextMessage(cid,22,'Você achou um Demon Shield.')

doPlayerAddItem(cid,2520,1)

setPlayerStorageValue(cid,2000,1)

doTeleportThing(cid,telpos)

doCreateItem(1497,1,wallpos)

doSendMagicEffect(telpos,13)

else

doPlayerSendTextMessage(cid,22,"Você ja recebeu seu prêmio.")

doTeleportThing(cid,telpos)

doCreateItem(1497,1,wallpos)

doSendMagicEffect(telpos,13)

end

 

return 1

else

return 0

end

end

 

Explicando:

 

Wallpos: a posição da parede

1497: é o ID do magicwall (se você mudar sua parede mude esse ID também)

telpos: onde o player será teletransportado após pegar seu premio

2000: o UniqueID do baú

 

*Em actions.xml adicione:

<action uniqueid="2000" script="demonquest.lua" />

(se você usou outro UID, mude-o aqui)

 

*Agora o que você deve faze para a nova função funcionar:

1- Abra a pasta data/monster

2- abre o .xml do montro que você tem que matar para ativar a action (meu caso demon)

3- no final da tag <monster name....> adicione script="demonquest.lua"

exemplo:

<monster name="Demon" level="20" maglevel="20" experience="6000" pushable="0" armor="49" defense="51" canpushitems="1" staticattack="40" changetarget="200" speed="210" script="demonquest.lua">

4- Salve

 

_________________

IMPORTANTE

 

Iinha esquecido de falar isso, tipo, adicionamos o script no demon por exemplo, então todo demon que matar ativará a action, estão para que só 1 monstro abre uma porta, voce tera que criar um monstro novo.

Se a pessoa ja tiver um poco de experiencia com action, tambem da para fazer condições na action para que apensa aquele Monstro ative a quest, se não tiver muita facilidade com action, crie seu próprio montro.

_________________

 

Pronto, sua quest está pronta!

 

E como toda action, use a creatividade

com creatividade e um poco de conhecimento, seu server vai longe.

 

Créditos:Vufusuf

Editado Fevereiro 24 por xhoT-BR

KszK
24 de fevereiro de 2007 às 19:07

Bem útil , tem aqueles maluco que vai pega a quest na maior velo sem matar o monstro

aiueahiuea

 

 

Vlw !

NekoN
24 de fevereiro de 2007 às 19:44

muito bem gostei muito parabens vo porno meu ot

NetBSDN
24 de fevereiro de 2007 às 19:55

Ótima action cara,esse seu tópico merece ser fixado =]

 

 

//Sasky

erpenE
24 de fevereiro de 2007 às 20:03

=O

 

Mtu bom mesmo kra.Continue trazendo matérias e tutoriais pro XTibia.

Mas não eskeca.Add os créditos :happy:

ChakauC
24 de fevereiro de 2007 às 20:07

@Sasky

Não merece ser fixado não kra

 

1º uma action simples de fazer ....

2º não é da autoria dele não viu os créditos...

3º existen muitas action mais dificieis e nãoão fixadas

 

@Topic

Action muito legal

bem creativo

AddictA
24 de fevereiro de 2007 às 20:24

Bom tutorial, com certeza merece ser aprovado e movido para area de Scripts.

SilviuxS
25 de fevereiro de 2007 às 01:41

bem legal esse tutorial

=D

vlw

 

 

// Silviux

Felipe MoraesF
25 de fevereiro de 2007 às 08:26

bem legal msm kra...parabens pelo tuto,bem explicadinho e talz,parabens

looktovaskL
25 de fevereiro de 2007 às 08:33

eba finalmente esperava isso desde o 7.4 e finalmente consegui xP

 

vlw aew

1 mês depois...
JvchequerJ
16 de março de 2007 às 13:50

Isso é uma Action.

 

Movido.

tibiaa4eT
16 de março de 2007 às 14:07

Eu até ja achei o codigo dela

Só num sei se irá funcionar em outras versões se mecher nela

 

Vou falar com um cooder para faze-lá

1 ano depois...
lucas-_abcL
15 de dezembro de 2008 às 20:22

nao tem como faze so a função de matar o bicho e desaparecer o magic wall ? dai pra te um teleport em vez do bau, para o player ser teleportado para uma continuaçao ou algo assim

MarcolinoGODM
16 de dezembro de 2008 às 13:38

Meu deus Oo! Caro lucas-_abc antes de postar verifica a data do topico!

Parabens você acaba de reviver um topico que estaria quase completando 2 anos

de inatividade e provavelmente esta função nem existe mais, ja que o normal

agora seria se usar creaturescripts!

pdzinhowP
17 de dezembro de 2008 às 10:25

Cara muito boa agora n tem como colocar essa função no 8.31? se alguem souber pode ensinar como coloca essa função no ot 8.31? pra q essa action funcione? vlw! abraços! muito boa essa action viu? tava querendo isso msm pro meu ot! so preciso dessa função !