Ir para conteúdo

Script Muito Procurado


freesecs

Posts Recomendados

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.

Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

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:

Link para o comentário
Compartilhar em outros sites

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.

Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

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.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...