Ir para conteúdo
  • Cadastre-se

(Resolvido)Npc travel por storage


Ir para solução Resolvido por MaXwEllDeN,

Posts Recomendados

Alguem poderia me ajuda com script ?

preciso de um npc que viaja pra um certo local mais ele verifica se o player tem uma storage e leva,

se não tiver ele manda ele faze a quest que ganha a storage

Link para o post
Compartilhar em outros sites

Tenta ae friendi

 

npc

 


local stor = 4150 -- storage que irá verificar
local palavra = "yes" --palavra chave para o npc teleportar
local mensagem = "You need to be prepared for this fight, bring more {Minor Crystalline Token}." -- a mensagem que deve ser dita se ele não tiver o storage
local vai = {x=1000, y=1000, z=7} --para onde o npc irá levar
local tempo = 1000 --tempo que demorara para depois de falar yes ser teleportado(1 segundo)
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

if msgcontains(cid, msg, palavra) then
if (getPlayerStorageValue(cid, stor) == 1) then
addEvent(teleport,tempo,cid)
else
selfSay(mensagem)
end
end
return true

end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())


function teleport(cid)
if isPlayer(cid) then
doTeleportThing(cid, vai)
end
end

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Link para o post
Compartilhar em outros sites
  • Solução

local STORAGE = 5021 -- Storage necessária para viajar
local DESTINO = {x = 160, y = 54, z = 7} -- POSIÇÃO DE DESTINO
 
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:lower())   end
function onThink()                  npcHandler:onThink()                  end
local talkState = {}
 
function creatureSayCallback(cid, type, msg)
   if(not npcHandler:isFocused(cid)) then
      return false
   end
 
   local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
 
   if msgcontains(msg, "cinnabar") then
      selfSay("Você deseja ser teletransportado para cinnabar?", cid)
      talkState[talkUser] = 1
   elseif msgcontains(msg, "yes") and talkState[talkUser] == 1 then
      if getPlayerStorageValue(cid, STORAGE) > 0 then
         selfSay("Aí está!", cid)
         doSendMagicEffect(getThingPos(cid), 10)
         npcHandler:releaseFocus(cid)
         doTeleportThing(cid, DESTINO)
         doSendMagicEffect(DESTINO, 10)
      else
         selfSay("Me desculpe, mas você não tem acesso a cinnabar.", cid)
      end
      talkState[talkUser] = 0
   end
 
   return true
end
 
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
 

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites
  • 4 weeks later...

Ótimo script e se,fosse para trocar um item..

Tipo o npc trocaria um item,mais só se o player tivesse a storage no caso..

 

 

Eu construo meu fogo hoje
na presença dos Deuses Sagrados do Céu.
na presença de Brigid da forma bonita
na presença de Lugh de todas as belezas
sem ódio, sem inveja, sem ciúmes,
sem medo ou horror de ninguém sob o sol
porque meu refugio é a Mãe Sagrada.
Ó Deuses, acendam o fogo de amor dentro do meu coração,
por meus inimigos, por meus parentes, por meus amigos
pelo sábio, o ignorante, e o escravo
da coisa mais humilde
até o nome mais alto.

 

 

 

 

 

 

 

 

9fifEaz.jpg

Editado por 1uri (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

local STORAGE = 5021 -- Storage necessária
local ITEM = 0000 -- ID Do Item
local REWARD = 0000 -- ID Do Item que irá ganhar


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:lower())   end
function onThink()                  npcHandler:onThink()                  end
local talkState = {}


function creatureSayCallback(cid, type, msg)
   if(not npcHandler:isFocused(cid)) then
      return false
   end


   local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid


   if msgcontains(msg, "Trocar") then
      selfSay("Você deseja trocar o Item X por outro item comigo?", cid)
      talkState[talkUser] = 1


   elseif msgcontains(msg, "yes") and talkState[talkUser] == 1 then
if getPlayerStorageValue(cid, STORAGE) > 0 then
if getPlayerItemCount(cid, ITEM) > 0 then
selfSay("Aí está!", cid)
doPlayerRemoveItem(cid, ITEM, 1) -- Remove Item
doPlayerAddItem(cid,REWARD, 1) -- Adiciona Item
doSendMagicEffect(getThingPos(cid), 10)
npcHandler:releaseFocus(cid)
else
selfSay("Desculpe, mas você não tem o Item que eu quero.", cid)
talkState[talkUser] = 0
end
else
selfSay("Desculpe, mas você não é digno de realizar trocas comigo.", cid)
talkState[talkUser] = 0
end 
   end


   return true
end




npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Editado por Frenesy (veja o histórico de edições)

cms1-pr%C3%AAmio.png

Link para o post
Compartilhar em outros sites
  • 2 years later...

@Frenesy eai blza, teria como me ajuda em um npc... TIPO UM QUE VENDE 20 STORAGES COM NOMES.

MAGIA TAL  122345 storage, ae ele tem que ter o item pra escolher a storage, e remove 100 items id 15515, vc consegue fazer pra mim ? rep+

Editado por sayamen (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo