Ir para conteúdo

Featured Replies

Postado
  • Autor

@Hologram O npc ainda não me responde. Não sei qual o problema... a versão do server é 8.6

 

Parte xml do npc:

Mostrar conteúdo oculto

 

E o script está praticamente igual oque você comentou, removi apenas a linha de adcionar o item. Eu digo "quest" ou "missao" mas ele n responde nada de volta

  • Respostas 9
  • Visualizações 702
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • @MarkCharlotte Cara esse script seu tem muito erro, se funcionasse, o player nem precisaria entregar os itens pq ele ta setando a storagem so de falar items. E as storage tão tudo diferente, fica melh

  • @MarkCharlotte Erro meu não completei o elseif, copia la de novo que arrumei.   Bro, quiser essa parte é a frase inicial, ai verifica a storage e responde quando ele fala 'hi', so ir mudando

Posted Images

Postado
  • Solução

@MarkCharlotte Cara esse script seu tem muito erro, se funcionasse, o player nem precisaria entregar os itens pq ele ta setando a storagem so de falar items. E as storage tão tudo diferente, fica melhor vc mudar o valor delas. Refiz ele pra você mas tem uma parte que não entendi oq queria com isso. Mas so posta que ajeito, não consigo testa ele pq to no trampo. Se retorna algum erro so posta ele.

 

Deixei as storage que ta no script original (1456 e 13256) pq não sei onde usa mais, mas ela nao utiliza em nada pro funcionamento do npc

 

 local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
 
function onCreatureAppear(cid)         npcHandler:onCreatureAppear(cid)         end
function onCreatureDisappear(cid)      npcHandler:onCreatureDisappear(cid)         end
function onCreatureSay(cid, type, msg)   npcHandler:onCreatureSay(cid, type, msg:lower())   end
function onThink()                  npcHandler:onThink()                  end
local talkState = {}

function onCreatureSay(cid, type, msg)
 if getPlayerStorageValue(cid, 12101) >= 2 then
	npcHandler:setMessage(MESSAGE_GREET, "Olá "..getCreatureName(cid)..", Você já completou todas as Missões.")
	npcHandler:setMessage(MESSAGE_WALKAWAY, "Que rude.")
	npcHandler:setMessage(MESSAGE_FAREWELL, "Até... "..getCreatureName(cid)..".")
elseif getPlayerStorageValue(cid, 12101) < 1 then
	npcHandler:setMessage(MESSAGE_GREET, "Olá "..getCreatureName(cid)..", você deseja fazer a {missao} para aprender a nova magia?")
	npcHandler:setMessage(MESSAGE_WALKAWAY, "Que rude.")
	npcHandler:setMessage(MESSAGE_FAREWELL, "Até... "..getCreatureName(cid)..".")
elseif getPlayerStorageValue(cid, 12101) == 1 then
	npcHandler:setMessage(MESSAGE_GREET, "Olá "..getCreatureName(cid)..", você deseja entregar os {itens} para aprender a nova magia?.")
	npcHandler:setMessage(MESSAGE_WALKAWAY, "Que rude.")
	npcHandler:setMessage(MESSAGE_FAREWELL, "Até... "..getCreatureName(cid)..".")
	end
	npcHandler:onCreatureSay(cid, type, msg)		
end
 
function creatureSayCallback(cid, type, msg)
    if (not npcHandler:isFocused(cid)) then
        return false
    end
local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
	if getPlayerStorageValue(cid,12101) < 1 then
		if isInArray({"missao", "missoes"}, msg) then
				selfSay("vá e me traga os itens!",cid)
				setPlayerStorageValue(cid, 1456,1)
				setPlayerStorageValue(cid, 12101,1)
				talkState[talkUser] = 0
		end
	end
	
if getPlayerStorageValue(cid, 12101) == 1 then
	if isInArray({"itens", "item"}, msg) then
		if doPlayerRemoveItem(cid, 2160, 20) then
			setPlayerStorageValue(cid, 13256, 1)
			setPlayerStorageValue(cid, 12101, 2)
		else
			selfSay("Você ainda não tem os itens necessários!", cid)
		end
	end
end
return true
end


npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Retirei essa parte, depois me explica oq queria com isso que coloco pra você

if getPlayerStorageValue(cid, 13256) >= 2 then 
        npcHandler:say("Você vai para a ultima missão!.", cid) -- configurar depois

 

Editado por Naze (veja o histórico de edições)

Postado
  • Autor

@Naze Testei e deu o seguinte erro:

Mostrar conteúdo oculto

 

Vou tentar explicar melhor como seria o script, achei que dava pra entender, mas vendo agora tá bem confuso.

Seria um script onde o npc passaria uma missão (que seria para entregar 20 itens) ao completar ele setaria a storage para 16356 (podem colocar qualquer número, posso mudar dps) dps ao falar com ele novamente ele verificaria a storage, pra ver se completou a primeira missão, se sim ele passaria outra, e agora que vem essa parte:

if getPlayerStorageValue(cid, 13256) >= 2 then 
        npcHandler:say("Você vai para a ultima missão!.", cid) -- configurar depois

nessa parte eu mesmo iria configurar depois, pois era pra lutar com um npc. Dps do player aceitar a missão de ir lutar,  ele iria e lutava com o outro npc que setaria a storage dele para 12564 (número de testes, podem colocar outro se quiserem) quando voltasse ao npc do tópico, o npc iria dizer "Você derrou tal npc?" se o player disesse "derrotei" então se o player tivesse a storage que o npc de luta setou pra ele, então a missão estaria completa, e o npc do tópico verificaria ela pra ver se ele completou. Esse npc de luta já tenho o script pronto, o problema é esse npc do tópico.

Postado

@MarkCharlotte Erro meu não completei o elseif, copia la de novo que arrumei.

 

Bro, quiser essa parte é a frase inicial, ai verifica a storage e responde quando ele fala 'hi', so ir mudando o valor, mas o primeiro if ta verificando o valor 2, entao vc vai ter que troca la para mais.

elseif getPlayerStorageValue(cid, 12101) == 1 then
	npcHandler:setMessage(MESSAGE_GREET, "Olá "..getCreatureName(cid)..", você deseja entregar os {itens} para aprender a nova magia?.")
	npcHandler:setMessage(MESSAGE_WALKAWAY, "Que rude.")
	npcHandler:setMessage(MESSAGE_FAREWELL, "Até... "..getCreatureName(cid)..".")

@edit, tinha editando mas nao salvado, se copio antes de eu salva copia de novo q agr foi.

Editado por Naze (veja o histórico de edições)

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo