• 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!

[8.0] - TFS 1.2

Anyone know how can I import Realera data to this engine, I tried to copy that but then if I run forgottenserver.exe nothing happens?
 
Anyone know how can I import Realera data to this engine, I tried to copy that but then if I run forgottenserver.exe nothing happens?

Try run windows command line and go to the server directory using the command cd

Code:
cd c:\myserverdirectory

and run the engine using

Code:
./tfs.exe

And check what is the problem, the first thing thathhappen when you dont configure your mysql credentials the server dont run.
 
I get this error when I put world from Realera in this engine. [Fatal - Map::loadMap] This map need to be upgraded by using the latest map editor version to be able to load correctly.
 
Good Morning,

Dear celohere,

At the beginning I would like to thank you for the great job !!

I have compile your distro with realera 8.0 and some of bugs solved but I'm trouble with exhausted on spell, there aren't exhausted between instant spells and healing spells e.g. if I cast exevo mort hur then without any exhausted I can cast exura vita, there are any solution of it ? I want to have exhausted like in old real.

Thanks in advance !
 
Good Morning,

Dear celohere,

At the beginning I would like to thank you for the great job !!

I have compile your distro with realera 8.0 and some of bugs solved but I'm trouble with exhausted on spell, there aren't exhausted between instant spells and healing spells e.g. if I cast exevo mort hur then without any exhausted I can cast exura vita, there are any solution of it ? I want to have exhausted like in old real.

Thanks in advance !


He implemented it already, just find it in change log and edit code.
 
Bro I have the newest update from there celohere/forgottenserver (https://github.com/celohere/forgottenserver) so I think this should be implemented or not ? From your link I should edit code of spells.cpp right ?

Thanks.


This one is with old school exh.
And yes you need to edit spells.cpp and maybe something else I dont remember, just look at commits and compare what is changed etc.
Post automatically merged:

Bro I have the newest update from there celohere/forgottenserver (https://github.com/celohere/forgottenserver) so I think this should be implemented or not ? From your link I should edit code of spells.cpp right ?

Thanks.

Just edit spells.cpp like its shown here:

 

This one is with old school exh.
And yes you need to edit spells.cpp and maybe something else I dont remember, just look at commits and compare what is changed etc.
Post automatically merged:



Just edit spells.cpp like its shown here:

Thank you so much ! After work I will try it and share results ! Have a nice day
 
Dear skic

I have changed it but the same after exori vis i can use exura without any cooldown...
 
You need to recompile after editing the sources.
Bro what do you mean about "recompile" ? that I need to download whole source and again add all from "realera" inside ur distro ? I have spend much time to eliminate bugs on this edited distro :/
 
Bro what do you mean about "recompile" ? that I need to download whole source and again add all from "realera" inside ur distro ? I have spend much time to eliminate bugs on this edited distro :/

Find the directory vc14 in the copy of The Forgotten Server that you downloaded, and open theforgottenserver.sln. This should launch Visual Studio, and you should be good to go.
To configure the build, navigate to Build -> Configuration Manager in the menu. A dialog should pop up where you can choose between Release or Debug build, and 32-bit (Win32) or 64-bit (x64) build.
To start compiling, open the Build menu again and click on Build Solution.
 

Find the directory vc14 in the copy of The Forgotten Server that you downloaded, and open theforgottenserver.sln. This should launch Visual Studio, and you should be good to go.
To configure the build, navigate to Build -> Configuration Manager in the menu. A dialog should pop up where you can choose between Release or Debug build, and 32-bit (Win32) or 64-bit (x64) build.
To start compiling, open the Build menu again and click on Build Solution.
I got this error while compile
C++:
Error C1083 Cannot open include file: 'boost/asio.hpp': No such file or directory theforgottenserver
Post automatically merged:

I got this error while compile
C++:
Error C1083 Cannot open include file: 'boost/asio.hpp': No such file or directory theforgottenserver
Solved !
celohere you are king ! Thanks
 
Last edited:
Hello,

Dear @celohere,

Are you know where I can found list of blessings on this OT ? I can't found script of this e.g Kawill got below line
Lua:
if not player:hasBlessing(3) then
but I don't know which script is referring to this.
 
Try 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

local voices = {
    'Great spirit potions as well as health and mana potions in different sizes!',
    'If you need alchemical fluids like slime and blood, get them here.'
}

local lastSound = 0
function onThink()
    if lastSound < os.time() then
        lastSound = (os.time() + 10)
        if math.random(100) < 20 then
            Npc():say(voices[math.random(#voices)], TALKTYPE_SAY)
        end
    end
    npcHandler:onThink()
end

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

    local player = Player(cid)
    if isInArray({"vial", "ticket", "bonus", "deposit"}, msg) then
        if player:getStorageValue(1060) < 1 then
            npcHandler:say("We have a special offer right now for depositing vials. Are you interested in hearing it?", cid)
            npcHandler.topic[cid] = 1
        elseif player:getStorageValue(1060) >= 1 then
            npcHandler:say("Would you like to get a lottery ticket instead of the deposit for your vials?", cid)
            npcHandler.topic[cid] = 3
        end
    elseif msgcontains(msg, "prize") then
        npcHandler:say("Are you here to claim a prize?", cid)
        npcHandler.topic[cid] = 4
    elseif msgcontains(msg, "yes") then
        if npcHandler.topic[cid] == 1 then
            npcHandler:say({
                "The Edron academy has introduced a bonus system. Each time you deposit 100 vials without claiming the money for it, you will receive a lottery ticket. ...",
                "Some of these lottery tickets will grant you a special potion belt accessory, if you bring the ticket to me. ...",
                "If you join the bonus system now, I will ask you each time you are bringing back 100 or more vials to me whether you claim your deposit or rather want a lottery ticket. ...",
                "Of course, you can leave or join the bonus system at any time by just asking me for the 'bonus'. ...",
                "Would you like to join the bonus system now?"
            }, cid)
            npcHandler.topic[cid] = 2
        elseif npcHandler.topic[cid] == 2 then
            npcHandler:say("Great! I've signed you up for our bonus system. From now on, you will have the chance to win the potion belt addon!", cid)
            player:setStorageValue(1060, 1)
            player:setStorageValue(1033, 1) --this for default start of Outfit and Addon Quests
            npcHandler.topic[cid] = 0
        elseif npcHandler.topic[cid] == 3 then
            if player:removeItem(2006, 0, 100) then
                npcHandler:say("Ok here take this lottery ticket!", cid)
                player:addItem(5957, 1)
                npcHandler.topic[cid] = 0
            else
                npcHandler:say("You don't have 100 empty vials.", cid)
                npcHandler.topic[cid] = 0
            end
        elseif npcHandler.topic[cid] == 4 then
            if player:getStorageValue(1060) == 1 and player:removeItem(5958, 1) then
                npcHandler:say("Congratulations! Here, from now on you can wear our lovely potion belt as accessory.", cid)
                player:setStorageValue(1060, 2)
                player:addOutfitAddon(138, 1)
                player:addOutfitAddon(133, 1)
                player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE)
            else
                npcHandler:say("You don't have any prize to claim!", cid)
            end
            npcHandler.topic[cid] = 0
        end
        return true
    end
end

local shopModule = ShopModule:new()
npcHandler:addModule(shopModule)

shopModule:addBuyableItem({'life'},                     2006, 60, 10, 'life fluid')
shopModule:addBuyableItem({'mana'},                     2006, 100, 7, 'mana fluid')
shopModule:addBuyableItem({'spellbook'},                     Cfspellbook, 150)

shopModule:addBuyableItem({'blank rune'},                     Cfblankrune, 10)
shopModule:addBuyableItem({'slime'},                     2006, 12, 4, 'potion of slime')
shopModule:addBuyableItem({'blood'},                     2006, 15, 2, 'potion of blood')
shopModule:addBuyableItem({'urine'},                     2006, 10, 13, 'potion of urine')
shopModule:addBuyableItem({'oil'},                     2006, 20, 11, 'potion of oil')
shopModule:addBuyableItem({'water'},                     2006, 8, 1, 'potion of distilled water')

keywordHandler:addKeyword({'name'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I am lady Sandra Astralian."})
keywordHandler:addKeyword({'job'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I sell potions and magic fluids."})
keywordHandler:addKeyword({'time'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Buy a watch."})
keywordHandler:addKeyword({'king'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I was guest at his castle on my visits to Thais."})
keywordHandler:addKeyword({'tibianus'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I was guest at his castle on my visits to Thais."})
keywordHandler:addKeyword({'army'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Do I look as if I'd fraternize with such people?"})
keywordHandler:addKeyword({'ferumbras'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "A disgusting person indeed."})
keywordHandler:addKeyword({'excalibug'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I am not interested in tales only kids belive in."})
keywordHandler:addKeyword({'thais'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "A city full of disgusting people with ill manners."})
keywordHandler:addKeyword({'tibia'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "The world is a place of barbarianism."})
keywordHandler:addKeyword({'carlin'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I plan to visit this city one day."})
keywordHandler:addKeyword({'edron'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Isn't it a wonderful town?"})
keywordHandler:addKeyword({'new'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Nothing I would talk to you about."})
keywordHandler:addKeyword({'rumo'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Nothing I would talk to you about."})
keywordHandler:addKeyword({'offer'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm selling life and mana fluids and several potions."})
keywordHandler:addKeyword({'good'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm selling life and mana fluids and several potions."})
keywordHandler:addKeyword({'items'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm selling life and mana fluids and several potions."})
keywordHandler:addKeyword({'have'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm selling life and mana fluids and several potions."})
keywordHandler:addKeyword({'fluid'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm selling life and mana fluids and several potions."})
keywordHandler:addKeyword({'potion'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm selling potions of slime, blood, urine, oil, and distilled water."})

npcHandler:setMessage(MESSAGE_GREET, "Hello |PLAYERNAME|, welcome to the fluid and potion shop of Edron.")
npcHandler:setMessage(MESSAGE_FAREWELL, "Good bye, |PLAYERNAME|, please come back soon.")
npcHandler:setMessage(MESSAGE_WALKAWAY, "Good bye, |PLAYERNAME|, please come back soon.")
npcHandler:setMessage(MESSAGE_SENDTRADE, "Of course, just browse through my wares. By the way, if you'd like to join our bonus system for depositing flasks and vial, you have to tell me about that {deposit}.")

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Bro, Sandra give lottery ticket without took the vials, there are any solutions of this ? I have checked a many solutions but without effects :/ But when I change on
Lua:
if player:removeItem(2006, 100) then
Then she count but all of vials in bp.
 
Last edited:
Back
Top