Ir para conteúdo

Featured Replies

Postado

Tfs 0.4

 

Estou querendo um NPC informativo que eu possa digitar algumas informações sobre o game os npcs e o principal que é marcar o mapa. Exemplo sobre marcação quando o você digita "locais", ele lhe da informação sobre os locais como o templo, npc de equipamentos e o depot e lhe pergunta se você gostaria de marcar no mapa esse locais para o player poder se localizar melhor. Procurei na internet sobre esse npc mas não achei nada que funcione ou sobre o assunto mesmo. 

Resolvido por GiovaniRodrigo

Ir para solução
  • Respostas 7
  • Visualizações 1.2k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCre

  • GiovaniRodrigo
    GiovaniRodrigo

    @Mazarati Sempre que precisar, estaremos aqui para ajudar.

Posted Images

Postado
  • Solução

Tente isso:

.lua

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 markTable = {
--	{markPos = Coordenadas da marcação, markType = Tipo de marcação, markDescription = Descrição da marcação}
	{markPos = {x = 150, y = 150, z = 7}, markType = MAPMARK_TICK, markDescription = "Tick"},
	{markPos = {x = 155, y = 150, z = 7}, markType = MAPMARK_QUESTION, markDescription = "Question"},
	{markPos = {x = 160, y = 150, z = 7}, markType = MAPMARK_EXCLAMATION, markDescription = "Exclamation"},
	{markPos = {x = 165, y = 150, z = 7}, markType = MAPMARK_STAR, markDescription = "Star"},
	{markPos = {x = 170, y = 150, z = 7}, markType = MAPMARK_CROSS, markDescription = "Cross"},
	{markPos = {x = 175, y = 150, z = 7}, markType = MAPMARK_TEMPLE, markDescription = "Temple"},
	{markPos = {x = 180, y = 150, z = 7}, markType = MAPMARK_KISS, markDescription = "Kiss"},
	{markPos = {x = 185, y = 150, z = 7}, markType = MAPMARK_SHOVEL, markDescription = "Shovel"},
	{markPos = {x = 190, y = 150, z = 7}, markType = MAPMARK_SWORD, markDescription = "Sword"},
	{markPos = {x = 195, y = 150, z = 7}, markType = MAPMARK_FLAG, markDescription = "Flag"},
	{markPos = {x = 200, y = 150, z = 7}, markType = MAPMARK_LOCK, markDescription = "Lock"},
	{markPos = {x = 205, y = 150, z = 7}, markType = MAPMARK_BAG, markDescription = "Bag"},
	{markPos = {x = 210, y = 150, z = 7}, markType = MAPMARK_SKULL, markDescription = "Skull"},
	{markPos = {x = 215, y = 150, z = 7}, markType = MAPMARK_DOLLAR, markDescription = "Dollar"},
	{markPos = {x = 220, y = 150, z = 7}, markType = MAPMARK_REDNORTH, markDescription = "Red North"},
	{markPos = {x = 225, y = 150, z = 7}, markType = MAPMARK_REDSOUTH, markDescription = "Red South"},
	{markPos = {x = 230, y = 150, z = 7}, markType = MAPMARK_REDEAST, markDescription = "Red East"},
	{markPos = {x = 235, y = 150, z = 7}, markType = MAPMARK_REDWEST, markDescription = "Red West"},
	{markPos = {x = 240, y = 150, z = 7}, markType = MAPMARK_GREENNORTH, markDescription = "Green North"},
	{markPos = {x = 245, y = 150, z = 7}, markType = MAPMARK_GREENSOUTH, markDescription = "Green South"}
}

function creatureSayCallback(cid, type, msg)
    if(not npcHandler:isFocused(cid)) then
        return false
    end
	
    local func_addMark = doPlayerAddMapMark
    if(not func_addMark) then
      func_addMark = doAddMapMark
    end
  
    if(msgcontains(msg, "locais")) then
		for mark, x in pairs(markTable) do
			func_addMark(cid, x.markPos, x.markType, x.markDescription ~= nil and x.markDescription or "")
		end
		selfSay("Oh, the locals, right?! Well, I marked some on your minimap", cid)
    end
end

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

TESTADO TFS 0.4 FUNCIONAL

 

MAPMASKS.thumb.png.2f1462b58872855c28a3db18fff5abc7.png

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

Spoiler

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}

if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end

 

Postado
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
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
function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
msg = string.lower(msg)
   
      local config = {
            [{"shovel","rope","backpack","riona"}] = {type = MAPMARK_SHOVEL, pos = {x=149,y=47,z=7}, name = "Riona\'s Tool Shop"},
            [{"demon","demons"}] = {type = MAPMARK_TICK, pos = {x=133,y=38,z=7}, name = "Demons"}
        }
       
           for var, ret in pairs(config) do
                for _, check in pairs(var) do
                    if msg == check then
                        type,pos,name = ret.type,ret.pos,ret.name
                        selfSay('Do you want me to add a mapmark '..msg..'? {yes}', cid)
                        talkState[talkUser] = 1
                    end
                end
            end
        if(msgcontains(msg, 'yes') and talkState[talkUser] >= 1) then
        doPlayerAddMapMark(cid, pos, type, name)
      npcHandler:say('Here you are.', cid)
      talkState[talkUser] = 0
    elseif(msgcontains(msg, 'no') and talkState[talkUser] >= 1) then
        selfSay('Well then, hope you can find it yourself!', cid)
        talkState[talkUser] = 0
        npcHandler:releaseFocus(cid)
    end
    return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Postado

@Brunds Não sei se existe diferença entre o dois, testa e vê se retorna algum erro. Se retornar, poste aqui.

Spoiler

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}

if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end

 

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