Ir para conteúdo

Posts Recomendados

Creaturescripts, são scripts executados ao * logar, atacar , morrer, matar, etc.. *

forward.png Funções usadas para começar um script em Creaturescripts: back.png

onLogin(cid) -- Ao logar.
onLogout(cid) -- Ao deslogar.
onAdvance(cid, skill, oldLevel, newLevel) -- Ao upar.
onStatsChange(cid, attacker, type, combat, value) -- Ao peder ou ganhar life, mana ou condições.
onDirection(cid, old, current) -- não sei.
onOutfit(cid, old, current) -- Não sei. (creio que ao usar outfit)..
onSendMail(cid, receiver, item, openBox) -- Ao enviar carta.
onReceiveMail(cid, sender, item, openBox) -- Ao receber uma carta.
onTradeRequest(cid, target, item) -- Ao dar trade.
onTradeAccept(cid, target, item, targetItem) -- ao aceitar trade.
onJoinChannel(cid, channel, users) -- Ao entrar em um chat.
onLeaveChannel (cid, channel, users) -- Ao sair do chat.
onLook(cid, thing, position, lookDistance) -- Ao dar look
onThink(cid, interval) -- Executado em Determinado tempo.
onTextEdit(cid, item, newText) -- Ao escrever em item (book)
onReportBug(cid, comment) -- ao Reportar bug.
onAreaCombat(cid, tileItem, tilePosition, isAggressive)
onPush(cid, target) -- Ao puxar. (criatura)
onTarget(cid, target) -- Não sei (creio que ao seguir ou atacar)
onFollow(cid, target) -- Ao seguir. (acompanhar)
onCombat(cid, target) -- Parecido com onAttack. (qualquer tipo de ataque)
onAttack(cid, target) -- Ao Atacar.
onCast(cid, target) -- Ao lançar feitiço ou runa .
onKill(cid, target, lastHit) -- Ao matar.
onDeath(cid, corpse, deathList) -- Ao morrer.
onPrepareDeath(cid, deathList) -- Antes de morrer.

Exemplos de Scripts : rules.gif

onPrepareDeath:

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)

 if (getCreatureSkullType(cid)  >= 4) then
    if (getPlayerSlotItem(cid, CONST_SLOT_NECKLACE).itemid == 7890) then
       doCreatureSetDropLoot(cid, false)      
    end
  return true
 end

return true
end

Antes de morrer (quanto estiver morrendo)

Se estiver com skull maior ou igual a 4 então

se estiver usando o item 7890 então

o player não vai perder loot ao morrer.

 

 

onAdvance:

function onAdvance(cid, skill, oldLevel, newLevel)

if getPlayerLevel(cid) >= 200 then
  if getPlayerStorageValue(cid, 12345) <= 0 then
doPlayerAddItem(cid, 2160, 100)
doPlayerSendTextMessage(cid, 22, "Parabéns, você atingiu level 200 e ganhou 1kk de bonus!")
doSendMagicEffect(getCreaturePosition(cid), 11)
    setPlayerStorageValue(cid, 12345, 1)
  end
end

 return true
end

Ao upar level 200 então

Se a storage 12345 do player for menor ou igual a 0 então

Adicionar 100 itens com id 2160 ao player ( adiciona 1kk ao player)

Manda uma mensagem "Parabéns, você atingiu level 200 e ganhou 1kk de bonus"

Mandar efeito 11 na posição do player

Mudar valor da storage 12345 para 1.

 

onLogin:

function onLogin(cid)

doPlayerSendTextMessage(cid, 22, "Bem Vindo!")

return true
end

Ao logar

Mandar mensagem "Bem Vindo" ao player.

 

onDeath:

function onDeath(cid, corpse, killer)

local name = "Demon"

    if isMonster(killer[1]) and isPlayer(cid) and getCreatureName(killer[1]) == name then
        doRemoveCreature(killer[1])
    end

 return true
end

Ao morrer

Se quem matou foi um monster e quem morreu foi um player, e o nome do monster que matou foi "Demon" então

Remover o monster ("Demon")

(scrip by Zipter)

 

 

onKill:

function onKill(cid, target, lastHit)

if isPlayer(cid) and isPlayer(target) then
  doPlayerAddItem(cid, 2160, 20)
end

return true
end

Ao matar

Se foi um player que matou outro player então

adicionar 20 crystal coins(id 2160) ao player que matou

 

 

Para adicionar seu script ao server: rules.gif

1ª Vá em data / creaturescripts / script, crie um Arquivo.lua e cole seu script dentro.

2ª Adicione a tag: em creaturescripts.Xml..

             <event type="preparedeath" name="forever amulet" event="script" value="aol.lua"/>

Type = o tipo de função

kill, death, login, preparedeath, joinchannel, reportbug, think ...

name = Nome do Evento

valu = Nome do Arquivo.lua

3ª adicione a tag : em data/creaturescripts/scripts/login.lua..

(obs: se seu script for de função onLogin não precisa adicionar essa tag)

                               registerCreatureEvent(cid, "forever amulet")

Entre " " , coloca o nome do Evento (o mesmo que você colocou em creaturescripts.Xml.

Quer Aprender a Usar ( if, else , elseif) ? CLICA AQUI !

 

Algumas funções get, set, do ... Você encontra Aqui !

É isso pessoal ! Não usei exemplo de todas as funções porque são muitas ! hi.gif

XTibia_smile.gif

 

Link para o comentário
Compartilhar em outros sites

bem elaborado, vai ajudar alguns que tentam fazer scripts, porque o resto so quer tudo de mão beijada

 

verdade ! por isso tentei deixar o mais simples possível para que os membros se interessem em aprender .

 

uhu muito bom ;)

 

Obrigado :)

Alguém disposto a criar um script com base no tutorial ?

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...