Postado Maio 9, 2015 10 anos Problema com sistema de casamentoQuando falo com o NPC e digito uma "marriage" ele faz meu personagem repetir a palavra varias vezes e ele também repete as próximas opções muitas vezes, print abaixo para melhor compreensãoDesculpa se postei no Local errado Editado Maio 9, 2015 10 anos por pokefelipe (veja o histórico de edições)
Postado Maio 9, 2015 10 anos eu nao sei mexer nesse tipo de servidor, so no 8.6 mas vou tentar te ajudar vai na pasta do ot e procura o script de casamento e cola o codigo aqui se nao achar procura o npc "padre" usando ctrl+F Editado Maio 9, 2015 10 anos por xpionx (veja o histórico de edições)
Postado Maio 9, 2015 10 anos Autor local npc, _msg = getNpcId(), msg:gsub('{', ''):gsub('}', '') local pos = getThingPos(npc) for _, tid in ipairs(getSpectators(pos, 7, 5, false) or {}) do if isPlayer(tid) then doCreatureSay(npc, tid ~= cid and _msg or msg, tid == cid and TALKTYPE_PRIVATE_NP or TALKTYPE_SAY, false, tid, pos) end end end local function marry(cid, msg, ext) msg = msg:gsub('my heart belongs to ', '') local player = getPlayerByName(msg) if player then if player ~= cid then if getPlayerPartner(player) == 0 then if getPlayerStorageValue(cid, 46000) == 1 then if getPlayerStorageValue(player, 46001) == getPlayerGUID(cid) then doCreatureSay(cid, msg, TALKTYPE_SAY) say('Vossas almas estão agora unidos por toda a eternidade. Como um símbolo de seu amor, vocês receberam seus anéis de casamento gravado e roupas festivas. ...', cid) say('Tenham uma otima vida de casados. Vá agora e comemore sua lua de mel!', cid) for _, pid in ipairs({cid, player}) do doPlayerAddOutfitId(pid, 34, 0) local v = getCreatureOutfit(pid) v.lookType = getPlayerSex(pid) == 0 and 329 or 328 doCreatureChangeOutfit(pid, v) doSendMagicEffect(getThingPos(pid), CONST_ME_HEARTS) setPlayerStorageValue(pid, 46002, os.time() + 86400) end doSendMagicEffect(getNpcPos(), CONST_ME_MAGIC_BLUE) local nc, np = getCreatureName(cid), getCreatureName(player) doItemSetAttribute(doPlayerAddItem(cid, 10502, 1), 'description', np .. ' & ' .. nc .. ' forever - married on ' .. os.date('%b ' .. os.date('*t').day .. ', %Y') .. '.') doItemSetAttribute(doPlayerAddItem(player, 10502, 1), 'description', nc .. ' & ' .. np .. ' forever - married on ' .. os.date('%b ' .. os.date('*t').day .. ', %Y') .. '.') doPlayerSetPartner(cid, getPlayerGUID(player)) doPlayerSetPartner(player, getPlayerGUID(cid)) Topic[cid] = nil return true elseif ext == 1 then say(getCreatureName(cid) .. ', você tem certeza de seu amor para ' .. getCreatureName(player) .. ' e gostaria de juntar as suas almas para a eternidade?', cid) Topic[cid] = 5 Partner[cid] = getPlayerGUID(player) end else say('Oh não! Seu anel e caixa de equipamento estão em falta! Eu espero que você não esquecê-los! Você pode por favor dar-lhes para mim agora?', cid) Topic[cid] = 8 return true end else if ext then say('Esta pessoa já está casado com alguém.', cid) end end else if ext then say('Você não pode casar-se com si mesmo.', cid) end end else if ext then say('Esta pessoa não está online.', cid) end end if ext then doCreatureSay(cid, msg, TALKTYPE_SAY) end end function creatureSayCallback(cid, type, msg) if msgcontains(msg, 'meu coração pertence a') and not npcHandler:isFocused(cid) then local v = marry(cid, msg) if v then npcHandler:addFocus(cid) return true end elseif (msgcontains(msg, 'hello') or msgcontains(msg, 'hi')) and (not npcHandler:isFocused(cid)) then npcHandler:say('Olá '..getCreatureName(cid)..'! Eu tenho o poder {marriage} ou {divorce}.', cid) npcHandler:addFocus(cid) Topic[cid] = nil elseif not npcHandler:isFocused(cid) then return false elseif msgcontains(msg, 'bye') or msgcontains(msg, 'farewell') then npcHandler:say('Adeus, '..getCreatureName(cid)..'. Que o Deus cuide de você!', cid) Topic[cid] = nil npcHandler:releaseFocus(cid) elseif msgcontains(msg, 'marriage') or msgcontains(msg, 'marry') or msgcontains(msg, 'ceremony') or msgcontains(msg, 'wedding') then if getPlayerPartner(cid) ~= 0 then say('Sim, de fato, vocês estão casados, ' .. getCreatureName(cid) .. '. Espero que o seu amor ainda está florescendo e próspera.', cid) Topic[cid] = nil elseif getPlayerStorageValue(cid, 46000) < 1 then say('Antes de podermos começar a cerimônia de casamento, cada um de vocês precisa me entregar um anel de casamento em branco e uma caixa com uma roupa de casamento. ' .. getCreatureName(cid) .. ', você tem esses itens com você e você está disposto a dá-los a mim agora?', cid) Topic[cid] = 6 else say('Você me deseja iniciar a cerimônia de casamento agora?', cid) Topic[cid] = 1 end doCreatureSay(cid, msg, TALKTYPE_SAY) elseif Topic[cid] == 1 then if msgcontains(msg, 'yes') or (msgcontains(msg, 'i') and msgcontains(msg, 'will')) then say('Em nome de Deus e sua benevolência, pergunto-lhe, ' .. getCreatureName(cid) .. ': ambos estão prontos para casar?', cid) Topic[cid] = 2 else say('Talvez um outro tempo, o casamento não é um passo deve-se considerar, sem amor no coração.', cid) Topic[cid] = nil end doCreatureSay(cid, msg, TALKTYPE_SAY) elseif Topic[cid] == 2 then if msgcontains(msg, 'yes') or (msgcontains(msg, 'i') and msgcontains(msg, 'will')) then say('Um momento de silêncio por favor... Tenho a honra de invocar os poderes eternos que vigiam nossas almas e vidas. Por favor, repita comigo: {Que Deus nos Abençoe|}!', cid) doSendMagicEffect(getNpcPos(), CONST_ME_MAGIC_BLUE) Topic[cid] = 3 end doCreatureSay(cid, msg, TALKTYPE_SAY) elseif Topic[cid] == 3 then if msgcontains(msg, 'Que Deus nos Abençoe') or msgcontains(msg, 'que Deus nos Abençoe') or msgcontains(msg, 'que Deus nos abencoe') then say('Eu te pergunto: ' .. getCreatureName(cid) .. ', Qual é o nome da pessoa que {seu coração pertence}?', cid) Topic[cid] = 4 else -- end doCreatureSay(cid, msg, TALKTYPE_SAY) elseif Topic[cid] == 4 then marry(cid, msg, 1) elseif Topic[cid] == 5 then if msgcontains(msg, 'yes') or (msgcontains(msg, 'i') and msgcontains(msg, 'will')) then say('Então, pelos poderes dos deuses, sua alma está agora ligado ao seu amado. ' .. getPlayerNameByGUID(Partner[cid]) .. ', Agora dê um passo a frente e me diga se seu coração pertence a ' .. getCreatureName(cid) .. ' também.', cid) setPlayerStorageValue(cid, 46001, Partner[cid]) Topic[cid] = nil doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_RED) elseif msgcontains(msg, 'no') then say('Sua negação de amor dói em meu coração. Deixe agora!', cid) Topic[cid] = nil npcHandler:releaseFocus(cid) end doCreatureSay(cid, msg, TALKTYPE_SAY) elseif Topic[cid] == 6 then if msgcontains(msg, 'yes') or (msgcontains(msg, 'i') and msgcontains(msg, 'will')) then say('Obrigado. Eu vou dar-lhes de volta para você quando for a hora certa. Por favor, certifique-se de que você tem tanto de me entregou seus itens antes de começar a {ceremony}.', cid) setPlayerStorageValue(cid, 46000, 1) else say('Hm, then not.', cid) end Topic[cid] = nil elseif Topic[cid] == 8 then if msgcontains(msg, 'yes') then say('Obrigado. Agora vamos continuar - por favor me diga novamente, seu coração pertence a?', cid) setPlayerStorageValue(cid, 46000, 1) Topic[cid] = 9 return true else say('Hm, then not.', cid) end Topic[cid] = nil elseif Topic[cid] == 9 then marry(cid, msg, true) elseif msgcontains(msg, 'divorce') and getPlayerPartner(cid) > 0 then npcHandler:say('O que, pedido de um divórcio? Você anseia pelas alegrias da solteiro? Eu sei bem, meu casamento foi um campo de batalha ... mas menos do que isso. Você está infeliz no casamento?', cid) Topic[cid] = 10 elseif Topic[cid] == 10 and msgcontains(msg, 'yes') then npcHandler:say('Não há justiça no mundo, quando uma mulher bonita como você é tratada mal. Não que eu tenha uma conexão especial com os Deuses ou qualquer coisa - mas posso organizar o seu divórcio, se é isso que você deseja. Você quer?', cid) Topic[cid] = 11 elseif Topic[cid] == 11 and msgcontains(msg, 'yes') then npcHandler:say('Hm. Entenda, uh... Gostaria de fazê-lo gratuitamente, mas eu poderia, de fato, usar algum dinheiro. Faça-me um favor e \'donate\' 5000 gold coins, para que eu possa comprar algo, uhm... Então eu vou fazer o resto. O que você diz? ', cid) Topic[cid] = 12 elseif Topic[cid] == 12 and msgcontains(msg, 'yes') then npcHandler:say('Nenhum p ... problema. E não tem volta agora! Mas, só para ter certeza, - você tem certeza que você quer libertar-se da miséria do casamento, e se livrar da pessoa com quem se casou em um momento de loucura? ', cid) Topic[cid] = 13 elseif Topic[cid] == 13 and msgcontains(msg, 'yes') then if doPlayerRemoveMoney(cid, 5000) then npcHandler:say('Ehem. Pelos deuses e deixe este casamento infeliz e equivocado, chegou ao fim. Todos os títulos vão ser quebrado e assim por diante.- Não cometa o mesmo erro outra vez!', cid) local partner = getPlayerPartner(cid) if partner ~= 0 then local t = {cid} local player = getPlayerByGUID(partner) if player then table.insert(t, player) else db.executeQuery("UPDATE `players` SET `marriage` = 0 WHERE `id` = " .. partner) db.executeQuery("UPDATE `player_items` SET `itemtype` = 10510 WHERE `player_id` = " .. partner .. " AND `itemtype` = 10502") end for _, pid in ipairs(t) do doPlayerSetPartner(pid, 0) local v = getCreatureOutfit(pid) if isInArray({328, 329}, v.lookType) then v.lookType = getPlayerSex(pid) == 0 and 136 or 128 doCreatureChangeOutfit(pid, v) end doPlayerRemoveOutfitId(pid, 34) while doPlayerRemoveItem(pid, 10502, 1) do doPlayerAddItem(pid, 10510, 1) end end end else npcHandler:say('Damn, I bet <hicks> your cheating spouse took all of your money <hicks> from you. You\'re as poor as a church mouse. <hicks>', cid) end end return true end npcHandler:setMessage(MESSAGE_FAREWELL, 'Que Deus esteja com você') npcHandler:setMessage(MESSAGE_WALKAWAY, 'Que Deus esteja com você') npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
Postado Maio 9, 2015 10 anos elsesay('Você me deseja iniciar a cerimônia de casamento agora?', cid)Topic[cid] = 1 onde tiver isso vc tenta mudar o "1" por "nil"
Postado Maio 9, 2015 10 anos Autor Em 09/05/2015 em 19:52, xpionx disse: else say('Você me deseja iniciar a cerimônia de casamento agora?', cid) Topic[cid] = 1 onde tiver isso vc tenta mudar o "1" por "nil" Ok vou tentar aqui mano Vish não deu certo,
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.