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

eliaspalermo
em Scripts

eliaspalermo

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 18/03/13Posts: 18

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