[Creatureevents] Onkill

2694943kkkk
em Tutoriais de Scripting

2694943kkkk

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 29/04/11Posts: 28

Olá galerinha Xtibiana!

Hoje eu estou aqui para ajudar a você um modo facil de entender um script, mas é muito facil mesmo!

Vamos lá...

Peguei esse script de um lugar qualquer...

 

function onKill(cid, target, lastHit)
local mName = "Nature Witch" -- monstername
local storage = 15598
       if(isPlayer(cid) and getCreatureName(target) == mName) then
       doPlayerAddItem(cid,12662,1)
       setPlayerStorageValue(cid, storage, 1)
               return true
       end
       elseif(isPlayer(cid) and getCreatureName(target) == mName  and getPlayerStorageValue(cid, storage) == 1) then
       end
               return true
end

 

Vou traduzir esse script facil :

function onKill(cid, target, lastHit)

A função funciona em Matar (Cid, target, LastHit)...

Então, para quem não sabe o "Cid" é o protagonista do script, no caso desse script é o Player.

Target, é aquele o que está dentro do onKill, ou seja o protagonista vai ser todos que tiverem dando TARGET em um monstro (como diz o script)

...

Depois vem a configuração com um comando lua "Local" isso eu não vou explicar...

 

if(isPlayer(cid) and getCreatureName(target) == mName) then

Bem, aqui é simples,

Se o player protagonista do script e o monstro selecionado no "mName" (Local config) está tomando target, Acontece:

doPlayerAddItem(cid,12662,1) --> Vai dar ao player protagonista o item 12662

setPlayerStorageValue(cid, storage, 1) --> Vai entregar ao player protagonista o storage, uma vez

Ai vem o end <-- Esse End indica o fim de uma função, neste caso ele ta dizendo que é o

fim da função if(isplayer.....) then

Da vem...

elseif(isPlayer(cid) and getCreatureName(target) == mName and getPlayerStorageValue(cid, storage) == 1) then

mas se o player protagonista do script e o monstro selecionado no "mName" (Local config) está tomando target e estiver o storage entregue Acontece:

Nada porque ali não tem nenhuma função pra acontecer...

 

Pronto agora pra regista é facil:

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

O Event type é a mesma coisa que "fuction onKILL"

 

Lá no monstro que vai ser execultado o script você add

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

 

Lembre-se:

Não esqueça de registra o evento no login.lua

registerCreatureEvent(cid, "nature_witch")

 

Muito obrigado, espero ter ajudado

Att. Kibe

SkyDangerous

Deus Kalec
avatar
Lorde
Lorde

INFOS

Grupo: LordeRegistrado: 17/01/09Posts: 2098Char no Tibia: Adra Sata

Dahora :p

Eu utilizei seu tutorial para criar meu script :D

 

Parabéns !

Me segui lá (:

 

b906.png

http://ageofwar.servegame.com/

IP: ageofwar.servegame.com

TIBIA: 10.78

GLOBAL PERFECT CUSTOM

2694943kkkk

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 29/04/11Posts: 28

Beeki

Ex-Coordenador XDev
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 12/03/11Posts: 1900Gênero: MasculinoChar no Tibia: Nokte

Belo tutorial, irá ajudar muitos.

 

Aprovado !:button_ok:

Fabio Augustus - Infraestrutura

Skype: guhsvasc

Demonbholder

avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 13/10/08Posts: 1551Char no Tibia: Demonbholder

Meu caro, mesmo que ele tenha o storage com o valor 1, o item será adicionado, pois não há a verificação do storage na primeira condição.

 

O script correto seria:

 

function onKill(cid, target, lastHit)

local mName = "Nature Witch" -- monstername
local storage = 15598

if isPlayer(cid) and getCreatureName(target) == mName and getPlayerStorageValue(cid, storage) ~= 1 then
   doPlayerAddItem(cid,12662,1)
   setPlayerStorageValue(cid, storage, 1)
   return true
end

end

 

Abraço.

Oie :D

Administrador

xTibia 2017
avatar
Administrador
Administrador

INFOS

Grupo: AdministradorRegistrado: 09/07/05Posts: 5780Gênero: Outro

Excelente amigo, muito boa a aula.

REP+

DICA

Utilize botão @UP, no início de seu tópico, para atualizar o destaque de seu tópico em "Tópicos Recentes" na index, fará com que mais pessoas o vejam.

 

 

Gabriel Couto

Anyur
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 22/04/11Posts: 2455Gênero: MasculinoChar no Tibia: Thyn Zare

Excelente amigo, muito boa a aula.

REP+

 

Gustavo, você acabou dando reputation negativa.

Corrigi isso agora e estou aprovando o tutorial.

 

Até.

Gabriel Couto, 23 anos. Acadêmico de Medicina.

Ex-Diretor Geral do XTibia.

 

www.tibiatv.com.br