Ir para conteúdo
  • 0

npc que cobra algo e dps da algo em troca


Pergunta

10 respostass a esta questão

Posts Recomendados

  • 0

@xugrude456
Quando tiver pedidos assim, já posta o script junto pra agilizar. Essa minha resposta de agora já poderia conter a solução.

Link para o comentário
https://xtibia.com/forum/topic/249553-npc-que-cobra-algo-e-dps-da-algo-em-troca/#findComment-1750535
Compartilhar em outros sites

  • 0
20 horas atrás, gabriel28 disse:

@xugrude456
Quando tiver pedidos assim, já posta o script junto pra agilizar. Essa minha resposta de agora já poderia conter a solução.

me perdoe sou novo,

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

--------------------------- Configuração Inicial ------------------------------------
local strg = 9785 -- Valor da Storage

--------------------------- Configuração das Falas  -----------------------------------
if (msgcontains(msg, 'storage')) then
        if getPlayerStorageValue(cid, strg) < 1 then
        selfSay('Deseja receber a permissao?', cid)
        talkState[talkUser] = 1
    else
        selfSay('Voce ja recebeu a permissao.', cid)
        talkState[talkUser] = 0
    end

--------------------------- Falas de Entrada  -----------------------------------

elseif(msgcontains(msg, 'yes') or msgcontains(msg, 'sim') and talkState[talkUser] == 1) then
        if getPlayerStorageValue(cid, strg) < 1 then
            setPlayerStorageValue(cid, strg, 1)
            selfSay('Permissao concedida com sucesso.', cid)
            talkState[talkUser] = 0
        else
            selfSay('Permissao ja concedida anteriormente.', cid)
        return false
        end

--------------------------- Falas de Rejeição  -----------------------------------
elseif(msgcontains(msg, 'no') or msgcontains(msg, 'nao') and isInArray({1}, talkState[talkUser])) then
        talkState[talkUser] = 0
        selfSay('Tudo bem entao.', cid)

--------------------------- FIM do SCRIPT ---------------------------------------
    end
  return true
end

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

Link para o comentário
https://xtibia.com/forum/topic/249553-npc-que-cobra-algo-e-dps-da-algo-em-troca/#findComment-1750567
Compartilhar em outros sites

  • 0

@xugrude456

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

--------------------------- Configuração Inicial ------------------------------------
local strg = 9785 -- Valor da Storage
local item = xxxx -- id do item
local quant = yyy --quantidade

--------------------------- Configuração das Falas  -----------------------------------
if (msgcontains(msg, 'storage')) then
        if getPlayerStorageValue(cid, strg) < 1 then
        selfSay('Deseja receber a permissao? Para isso, deve me trazer X quantia do item Y', cid)
        talkState[talkUser] = 1
    else
        selfSay('Voce ja recebeu a permissao.', cid)
        talkState[talkUser] = 0
    end

--------------------------- Falas de Entrada  -----------------------------------

elseif(msgcontains(msg, 'yes') or msgcontains(msg, 'sim') and talkState[talkUser] == 1) then
        if getPlayerStorageValue(cid, strg) < 1 then
			if doPlayerRemoveItem(cid, item, quant) then
				setPlayerStorageValue(cid, strg, 1)
				selfSay('Permissao concedida com sucesso.', cid)
				talkState[talkUser] = 0
			else
				selfSay('Voce nao tem o item.', cid)
				talkState[talkUser] = 0
			end	
        else
            selfSay('Permissao ja concedida anteriormente.', cid)
        return false
        end

--------------------------- Falas de Rejeição  -----------------------------------
elseif(msgcontains(msg, 'no') or msgcontains(msg, 'nao') and isInArray({1}, talkState[talkUser])) then
        talkState[talkUser] = 0
        selfSay('Tudo bem entao.', cid)

--------------------------- FIM do SCRIPT ---------------------------------------
    end
  return true
end

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

 

Link para o comentário
https://xtibia.com/forum/topic/249553-npc-que-cobra-algo-e-dps-da-algo-em-troca/#findComment-1750571
Compartilhar em outros sites

  • 0

@xugrude456
 

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

--------------------------- Configuração Inicial ------------------------------------
local strg = 9785 -- Valor da Storage
local item = xxxx -- id do item
local quant = yyy --quantidade
local vocs = {zzz, www} -- id das vocaçao que irao poder receber a permissao

--------------------------- Configuração das Falas  -----------------------------------
if (msgcontains(msg, 'storage')) then
        if getPlayerStorageValue(cid, strg) < 1 then
        selfSay('Deseja receber a permissao? Para isso, deve me trazer X quantia do item Y', cid)
        talkState[talkUser] = 1
    else
        selfSay('Voce ja recebeu a permissao.', cid)
        talkState[talkUser] = 0
    end

--------------------------- Falas de Entrada  -----------------------------------

elseif(msgcontains(msg, 'yes') or msgcontains(msg, 'sim') and talkState[talkUser] == 1) then
        if getPlayerStorageValue(cid, strg) < 1 then
			if isInArray(vocs, getPlayerVocation(cid)) then
				if doPlayerRemoveItem(cid, item, quant) then
					setPlayerStorageValue(cid, strg, 1)
					selfSay('Permissao concedida com sucesso.', cid)
					talkState[talkUser] = 0
				else
					selfSay('Voce nao tem o item.', cid)
					talkState[talkUser] = 0
				end	
			else
				selfSay('Sua vocaçao nao pode receber a permissao.', cid)
				return false
			end	
        else
            selfSay('Permissao ja concedida anteriormente.', cid)
			return false
        end

--------------------------- Falas de Rejeição  -----------------------------------
elseif(msgcontains(msg, 'no') or msgcontains(msg, 'nao') and isInArray({1}, talkState[talkUser])) then
        talkState[talkUser] = 0
        selfSay('Tudo bem entao.', cid)

--------------------------- FIM do SCRIPT ---------------------------------------
    end
  return true
end

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

 

Link para o comentário
https://xtibia.com/forum/topic/249553-npc-que-cobra-algo-e-dps-da-algo-em-troca/#findComment-1750580
Compartilhar em outros sites

  • 0
11 minutos atrás, gabriel28 disse:

@xugrude456
 


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

--------------------------- Configuração Inicial ------------------------------------
local strg = 9785 -- Valor da Storage
local item = xxxx -- id do item
local quant = yyy --quantidade
local vocs = {zzz, www} -- id das vocaçao que irao poder receber a permissao

--------------------------- Configuração das Falas  -----------------------------------
if (msgcontains(msg, 'storage')) then
        if getPlayerStorageValue(cid, strg) < 1 then
        selfSay('Deseja receber a permissao? Para isso, deve me trazer X quantia do item Y', cid)
        talkState[talkUser] = 1
    else
        selfSay('Voce ja recebeu a permissao.', cid)
        talkState[talkUser] = 0
    end

--------------------------- Falas de Entrada  -----------------------------------

elseif(msgcontains(msg, 'yes') or msgcontains(msg, 'sim') and talkState[talkUser] == 1) then
        if getPlayerStorageValue(cid, strg) < 1 then
			if isInArray(vocs, getPlayerVocation(cid)) then
				if doPlayerRemoveItem(cid, item, quant) then
					setPlayerStorageValue(cid, strg, 1)
					selfSay('Permissao concedida com sucesso.', cid)
					talkState[talkUser] = 0
				else
					selfSay('Voce nao tem o item.', cid)
					talkState[talkUser] = 0
				end	
			else
				selfSay('Sua vocaçao nao pode receber a permissao.', cid)
				return false
			end	
        else
            selfSay('Permissao ja concedida anteriormente.', cid)
			return false
        end

--------------------------- Falas de Rejeição  -----------------------------------
elseif(msgcontains(msg, 'no') or msgcontains(msg, 'nao') and isInArray({1}, talkState[talkUser])) then
        talkState[talkUser] = 0
        selfSay('Tudo bem entao.', cid)

--------------------------- FIM do SCRIPT ---------------------------------------
    end
  return true
end

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

 

obrigado sua ajuda foi muito boa s2

Link para o comentário
https://xtibia.com/forum/topic/249553-npc-que-cobra-algo-e-dps-da-algo-em-troca/#findComment-1750581
Compartilhar em outros sites

  • 0
2 horas atrás, gabriel28 disse:

@xugrude456
 


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

--------------------------- Configuração Inicial ------------------------------------
local strg = 9785 -- Valor da Storage
local item = xxxx -- id do item
local quant = yyy --quantidade
local vocs = {zzz, www} -- id das vocaçao que irao poder receber a permissao

--------------------------- Configuração das Falas  -----------------------------------
if (msgcontains(msg, 'storage')) then
        if getPlayerStorageValue(cid, strg) < 1 then
        selfSay('Deseja receber a permissao? Para isso, deve me trazer X quantia do item Y', cid)
        talkState[talkUser] = 1
    else
        selfSay('Voce ja recebeu a permissao.', cid)
        talkState[talkUser] = 0
    end

--------------------------- Falas de Entrada  -----------------------------------

elseif(msgcontains(msg, 'yes') or msgcontains(msg, 'sim') and talkState[talkUser] == 1) then
        if getPlayerStorageValue(cid, strg) < 1 then
			if isInArray(vocs, getPlayerVocation(cid)) then
				if doPlayerRemoveItem(cid, item, quant) then
					setPlayerStorageValue(cid, strg, 1)
					selfSay('Permissao concedida com sucesso.', cid)
					talkState[talkUser] = 0
				else
					selfSay('Voce nao tem o item.', cid)
					talkState[talkUser] = 0
				end	
			else
				selfSay('Sua vocaçao nao pode receber a permissao.', cid)
				return false
			end	
        else
            selfSay('Permissao ja concedida anteriormente.', cid)
			return false
        end

--------------------------- Falas de Rejeição  -----------------------------------
elseif(msgcontains(msg, 'no') or msgcontains(msg, 'nao') and isInArray({1}, talkState[talkUser])) then
        talkState[talkUser] = 0
        selfSay('Tudo bem entao.', cid)

--------------------------- FIM do SCRIPT ---------------------------------------
    end
  return true
end

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

 

Muito bom valeu vou usar tbm

Mas me tira uma duvida. Eu tenho um sv cm varias voc. Ai queria q tipo um naruto pudesse escolher entre a skin anbu e Akatsuki. Como faço isso?

Topp 

 

Obrigado

Link para o comentário
https://xtibia.com/forum/topic/249553-npc-que-cobra-algo-e-dps-da-algo-em-troca/#findComment-1750588
Compartilhar em outros sites

  • 0

@jondrops
Você vai mudar aqui:

local vocs = {zzz, www}

Então poem algo como:
local naruto = {id das vocs naruto}
local sasuke = {id das vocs sasuke}

E então nessa parte:

if isInArray(vocs, getPlayerVocation(cid)) then

Fica:
if isInArray(naruto, getPlayerVocation(cid)) then
      script

elseif isInArray(sasuke, getPlayerVocation(cid)) then

      script

end

 

Link para o comentário
https://xtibia.com/forum/topic/249553-npc-que-cobra-algo-e-dps-da-algo-em-troca/#findComment-1750594
Compartilhar em outros sites

  • 0
9 horas atrás, gabriel28 disse:

@jondrops
Você vai mudar aqui:


local vocs = {zzz, www}

Então poem algo como:
local naruto = {id das vocs naruto}
local sasuke = {id das vocs sasuke}

E então nessa parte:


if isInArray(vocs, getPlayerVocation(cid)) then

Fica:
if isInArray(naruto, getPlayerVocation(cid)) then
      script

elseif isInArray(sasuke, getPlayerVocation(cid)) then

      script

end

 

Vou testar. Se funfar amanha dou os rep+ 

Acabou por hj os rep kk

Valeu @gabriel28

Link para o comentário
https://xtibia.com/forum/topic/249553-npc-que-cobra-algo-e-dps-da-algo-em-troca/#findComment-1750609
Compartilhar em outros sites

  • 0
Em 11/04/2019 em 07:50, jondrops disse:

Vou testar. Se funfar amanha dou os rep+ 

Acabou por hj os rep kk

Valeu @gabriel28

Beleza. Qualquer coisa, só perguntar.

Link para o comentário
https://xtibia.com/forum/topic/249553-npc-que-cobra-algo-e-dps-da-algo-em-troca/#findComment-1750643
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

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