Script Muito Procurado

freesecs
em Lixeira Pública
  • 1
  • 2

freesecs

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 06/09/09Posts: 4

OT usado: Alissow 3.6, TFS 0.3.5

Versão: 8.5

 

Tenho pouco tempo de experiência em scripts, mas acho que esse pedido ajudará muitos players.

Tento por vários NPCs de casamento e nenhum funciona, e creio que meu pedido é simples:

 

Encontrei um ótimo NPC de casamento:

 

<?xml version="1.0"?>

<npc name="Padre Marcelo" script="data/npc/scripts/padre.lua" access="3" lookdir="1" autowalk="200" speed="200">

<health now="1" max="1"/>

<look type="130" head="19" body="95" legs="0" feet="19"/>

</npc>

 

Script:

 

local focus1 = 0

local focus2 = 0

local talk_start = 0

local target = 0

local following = false

local attacking = false

local talkstate = 0

 

cidade = "SpiderBay" --- Colocar aqui o nome da cidade que estah o PADRE

dia = os.date("%d")

mes = os.date("%m")

ano = os.date("%Y")

 

mesesChr = {"Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"}

mesBR = mesesChr[mes*1]

 

Sex1 = 0

Sex2 = 0

 

function onThingMove(creature, thing, oldpos, oldstackpos)

end

 

function onCreatureAppear(creature)

end

 

function onCreatureDisappear(id, stackpos)

if id == focus1 or id == focus2 then

if id == focus1 then

if Sex1 == 1 then

ceremonyend('O noivo fugiu.')

else

ceremonyend('A noiva fugiu.')

end

else

if Sex2 == 1 then

ceremonyend('O noivo fugiu.')

else

ceremonyend('A noiva fugiu.')

end

end

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 ceremonyend(msg)

focus1 = 0

focus2 = 0

talk_start = 0

talkstate = 0

selfSay(msg)

end

 

function onCreatureSay(cid, type, msg)

msg = string.lower(msg)

if talkstate == 1 then

if cid == focus2 then

if msgcontains(msg, 'yes') or msgcontains(msg, 'sim') then

talkstate=2

doNpcSetCreatureFocus(focus1)

selfSay('E você ' .. creatureGetName(focus1) .. '! Posso começar a cerimônia?')

else

ceremonyend('Volte quando estiver pront' .. Art2 .. '.')

end

end

elseif talkstate == 2 then

if cid == focus1 then

if msgcontains(msg, 'yes') or msgcontains(msg, 'sim') then

talkstate=3

else

ceremonyend('Volte quando estiver pront' .. Art1 .. '.')

end

end

elseif talkstate == 9 then

if cid == focus1 then

if msgcontains(msg, 'yes') or msgcontains(msg, 'sim') then

talkstate=10

else

ceremonyend('Volte quando estiver pront' .. Art1 .. '.')

end

end

elseif talkstate == 11 then

if cid == focus2 then

if msgcontains(msg, 'yes') or msgcontains(msg, 'sim') then

talkstate=12

else

ceremonyend('Volte quando estiver pront' .. Art2 .. '.')

end

end

end

if msgcontains(msg, 'hi') and focus1 == 0 and getDistanceToCreature(cid) < 4 then

-- Pessoa 1 no casamento

doNpcSetCreatureFocus(cid)

focus1 = cid

talk_start = os.clock()

Casado = getPlayerStorageValue(cid,2424)

Sex1 = getPlayerSex(cid)

if Sex1 == 1 then

Art1 = "o"

Art2 = "a"

else

Art1 = "a"

Art2 = "o"

end

if Casado == -1 then

selfSay('Oi, ' .. creatureGetName(cid) .. '! Eu sou um Padre, e posso te casar. Onde está '..Art2..' noiv'..Art2..'?!?')

else

selfSay('Você já é casad' .. Art1 .. '.')

talkstate = 0

end

end

if msgcontains(msg, 'hi') and focus1 > 0 and focus2 == 0 and not(cid==focus1) and getDistanceToCreature(cid) < 4 then

-- Pessoa 2 no casamento

doNpcSetCreatureFocus(cid)

Casado = getPlayerStorageValue(cid,2424)

Sex2 = getPlayerSex(cid)

if Sex2 == 1 then

Art2 = "o"

else

Art2 = "a"

end

if Casado == -1 then

if Sex1 == Sex2 then

selfSay('Casamento homosexual ainda nao é permitido nesta paróquia.')

else

selfSay('Olá, ' .. creatureGetName(cid) .. '! Chegou '..Art2..'noiv'..Art2..'. Podemos começar?!?')

focus2 = cid

talk_start = os.clock()

talkstate=1

end

else

selfSay('Você já é casad' .. Art2 .. '.')

talkstate = 0

end

end

if msgcontains(msg, 'casar') and (focus1 == cid or focus2 == cid) then

selfSay('Casamento é uma cerimônia sagrada. Oque Deus une, o homem não separa.')

talk_start = os.clock()

end

if msgcontains(msg, 'divorcio') and (focus1 == cid or focus2 == cid) then

setPlayerStorageValue(cid,2424,-1)

ceremonyend('OK... Considere-se divorciad'..Art1..'.')

end

if string.find(msg, '(%a*)bye(%a*)') and (focus1 == cid or focus2 == cid) and getDistanceToCreature(cid) < 6 then

ceremonyend('Vai com DEUS, ' .. creatureGetName(cid) .. '!')

end

end

 

function onCreatureChangeOutfit(creature)

end

 

function onThink()

if focus1 ~= 0 then

-- Olha pro focus1

doNpcSetCreatureFocus(focus1)

elseif focus2 ~= 0 then

-- Olha pro focus2

doNpcSetCreatureFocus(focus2)

else

-- Fala uma fraze

rand = math.random(1, 400)

if rand == 1 then

selfSay('Hic.')

elseif rand == 2 then

selfSay('AMÉM !')

elseif rand == 3 then

selfSay('Aleluia irmãos...')

elseif rand == 4 then

selfSay('Pode entrar...')

elseif rand == 5 then

selfSay('Domingo agora vai ter sermão.')

end

end

if talkstate==3 and (os.clock() - talk_start) > 10 then

selfSay('Estamos aqui reunidos na presença de Deus para unir essas duas pessoas,')

talk_start = os.clock()

talkstate=4

elseif talkstate==4 and (os.clock() - talk_start) > 6 then

selfSay('nos sagrados votos do matrimônio.');

talk_start = os.clock()

talkstate=5

elseif talkstate==5 and (os.clock() - talk_start) > 6 then

selfSay('Se tiver alguem presente que conheça um motivo para evitar esse casamento,')

talk_start = os.clock()

talkstate=6

elseif talkstate==6 and (os.clock() - talk_start) > 8 then

selfSay('que fale agora ou cale-se para sempre!');

talk_start = os.clock()

talkstate=61

elseif talkstate==61 and (os.clock() - talk_start) > 6 then

P1pos = getPlayerPosition(focus1)

P2pos = getPlayerPosition(focus2)

AtchinPos = {x=P1pos.x, y=P1pos.y+4, z=P1pos.z}

CofPos = {x=P2pos.x-2, y=P2pos.y, z=P2pos.z}

doSendAnimatedText(AtchinPos,"Atchin",5)

doSendAnimatedText(CofPos,"Cof Cof",33)

talkstate=62

elseif talkstate==62 and (os.clock() - talk_start) > 6 then

AtchinPos = {x=P2pos.x+2, y=P1pos.y-1, z=P1pos.z}

CofPos = {x=P2pos.x-1, y=P2pos.y+4, z=P2pos.z}

doSendAnimatedText(AtchinPos,"Criii Criii",71)

doSendAnimatedText(CofPos,"Psiuuu!",152)

talkstate=7

elseif talkstate==7 and (os.clock() - talk_start) > 6 then

selfSay('Comecemos então a cerimônia.');

talk_start = os.clock()

talkstate=8

elseif talkstate==8 and (os.clock() - talk_start) > 6 then

if Sex1 == 1 then

Parc = "sua legitima esposa"

else

Parc = "seu legitimo marido"

end

 

doNpcSetCreatureFocus(focus1)

selfSay('Você ' .. creatureGetName(focus1) .. ' aceita ' .. creatureGetName(focus2) .. ' como ' .. Parc .. '?')

talk_start = os.clock()

talkstate=9

elseif talkstate==10 and (os.clock() - talk_start) > 6 then

if Sex2 == 1 then

Parc = "sua legitima esposa"

else

Parc = "seu legitimo marido"

end

 

doNpcSetCreatureFocus(focus2)

selfSay('Você ' .. creatureGetName(focus2) .. ' aceita ' .. creatureGetName(focus1) .. ' como ' .. Parc .. '?')

talk_start = os.clock()

talkstate=11

elseif talkstate==12 and (os.clock() - talk_start) > 6 then

 

---- No anel DELE o nome DELA (e vice-versa)

 

TextoCasorio = 'FÓRUM TIBIANO DE NOTAS E OFICIOS\n\nCertidão de Casamento\n-----------------\n\nEste Documento comprova o amor puro e verdadeiro entre \n' .. getPlayerName(focus1) .. ' e ' .. getPlayerName(focus2) .. '.\n\nCerimônia realizada por Padre Marcelo.\nTestemunhas presentes confirmam o enlace.\n\n'..cidade..', '..dia..' de '..mesBR..' de '..ano

 

anel1 = doPlayerAddItem(focus1,2121,1)

doSetItemSpecialDescription(anel1,getPlayerName(focus2) .. ' - ' .. os.date("%d/%m/%y"))

certif1 = doPlayerAddItem(focus1,1953,1)

doSetItemText(certif1,TextoCasorio)

 

anel2 = doPlayerAddItem(focus2,2121,1)

doSetItemSpecialDescription(anel2,getPlayerName(focus1) .. ' - ' .. os.date("%d/%m/%y"))

certif2 = doPlayerAddItem(focus2,1953,1)

doSetItemText(certif2,TextoCasorio)

 

setPlayerStorageValue(focus1,2424,1)

setPlayerStorageValue(focus2,2424,1)

ceremonyend('Eu vos declaro Marido e Mulher. Pode beijar a noiva.')

talk_start = os.clock()

talkstate=0

end

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

if focus1 > 0 or focus2 > 0 then

ceremonyend('Cerimônia interrompida por indecisão.')

end

end

end

 

Pelo que andei lendo, este NPC só funciona em OTs 8.4 - e TFS 0.3.4.

 

O erro no caso, está no ' .. creatureGetName(focus1) .. ' . Essa função para se obter o nome do player, o TFS 0.3.5 não reconhece. O NPC casa os players, só para isso eu tive que tirar essa função de GetName.

 

Queria pedir aos scripters para me ajudarem a resolver esse problema. Muitos usuários usam o mesmo TFS e também tem problemas para achar u bom NPC de casamento.

 

Desde já, grato.

Kude Ampola

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 25/01/07Posts: 65

²

 

Somos 2 que queremos esse script, shushsdu :)

 

Tomara q atendao teu pedido

Falso virus em c++, Ja vem pronto apenas baixar e zuar!!

Download :Aqui

Henrique Moura

Ex-administrador
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 17/02/08Posts: 2541

Você poderia trocar algumas frases para deixar o npc melhorzinhoo...essa de ficar falando "amém" e "vái com deus.." não é legal...

 

Abraços.

KaKilo ~
 


Lom14fD.png

rockstar96

Around the world
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 01/07/09Posts: 216

KaKilo meu filho, você nem leu até o final.

 

 

Pelo que andei lendo, este NPC só funciona em OTs 8.4 - e TFS 0.3.4.

 

O erro no caso, está no ' .. creatureGetName(focus1) .. ' . Essa função para se obter o nome do player, o TFS 0.3.5 não reconhece. O NPC casa os players, só para isso eu tive que tirar essa função de GetName.

 

Queria pedir aos scripters para me ajudarem a resolver esse problema. Muitos usuários usam o mesmo TFS e também tem problemas para achar u bom NPC de casamento.

 

Desde já, grato.

 

Eu acho que vi um flood.

ou não

freesecs

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 06/09/09Posts: 4

Ah gente, me ajudem por favor...

 

Estou a muito tempo procurando este script, e muita gente tbm tá atrás, alguém ajuda pls

Skyblade

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 20/06/08Posts: 76Char no Tibia: Yahuu

Tenta trocar o creatureGetName... pelo q o irockstar falo e posta ae se deu certo =D

ºº A erva é mais importante pra quem não conhece ela ºº

ºº Nós olhamos pra ela e falamos... A erva...ºº

Bob Marley



ATS Com sistemas unicos como:

Carros,Skate, Quests únicas

Forja de items, mais de 15 sports para jogar

areas de treino e de caça

Items totalmente editados

Tutoriais explicando como jogar no site

Eventos Diários.

Entre agora mesmo!



Esperamos Você la!

freesecs

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 06/09/09Posts: 4

Deu certo! Valeu =D

freesecs

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 06/09/09Posts: 4

Fiquei um tempo sem poder mecher no ot.

 

O problema agora é que o npc nao tira o foco do player a menos que esse logue.

 

Não funciona dar "bye".

 

Alguém pode ajudar?

 

Sei que é algo pequeno, mais eu estou editando um servidor praticamente sozinho...

 

Quando esse script estiver 100% eu posto pros outros na sessão correta :thumbsupsmiley2:

Henrique Moura

Ex-administrador
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 17/02/08Posts: 2541

freesecs

Cuidado! postar duas vezes seguidas sem um intervalo de outro usuário é considerado flood, e você pode ser alertado por isso. Todavia, para saber mais sobre floods e double posts visite as regras do fórum.

Abraços.

KaKilo ~
 


Lom14fD.png

DaNDaNrOxX

oi mosso
avatar
Marquês
Marquês

INFOS

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

Como o KaKilo falou, cuidado com o flood freesecs!

Não vou alertar você agora, mas se você fizer novamente vou ter que alertar em 10%..

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.

 

 

freesecs

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 06/09/09Posts: 4

Desculpem o Flood, mais como ninguem iria postar mais, eu achei melhor floodar do que abrir outro tópico...

 

Então RockStar, eu já havia pego esse comando de outros NPCs aqui, e não funcionou.

 

Tentei colocá-lo de modo semelhante ao que estava nos outros npcs, mais esse NPC de casamento é antigo e são poucos os meus NPCs que configuram a Farewell KeyWord no próprio script do npc, a maioria dos meus usa o NPCHandler system que já tem as msgs pré-configuradas.

 

Não sei se fui eu que o posicionei errado, mais você poderia me indicar o local certo??

 

Mais uma vez, desculpem o flood, mas foi necessário...

 

Obrigado pela atenção.

godholy

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 29/09/09Posts: 7
Desculpem o Flood, mais como ninguem iria postar mais, eu achei melhor floodar do que abrir outro tópico...

 

Então RockStar, eu já havia pego esse comando de outros NPCs aqui, e não funcionou.

 

Tentei colocá-lo de modo semelhante ao que estava nos outros npcs, mais esse NPC de casamento é antigo e são poucos os meus NPCs que configuram a Farewell KeyWord no próprio script do npc, a maioria dos meus usa o NPCHandler system que já tem as msgs pré-configuradas.

 

Não sei se fui eu que o posicionei errado, mais você poderia me indicar o local certo??

 

Mais uma vez, desculpem o flood, mas foi necessário...

 

Obrigado pela atenção.

 

Chega a aparecer algum erro no executável do server??

Se tiver, poste, isso facilita...

 

Abrass..

Hierarquia:

1. GOD
2. CM
3. GM
4. TUTOR
5. PLAYER
6. NEWBIE
7. NOOB
8. OTÁRIO
9. QUEM PEDE GOD
10. QUEM PEDE GM
11. QUEM ANUNCIA SERVER
12. Hackers

freesecs

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 06/09/09Posts: 4
Chega a aparecer algum erro no executável do server??

Se tiver, poste, isso facilita...

 

Abrass..

 

Não aparece erro algum no executável.

 

O "bye" aqui está como se fosse uma keyword qualquer, sem função de terminar a conversa e anular o focus.

  • 1
  • 2