Ir para conteúdo
  • 0

Alguem pode coloca storagem para min


Pergunta

1 resposta a esta questão

Posts Recomendados

  • 0

Cara não entendi muito bem o que você falou, porém eu fiz o que entendi... Quando a pessoa fala "Yes" ele irá verificar se a pessoa tem o storage que você definir, caso a pessoa não tenha, o npc irá reclamar, e caso o player tenha a storage e tenha os itens, o npc seta outro storage no player...

 

local t = {
    needItems = {1441, 1440},
    reward = 1450
}

local TarefaNPC = 
{
	StorageNecessario = 1992913781, -- Storage necessário para passar
	Storage = 1992913780, -- Storage que irá receber caso passe 
	MsgErro = "Você precisa do storage 1992913781", -- Mensagem caso o player não tenha o storage deixei uma de exemplo rsrs
}

local id_item_recebido1 = 1450
local id_item_recebido2 = 2148
local id_item_recebido3 = 1443
local quantidade_item_recebido1 = 4 ----------------------------------- [[ BOX]] ---------------------------------
local quantidade_item_recebido2 = 100 ----------------------------------- [[ BOX]] ---------------------------------
local quantidade_item_recebido3 = 1 ----------------------------------- [[ BOX]] ---------------------------------
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
    msg = msg:lower();
    local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
    local iN = t.needItems
    local n = getItemNameById
	
    if msgcontains(msg, 'crystal key') then
				
		selfSay('Posso lhe entregar uma crystal key em troca de alguns items: um {'.. n(iN[1]) ..'}, um {'.. n(iN[2]) ..'}, deseja trocar?', cid)
		talkState[talkUser] = 1
		
    elseif msgcontains(msg, 'yes') then
        if talkState[talkUser] == 1 then
            local d = getPlayerItemCount
            local dP = doPlayerRemoveItem
			
			
			
			if getPlayerStorageValue(cid, TarefaNPC.StorageNecessario) == -1 then
				selfSay(TarefaNPC.MsgErro, cid)
				talkState[talkUser] = 1
			else
				if d(cid, iN[1]) >= 1 and d(cid, iN[2]) >= 1 then
					selfSay('Aqui está sua crystal key.', cid) 
					doPlayerAddItem(cid, id_item_recebido1, quantidade_item_recebido1)
					doPlayerAddItem(cid, id_item_recebido2, quantidade_item_recebido2)
					doPlayerAddItem(cid, id_item_recebido3, quantidade_item_recebido3)
					setPlayerStorageValue(cid, 9991, 1)
					setPlayerStorageValue(cid, TarefaNPC.Storage, 1)
					dP(cid, iN[1], 3)
					dP(cid, iN[2], 1)
					doPlayerAddItem(cid, t.reward, 1)
					talkState[talkUser] = 0
				else
					selfSay('Você não tem os items necessários.', cid)
					talkState[talkUser] = 0
				end
			end
        end
    end
end

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

 

 

os itens que você deve mudar estão em "local TarefaNPC"

Link para o comentário
https://xtibia.com/forum/topic/250935-alguem-pode-coloca-storagem-para-min/#findComment-1756625
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

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