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...
-------------------- -- ! 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!