Ótimo tuto John, porem muito simples mesmo, dava pra explicar mais, valeu aê, até!
- Forums
- OTServ
- Tutoriais
- Tutoriais de Scripting
- Tutorial Básico Creaturescripts
Tutorial Básico Creaturescripts
By jhon992, 08 de mar. de 2012 in Tutoriais de Scripting
info
Group: Herói
Joined: 12/03/11
Posts: 1.9k
Reputation: +284
Gender: Masculino
Tibia Character: Nokte

info
Group: Conde
Joined: 30/06/11
Posts: 631
Reputation: +371
Tibia Character: Warrior of Mort

Bem simples mesmo, só pra galera iniciante ter o básico de forma simples, sem precisar ler e estudar centenas de linhas. E com o tempo e surgimento de algumas dúvidas eu edito o post.
info
Group: Conde
Joined: 18/01/12
Posts: 988
Reputation: +327
Gender: Masculino
Tibia Character: Xerife Woody

Obrigadoo denovo vou te dar mt REP+ so que hj ja cheguei no limite agradeço, (y'
info
Group: Banidos
Joined: 21/01/12
Posts: 842
Reputation: +234
Tibia Character: Stephan

excelente tutorial e muito simples de se aprender. REP+!
info
Group: Herói
Joined: 20/05/10
Posts: 3.4k
Reputation: +1.5k
Gender: Masculino

tem mais funções,olhei aqui na source
*CREATURESCRIPTS File: creaturescripts/creaturescripts.xml Attributes type Event type Values: login, logout advance, statschange, direction, outfit sendmail, receivemail traderequest, tradeaccept joinchannel, leavechannel look, think, textedit, reportbug push, target, follow attack, combat, areacombat, cast kill, death, preparedeath Functions: onLogin(cid) onLogout(cid) onAdvance(cid, skill, oldLevel, newLevel) onStatsChange(cid, attacker, type, combat, value) onDirection(cid, old, current) onOutfit(cid, old, current) onSendMail(cid, receiver, item, openBox) onReceiveMail(cid, sender, item, openBox) onTradeRequest(cid, target, item) onTradeAccept(cid, target, item, targetItem) onJoinChannel(cid, channel, users) onLeaveChannel (cid, channel, users) onLook(cid, thing, position, lookDistance) onThink(cid, interval) onTextEdit(cid, item, newText) onReportBug(cid, comment) onAreaCombat(cid, tileItem, tilePosition, isAggressive) onPush(cid, target) onTarget(cid, target) onFollow(cid, target) onCombat(cid, target) onAttack(cid, target) onCast(cid, target) onKill(cid, target, lastHit) onDeath(cid, corpse, deathList) onPrepareDeath(cid, deathList)
info
Group: Herói
Joined: 23/12/08
Posts: 2.4k
Reputation: +359
Gender: Masculino
Tibia Character: Gordo Warlike

me ajudou bastante ja q eu tinha duvida sobre isso, e tbm ajudara muitos! obrigado por compartilhar!
Edited Março 9 by PiabetaMan01
info
Group: Cavaleiro
Joined: 22/12/11
Posts: 158
Reputation: +17

Bem Legal (8) apesar de eu já mexer lá irá ajudar muitas muitas pessoas.
Obrigado por trazer o conteúdo.
Até!
Muito bom Jhon,
+REP continue assim!
info
Group: Conde
Joined: 12/11/08
Posts: 520
Reputation: +73
Gender: Masculino

Ótimo Tutorial com certeza ira ajudar vários novatos e aprendiz.
Mesmo sedo o básico, já traz um conteúdo bom para que possam entender um pouco mais de CreatureScripts.
REP+
Abraços..
info
Group: Conde
Joined: 30/06/11
Posts: 631
Reputation: +371
Tibia Character: Warrior of Mort

Vlw aew pelos coments! Espero ter ajudado quem ta começando na area e espero ajudar muito mais. ![]()
info
Group: Herói
Joined: 12/03/11
Posts: 1.9k
Reputation: +284
Gender: Masculino
Tibia Character: Nokte

Tutorial aprovado, reportado para a moderação Mover, abraços.
info
Group: Campones
Joined: 29/03/08
Posts: 50
Reputation: 0
Tibia Character: Cotar

PQP
Até que enfim algo digno de rep+
Tava vendo tanta porcaria por ai mas este teu tópico renova minhas esperanças hehe.
Ótimo tuto, eu que procurava conteúdo atualizado já encontrei.
Obrigado
info
Group: Conde
Joined: 17/07/11
Posts: 705
Reputation: +108

Tutorial Aprovado e movido para Tutoriais de Scripting.
info
Group: Visconde
Joined: 23/11/10
Posts: 272
Reputation: +37
Tibia Character: N tenho

pod se faser asism tbm ...
function onAdvance(cid, skill, oldLevel, newLevel) if getPlayerLevel(cid) >= 100 then doPlayerAddItem(cid, 2160,2) doPlayerSendTextMessage(cid,19, "Você será reconhecido por chegar level 100 e ganhará 20k") doSendMagicEffect(getCreaturePosition(cid), 30) end return true end
So que se o player morre e volta ao level anterior, e tornar-se a upa vai receber o item novamente, dai tem que usar storage...
function onAdvance(cid, skill, oldLevel, newLevel) if getPlayerLevel(cid) >= 100 and getPlayerStorageValue(cid, 21456) == -1 then doPlayerAddItem(cid, 2160,2) setPlayerStorageValue(cid, 21456, 1) doPlayerSendTextMessage(cid,19, "Você será reconhecido por chegar level 100 e ganhará 20k") doSendMagicEffect(getCreaturePosition(cid), 30) end return true end
ai em cima está com storage, se o player morre, e volta dinovo level 100 n recebera o item pois ja recebeu uma vez ^^
Ou tbm pode usar local pra facilitar varias coisa na editação ex: abaixo
function onAdvance(cid, skill, oldLevel, newLevel)
local item = 2160
local msg = ("Você será reconhecido por chegar level 100 e ganhará 20k")
if getPlayerLevel(cid) >= 100 and getPlayerStorageValue(cid, 21456) == -1 then
doPlayerAddItem(cid, item, 2)
setPlayerStorageValue(cid, 21456, 1)
doPlayerSendTextMessage(cid,19, msg)
doSendMagicEffect(getCreaturePosition(cid), 30)
end
return true
end
Edited Abril 27 by Snokiuthu







info
Group: Conde
Joined: 30/06/11
Posts: 631
Reputation: +371
Tibia Character: Warrior of Mort
Tutorial Básico sobre CreatureScripts
CreatureScripts = São scripts que serão ativados após uma determinada ação criada pelo monstro ou personagem. Essas ações são determinadas como funções. Existem varias funções utilizadas para a criação de creaturescripts e estas são:
Para criar esse tipo de script, primeiramente vai na pasta data/creaturescripts/scripts e duplica um arquivo e salve com "nomedesejado";
Agora você vai determinar que função você vai precisar para criação do seu script. Para exemplo vou usar a função "onAdvance"(ao upar).
Neste exemplo, quando o player upar level 100 ele irá ganhar 1kk:
Numerei as linhas para melhor entendimento, nos seus scripts vocês não devem numerar.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Por fim para funcionamento do seu script é necessario adicionar 2 tags:
1º- No "data/creaturescripts/creaturescripts.xml"
2º- No arquivo "data/creaturescripts/scripts/login.lua", Obs: se o script que você for fazer for de função onLogin, não precisa adicionar a segunda tag.
1º Tag: Vai em data/creaturescripts/creaturescripts.xml e cole a tag:
O type="" , será o nome da função de seu script após a palavra "on" e sempre tudo em minusculo.
O name="", use qualquer nome porem esse nome vai ser usado para registrar no script onLogin na tag2.
O value="", é o nome com qual você salvou seu script.
Agora em data/creaturescripts/scripts/login.lua, sempre antes do último return true:
QualquerNome é o name que você adicionou na tag1 do creaturescripts.xml.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Acho que é isso aew, espero ter ajudado a galera que esta iniciando.
Dica para criação de scripts:
Para melhor edição e organização use Notepad++: http://www.baixaki.c...ad/notepad-.htm
Sempre usar uma lista de funções como apoio: http://www.xtibia.co...sta-de-funcoes/
E sempre pesquise por scripts prontos e tutoriais para ter uma base.
Edited Março 8 by Jhon992