• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

TFS 1.X+ |Playername| tfs 1.5

bpm91

Intermediate OT User
Joined
May 23, 2019
Messages
931
Solutions
7
Reaction score
128
Location
Brazil
YouTube
caruniawikibr
1700843438849.png
Could anyone tell me how to fix this?
13:27 Razan: Ahhh, this softness! I'm impressed, |PLAYERNAME|. You're on the best way to earn that turban. Now, please retrieve 100 fish fins.
 
ty guys
no work, idk why but repeat the text like |PLAYERNAME|

the script is this

Lua:
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)        end
function onThink()                npcHandler:onThink()                    end

local message = {}

local config = {
    ['ape fur'] = {
        itemId = 5526,
        count = 100,
        storageValue = 1,
        text = {
            'Have you really managed to fulfil the task and brought me 100 pieces of ape fur?',
            'Only ape fur is good enough to touch the feet of our Caliph.',
            'Ahhh, this softness! I\'m impressed, |PLAYERNAME|. You\'re on the best way to earn that turban. Now, please retrieve 100 fish fins.'
        }
    },
    ['fish fins'] = {
        itemId = 5537,
        count = 100,
        storageValue = 2,
        text = {
            'Were you able to discover the undersea race and retrieved 100 fish fins?',
            'I really wonder what the explorer society is up to. Actually I have no idea how they managed to dive unterwater.',
            'I never thought you\'d make it, |PLAYERNAME|. Now we only need two enchanted chicken wings to start our waterwalking test!'
        }
    },
    ['enchanted chicken wings'] = {
        itemId = 5664,
        count = 2,
        storageValue = 3,
        text = {
            'Were you able to get hold of two enchanted chicken wings?',
            'Enchanted chicken wings are actually used to make boots of haste, so they could be magically extracted again. Djinns are said to be good at that.',
            'Great, thank you very much. Just bring me 100 pieces of blue cloth now and I will happily show you how to make a turban.'
        }
    },
    ['blue cloth'] = {
        itemId = 5496,
        count = 100,
        storageValue = 4,
        text = {
            'Ah, have you brought the 100 pieces of blue cloth?',
            'It\'s a great material for turbans.',
            'Ah! Congratulations - even if you are not a true weaponmaster, you surely deserve to wear this turban. Here, I\'ll tie it for you.'
        }
    }
}

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

    local player = Player(cid)

    if msgcontains(msg, 'outfit') then
        npcHandler:say(player:getSex() == PLAYERSEX_FEMALE and 'My turban? I know something better for a pretty girl like you. Why don\'t you go talk to Miraia?' or 'My turban? Eh no, you can\'t have it. Only oriental weaponmasters may wear it after having completed a difficult task.', cid)
    elseif msgcontains(msg, 'task') then
        if player:getSex() == PLAYERSEX_FEMALE then
            npcHandler:say('I really don\'t want to make girls work for me. If you are looking for a job, ask Miraia.', cid)
            return true
        end

        if player:getStorageValue(622036) < 1 then
            npcHandler:say('You mean, you would like to prove that you deserve to wear such a turban?', cid)
            npcHandler.topic[cid] = 1
        end
    elseif config[msg] and npcHandler.topic[cid] == 0 then
        if player:getStorageValue(622036) == config[msg].storageValue then
            npcHandler:say(config[msg].text[1], cid)
            npcHandler.topic[cid] = 3
            message[cid] = msg
        else
            npcHandler:say(config[msg].text[2], cid)
        end
    elseif msgcontains(msg, 'yes') then
        if npcHandler.topic[cid] == 1 then
            npcHandler:say({
                'Alright, then listen to the following requirements. We are currently in dire need of ape fur since the Caliph has requested a new bathroom carpet. ...',
                'Thus, please bring me 100 pieces of ape fur. Secondly, it came to our ears that the explorer society has discovered a new undersea race of fishmen. ...',
                'Their fins are said to allow humans to walk on water! Please bring us 100 of these fish fin. ...',
                'Third, if the plan of walking on water should fail, we need enchanted chicken wings to prevent the testers from drowning. Please bring me two. ...',
                'Last but not least, just drop by with 100 pieces of blue cloth and I will happily show you how to make a turban. ...',
                'Did you understand everything I told you and are willing to handle this task?'
            }, cid)
            npcHandler.topic[cid] = 2
        elseif npcHandler.topic[cid] == 2 then
            if player:getStorageValue(622037) ~= 1 then
                player:setStorageValue(622037, 1)
            end
            player:setStorageValue(622036, 1)
            npcHandler:say('Excellent! Come back to me once you have collected 100 pieces of ape fur.', cid)
            npcHandler.topic[cid] = 0
        elseif npcHandler.topic[cid] == 3 then
            local targetMessage = config[message[cid]]
            if not player:removeItem(targetMessage.itemId, targetMessage.count) then
                npcHandler:say('That is a shameless lie.', cid)
                npcHandler.topic[cid] = 0
                return true
            end

            player:setStorageValue(622036, player:getStorageValue(622036) + 1)
            if player:getStorageValue(622036) == 5 then
                player:addOutfitAddon(343, 1)
                player:addOutfitAddon(346, 1)
                player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE)
            end
            npcHandler:say(targetMessage.text[3], cid)
            npcHandler.topic[cid] = 0
        end
    elseif msgcontains(msg, 'no') and npcHandler.topic[cid] ~= 0 then
        npcHandler:say('What a pity.', cid)
        npcHandler.topic[cid] = 0
    end

    return true
end

local function onReleaseFocus(cid)
    message[cid] = nil
end

npcHandler:setMessage(MESSAGE_GREET, 'Greetings |PLAYERNAME|. What leads you to me?')
npcHandler:setMessage(MESSAGE_FAREWELL, 'Daraman\'s blessings.')

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

Attachments

Last edited:
Back
Top