Ir para conteúdo
  • 0

Npc de Teleport com restrição de Pokémon


eliaspalermo

Pergunta

Olá, Bom dia pessoal! Estou precisando de uma ajuda neste npc que tenho aqui. (Base Dash)
Preciso de uma função pra ele dizer pro player "você precisa completar X missão" caso ele não tiver o storage.

 

E a outra função é pra impedir o player de usar esse npc caso ele tenha o Pokémon que estiver na função. Exemplo:

 

"Você não pode seguir para Elecmon Village Dungeon, pois possui um Digimon com você, ou no seu inventario que não é permitido aqui."

 

E eu configuraria isso em uma função onde eu colocaria os Pokémon que o player não pode levar para este local assim:

função = {"agumon";"gabumon"; etc}

 

Resumindo, se o player estiver carregando na bag ou com ele algum Pokémon que estiver listado nessa função o npc não vai teleportar ele.

 

Ou se não for possível a opção acima, pode ser restrição de level do Pokémon. (Se eu estiver com pokémon na bag ou equipado lv30+ daí o npc não da o teleport)

 

Segue aqui o script do npc que tenho como base:
 

Citar

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


levelcidade = 30, -- Level que necessita para ir na cidade 1
itemcidade = 2392, -- Item que necessita para viajar para cidade 1
goldcidade = 0, -- Gold que precisa para viajar para cidade 1
poscidade = {x = 168, y = 57, z = 7}, -- Posição da cidade 1
str = 999601
 
    
if msgcontains(msg, 'Elecmon DG') and getPlayerStorageValue(cid) == str and getPlayerItemCount(cid,itemcidade) >= 1 and getPlayerLevel(cid) >= levelcidade and getPlayerMoney(cid) >= goldcidade  then
doTeleportThing(cid, poscidade)
doPlayerRemoveMoney(cid, goldcidade)
selfSay('Você foi teleportado para Elecmon DG!', cid)
else
selfSay('Você precisa de '..goldcidade..' gold coins para viajar para {Elecmon DG}.', cid)
end
else
selfSay('Você precisa ser '..levelcidade..' para viajar para {Elecmon DG}.', cid)
end
else
selfSay('Você precisa de uma '..getItemNameById(itemcidade)..' para ir até {Elecmon DG}!', cid)
end
end
return true
end

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

 

Editado por eliaspalermo
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

  • Quem Está Navegando   0 membros estão online

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