[NPC] Pular necessidade de 'HI' para shop

doruaziin
em Scripts

doruaziin

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 15/03/20Posts: 20Gênero: Masculino

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?
 

Deadpool

!!!
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 25/10/11Posts: 2175Gênero: MasculinoChar no Tibia: Sociopata
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._.

Não respondo PMs solicitando suporte. Já existem seções no fórum para isto.

 

 

 

 

DICA

Utilize botão @UP, no início de seu tópico, para atualizar o destaque de seu tópico em "Tópicos Recentes" na index, fará com que mais pessoas o vejam.

doruaziin

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 15/03/20Posts: 20Gênero: Masculino
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

 

Deadpool

!!!
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 25/10/11Posts: 2175Gênero: MasculinoChar no Tibia: Sociopata
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

 

Não respondo PMs solicitando suporte. Já existem seções no fórum para isto.

 

 

 

 

DICA

Utilize botão @UP, no início de seu tópico, para atualizar o destaque de seu tópico em "Tópicos Recentes" na index, fará com que mais pessoas o vejam.

doruaziin

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 15/03/20Posts: 20Gênero: Masculino
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?

Yan Oliveira

Yan18
avatar
Moderador
Moderador

INFOS

Grupo: ModeradorRegistrado: 05/06/12Posts: 2221Gênero: Masculino
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?

doruaziin

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 15/03/20Posts: 20Gênero: Masculino
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>

 

El Rusher

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 05/10/17Posts: 185Gênero: Masculino
if isNpc(target) == true then
	return doCreatureSay(cid, "hi", 10) and doCreatureSay(cid, "trade", 10)
end

peteralto

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 15/10/20Posts: 1

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