Ótimo tuto John, porem muito simples mesmo, dava pra explicar mais, valeu aê, até!
- Fórum
- OTServ
- Tutoriais
- Tutoriais de Scripting
- Tutorial Básico Creaturescripts
Tutorial Básico Creaturescripts
Por jhon992, 08 de mar. de 2012 em Tutoriais de Scripting
info
Grupo: Herói
Registrado: 12/03/11
Posts: 1.9k
Reputação: +284
Gênero: Masculino
Char no Tibia: Nokte

info
Grupo: Conde
Registrado: 30/06/11
Posts: 631
Reputação: +371
Char no Tibia: 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
Grupo: Conde
Registrado: 18/01/12
Posts: 988
Reputação: +327
Gênero: Masculino
Char no Tibia: Xerife Woody

Obrigadoo denovo vou te dar mt REP+ so que hj ja cheguei no limite agradeço, (y'
info
Grupo: Banidos
Registrado: 21/01/12
Posts: 842
Reputação: +234
Char no Tibia: Stephan

excelente tutorial e muito simples de se aprender. REP+!
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: 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
Grupo: Herói
Registrado: 23/12/08
Posts: 2.4k
Reputação: +359
Gênero: Masculino
Char no Tibia: Gordo Warlike

me ajudou bastante ja q eu tinha duvida sobre isso, e tbm ajudara muitos! obrigado por compartilhar!
Editado Março 9 por PiabetaMan01
info
Grupo: Cavaleiro
Registrado: 22/12/11
Posts: 158
Reputação: +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
Grupo: Conde
Registrado: 12/11/08
Posts: 520
Reputação: +73
Gênero: 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
Grupo: Conde
Registrado: 30/06/11
Posts: 631
Reputação: +371
Char no Tibia: Warrior of Mort

Vlw aew pelos coments! Espero ter ajudado quem ta começando na area e espero ajudar muito mais. ![]()
info
Grupo: Herói
Registrado: 12/03/11
Posts: 1.9k
Reputação: +284
Gênero: Masculino
Char no Tibia: Nokte

Tutorial aprovado, reportado para a moderação Mover, abraços.
info
Grupo: Campones
Registrado: 29/03/08
Posts: 50
Reputação: 0
Char no Tibia: 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
Grupo: Conde
Registrado: 17/07/11
Posts: 705
Reputação: +108

Tutorial Aprovado e movido para Tutoriais de Scripting.
info
Grupo: Visconde
Registrado: 23/11/10
Posts: 272
Reputação: +37
Char no Tibia: 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
Editado Abril 27 por Snokiuthu







info
Grupo: Conde
Registrado: 30/06/11
Posts: 631
Reputação: +371
Char no Tibia: 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.
Editado Março 8 por Jhon992