jhon992 371 Postado Março 8, 2012 Share Postado Março 8, 2012 (editado) 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: onDeath(cid, corpse, killer)-- que é executada ao morrer. onPrepareDeath(cid, lastHitKiller, mostDamageKiller) -- semelhante a onDeath. onAttack(cid, target) -- executa ao atacar. onCombat(cid, target) -- semelhante ao onAttack. onLogin(cid) -- executa ao logar. onLook(cid, thing, position, lookDistance) -- executa ao dar look. onAdvance(cid, skill, oldLevel, newLevel) -- executa ao upar skills/levels. onStatsChange(cid, attacker, type, combat, value) -- executa ao perder ou ganhar life/mana/condições. onLogout(cid) -- executa ao deslogar. onKill(cid, target, lastHit) -- executa ao matar. onThink(cid, interval) -- executa em determinado tempo. onJoinChannel(cid, channelId, users) -- executa ao entrar em um chat. onReceiveMail(cid, sender, item, openBox) -- executa ao receber um parcel/carta. onReportBug(cid, comment) -- executa ao reportar bug. 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: 1 function onAdvance(cid, skill, oldLevel, newLevel) 2 if (getPlayerLevel(cid) == 100) then 3 doPlayerAddItem(cid, 2160, 100) 4 doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Parabéns, você ganhou 1kk por atingir level 100!") 5 doSendMagicEffect(getCreaturePosition(cid), 30) 6 end 7 return true 8 end Numerei as linhas para melhor entendimento, nos seus scripts vocês não devem numerar. linha 1 = Inicio da função onAdvance, essa linha recebe algumas informações do player que upou, como seu cid, seus skills o velho level e o novo level. Obs: cid = creature id, numero de identificação do player/monstro. linha 2 = Inicia-se um if onde verifica se o level do player é igual a 100. Se for verdadeiro, o script executa as linhas 3,4 e 5, senão pula direto a linha 6. linha 3 = Adiciona 100 itens com o id 2160 ao player. linha 4 = Manda uma mensagem parabenizando o player. linha 5 = Solta o efeito de numero 30, na posição em que o player esta. linha 6 = Finaliza a verificação do if. linha 7 = Retorna verdadeiro. Obs: sempre é necessario ela linha no final de seu código. linha 8 = Finaliza a função onAdvance. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 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: <event type="advance" name="QualquerNome" event="script" value="nomedesejado.lua"/> 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: registerCreatureEvent(cid, "QualquerNome") 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, 2012 por Jhon992 Link para o comentário https://xtibia.com/forum/topic/182113-tutorial-b%C3%A1sico-creaturescripts/ Compartilhar em outros sites More sharing options...
Beeki 284 Postado Março 8, 2012 Share Postado Março 8, 2012 Ótimo tuto John, porem muito simples mesmo, dava pra explicar mais, valeu aê, até! Link para o comentário https://xtibia.com/forum/topic/182113-tutorial-b%C3%A1sico-creaturescripts/#findComment-1213734 Compartilhar em outros sites More sharing options...
jhon992 371 Postado Março 8, 2012 Autor Share Postado Março 8, 2012 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. Link para o comentário https://xtibia.com/forum/topic/182113-tutorial-b%C3%A1sico-creaturescripts/#findComment-1213740 Compartilhar em outros sites More sharing options...
DuuhCarvalho 327 Postado Março 9, 2012 Share Postado Março 9, 2012 Obrigadoo denovo vou te dar mt REP+ so que hj ja cheguei no limite agradeço, (y' Link para o comentário https://xtibia.com/forum/topic/182113-tutorial-b%C3%A1sico-creaturescripts/#findComment-1213750 Compartilhar em outros sites More sharing options...
AnneMotta 234 Postado Março 9, 2012 Share Postado Março 9, 2012 excelente tutorial e muito simples de se aprender. REP+! Link para o comentário https://xtibia.com/forum/topic/182113-tutorial-b%C3%A1sico-creaturescripts/#findComment-1214051 Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Março 9, 2012 Share Postado Março 9, 2012 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) Link para o comentário https://xtibia.com/forum/topic/182113-tutorial-b%C3%A1sico-creaturescripts/#findComment-1214054 Compartilhar em outros sites More sharing options...
Piabeta Kun 359 Postado Março 9, 2012 Share Postado Março 9, 2012 (editado) me ajudou bastante ja q eu tinha duvida sobre isso, e tbm ajudara muitos! obrigado por compartilhar! Editado Março 9, 2012 por PiabetaMan01 Link para o comentário https://xtibia.com/forum/topic/182113-tutorial-b%C3%A1sico-creaturescripts/#findComment-1214213 Compartilhar em outros sites More sharing options...
Gabrielzxzx 17 Postado Abril 3, 2012 Share Postado Abril 3, 2012 Bem Legal (8) apesar de eu já mexer lá irá ajudar muitas muitas pessoas. Obrigado por trazer o conteúdo. Até! Link para o comentário https://xtibia.com/forum/topic/182113-tutorial-b%C3%A1sico-creaturescripts/#findComment-1230339 Compartilhar em outros sites More sharing options...
alldakie 160 Postado Abril 3, 2012 Share Postado Abril 3, 2012 Muito bom Jhon, +REP continue assim! Link para o comentário https://xtibia.com/forum/topic/182113-tutorial-b%C3%A1sico-creaturescripts/#findComment-1230521 Compartilhar em outros sites More sharing options...
Erimyth 73 Postado Abril 3, 2012 Share Postado Abril 3, 2012 Ó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.. Link para o comentário https://xtibia.com/forum/topic/182113-tutorial-b%C3%A1sico-creaturescripts/#findComment-1230584 Compartilhar em outros sites More sharing options...
jhon992 371 Postado Abril 4, 2012 Autor Share Postado Abril 4, 2012 Vlw aew pelos coments! Espero ter ajudado quem ta começando na area e espero ajudar muito mais. Link para o comentário https://xtibia.com/forum/topic/182113-tutorial-b%C3%A1sico-creaturescripts/#findComment-1231435 Compartilhar em outros sites More sharing options...
Beeki 284 Postado Abril 7, 2012 Share Postado Abril 7, 2012 Tutorial aprovado, reportado para a moderação Mover, abraços. Link para o comentário https://xtibia.com/forum/topic/182113-tutorial-b%C3%A1sico-creaturescripts/#findComment-1234129 Compartilhar em outros sites More sharing options...
marcaodailha 0 Postado Abril 7, 2012 Share Postado Abril 7, 2012 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 Link para o comentário https://xtibia.com/forum/topic/182113-tutorial-b%C3%A1sico-creaturescripts/#findComment-1234166 Compartilhar em outros sites More sharing options...
HisashiitYamaguti 108 Postado Abril 7, 2012 Share Postado Abril 7, 2012 Tutorial Aprovado e movido para Tutoriais de Scripting. Link para o comentário https://xtibia.com/forum/topic/182113-tutorial-b%C3%A1sico-creaturescripts/#findComment-1234217 Compartilhar em outros sites More sharing options...
angeldoido 37 Postado Abril 27, 2012 Share Postado Abril 27, 2012 (editado) 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, 2012 por Snokiuthu Link para o comentário https://xtibia.com/forum/topic/182113-tutorial-b%C3%A1sico-creaturescripts/#findComment-1249622 Compartilhar em outros sites More sharing options...
Posts Recomendados