Olá amigo,
primeiramente seja bem vindo ao fórum.
O script funcionou perfeitamente aqui, script simples e funcional.
Espero que traga mais scripts para nosso fórum ![]()
abraços!
Por rodrigoup, 02 de jan. de 2012 em NPCs, monsters e raids
Olá amigo,
primeiramente seja bem vindo ao fórum.
O script funcionou perfeitamente aqui, script simples e funcional.
Espero que traga mais scripts para nosso fórum ![]()
abraços!
info
Grupo: Artesão
Registrado: 25/09/10
Posts: 143
Reputação: +25
Char no Tibia: StornRhius
E ae galera!! Blz? Bom... Esse eh meu primeiro post, então espero q gostem.
Esse eh o Oraculo q eu mesmo fiz. Tah ae:
Nome: Oraculo
Versão Testada: 8.60 e 8.70
Servidor Testado: The Forgotten Server (Não lembro a versão)
Tutorial e Scripts
Arquivo .xml:
Certo... Primeiro, veja se na pasta "data/npc" tem o The Oracle original. Se tiver, (Com certeza deve ter) vc abre o arquivo dele com o bloco de notas... ( Eu uso o Notepad++. Eh melhor pra entender as coisas. Deve tar escrito "oracle.xml" ou outra coisa parecida.) Apaga tudo q tiver la dentro e coloca isso:
<?xml version="1.0"?>
<npc name="Oraculo" script="data/npc/scripts/oraculo.lua" access="1" monster="1" speed="0" lookdir="2" pushable="0" level="100">
<health now="150" max="150"/>
<look typeex="1448" head="0" body="0" legs="0" feet="0" corpse="0"/>
<parameters>
<parameter key="message_greet" value="Ola |PLAYERNAME|. Em que posso ser ultil?"/>
<parameter key="message_farewell" value="Adeus."/>
<parameter key="message_walkaway" value="Ate logo entao..." />
</parameters>
</npc>
Se não tiver o arquivo do The Oracle original, eh soh vc copiar um qualquer lá, apagar tudo q tiver dentro, colar esse código ai em cima e renomear o arquivo pra "Oraculo.xml".
Arquivo .lua:
Certo... Depois de fazer isso, vc vai la em "data/npc/scripts" e procura pelo arquivo original do oraculo tbm. Se tiver lá, vc abre ele, apaga tudo q tiver dentro e coloca isso:
Isso ae... Despois de colar, salve, feche e renomeie o arquivo para "oraculo.lua". Se não tiver o arquivo original do oraculo lá, eh soh vc copiar um qualquer lá, apagar tudo q tiver dentro, colar isso q ta ai em cima e renomear o arquivo para "oraculo.lua".
Como Edita-lo
Certo... Agora vou ensinar como editar ele ao seu gosto. Preste atenção pq vc tem q fazer do jeito q eu ensinar! Eu vou dizer tudo q vcs devem saber para edita-lo. Mesmo q seja dificil, se vc fizer do jeito q eu ensinar, vai funcionar direitinho. Afinal, esse eh o script q eu uso no meu servidor. E, no meu, ele funciona direitinho. Aí vai:
Adicionando Novas Cidades:
Para adicionar novas cidade, eh simples. Basta vc copiar oq tah de verde e colar antes do end q esta em negrito. Tem um end la em cima, q eh onde o player diz o nome da cidade e um end ali em baixo, q eh pra onde o player vai ser levado. As partes em laranja são os lugares q vc pode editar de acordo com a cidade q v vai adicionar. Veja o Exemplo:
Digamos q eu queira adicionar uma cidade chamada "Alabasta". (Lol... Cidade do One Piece) Basta vc fazer o seguinte:
Antes:
elseif msgcontains(msg, "venore") and talkState[cid] == 13 then
selfSay("Tem certeza q deseja {VIVER} em Venore?", cid)
talkState[cid] = 16
end
Depois:
elseif msgcontains(msg, "venore") and talkState[cid] == 13 then
selfSay("Tem certeza q deseja {VIVER} em Venore?", cid)
talkState[cid] = 16
elseif msgcontains(msg, "alabasta") and talkState[cid] == 13 then
selfSay("Tem certeza q deseja {VIVER} em Alabasta?",cid)
talkState[cid] = 17
end
Repare oq eu mudei: Onde estava "venore" eu coloquei o nome da cidade q eu qria adicionar, "alabasta". E isso eh oq o player vai ter q falar pro oraculo saber q ele quer viver em alabasta. Depois eu mudei a frase q o oraculo diz. Fazendo com q ele diga "Tem certeza q deseja {VIVER} em Alabasta?". E por ultimo e o mais importante, eu mudei o talkState. Pq, se o player disser q qr viver em alabasta, o talkState dele vai ser 17. Isso ajuda na outra parte. Mais em baixo. Era assim:
Antes:
elseif msgcontains(msg, "sim") and talkState[cid] == 16 then
selfSay("Boa viagem e tome cuidado", cid)
doPlayerSetTown(cid, 6)
doTeleportThing(cid, {x=32957, y=32076, z=7, stackpos=253})
doSendMagicEffect({x=32957, y=32076, z=7, stackpos=253}, 10)
doPlayerSendTextMessage(cid, 22,"Bem vindo. Agora vc eh um cidadao de Venore")
end
Depois:
elseif msgcontains(msg, "sim") and talkState[cid] == 16 then
selfSay("Boa viagem e tome cuidado", cid)
doPlayerSetTown(cid, 6)
doTeleportThing(cid, {x=32957, y=32076, z=7, stackpos=253})
doSendMagicEffect({x=32957, y=32076, z=7, stackpos=253}, 10)
doPlayerSendTextMessage(cid, 22,"Bem vindo. Agora vc eh um cidadao de Venore")
elseif msgcontains(msg, "sim") and talkState[cid] == 17 then
selfSay("Boa viagem e tome cuidado", cid)
doPlayerSetTown(cid, 10)
doTeleportThing(cid, {x=?????, y=?????, z=7, stackpos=253})
doSendMagicEffect({x=?????, y=?????, z=7, stackpos=253}, 10)
doPlayerSendTextMessage(cid, 22,"Bem vindo. Agora vc eh um cidadao de Alabasta")
end
Viu soh? Akele 17 q foi colocado la em cima, foi usado bem ali. Se fosse 16 o player teria sido mandado pra Venore, mesmo q ele tivesse dito q qira ir pra Alabasta. E repare tbm q tudo isso foi colocado antes do end.
Adicionando Novas Classes:
Certo... Pra adicionar novas classes eh soh fazer a mesma coisa q eu ensinei em "Adicionando Novas Cidades". Primeiro vc copia oq ta de azul. (La em cima gente, no script. Esse aki foi soh uma explicação.) E edita oq ta de laranja tbm. Num vô nem dá exemplo pq, depois de ver a explicação de como adicionar as cidades, vc ja deve saber oq fazer. Soh vou explicar uma coisa importantíssima, nesse caso. Se vc adicionar uma nova classe, vc vai ter q arrumar Todos os outros talkStates. Pq elas tem q ficar na ordem. Repare, no script, q os numeros q estão em roxo são os numeros das talkStates. Eles sao os q vc vai ter q arrumar primeiro. Depois vc arruma os q estao em azul claro.
Os numeros q estão em vermelho são apenas pra lembras vcs qual eh o talkState q vc vai ter q mudar na hora de adicionar uma cidade ou uma profissao nova. Aí, eu mudei a cor dos outros talkStates pra vc saber qual sao os outros talkStates q vc vai ter q arrumar, caso adicione uma PROFISSÃO nova. Se vc for adicionar soh uma cidade nova, nao precisa arrumar todos os outros talkStates.
Retirando Cidades e/ou Profissões:
Ahhhh.... Essa eh a parte mais facil, neh? Num precisava nem eu ter colocado... Rsrsrs... Mas vou colocar pq tem uma coisa q eh preciso saber tbm. Caso vc RETIRE uma PROFISSÃO, vai ser necessário arrumar as outras talkStates tbm... Eh, eu sei... Vc deve tar pensando: "Mas ki P*** eh essa q tudo q eu vou fazer tem q arrumar essa P*** de talkState..." Rsrsrs... Mas eh isso mesmo. Se vc quiser q o script funcione, vai ter q arrumar sim. Caso vc queira retirar uma cidade não será preciso arrumar nada nao. Soh nos lugares onde estão em laranja. Ah, eh... Pra retirar uma cidade ou profissao, eh soh vc apagar oq ta de azul, ou de verde.
Agradecimentos:
Bom.. Num tenho q agradecer a ninguem, pois o script eh todinho meu. Soh agradecer a vc por ter lido esse post enorme (Espero q me desculpe) e... Q se o meu script, por algum milagre da ciência, não funcionar no seu servidor, espero q vc encontre um q funcione. Eu tentei, neh? Mas eh isso aí... Por favor, comentem, critiquem, ensinem e me digam se tem alguma coisa q eu poderia melhorar, tanto no script, qto no post. (Esse eh meu primeiro post, então... Peguem leve. xD) Flws e até a próxima!