Ir para conteúdo

Posts Recomendados

Olá galera, sou Administrador de um server e estamos colocando RookGuard nele e, por ventura havíamos esquecido do The Oracle, e sem ele nem da pra mexe com Rook.

 

Por favor quem tiver em seu computador, ou que saiba fazer, peço esse gde favor, mande para min respondendo á este tópico, pode ajudar outras pessoas tbm..

 

 

 

té mais..

Link para o comentário
https://xtibia.com/forum/topic/67644-pedido-the-oracle-800/
Compartilhar em outros sites

  • 3 weeks later...
local focus = 0

local talk_start = 0

local target = 0

local following = false

local attacking = false

 

function onThingMove(creature, thing, oldpos, oldstackpos)

 

end

 

 

function onCreatureAppear(creature)

 

end

 

 

function onCreatureDisappear(cid, pos)

if focus == cid then

selfSay('Good bye then.')

focus = 0

talk_start = 0

end

end

 

 

function onCreatureTurn(creature)

 

end

 

 

function msgcontains(txt, str)

return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))

end

 

 

function onCreatureSay(cid, type, msg)

msg = string.lower(msg)

pos = {x=160, y=54, z=7}

 

-- greeting phrase

if string.find(msg, '(%a*)hi(%a*)') and focus == 0 and string.len(msg) == 2 and getDistanceToCreature(cid) < 4 then

selfSay('Hello, young adventurer! Are you ready to face your destiny?')

focus = cid

talk_start = os.clock()

 

elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then

selfSay('Sorry, ' .. creatureGetName(cid) .. '! I talk to you in a minute.')

 

elseif focus == cid then

talk_start = os.clock()

 

 

 

 

if msgcontains(msg, 'yes') and talk_state ~= 458 then

if getPlayerLevel(cid) >= 8 then

selfSay('Great! What would you like to be? A sorcerer, a druid, a paladin or a knight?')

talk_state = 459

else

selfSay('Sorry, you need level 8 to leave rookgaard.')

talk_state = 0

end

 

elseif msgcontains(msg, 'no') then

selfSay('Come back when you are ready then.')

talk_state = 0

 

elseif talk_state == 459 then

vocationid = 0

talk_state = 458

 

if msgcontains(msg, 'sorcerer') then

selfSay('A mighty sorcerer! Are you sure?')

vocationid = 1

 

elseif msgcontains(msg, 'knight') then

selfSay('A valorous knight! Are you sure?')

vocationid = 4

 

elseif msgcontains(msg, 'paladin') then

selfSay('A nimble paladin! Are you sure?')

vocationid = 3

 

elseif msgcontains(msg, 'druid') then

selfSay('A mysterious druid! Are you sure?')

vocationid = 2

 

else

selfSay('Sorry, I cannot understand that. Please type your vocation again.')

talk_state = 459

end

 

 

 

elseif talk_state == 458 then

if msgcontains(msg, 'yes') then

selfSay('Great! Where would you like to go? I can take you to CIDADE.')

talk_state = 452

else

selfSay('What vocation do you want then?')

talk_state = 459

end

 

elseif talk_state == 452 then

if msgcontains(msg, 'now') then

doPlayerSetVocation(cid,vocationid)

doPlayerSetMasterPos(cid,pos)

selfSay('/send ' .. creatureGetName(cid) .. ', 160 54 7') <<< Cordenadas da Cidade

end

end

talk_state = 0

talk_start = 0

 

 

 

elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then

selfSay('Good bye, ' .. creatureGetName(cid) .. '!')

focus = 0

talk_start = 0

end

end

 

 

function onCreatureChangeOutfit(creature)

 

end

 

 

function onThink()

doNpcSetCreatureFocus(focus)

if (os.clock() - talk_start) > 30 then

if focus > 0 then

selfSay('Next Please...')

end

focus = 0

end

if focus ~= 0 then

if getDistanceToCreature(focus) > 5 then

selfSay('Good bye then.')

focus = 0

end

end

end

 

 

OBS: AREA ERRADA!! :icon2:

Link para o comentário
https://xtibia.com/forum/topic/67644-pedido-the-oracle-800/#findComment-424263
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...