leo_itachi 0 Postado Setembro 14, 2007 Share Postado Setembro 14, 2007 (editado) E aew galera bom esse topico eu nunca vi aki no xtibia e como eu montei 4 vocaçoes novas no meu ot caseiro xD resolvi posta como cria um npc para dar a 3º vocaçao pra algum player e tbm vo mostra como almenta o dia de premmy q o npc vende isso pode tira mtas duvidas ^^ bom se vc abri a pasta data/npc/scripts do seu ot e abri o promote.lua vai v q ele e assim local focus = 0local talk_start = 0 local target = 0 local days = 0 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) if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then selfSay('Hello ' .. creatureGetName(cid) .. '! I sell premiums andpromotions.') 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, 'promotion') or msgcontains(msg, 'promote') then if getPlayerVocation(cid) > 4 then selfSay('Sorry, you are already promoted.') talk_state = 0 elseif getPlayerLevel(cid) < 20 then selfSay('Sorry, you need level 20 to buy promotion.') talk_state = 0 elseif not isPremium(cid) then selfSay('Sorry, you must be premium to buy promotion.') talk_state = 0 else selfSay('Do you want to buy promotion for 20k?') talk_state = 1 end elseif msgcontains(msg, 'premium') or msgcontains(msg, 'premmy') then selfSay('Do you want to buy 7 days of premium for 7k?') talk_state = 2 elseif talk_state == 1 then if msgcontains(msg, 'yes') then if pay(cid,20000) then doPlayerSetVocation(cid, getPlayerVocation(cid)+4) selfSay('You are now promoted!') else selfSay('Sorry, you do not have enough money.') end end talk_state = 0 elseif talk_state == 2 then if msgcontains(msg, 'yes') then if pay(cid,7000) then selfSay('/premium '.. creatureGetName(cid) ..', 7') selfSay('You have 7 days of premium more!') else selfSay('Sorry, you do not have enough money.') end end talk_state = 0 elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then selfSay('Good bye, ' .. creatureGetName(cid) .. '!') focus = 0 talk_start = 0 end 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 bom explicando tudo que esta em vermelho e oq iremos muda da p.a e tudo q estive em azul e sobre a promoted como por exemplo no meu eu coloquei a parte do lvl assim selfSay('Sorry, you need level 80 to buy second promotion.') mais isso vai do gosto de cada um agora eu vo coloca como fico o meu e vo explica onde muda pra vcs colocarem a gosto local focus = 0local talk_start = 0 local target = 0 local days = 0 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) if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then selfSay('Hello ' .. creatureGetName(cid) .. '! I sell second promotions and premmy.') 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, 'promotion') or msgcontains(msg, 'promote') then if getPlayerVocation(cid) > 8 then selfSay('Sorry, you are already second promoted.') talk_state = 0 elseif getPlayerLevel(cid) < 150 then selfSay('Sorry, you need level 150 to buy promotion.') talk_state = 0 elseif not isPremium(cid) then selfSay('Sorry, you must be premium to buy promotion.') talk_state = 0 else selfSay('Do you want to buy promotion for 100k?') talk_state = 1 end elseif msgcontains(msg, 'premium') or msgcontains(msg, 'premmy') then selfSay('Do you want to buy 200 days of premium for 80k?') talk_state = 2 elseif talk_state == 1 then if msgcontains(msg, 'yes') then if pay(cid,100000) then doPlayerSetVocation(cid, getPlayerVocation(cid)+4) selfSay('You are now second promoted!') else selfSay('Sorry, you do not have enough money.') end end talk_state = 0 elseif talk_state == 2 then if msgcontains(msg, 'yes') then if pay(cid,80000) then selfSay('/premium '.. creatureGetName(cid) ..', 200') selfSay('You have 200 days of premium more!') else selfSay('Sorry, you do not have enough money.') end end talk_state = 0 elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then selfSay('Good bye, ' .. creatureGetName(cid) .. '!') focus = 0 talk_start = 0 end 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 id das vocaçoes se decha 4 ele so vai ir ate a promote e nao ate a second promote oq o npc vai fla quando o player fla hi o lvl q vc vai quere q o player tenha pra pode se promove o preço da second promote ponha o tanto q o player tera q pagar o q vc que q o npc fale quando o player ja for second promoted o tanto de dia de premmy e o custo dela q vc quer q o npc fle se o player fla premmy ow premium onde vc muda para o tando de dia de p.a q vc vai quere q o npc venda o preço que o player tera que paga pelos dias de p.a bom creiu que aki coloquei tudo agora salve isso com suas modificaçoes e o nome do npc agora volte uma pasta e da ctrl +c e ctrl +v em uma pasta apague conteudo dela e ponha <?xml version="1.0"?> <npc name="Grand johnny" script="data/npc/scripts/promote 2.lua" access="3" lookdir="2"> <mana now="800" max="800"/> <health now="200" max="200"/> <look type="133" head="114" body="119" legs="132" feet="114"/> </npc> no lugar do Grand Johnny ponha o nome do seu npc e aki script="data/npc/scripts/promote 2.lua ponha o nome da onde vc salvo e so isso comentem plz ah nao esquecendo q o nome q tive .xml por exemplo joao.xml vc vai usa o /s joao pra faze o npc caso ele n tenha um respawn fixo ^^ Credito 100% by me =) Editado Outubro 31, 2007 por cavaleiro jedy Link para o comentário https://xtibia.com/forum/topic/62942-criando-npc-de-3%C2%BA-voca%C3%A7ao-e-junto-podendo-cria-um-npc-q-da-mais-dias-de-premmy/ Compartilhar em outros sites More sharing options...
zheusshi125 0 Postado Setembro 15, 2007 Share Postado Setembro 15, 2007 lalala, mt bom! =D //Alone Link para o comentário https://xtibia.com/forum/topic/62942-criando-npc-de-3%C2%BA-voca%C3%A7ao-e-junto-podendo-cria-um-npc-q-da-mais-dias-de-premmy/#findComment-383588 Compartilhar em outros sites More sharing options...
Lordice 0 Postado Setembro 15, 2007 Share Postado Setembro 15, 2007 Excelente, estarei testando tambèm. Muito bom o tuto. Link para o comentário https://xtibia.com/forum/topic/62942-criando-npc-de-3%C2%BA-voca%C3%A7ao-e-junto-podendo-cria-um-npc-q-da-mais-dias-de-premmy/#findComment-383595 Compartilhar em outros sites More sharing options...
hell_eyser 0 Postado Setembro 17, 2007 Share Postado Setembro 17, 2007 Mto bom! Continue assim ;D Cya Then! Hail Vallordes _o/ Link para o comentário https://xtibia.com/forum/topic/62942-criando-npc-de-3%C2%BA-voca%C3%A7ao-e-junto-podendo-cria-um-npc-q-da-mais-dias-de-premmy/#findComment-384940 Compartilhar em outros sites More sharing options...
Jvchequer 63 Postado Outubro 14, 2007 Share Postado Outubro 14, 2007 Parabéns, seu tutorial foi aprovado. Estarei movendo ele para a área de tutoriais. Obrigado por trazer conteúdo para o Xtibia.com e espero que continue com o ótimo trabalho. Atenciosamente, JV Chequer *Diretor de Fórum Xtibia.com* Link para o comentário https://xtibia.com/forum/topic/62942-criando-npc-de-3%C2%BA-voca%C3%A7ao-e-junto-podendo-cria-um-npc-q-da-mais-dias-de-premmy/#findComment-403243 Compartilhar em outros sites More sharing options...
Skulls 331 Postado Outubro 27, 2007 Share Postado Outubro 27, 2007 mtooo bom kra ^^ parabens Link para o comentário https://xtibia.com/forum/topic/62942-criando-npc-de-3%C2%BA-voca%C3%A7ao-e-junto-podendo-cria-um-npc-q-da-mais-dias-de-premmy/#findComment-412361 Compartilhar em outros sites More sharing options...
leo_itachi 0 Postado Outubro 30, 2007 Autor Share Postado Outubro 30, 2007 (editado) vlw skulls Editado Outubro 31, 2007 por cavaleiro jedy Link para o comentário https://xtibia.com/forum/topic/62942-criando-npc-de-3%C2%BA-voca%C3%A7ao-e-junto-podendo-cria-um-npc-q-da-mais-dias-de-premmy/#findComment-414552 Compartilhar em outros sites More sharing options...
God Anthyrax 0 Postado Outubro 31, 2007 Share Postado Outubro 31, 2007 Aew parabens mto bem explicado tipow se eu qze coloka eli pra somente vender promotion tbm da neh eso exclui a parte de premmium neh? cya Link para o comentário https://xtibia.com/forum/topic/62942-criando-npc-de-3%C2%BA-voca%C3%A7ao-e-junto-podendo-cria-um-npc-q-da-mais-dias-de-premmy/#findComment-415360 Compartilhar em outros sites More sharing options...
leo_itachi 0 Postado Outubro 31, 2007 Autor Share Postado Outubro 31, 2007 sim, ou se nao aqui nessa parte selfSay('Hello ' .. creatureGetName(cid) .. '! I sell second promotions and premmy.') e so decha selfSay('Hello ' .. creatureGetName(cid) .. '! I sell second promotions.') xD ai nem todos os player vao sabe que ele vende premmy Link para o comentário https://xtibia.com/forum/topic/62942-criando-npc-de-3%C2%BA-voca%C3%A7ao-e-junto-podendo-cria-um-npc-q-da-mais-dias-de-premmy/#findComment-415392 Compartilhar em outros sites More sharing options...
laairoy 0 Postado Outubro 31, 2007 Share Postado Outubro 31, 2007 fico bem legal esse codigo... fico supimpa... vlw Link para o comentário https://xtibia.com/forum/topic/62942-criando-npc-de-3%C2%BA-voca%C3%A7ao-e-junto-podendo-cria-um-npc-q-da-mais-dias-de-premmy/#findComment-415407 Compartilhar em outros sites More sharing options...
vinitc2 0 Postado Outubro 31, 2007 Share Postado Outubro 31, 2007 n gostei asim vc acaba tirando a primeira promotion e isso eu ja sabia lol tava achando q alem de pega promotion ia da de pega a 3° mesmo assim n fico tao ruim pelo menos ta organizado Link para o comentário https://xtibia.com/forum/topic/62942-criando-npc-de-3%C2%BA-voca%C3%A7ao-e-junto-podendo-cria-um-npc-q-da-mais-dias-de-premmy/#findComment-415465 Compartilhar em outros sites More sharing options...
leo_itachi 0 Postado Novembro 2, 2007 Autor Share Postado Novembro 2, 2007 como assim? da pra pega a tercera :~ se o cara tive elder druida ele vira a otra vocaçao que voce fez com o id 9 o_o Link para o comentário https://xtibia.com/forum/topic/62942-criando-npc-de-3%C2%BA-voca%C3%A7ao-e-junto-podendo-cria-um-npc-q-da-mais-dias-de-premmy/#findComment-416386 Compartilhar em outros sites More sharing options...
Jiraya-Sama 0 Postado Novembro 4, 2007 Share Postado Novembro 4, 2007 ae vo testa no meu serv e jaja ponho o edit ------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------- Metas~* [x]10Posts [x]20Posts [x]30Posts [x]40Posts [x]50Posts Uff Metade já se foi mais elas aumentarao as metas [ ]60Posts [ ]70Posts [ ]80Posts [ ]90Posts [ ]100Posts [ ]150Posts [ ]200Posts [x]Aprendiz: [x]Servo [x]Caçador [x]Cavaleiro [ ]Sabio: [ ]Sacerdote: [ ]Aristocrata: [ ]Imperador: [ ]Ter um Tuturial aprovado [ ]Terminar meu ot Um Dia eu chego la Link para o comentário https://xtibia.com/forum/topic/62942-criando-npc-de-3%C2%BA-voca%C3%A7ao-e-junto-podendo-cria-um-npc-q-da-mais-dias-de-premmy/#findComment-417540 Compartilhar em outros sites More sharing options...
prezunto 0 Postado Novembro 12, 2007 Share Postado Novembro 12, 2007 mais tipo.. olha isso "You see yourself. You are ." ond eu coloco o nome da vocation?? Link para o comentário https://xtibia.com/forum/topic/62942-criando-npc-de-3%C2%BA-voca%C3%A7ao-e-junto-podendo-cria-um-npc-q-da-mais-dias-de-premmy/#findComment-420911 Compartilhar em outros sites More sharing options...
leo_itachi 0 Postado Novembro 16, 2007 Autor Share Postado Novembro 16, 2007 nem tem nda mtu a ver com esse tuto mais ok ^^ seria aqui <vocation id="1" name="Sorcerer" description="a sorcerer" por exemplo e se a classe chamasse end? ficaria assim <vocation id="1" name="End" description="an end" cya Link para o comentário https://xtibia.com/forum/topic/62942-criando-npc-de-3%C2%BA-voca%C3%A7ao-e-junto-podendo-cria-um-npc-q-da-mais-dias-de-premmy/#findComment-422355 Compartilhar em outros sites More sharing options...
Posts Recomendados