Npc Cantor

frerety
em NPCs, monsters e raids

frerety

DVNO
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 08/04/06Posts: 133

HiHo!

 

esses dias tive um contratempo com essas coisas de alguém pegar coisas de um fórum e passar para outro faltando conteúdo...

Portanto Eu não irei aceitar se alguém pegar esse npc e postá-lo em outro lugar sem minha autorização!!! (você tem que me mandar uma pm, não aceito por apenas créditos no outro fórum!!!)

 

bom... Acho que comentei tanto o arquivo que estou sem mais nada pra escrever =x

Bom... ele é um npc que canta a música que você quizer (não de uma vez, frase por frase, claaro :])

Acho que as configurações estão fáceis e tem alguma dose de teoria lua...

 

Ah... jah ia me eskecendo, a música que vem configurada nesse npc é a música Happy Holidays, You Bastard - Blink 182

Ela é pequenininha x~] 42 segundos... :D

    	--------------------
   	-- ! NPC cantor ! --
   	-- ! By Frerety ! --
   	--------------------

--    .: Help :.
-- .:. cada linha e uma frase a ser falada
-- .:. as vezes o cantor precisa parar para respirar, pra fazer sabe-se la o que, entao ele nao fica cantando o tempo inteiro da musica.
--  	:. Portanto voce pode utilizar pausas para fazer o npc ficar calado num espaco de tempo definido por voce :]
-- .:. a frase so eh falada se tiver entre ""
-- .:. caso a frase corresponda a um 0 sem estar entre "", eh uma pausa que tem duracao de tempo(procure mais abaixo por local tempo).
-- .:. caso esse 0 seja seguido por 1 ou mais zeros(como ocorre nesse script*) o tempo eh aumentado em tempo(procure mais abaixo por local tempo) segundos a cada 0.
--  	:. Exemplo1 .: Caso tenhamos um tempo configurado como 2 e tivermos 2 zeros seguidos, a pausa do npc sera de 4(2+2) segundos
--  :. Exemplo2 .: Caso tenhamos um tempo configurado como 2 e tivermos 3 zeros seguidos, teremos uma pausa de 6(2+2+2) segundos
-- .:. separe cada linha com um;
-- .:. se voce tiver que usar um ' na frase use \'
-- .:. se voce precisar usar uma \ na frase use \\
-- .:. se voce precisar de " na frase use \"

   	--------------------------
   	-- ! COMECO DO SCRIPT ! --
   	--------------------------

local tempo = 2 -- tempo que demora pro NPC falar a proxima frase em segundos (tempo entre as frases)

local musica = { -- PELO AMOR DE DEUS, NAO REMOVA ESSE local musica = {

 	"It\'s christmas eve and I\'ve only wrapped two fuckin\' presents";
 	"It\'s christmas eve and I\'ve only wrapped two fuckin\' presents";
 	"And I hate, hate, hate your guts";
 	"I really fuckin\', hate your guts";
 	"And I\'ll never talk to you again";
 	"unless your dad will suck me off";
 	"I\'ll never talk to you again";
 	"unless your mom will touch my cock";
 	"I\'ll never talk to you again";
 	"ejaculate into a sock";
 	"I\'ll never talk to you again";
 	"I\'ll never talk to you again";
 	0; -- * pausa de tempo(opcao acima) segundos
 	0; -- * se vc quizer uma pausa maior que o tempo especificado acima crie outra pausa ate chegar no tempo de pausa que voce quer
 	"It\'s Labor day and my grandpa just ate seven fuckin' hot dogs";
 	"It\'s Labor day and my grandpa just ate seven fuckin' hot dogs";
 	"and he shit shit shits his pants";
 	"He\'s alway\'s fuckin\' shittin his pants";
 	"And I\'ll never talk to you again";
 	"unless your dad will suck me off";
 	"I\'ll never talk to you again";
 	"unless your mom will touch my cock";
 	"ejaculate into a sock";
 	"I\'ll never talk to you again";
 	"I\'ll never talk to you again!";

 } -- PELO AMOR DE DEUS DENOVO, NAO REMOVA ESSE } :]


-----------------------------------------------------------------------------------
-- ! NAO ALTERAR DAQUI PRA BAIXO A NAO SER QUE VOCE SAIBA O QUE ESTEJA FAZENDO ! --
-----------------------------------------------------------------------------------

local start = 0
local step  = 0

-- Funcoes "vazias", que num fazem nada (para ESSE Npc, para outros pode nao ser) :
onThingMove, onCreatureAppear, onCreatureDisappear, onCreatureTurn, onCreatureChangeOutfit = function (creature, thing, oldpos, oldstackpos) end, function (creature) end, function (cid, pos) end, function (creature) end, function (creature) end

-- Funcao auxiliar pra onCreatureSay
msgcontains = function (txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end


 -----------------------------------------------------------------------
 -- ! COMENTARIO TEORICO PARA PERFEITA COMPREENSAO DO ARQUIVO - LUA ! --
 -----------------------------------------------------------------------

-- uma funcao pode ser definida assim:
  -- function nome_da_function(a1, a2, ..., an) CORPO_DA_FUNCAO end
-- mas tambem pode ser definida assim:
  -- nome_da_function = function (a1, a2, ..., an) CORPO_DA_FUNCAO end

-- ou seja:
  -- function onCreatureSay(cid, type, msg)
-- e
  -- onCreatureSay = function (cid, type, msg)
-- sao a mesma coisa

 	-----------------------------------------
 	-- ! AQUI COMECA O "MOTOR" DO SCRIPT ! --
 	-----------------------------------------

onCreatureSay = function (cid, type, msg) -- ou function onCreatureSay(cid, type, msg)
 	msg = string.lower(msg)

 	if msgcontains(msg, 'hi') and step == 0 and getDistanceToCreature(cid) < 4 then
 selfSay('Oi ' .. creatureGetName(cid) .. '! Vou cantar uma musiquinha pra vc, ok?')
 start = os.clock()
 step = 1
end
end


onThink = function () -- ou function onThink()

if step > 0 and os.clock() - start >= tempo then
 -- step > 0 evita execucoes desnecessários quando o npc esta ocioso, ou seja, quando ele nao estiver cantando
 start = os.clock()
 if musica[step] == nil then
 	step = 0
 	return 1
 elseif musica[step] ~= 0 then
 	selfSay(musica[step])
 end
 step = step + 1
end

end

Esse é o npc... Como jah disse o Help (como usar) tá dentro do npc mesmo então nem preciso colocar aqui :)

 

Bom, não sei se alguém vai se interessar pelo npc pq ele é meio inútil... mas tem alguma teoria lua que não se vê todo dia... x~]

 

Qualquer dúvida pm me :]

 

FlW

CyA!

It's the hunger; the hunger for an alternative and the refusal to accept a life of unhappiness.


tibiaa4e

Ex amante de Tibia
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 18/12/05Posts: 912Gênero: MasculinoChar no Tibia: Kohzete

ae rox msm

ja tinha visto ele na fase beta :bigsmile:

 

Depois eu add no meu server

Só q a musica de exemplo :sick:

 

 

flws :hi:

Aposentado de OTserver e Tibia

Meus melhores tutoriais
Enciclopédia Pasta Data
Tutorial de quest

Demolyt

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 15/02/07Posts: 26

eu so testo se ele canta ela dança eu danço (H)

iuAHEIUGAIOGEPOKX

 

rox o npc!


Demolyt~


Números não dizem nada.


Felipe Moraes

Java Developer
avatar
Grão-Duque
Grão-Duque

INFOS

Grupo: Grão-DuqueRegistrado: 02/10/06Posts: 3285Gênero: Masculino

heauhea bem rox esse npc

bem legal kra...parabens

~A nossa maior glória não reside no fato de nunca cairmos, mas sim em levantarmo-nos sempre depois de cada queda.~

 

 

 

 

Clique aqui para ver meus tutoriais !

 

 

 

Gamertag: cpmoraes

 

 

jaoo

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 20/01/06Posts: 23

pow muito loko... sem contar q da pra por ele no mei oda city contanu as novodades do ot e tals...

 

falanu de certa quest enscondida em tal lugar

 

=D... Mandanu procura pra norte de tal cidade atras de 7 passo de uam pedra x

 

SUAHSHS D+

to deliranu aki

 

abraço aprabesn OTIMO NPC



~~Jaoo Medalha~~ ~~Mapper~~ ~~Aprendiz de Actions/Scripts~~

skynagerloas

Ex-Moderador
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 13/11/05Posts: 715Char no Tibia: Lord'Skyxt

Tópico contendo somente 1 NpC,

essa seção é para DataPacks com 3 ou mais Npcs,

~o{Tópico Movido}o~,

Abraços.

Atenciosamente, Sky - Lord'Skyxt;

 

Antes de postar, leia isso:



Regras.

[Lord'SkyXT] [FloGão]

777779

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 13/09/09Posts: 55Char no Tibia: Lord Anjo Da Noite
HiHo!

 

esses dias tive um contratempo com essas coisas de alguém pegar coisas de um fórum e passar para outro faltando conteúdo...

Portanto Eu não irei aceitar se alguém pegar esse npc e postá-lo em outro lugar sem minha autorização!!! (você tem que me mandar uma pm, não aceito por apenas créditos no outro fórum!!!)

 

bom... Acho que comentei tanto o arquivo que estou sem mais nada pra escrever =x

Bom... ele é um npc que canta a música que você quizer (não de uma vez, frase por frase, claaro :])

Acho que as configurações estão fáceis e tem alguma dose de teoria lua...

 

Ah... jah ia me eskecendo, a música que vem configurada nesse npc é a música Happy Holidays, You Bastard - Blink 182

Ela é pequenininha x~] 42 segundos... :D

    	--------------------
   	-- ! NPC cantor ! --
   	-- ! By Frerety ! --
   	--------------------

--    .: Help :.
-- .:. cada linha e uma frase a ser falada
-- .:. as vezes o cantor precisa parar para respirar, pra fazer sabe-se la o que, entao ele nao fica cantando o tempo inteiro da musica.
--  	:. Portanto voce pode utilizar pausas para fazer o npc ficar calado num espaco de tempo definido por voce :]
-- .:. a frase so eh falada se tiver entre ""
-- .:. caso a frase corresponda a um 0 sem estar entre "", eh uma pausa que tem duracao de tempo(procure mais abaixo por local tempo).
-- .:. caso esse 0 seja seguido por 1 ou mais zeros(como ocorre nesse script*) o tempo eh aumentado em tempo(procure mais abaixo por local tempo) segundos a cada 0.
--  	:. Exemplo1 .: Caso tenhamos um tempo configurado como 2 e tivermos 2 zeros seguidos, a pausa do npc sera de 4(2+2) segundos
--  :. Exemplo2 .: Caso tenhamos um tempo configurado como 2 e tivermos 3 zeros seguidos, teremos uma pausa de 6(2+2+2) segundos
-- .:. separe cada linha com um;
-- .:. se voce tiver que usar um ' na frase use \'
-- .:. se voce precisar usar uma \ na frase use \\
-- .:. se voce precisar de " na frase use \"

   	--------------------------
   	-- ! COMECO DO SCRIPT ! --
   	--------------------------

local tempo = 2 -- tempo que demora pro NPC falar a proxima frase em segundos (tempo entre as frases)

local musica = { -- PELO AMOR DE DEUS, NAO REMOVA ESSE local musica = {

 	"It\'s christmas eve and I\'ve only wrapped two fuckin\' presents";
 	"It\'s christmas eve and I\'ve only wrapped two fuckin\' presents";
 	"And I hate, hate, hate your guts";
 	"I really fuckin\', hate your guts";
 	"And I\'ll never talk to you again";
 	"unless your dad will suck me off";
 	"I\'ll never talk to you again";
 	"unless your mom will touch my cock";
 	"I\'ll never talk to you again";
 	"ejaculate into a sock";
 	"I\'ll never talk to you again";
 	"I\'ll never talk to you again";
 	0; -- * pausa de tempo(opcao acima) segundos
 	0; -- * se vc quizer uma pausa maior que o tempo especificado acima crie outra pausa ate chegar no tempo de pausa que voce quer
 	"It\'s Labor day and my grandpa just ate seven fuckin' hot dogs";
 	"It\'s Labor day and my grandpa just ate seven fuckin' hot dogs";
 	"and he shit shit shits his pants";
 	"He\'s alway\'s fuckin\' shittin his pants";
 	"And I\'ll never talk to you again";
 	"unless your dad will suck me off";
 	"I\'ll never talk to you again";
 	"unless your mom will touch my cock";
 	"ejaculate into a sock";
 	"I\'ll never talk to you again";
 	"I\'ll never talk to you again!";

 } -- PELO AMOR DE DEUS DENOVO, NAO REMOVA ESSE } :]


-----------------------------------------------------------------------------------
-- ! NAO ALTERAR DAQUI PRA BAIXO A NAO SER QUE VOCE SAIBA O QUE ESTEJA FAZENDO ! --
-----------------------------------------------------------------------------------

local start = 0
local step  = 0

-- Funcoes "vazias", que num fazem nada (para ESSE Npc, para outros pode nao ser) :
onThingMove, onCreatureAppear, onCreatureDisappear, onCreatureTurn, onCreatureChangeOutfit = function (creature, thing, oldpos, oldstackpos) end, function (creature) end, function (cid, pos) end, function (creature) end, function (creature) end

-- Funcao auxiliar pra onCreatureSay
msgcontains = function (txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end


 -----------------------------------------------------------------------
 -- ! COMENTARIO TEORICO PARA PERFEITA COMPREENSAO DO ARQUIVO - LUA ! --
 -----------------------------------------------------------------------

-- uma funcao pode ser definida assim:
  -- function nome_da_function(a1, a2, ..., an) CORPO_DA_FUNCAO end
-- mas tambem pode ser definida assim:
  -- nome_da_function = function (a1, a2, ..., an) CORPO_DA_FUNCAO end

-- ou seja:
  -- function onCreatureSay(cid, type, msg)
-- e
  -- onCreatureSay = function (cid, type, msg)
-- sao a mesma coisa

 	-----------------------------------------
 	-- ! AQUI COMECA O "MOTOR" DO SCRIPT ! --
 	-----------------------------------------

onCreatureSay = function (cid, type, msg) -- ou function onCreatureSay(cid, type, msg)
 	msg = string.lower(msg)

 	if msgcontains(msg, 'hi') and step == 0 and getDistanceToCreature(cid) < 4 then
 selfSay('Oi ' .. creatureGetName(cid) .. '! Vou cantar uma musiquinha pra vc, ok?')
 start = os.clock()
 step = 1
end
end


onThink = function () -- ou function onThink()

if step > 0 and os.clock() - start >= tempo then
 -- step > 0 evita execucoes desnecessários quando o npc esta ocioso, ou seja, quando ele nao estiver cantando
 start = os.clock()
 if musica[step] == nil then
 	step = 0
 	return 1
 elseif musica[step] ~= 0 then
 	selfSay(musica[step])
 end
 step = step + 1
end

end

Esse é o npc... Como jah disse o Help (como usar) tá dentro do npc mesmo então nem preciso colocar aqui :)

 

Bom, não sei se alguém vai se interessar pelo npc pq ele é meio inútil... mas tem alguma teoria lua que não se vê todo dia... x~]

 

Qualquer dúvida pm me :]

 

FlW

CyA!

 

Ola Eu Tenho uma duvida e q ey criei uma casa de showns no meu ot bem rox so q o cantor qndo eu falo hi ele n responde vc pode me dizer oq esta acontecendo me esponda rapido plz

Minha Fan Bar


Fakes








Sou Fan De:


Metas
[x]1 post (NOOB)
[x]5 posts (SERVO)
[x]10 posts (CAMPONÊS)
[x]25 posts (CAÇADOR)
[x]50 posts (CAVALEIRO)
[ ]100 posts (MAGO)
[ ]200 posts (MAGO NEGRO)
[ ]300 posts (VISCONDE)
[ ]400 posts (DUQUE)
[ ]600 posts (ARQUEDUQUE)
[ ]800 posts (ARISTOCRATA)
[ ]1000 posts (REGENTE)
[ ]1400 posts (SÁBIO)
[ ]1800 posts (SACERDOTE)
[ ]2500 posts (PRÍNCIPE)


Precisando de um GOD ou CM em seu ot então e so mandar PM para mim

DaNDaNrOxX

oi mosso
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 18/01/08Posts: 1455Char no Tibia: Saint Claire

Walcker, reviver tópicos é proibido brother! Como não vi você cometer outra infração, vou apenar aplicar o alerta verbal, caso você quebre as regras mais uma vez será alertado em 10%..

-

Seria mais facil postar em dúvida sobre scripts e perguntar para alguém qual o erro do script, o tópico é beem antigo e provavelmente o usuário que criou o script já não acessa o fórum.

 

Abraços

 

 

Entrada na equipe: 23/10/2008 Cargo: Estagiário

Promoção: 25/11/2008 Cargo: Moderador

Promoção: 21/10/2009 Cargo: Coordenador

Remoção: 09/05/2010 Motivo: Estudos

Retorno: 15/11/2010 Cargo: Moderador

Remoção: 20/12/2012.