Ir para conteúdo

Featured Replies

Postado

Boa tarde pessoal do tk, tudo bom? eu encontrei um tópico uma script de barqueiro e nela encontrei dois erros

1 erro é que se eu não tiver x dinheiro exato ele não teleporta, se eu colocar 15 platina ele precisa exatamente dos 15 platina, ele não desfaz os 10k

2 erro por algum sinal eu coloco ele pelo rme ele da essa mensagem 14:33 capitao ghost: Este lugar nao existe. Por favor diga outro.

 

Segue a script

 

local TELEPORT_EFFECT = 10

local config = {
    ['ghostland'] = {
        position = { x=750, y=1770, z=11 },
        items = {
            [9020] = { count = 1 },
            [2152] = { count = 35 }
        }
    },
    ['browville'] = {
        position = { x=244, y=1467, z=8 },
        items = {
            [2152] = { count = 14 },
            [10219] = { count = 1 },
        }
    },
}

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 (not checkDestinyExists(msg)) then
            selfSay('Este lugar nao existe. Por favor diga outro.', cid)
            return false
        end

        local destinyData = getDestinyData(msg)

    if msgcontains(string.lower(msg), string.lower(destinyData.destiny)) then
            local items = {}
            for item, data in pairs(destinyData.data.items) do
                if (getPlayerItemCount(cid, item) < data.count) then
                    table.insert(items, { item = item })
                end
            end

            if (#items <= 0) then
                removePlayerItems(cid, destinyData.data.items)
                doTeleportThing(cid, destinyData.data.position)
                doSendMagicEffect(getThingPos(cid), TELEPORT_EFFECT)
                return true
            end

            selfSay('desculpa voce nao tem os itens para viajar.', cid)
        end

    return TRUE
end

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

function checkDestinyExists(destiny)
    for dest, _ in pairs(config) do
        if (string.lower(dest) == string.lower(destiny)) then
            return true
        end
    end
    return false
end

function getDestinyData(destiny)
    for dest, data in pairs(config) do
        if (string.lower(dest) == string.lower(destiny)) then
            return { destiny = dest, data = data }
        end
    end
end

function removePlayerItems(cid, items)
    for item, data in pairs(items) do
        doPlayerRemoveItem(cid, item, data.count)
    end
end

Galera descobri o erro Numero 2, só não sei por que esta dando isso... o erro é o seguinte se eu tiver mais que uma script funcionando igual a esta só funciona a inicial ( a primeira que coloquei )

Postado
Em 24/01/2023 em 14:39, Straikar disse:

Boa tarde pessoal do tk, tudo bom? eu encontrei um tópico uma script de barqueiro e nela encontrei dois erros

1 erro é que se eu não tiver x dinheiro exato ele não teleporta, se eu colocar 15 platina ele precisa exatamente dos 15 platina, ele não desfaz os 10k

2 erro por algum sinal eu coloco ele pelo rme ele da essa mensagem 14:33 capitao ghost: Este lugar nao existe. Por favor diga outro.


pelo que entendi, vc quer um script que teleporte o personagem, basicamente um barco?
é necessário ser um NPC? se sim, esse script ta bem desatualizado.
tem como fazer ele por movements mais simples e mais facil.

Postado
  • Autor

sim é um npc barqueiro igual os da cidade so q a diferença dele é q precisa de itens para viajar alem de dinheiro

o 2 erro eu descobri o seguinte se eu invoco ele no /n funciona normal porem se eu tenho 2 npc da mesma script ele pega so a primeira script nao entendi o pq

 

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo