Ir para conteúdo
  • 0

[NPC] Pular necessidade de 'HI' para shop


doruaziin

Pergunta

Fala pessoal, tudo bem?

Vim aqui pq estou nas últimas, sempre pesquiso como resolver um problema ou até mesmo quebro a cabeça, mas dessa vez não consegui.

O problema é o seguinte:

Adaptei o sistema de quando clicar com o direito no npc o player dizer 'hi', funciona perfeitamente na nurse joy, porém, no Mark ele não abre a janela de shop direto, alguém sabe como fazer? Descobri uma solução paleativa com o @Taiger, que é colocando o HI na lib de shop, mas mesmo assim necessitaria de dois cliques.

 

Deixei assim no fuction onTarget:

if isNpc(target) == true then
    return doCreatureSay(cid, "hi", 10)
end

Nisso, to com o problema também do player ficar com o target ativo no npc, como seria essa solução?
 

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0
1 hora atrás, doruaziin disse:

Fala pessoal, tudo bem?

Vim aqui pq estou nas últimas, sempre pesquiso como resolver um problema ou até mesmo quebro a cabeça, mas dessa vez não consegui.

O problema é o seguinte:

Adaptei o sistema de quando clicar com o direito no npc o player dizer 'hi', funciona perfeitamente na nurse joy, porém, no Mark ele não abre a janela de shop direto, alguém sabe como fazer? Descobri uma solução paleativa com o @Taiger, que é colocando o HI na lib de shop, mas mesmo assim necessitaria de dois cliques.

 

Deixei assim no fuction onTarget:


if isNpc(target) == true then
    return doCreatureSay(cid, "hi", 10)
end

Nisso, to com o problema também do player ficar com o target ativo no npc, como seria essa solução?
 

No ontarget coloca um return false pra npc._.

Link para o comentário
Compartilhar em outros sites

  • 0
15 horas atrás, Deadpool disse:

No ontarget coloca um return false pra npc._.

Coloquei, mas continua a mesma coisa.

Ta assim no creaturescripts/playerattack.lua:

function onTarget(cid, target)

if isNpc(target) == true then
	return doCreatureSay(cid, "hi", 10)
end

if isNpc(target) == true then
	return doCreatureSay(cid, "offer", 10)
end

if isNpc(target) == true then
	return false
end

 

Link para o comentário
Compartilhar em outros sites

  • 0
2 minutos atrás, doruaziin disse:

Coloquei, mas continua a mesma coisa.

Ta assim no creaturescripts/playerattack.lua:


function onTarget(cid, target)

if isNpc(target) == true then
	return doCreatureSay(cid, "hi", 10)
end

if isNpc(target) == true then
	return doCreatureSay(cid, "offer", 10)
end

if isNpc(target) == true then
	return false
end

 

eu errei kk coloca isto:
 

if not isCreature(cid) or not isCreature(target) then return false end

 

Link para o comentário
Compartilhar em outros sites

  • 0
2 minutos atrás, Deadpool disse:

eu errei kk coloca isto:
 


if not isCreature(cid) or not isCreature(target) then return false end

 

Valeu mano! Funcionou, agora só to com a dificuldade do Mark.

Se pudesse ajudar tb, nessa situação no CP está aparecendo a mensagem que estou atacando em PZ, como tiro apenas dessa situação?

Link para o comentário
Compartilhar em outros sites

  • 0
Em 22/03/2020 em 11:46, doruaziin disse:

Valeu mano! Funcionou, agora só to com a dificuldade do Mark.

Se pudesse ajudar tb, nessa situação no CP está aparecendo a mensagem que estou atacando em PZ, como tiro apenas dessa situação?

Se clica no npc ele fica com fight condition?

Link para o comentário
Compartilhar em outros sites

  • 0
Em 24/03/2020 em 17:48, Yan18 disse:

Se clica no npc ele fica com fight condition?

Dá isso:

Spoiler

3TykSPL.png

 

Queria saber como faço pra além de sumir essa mensagem, não aparecer o quadrado vermelho e também conseguir abrir o shopping em outro npc.

 

Também ta dando isso no terminal:

ERROR: protected lua call failed: LUA ERROR:
/game_console/console.lua:830: attempt to index global 'violationReportTab' (a nil value)
stack traceback:
    [C]: ?
    /game_console/console.lua:830: in function </game_console/console.lua:767>

 

Editado por doruaziin
Link para o comentário
Compartilhar em outros sites

  • 0

Aproveitando o tópico relacionado a uma dúvida minha.

 

O que seria necessário alterar para que os NPCs nos barcos aceitassem viajar sem a necessidade do HI. Exemplo:   Venore, Yes

 

Agradeço a atenção.

 

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)		end
function onThink()		npcHandler:onThink()		end

local voices = { {text = 'Passages to Carlin, Ab\'Dendriel, Edron, Venore, Port Hope, Liberty Bay, Yalahar, Roshamuul, Krailos, Oramond and Svargrond.'} }
npcHandler:addModule(VoiceModule:new(voices))

-- Travel
local function addTravelKeyword(keyword, cost, destination, action, condition)
	if condition then
		keywordHandler:addKeyword({keyword}, StdModule.say, {npcHandler = npcHandler, text = 'I\'m sorry but I don\'t sail there.'}, condition)
	end

	local travelKeyword = keywordHandler:addKeyword({keyword}, StdModule.say, {npcHandler = npcHandler, text = 'Do you seek a passage to ' .. keyword:titleCase() .. ' for |TRAVELCOST|?', cost = cost, discount = 'postman'})
		travelKeyword:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = false, cost = cost, discount = 'postman', destination = destination}, nil, action)
		travelKeyword:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, text = 'We would like to serve you some time.', reset = true})
end

addTravelKeyword('carlin', 110, Position(32387, 31820, 6), function(player) if player:getStorageValue(Storage.postman.Mission01) == 1 then player:setStorageValue(Storage.postman.Mission01, 2) end end)
addTravelKeyword('ab\'dendriel', 130, Position(32734, 31668, 6))
addTravelKeyword('edron', 160, Position(33175, 31764, 6))
addTravelKeyword('venore', 170, Position(32954, 32022, 6))
addTravelKeyword('port hope', 160, Position(32527, 32784, 6))
addTravelKeyword('roshamuul', 210, Position(33494, 32567, 7))
addTravelKeyword('svargrond', 180, Position(32341, 31108, 6))
addTravelKeyword('liberty bay', 180, Position(32285, 32892, 6))
addTravelKeyword('yalahar', 200, Position(32816, 31272, 6), nil, function(player) return player:getStorageValue(Storage.SearoutesAroundYalahar.Thais) ~= 1 and player:getStorageValue(Storage.SearoutesAroundYalahar.TownsCounter) < 5 end)
addTravelKeyword('oramond', 150, Position(33479, 31985, 7))
addTravelKeyword('krailos', 230, Position(33492, 31712, 6))

-- Kick
keywordHandler:addKeyword({'kick'}, StdModule.kick, {npcHandler = npcHandler, destination = {Position(32320, 32219, 6), Position(32321, 32210, 6)}})

-- Basic
keywordHandler:addKeyword({'name'}, StdModule.say, {npcHandler = npcHandler, text = 'My name is Captain Bluebear from the Royal Tibia Line.'})
keywordHandler:addKeyword({'job'}, StdModule.say, {npcHandler = npcHandler, text = 'I am the captain of this sailing-ship.'})
keywordHandler:addKeyword({'captain'}, StdModule.say, {npcHandler = npcHandler, text = 'I am the captain of this sailing-ship.'})
keywordHandler:addKeyword({'ship'}, StdModule.say, {npcHandler = npcHandler, text = 'The Royal Tibia Line connects all seaside towns of Tibia.'})
keywordHandler:addKeyword({'line'}, StdModule.say, {npcHandler = npcHandler, text = 'The Royal Tibia Line connects all seaside towns of Tibia.'})
keywordHandler:addKeyword({'company'}, StdModule.say, {npcHandler = npcHandler, text = 'The Royal Tibia Line connects all seaside towns of Tibia.'})
keywordHandler:addKeyword({'tibia'}, StdModule.say, {npcHandler = npcHandler, text = 'The Royal Tibia Line connects all seaside towns of Tibia.'})
keywordHandler:addKeyword({'good'}, StdModule.say, {npcHandler = npcHandler, text = 'We can transport everything you want.'})
keywordHandler:addKeyword({'passenger'}, StdModule.say, {npcHandler = npcHandler, text = 'We would like to welcome you on board.'})
keywordHandler:addKeyword({'trip'}, StdModule.say, {npcHandler = npcHandler, text = 'Where do you want to go? To {Carlin}, {Ab\'Dendriel}, {Venore}, {Port Hope}, {Liberty Bay}, {Svargrond}, {Yalahar}, {Roshamuul}, {Oramond} or {Edron}?'})
keywordHandler:addKeyword({'route'}, StdModule.say, {npcHandler = npcHandler, text = 'Where do you want to go? To {Carlin}, {Ab\'Dendriel}, {Venore}, {Port Hope}, {Liberty Bay}, {Svargrond}, {Yalahar}, {Roshamuul}, {Oramond} or {Edron}?'})
keywordHandler:addKeyword({'passage'}, StdModule.say, {npcHandler = npcHandler, text = 'Where do you want to go? To {Carlin}, {Ab\'Dendriel}, {Venore}, {Port Hope}, {Liberty Bay}, {Svargrond}, {Yalahar}, {Roshamuul}, {Oramond} or {Edron}?'})
keywordHandler:addKeyword({'town'}, StdModule.say, {npcHandler = npcHandler, text = 'Where do you want to go? To {Carlin}, {Ab\'Dendriel}, {Venore}, {Port Hope}, {Liberty Bay}, {Svargrond}, {Yalahar}, {Roshamuul}, {Oramond} or {Edron}?'})
keywordHandler:addKeyword({'destination'}, StdModule.say, {npcHandler = npcHandler, text = 'Where do you want to go? To {Carlin}, {Ab\'Dendriel}, {Venore}, {Port Hope}, {Liberty Bay}, {Svargrond}, {Yalahar}, {Roshamuul}, {Oramond} or {Edron}?'})
keywordHandler:addKeyword({'sail'}, StdModule.say, {npcHandler = npcHandler, text = 'Where do you want to go? To {Carlin}, {Ab\'Dendriel}, {Venore}, {Port Hope}, {Liberty Bay}, {Svargrond}, {Yalahar}, {Roshamuul}, {Oramond} or {Edron}?'})
keywordHandler:addKeyword({'go'}, StdModule.say, {npcHandler = npcHandler, text = 'Where do you want to go? To {Carlin}, {Ab\'Dendriel}, {Venore}, {Port Hope}, {Liberty Bay}, {Svargrond}, {Yalahar}, {Roshamuul}, {Oramond} or {Edron}?'})
keywordHandler:addKeyword({'ice'}, StdModule.say, {npcHandler = npcHandler, text = 'I\'m sorry, but we don\'t serve the routes to the Ice Islands.'})
keywordHandler:addKeyword({'senja'}, StdModule.say, {npcHandler = npcHandler, text = 'I\'m sorry, but we don\'t serve the routes to the Ice Islands.'})
keywordHandler:addKeyword({'folda'}, StdModule.say, {npcHandler = npcHandler, text = 'I\'m sorry, but we don\'t serve the routes to the Ice Islands.'})
keywordHandler:addKeyword({'vega'}, StdModule.say, {npcHandler = npcHandler, text = 'I\'m sorry, but we don\'t serve the routes to the Ice Islands.'})
keywordHandler:addKeyword({'darashia'}, StdModule.say, {npcHandler = npcHandler, text = 'I\'m not sailing there. This route is afflicted by a ghostship! However I\'ve heard that Captain Fearless from Venore sails there.'})
keywordHandler:addKeyword({'darama'}, StdModule.say, {npcHandler = npcHandler, text = 'I\'m not sailing there. This route is afflicted by a ghostship! However I\'ve heard that Captain Fearless from Venore sails there.'})
keywordHandler:addKeyword({'ghost'}, StdModule.say, {npcHandler = npcHandler, text = 'Many people who sailed to Darashia never returned because they were attacked by a ghostship! I\'ll never sail there!'})
keywordHandler:addKeyword({'thais'}, StdModule.say, {npcHandler = npcHandler, text = 'This is Thais. Where do you want to go?'})

npcHandler:setMessage(MESSAGE_GREET, 'Welcome on board, |PLAYERNAME|. Where can I {sail} you today?')
npcHandler:setMessage(MESSAGE_FAREWELL, 'Good bye. Recommend us if you were satisfied with our service.')
npcHandler:setMessage(MESSAGE_WALKAWAY, 'Good bye then.')

npcHandler:addModule(FocusModule:new())

 

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...