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

[10.77][TFS 1.2] ORTS, a real map project

Jenaric, can you link the 32bit DLLs?

I've tried to do this but it wouldn't run - I think it's because of bad dlls
 
Jenaric, can you link the 32bit DLLs?

I've tried to do this but it wouldn't run - I think it's because of bad dlls
ORTS datapack haves memory leaking in the x64 version. You need to compile in x86 order to run the server without a crash.
 
Thanks guys for your help. The 32bit setup is working just fine. My final query on this server is how to get the Real Map houses into the Znote AAC shop system, at current, only an imaginary town's houses seem to exist in there!
 
Thanks guys for your help. The 32bit setup is working just fine. My final query on this server is how to get the Real Map houses into the Znote AAC shop system, at current, only an imaginary town's houses seem to exist in there!
How do you mean? Could you explain better? :p
 
Sure thing. In Znote AAC, you can log in and buy houses on the server (Community > Houses). I believe the Houses file that znote is looking at is incorrect - from a "default" forgotten server configuration. The only towns which appear are Thyrfing and Town 3, as opposed to all the real towns.
 
Sure thing. In Znote AAC, you can log in and buy houses on the server (Community > Houses). I believe the Houses file that znote is looking at is incorrect - from a "default" forgotten server configuration. The only towns which appear are Thyrfing and Town 3, as opposed to all the real towns.
Send me a meeting id. On teamviewer. The ID starts with M
I don't have time to install ZnoteAAC again and check around. :p So could you send your meeting ID on teamviewer?
 
Enjoy :)

talkactions\data\scripts\gainaccess.lua
Code:
function onSay(player, words, param)

    -- local player = Player(cid) use this if you use function onSay(cid, words, param)

    local theNewFrontierPrice = 30000
    local wrathOfTheEmperorPrice = 30000
    local childrenOfRevolutionPrice = 30000

    -- THE NEW FRONTIER
    if param == 'The New Frontier' then
        if player:getStorageValue(Storage.TheNewFrontier.Questline) == 28 then
            doPlayerSendTextMessage(player,MESSAGE_EVENT_ADVANCE,'You have already done this quest.') -- White popup message
        elseif doPlayerRemoveMoney(player, theNewFrontierPrice) == TRUE then
            doSendMagicEffect(getPlayerPosition(player), CONST_ME_HOLYDAMAGE) -- Animation on player
            doPlayerSendTextMessage(player,MESSAGE_EVENT_ADVANCE,'Grats, you have completed TheNewFrontier, and gained all access.') -- White popup message
            player:setStorageValue(Storage.TheNewFrontier.Questline, 28) -- Set questline
            player:setStorageValue(Storage.TheNewFrontier.Mission01, 3); -- Mission01
            player:setStorageValue(Storage.TheNewFrontier.Mission02, 6); -- Mission02
            player:setStorageValue(Storage.TheNewFrontier.Mission03, 3); -- Mission03
            player:setStorageValue(Storage.TheNewFrontier.Mission04, 2); -- Mission04
            player:setStorageValue(Storage.TheNewFrontier.Mission05, 7); -- Mission05
            player:setStorageValue(Storage.TheNewFrontier.Mission06, 3); -- Mission06
            player:setStorageValue(Storage.TheNewFrontier.Mission07, 3); -- Mission07
            player:setStorageValue(Storage.TheNewFrontier.Mission08, 2); -- Mission08
            player:setStorageValue(Storage.TheNewFrontier.Mission09, 3); -- Mission09
            player:setStorageValue(Storage.TheNewFrontier.Mission10, 1); -- Mission10
            player:setStorageValue(Storage.TheNewFrontier.TomeofKnowledge, 13); -- TomeofKnowledge
            player:setStorageValue(Storage.TheNewFrontier.Beaver1, 1); -- Beaver1
            player:setStorageValue(Storage.TheNewFrontier.Beaver2, 1); -- Beaver2
            player:setStorageValue(Storage.TheNewFrontier.Beaver3, 1); -- Beaver3
            player:setStorageValue(Storage.TheNewFrontier.BribeKing, 1); -- BribeKing
            player:setStorageValue(Storage.TheNewFrontier.BribeLeeland, 1); -- BribeLeeland
            player:setStorageValue(Storage.TheNewFrontier.BribeExplorerSociety, 1); -- BribeExplorerSociety
            player:setStorageValue(Storage.TheNewFrontier.BribeWydrin, 1); -- BribeWydrin
            player:setStorageValue(Storage.TheNewFrontier.BribeTelas, 1); -- BribeTelas
            player:setStorageValue(Storage.TheNewFrontier.BribeHumgolf, 1); -- BribeHumgolf
        else
            player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You need 30,000gp to skip this quest.")
        end
    end

    -- WRATH OF THE EMPEROR
    if param == 'Wrath Of The Emperor' then
        if player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 33 then
            doPlayerSendTextMessage(player,MESSAGE_EVENT_ADVANCE,'You have already done this quest.') -- White popup message
        elseif doPlayerRemoveMoney(player, wrathOfTheEmperorPrice) == TRUE then
            doSendMagicEffect(getPlayerPosition(player), CONST_ME_HOLYDAMAGE) -- Animation on player
            doPlayerSendTextMessage(player,MESSAGE_EVENT_ADVANCE,'Grats, you have completed WrathOfTheEmperor, and gained all access.') -- White popup message
            player:setStorageValue(Storage.WrathoftheEmperor.Questline, 33)
            player:setStorageValue(Storage.WrathoftheEmperor.Mission01, 3)
            player:setStorageValue(Storage.WrathoftheEmperor.Mission02, 3)
            player:setStorageValue(Storage.WrathoftheEmperor.Mission03, 3)
            player:setStorageValue(Storage.WrathoftheEmperor.Mission04, 3)
            player:setStorageValue(Storage.WrathoftheEmperor.Mission05, 3)
            player:setStorageValue(Storage.WrathoftheEmperor.Mission06, 4)
            player:setStorageValue(Storage.WrathoftheEmperor.Mission07, 6)
            player:setStorageValue(Storage.WrathoftheEmperor.Mission08, 2)
            player:setStorageValue(Storage.WrathoftheEmperor.Mission09, 2)
            player:setStorageValue(Storage.WrathoftheEmperor.Mission10, 6)
            player:setStorageValue(Storage.WrathoftheEmperor.Mission11, 2)
            player:setStorageValue(Storage.WrathoftheEmperor.Mission12, 1)
            player:setStorageValue(Storage.WrathoftheEmperor.CrateStatus, 1)
            player:setStorageValue(Storage.WrathoftheEmperor.GuardcaughtYou, 1)
            player:setStorageValue(Storage.WrathoftheEmperor.ZumtahStatus, 1)
            player:setStorageValue(Storage.WrathoftheEmperor.PrisonReleaseStatus, 1)
            player:setStorageValue(Storage.WrathoftheEmperor.GhostOfAPriest01, 1)
            player:setStorageValue(Storage.WrathoftheEmperor.GhostOfAPriest02, 1)
            player:setStorageValue(Storage.WrathoftheEmperor.GhostOfAPriest03, 1)
            player:setStorageValue(Storage.WrathoftheEmperor.InterdimensionalPotion, 1)
            player:setStorageValue(Storage.WrathoftheEmperor.BossStatus, 1)
            player:setStorageValue(Storage.WrathoftheEmperor.platinumReward, 1)
            player:setStorageValue(Storage.WrathoftheEmperor.backpackReward, 1)
            player:setStorageValue(Storage.WrathoftheEmperor.mainReward, 1)
        else
            player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You need 30,000gp to skip this quest.")
        end
    end

    -- CHILDREN OF REVOLUTION
    if param == 'Children Of Revolution' then
        if player:getStorageValue(Storage.ChildrenoftheRevolution.Questline) == 21 then
            doPlayerSendTextMessage(player,MESSAGE_EVENT_ADVANCE,'You have already done this quest.') -- White popup message
        elseif doPlayerRemoveMoney(player, childrenOfRevolutionPrice) == TRUE then
            doSendMagicEffect(getPlayerPosition(player), CONST_ME_HOLYDAMAGE) -- Animation on player
            doPlayerSendTextMessage(player,MESSAGE_EVENT_ADVANCE,'Grats, you have completed ChildrenOfRevolution, and gained all access.') -- White popup message
            player:setStorageValue(Storage.ChildrenoftheRevolution.Questline, 21)
            player:setStorageValue(Storage.ChildrenoftheRevolution.Mission01, 3)
            player:setStorageValue(Storage.ChildrenoftheRevolution.Mission02, 5)
            player:setStorageValue(Storage.ChildrenoftheRevolution.Mission03, 3)
            player:setStorageValue(Storage.ChildrenoftheRevolution.Mission04, 6)
            player:setStorageValue(Storage.ChildrenoftheRevolution.Mission05, 3)
            player:setStorageValue(Storage.ChildrenoftheRevolution.SpyBuilding01, 1)
            player:setStorageValue(Storage.ChildrenoftheRevolution.SpyBuilding02, 1)
            player:setStorageValue(Storage.ChildrenoftheRevolution.SpyBuilding03, 1)
            player:setStorageValue(Storage.ChildrenoftheRevolution.StrangeSymbols, 3)
        else
            player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You need 30,000gp to skip this quest.")      
        end
    end
end

Remember to put this in talkactions.xml

Code:
<talkaction words="!completequest" script="gainaccess.lua"/>

:)

Thanks for the script. I put in in my data just as it should be, but for some reason it does not work. Maybe I am inputting the parameter wrong. Any tricks? thanks.
 
Enjoy :)

talkactions\data\scripts\gainaccess.lua
Code:
function onSay(player, words, param)

    -- local player = Player(cid) use this if you use function onSay(cid, words, param)

    local theNewFrontierPrice = 30000
    local wrathOfTheEmperorPrice = 30000
    local childrenOfRevolutionPrice = 30000

    -- THE NEW FRONTIER
    if param == 'The New Frontier' then
        if player:getStorageValue(Storage.TheNewFrontier.Questline) == 28 then
            doPlayerSendTextMessage(player,MESSAGE_EVENT_ADVANCE,'You have already done this quest.') -- White popup message
        elseif doPlayerRemoveMoney(player, theNewFrontierPrice) == TRUE then
            doSendMagicEffect(getPlayerPosition(player), CONST_ME_HOLYDAMAGE) -- Animation on player
            doPlayerSendTextMessage(player,MESSAGE_EVENT_ADVANCE,'Grats, you have completed TheNewFrontier, and gained all access.') -- White popup message
            player:setStorageValue(Storage.TheNewFrontier.Questline, 28) -- Set questline
            player:setStorageValue(Storage.TheNewFrontier.Mission01, 3); -- Mission01
            player:setStorageValue(Storage.TheNewFrontier.Mission02, 6); -- Mission02
            player:setStorageValue(Storage.TheNewFrontier.Mission03, 3); -- Mission03
            player:setStorageValue(Storage.TheNewFrontier.Mission04, 2); -- Mission04
            player:setStorageValue(Storage.TheNewFrontier.Mission05, 7); -- Mission05
            player:setStorageValue(Storage.TheNewFrontier.Mission06, 3); -- Mission06
            player:setStorageValue(Storage.TheNewFrontier.Mission07, 3); -- Mission07
            player:setStorageValue(Storage.TheNewFrontier.Mission08, 2); -- Mission08
            player:setStorageValue(Storage.TheNewFrontier.Mission09, 3); -- Mission09
            player:setStorageValue(Storage.TheNewFrontier.Mission10, 1); -- Mission10
            player:setStorageValue(Storage.TheNewFrontier.TomeofKnowledge, 13); -- TomeofKnowledge
            player:setStorageValue(Storage.TheNewFrontier.Beaver1, 1); -- Beaver1
            player:setStorageValue(Storage.TheNewFrontier.Beaver2, 1); -- Beaver2
            player:setStorageValue(Storage.TheNewFrontier.Beaver3, 1); -- Beaver3
            player:setStorageValue(Storage.TheNewFrontier.BribeKing, 1); -- BribeKing
            player:setStorageValue(Storage.TheNewFrontier.BribeLeeland, 1); -- BribeLeeland
            player:setStorageValue(Storage.TheNewFrontier.BribeExplorerSociety, 1); -- BribeExplorerSociety
            player:setStorageValue(Storage.TheNewFrontier.BribeWydrin, 1); -- BribeWydrin
            player:setStorageValue(Storage.TheNewFrontier.BribeTelas, 1); -- BribeTelas
            player:setStorageValue(Storage.TheNewFrontier.BribeHumgolf, 1); -- BribeHumgolf
        else
            player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You need 30,000gp to skip this quest.")
        end
    end

    -- WRATH OF THE EMPEROR
    if param == 'Wrath Of The Emperor' then
        if player:getStorageValue(Storage.WrathoftheEmperor.Questline) == 33 then
            doPlayerSendTextMessage(player,MESSAGE_EVENT_ADVANCE,'You have already done this quest.') -- White popup message
        elseif doPlayerRemoveMoney(player, wrathOfTheEmperorPrice) == TRUE then
            doSendMagicEffect(getPlayerPosition(player), CONST_ME_HOLYDAMAGE) -- Animation on player
            doPlayerSendTextMessage(player,MESSAGE_EVENT_ADVANCE,'Grats, you have completed WrathOfTheEmperor, and gained all access.') -- White popup message
            player:setStorageValue(Storage.WrathoftheEmperor.Questline, 33)
            player:setStorageValue(Storage.WrathoftheEmperor.Mission01, 3)
            player:setStorageValue(Storage.WrathoftheEmperor.Mission02, 3)
            player:setStorageValue(Storage.WrathoftheEmperor.Mission03, 3)
            player:setStorageValue(Storage.WrathoftheEmperor.Mission04, 3)
            player:setStorageValue(Storage.WrathoftheEmperor.Mission05, 3)
            player:setStorageValue(Storage.WrathoftheEmperor.Mission06, 4)
            player:setStorageValue(Storage.WrathoftheEmperor.Mission07, 6)
            player:setStorageValue(Storage.WrathoftheEmperor.Mission08, 2)
            player:setStorageValue(Storage.WrathoftheEmperor.Mission09, 2)
            player:setStorageValue(Storage.WrathoftheEmperor.Mission10, 6)
            player:setStorageValue(Storage.WrathoftheEmperor.Mission11, 2)
            player:setStorageValue(Storage.WrathoftheEmperor.Mission12, 1)
            player:setStorageValue(Storage.WrathoftheEmperor.CrateStatus, 1)
            player:setStorageValue(Storage.WrathoftheEmperor.GuardcaughtYou, 1)
            player:setStorageValue(Storage.WrathoftheEmperor.ZumtahStatus, 1)
            player:setStorageValue(Storage.WrathoftheEmperor.PrisonReleaseStatus, 1)
            player:setStorageValue(Storage.WrathoftheEmperor.GhostOfAPriest01, 1)
            player:setStorageValue(Storage.WrathoftheEmperor.GhostOfAPriest02, 1)
            player:setStorageValue(Storage.WrathoftheEmperor.GhostOfAPriest03, 1)
            player:setStorageValue(Storage.WrathoftheEmperor.InterdimensionalPotion, 1)
            player:setStorageValue(Storage.WrathoftheEmperor.BossStatus, 1)
            player:setStorageValue(Storage.WrathoftheEmperor.platinumReward, 1)
            player:setStorageValue(Storage.WrathoftheEmperor.backpackReward, 1)
            player:setStorageValue(Storage.WrathoftheEmperor.mainReward, 1)
        else
            player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You need 30,000gp to skip this quest.")
        end
    end

    -- CHILDREN OF REVOLUTION
    if param == 'Children Of Revolution' then
        if player:getStorageValue(Storage.ChildrenoftheRevolution.Questline) == 21 then
            doPlayerSendTextMessage(player,MESSAGE_EVENT_ADVANCE,'You have already done this quest.') -- White popup message
        elseif doPlayerRemoveMoney(player, childrenOfRevolutionPrice) == TRUE then
            doSendMagicEffect(getPlayerPosition(player), CONST_ME_HOLYDAMAGE) -- Animation on player
            doPlayerSendTextMessage(player,MESSAGE_EVENT_ADVANCE,'Grats, you have completed ChildrenOfRevolution, and gained all access.') -- White popup message
            player:setStorageValue(Storage.ChildrenoftheRevolution.Questline, 21)
            player:setStorageValue(Storage.ChildrenoftheRevolution.Mission01, 3)
            player:setStorageValue(Storage.ChildrenoftheRevolution.Mission02, 5)
            player:setStorageValue(Storage.ChildrenoftheRevolution.Mission03, 3)
            player:setStorageValue(Storage.ChildrenoftheRevolution.Mission04, 6)
            player:setStorageValue(Storage.ChildrenoftheRevolution.Mission05, 3)
            player:setStorageValue(Storage.ChildrenoftheRevolution.SpyBuilding01, 1)
            player:setStorageValue(Storage.ChildrenoftheRevolution.SpyBuilding02, 1)
            player:setStorageValue(Storage.ChildrenoftheRevolution.SpyBuilding03, 1)
            player:setStorageValue(Storage.ChildrenoftheRevolution.StrangeSymbols, 3)
        else
            player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You need 30,000gp to skip this quest.")      
        end
    end
end

Remember to put this in talkactions.xml

Code:
<talkaction words="!completequest" script="gainaccess.lua"/>

:)

Looks nice.

Alt-ought I'm missing outfit & achievements ;/ for example this is my new frontier configuration.

982839ee0d.png
 
Hello im new at 10.xx here ive only worked with 8.6 and 9.86 but i cannot find any files to make the server run i used ones from 9.86 mystic spirit and when i try to run it, it has many errors poping up on the console and then the console dissapears without letting me see what the last error was but i believe it was something about items.otb could i use a config that uses in game acc manager with sqlite? ive searched all over the internet and the fourms here and downloaded lots of materials but my server wont run :( please show me configs for this and how to fix this, thank you
 
Hello im new at 10.xx here ive only worked with 8.6 and 9.86 but i cannot find any files to make the server run i used ones from 9.86 mystic spirit and when i try to run it, it has many errors poping up on the console and then the console dissapears without letting me see what the last error was but i believe it was something about items.otb could i use a config that uses in game acc manager with sqlite? ive searched all over the internet and the fourms here and downloaded lots of materials but my server wont run :( please show me configs for this and how to fix this, thank you
Hello, sqlite and acc manager was removed in TFS 1.0, You need to setup a Mysql server and a apache server.
Here is a tutorial: https://otland.net/threads/video-tu...-server-website-and-shop-system.166818/unread
 
Also, how do i make the other staff be added to players vip list by normal players? and how do i make staff not see the ips of players? (8.60 server)
 
Looks nice.

Alt-ought I'm missing outfit & achievements ;/ for example this is my new frontier configuration.

982839ee0d.png
I didnt want people to receive the items or outfits if they skip the quest, but this is of course optional :) also i used the mission "strings" instead of the storage ids, but also optional :) yours looks nice tho :D
 
Hello, someone know the code for the moment when you up level, restore your health and mana to full? Thx :)!

Hello, someone know the code for the moment when you up level, restore your health and mana to full? Thx :)!
edit. SOLVED!
 
Last edited by a moderator:
can't configure regeneration for example gainhpamount="2" because still getting by 5, manapoints same. Changed in vocations.xml, but still doesn't work.
 
can't configure regeneration for example gainhpamount="2" because still getting by 5, manapoints same. Changed in vocations.xml, but still doesn't work.
I had this problem.
Try to create another character, I don't know why that happens but it stopped O_O
 
Back
Top