npc que cobra algo e dps da algo em troca

xugrude456
em Scripts

xugrude456

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 14/01/19Posts: 36

olá galera então, gostaria de uma help de vcs

tenho script aki que da storange mas queria que ele desse storage mas cobrase algo entroca

e tipo ele desse storage pra certa vocation

gabriel28

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 26/08/10Posts: 429Gênero: MasculinoChar no Tibia: Gabriel Rookgaardian

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

xugrude456

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 14/01/19Posts: 36
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())

gabriel28

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 26/08/10Posts: 429Gênero: MasculinoChar no Tibia: Gabriel Rookgaardian

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

 

xugrude456

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 14/01/19Posts: 36

muito obrigado mano, so uma coisa tem como certa vocacao pegar tal storage

gabriel28

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 26/08/10Posts: 429Gênero: MasculinoChar no Tibia: Gabriel Rookgaardian

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

 

xugrude456

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 14/01/19Posts: 36
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

jondrops

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 04/12/15Posts: 19Gênero: Masculino
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

gabriel28

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 26/08/10Posts: 429Gênero: MasculinoChar no Tibia: Gabriel Rookgaardian

@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

 

jondrops

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 04/12/15Posts: 19Gênero: Masculino
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

gabriel28

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 26/08/10Posts: 429Gênero: MasculinoChar no Tibia: Gabriel Rookgaardian
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.