• 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!
  • 2026 staff recruitment is open! Check it out and consider applying!

Search results

  1. L

    no mysql in config.lua.dist?

    https://github.com/otland/forgottenserver/pull/4518 You can still put these config entries there but there's an option to use environement variables instead: MYSQL_HOST MYSQL_USER MYSQL_PASSWORD MYSQL_DATABASE MYSQL_SOCK MYSQL_PORT There were some interesting changes last time regarding build...
  2. L

    Lua Elane learning spells for paladins

    Not sure but as these keywords are registered in table (ordered) I'd swap it to register longer keywords first: local node1 = keywordHandler:addKeyword({'light healing'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Would you like to learn Light Healing for 170 gp?'})...
  3. L

    Lua Elane learning spells for paladins

    Yea but I didn’t want to write code that has assumption that there are only 4 base vocations. Latest master of TFS comes with nice utils to get base vocations only and get promoted/demoted Vocation. Which would work on every server, no mater how many base vocation there is (and how many...
  4. L

    Error install [OTClient Mod] Loot stats in mehah otclient

    Error message literally says what’s wrong:
  5. L

    Lua Elane learning spells for paladins

    You can't add some random config property and expert it to work ;) What about promoted players? I'd either define vocation as an array. You need to modify the module to handle it first...
  6. L

    TFS 1.X+ Pay from your bank account.

    Did he? For inventory only: function Player.getTotalMoney(self) return self:getMoney() end function Player.removeTotalMoney(self, amount) local moneyCount = self:getMoney() if amount > moneyCount then return false end self:removeMoney(amount) return true end
  7. L

    TFS 1.X+ Pay from your bank account.

    Change implementation of Player.removeTotalMoney & Player.getTotalMoney get rid of bank related code https://github.com/otland/forgottenserver/blob/31d6e85de2a86fb3f0e36c63509fba75b855b8bd/data/lib/core/player.lua#L243...
  8. L

    Rebirth Doors and Teleports

    Seems like there are doors with AID's from range [10001, 10999] meant to be used only by players with certain rebirth "level/count". 10001 - 1 reborn required 10002 - 2 reborn required etc. if item.actionid > 10000 and item.actionid < 11000 then -- it is rebirths local reqRebirth =...
  9. L

    Windows Ovh VPS port 3306 closed

    Normally you DO NOT need to make your mysql publically accessible. Mysql is by default setup to bind only on localhost. Check your mysql config file: bind-address For database setup I would rather host own VPN on the machine and connect through it to MySQL with use of e.g. DBeaver
  10. L

    Solved Optimize elseif script.

    Sorry thought character' sex is final, At least I hope that there are only two choices ;) Check for typos (not tested) local addOutfit = function(player, lookTypes, addon) for _, sex in ipairs({ PLAYERSEX_FEMALE, PLAYERSEX_MALE }) do local lookType = lookTypes[sex + 1]...
  11. L

    npc question

    <npc name="Naji" script="Naji.lua" walkinterval="0" speechbubble="0"> Not sure whether that's client "default" fallback but there's a away to customize speechbubble enum SpeechBubble_t { SPEECHBUBBLE_NONE = 0, SPEECHBUBBLE_NORMAL = 1, SPEECHBUBBLE_TRADE = 2, SPEECHBUBBLE_QUEST =...
  12. L

    Problem with npc missions

    Okay, you can either use getItemDescriptions(itemId) that'd output all these information or you can call these separatelly like: local itemType = ItemType(itemId) local name = itemType:getName() local pluralName = itemType:getPluralName() local article = itemType:getArticle() So...
  13. L

    Problem with npc missions

    There's simply no such function called getItemInfo in TFS 1.x As it used to return bunch of information about item you need to replace it with some specific one. But without the island.lua script (line 82 and below) I'm unable to tell more.
  14. L

    Lua HealthGain and ManaGain

    hp/mana gain is hardcoded and is always taken from vocation config while (experience >= nextLevelExp) { ++level; healthMax += vocation->getHPGain(); health += vocation->getHPGain(); manaMax += vocation->getManaGain(); mana += vocation->getManaGain()...
  15. L

    TFS 0.X [SQLite] -=[TFS]=- 0.4 8.60 How do I remove [VIP] from characters in the player name

    btw. do you really use SQLite? UPDATE players SET name = TRIM(SUBSTR(name, LENGTH('[Vip]') + 1)) WHERE name LIKE '[Vip]%'; There might be a case that such player already exists (without [Vip]) so you could try with: UPDATE players p LEFT JOIN players p2 ON p2.name = TRIM(SUBSTR(p.name...
  16. L

    TFS 1.X+ Npc glitches

    Whoever took the money should give you a refund. I wonder what's the mission state 3 is used for. (as it seems both 2 and 3 are kid of similar) Seems like state 3 was meant to be used to indicate monsters/boss is killed :) Also it's more difficult to tell something without NPCTasks Had to...
  17. L

    Lua [1.4.2] Stairs error.

    Apply changes from this PR: https://github.com/otland/forgottenserver/pull/4334
  18. L

    [7.4, 7.8, 7.92, 8.0] Sabrehaven.com based on Nostalrius 7.7 fork

    @Igor Milagres Solution with tfs::to_underlying requires /std:c++20 that's why you got an error in tools.h. You're probably mixing 3 approaches to fix one issue here. Anyway I don't think it's a valid place for such issues, let's better move this discussion to the correct forum section.
  19. L

    [7.4, 7.8, 7.92, 8.0] Sabrehaven.com based on Nostalrius 7.7 fork

    @Igor Milagres In last weeks I've seen at least few thread about issues regarding fmt v10, I highly encourage to always at least try to search: https://otland.net/threads/26-08-2023-tfs-nekiro-7-72-fmt-lib-problem.286038/ Look at your iomarket.cpp and compare it with...
  20. L

    Lua Barbrian Arena [ORTS] problem.

    You need to register it player:registerEvent("SvargrondArenaKill") Either create onLogin event or add to existing one. Or you can register it once quest starts and unregister once it’s no longer needed
Back
Top