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

Search results

  1. M4rcin

    Found this recently hope you enjoy :) OTCv8 + Sources

    FYI my projects files have never been leaked, its just @Silvanea (aforementioned brazilian scammer) who added my .ico to the leak 🤷
  2. M4rcin

    New weapon damage condition.

    Sorry to be an ass but ... Did you make crossbow conditions for knights? Have you heard about onHealthChange? You shouldn't script your weapons in the source files. buffedWeapons = { ["mega hiper wand"] = {condition = CONDITION_POISON, ticks = 10} } function Player:getBuff() local...
  3. M4rcin

    [TFS 1.x] combat:setCallbackFunction(event, function)

    We could also debug why this LuaScriptInterface::getEvent messes it up, but debugging Lua was a pain for me, maybe we can get a tfs developer to explain it. @Mark @Evil Hero Basically the question is: Why can't you pass the name of the same function to a callback multiple times? Does the event...
  4. M4rcin

    Is it worth to advertise a beta release or just have it posted up on Otland till further?

    Create a Beta season, in which it's clear when it starts and when it ends, motivate the testers with some rewards, and there you go.
  5. M4rcin

    Offering my services as OTClient UI/Layout developer.

    He's a fraud who resells his clients' work, and his code is absolute garbage. It's a great exaggeration when he calls himself a developer, at most a lousy scripter.
  6. M4rcin

    OTClient List of items/weapons (7.x)

    Nope, but we have Python import xml.etree.ElementTree as ET def parse_xml(file): tree = ET.parse(file) root = tree.getroot() return root weapons = [] for item in parse_xml('file.xml').findall('items'): for i in item.findall('attribute'): if i.attrib['key'] !=...
  7. M4rcin

    OTClient Change shader onPositionChange(player, newPos, oldPos)

    You need to call it on the map panel widget local map = modules.game_interface.getMapPanel() map:setMapShader(g_shaders.getShader(area.biome))
  8. M4rcin

    OTClient Change shader onPositionChange(player, newPos, oldPos)

    It depends on how you load the module, but I made it safe for dynamic load/unload too, enjoy
  9. M4rcin

    OTClient Change shader onPositionChange(player, newPos, oldPos)

    The issue is the fact that you would iterate over all areas each step - more areas = it takes longer to iterate through them, and it will happen every step. It takes a few lines and most of your onPositionChange will be done in O(1) https://gist.github.com/4mrcn4/0d7a0638f3b652d62a55a4f90dab0ed2
  10. M4rcin

    OTClient Change shader onPositionChange(player, newPos, oldPos)

    I know you mainly because I had to fix your paid modules too many times I guess that was your goal ¯\(ツ)/¯
  11. M4rcin

    OTClient Change shader onPositionChange(player, newPos, oldPos)

    It's not about "optimizing", it's about choosing the right approach. O(n) on something that you will be extending this way is no go, case closed. You could, for example, make a key from the position coordinates and have similar solution in O(1). You should really learn about time complexity and...
  12. M4rcin

    OTClient Change shader onPositionChange(player, newPos, oldPos)

    Looks like ralke is sitting on around thousand lines right now and I'm not sure if he is that far into development - the lag will happen each step, this is why I suggest that this approach is bad.
  13. M4rcin

    OTClient Change shader onPositionChange(player, newPos, oldPos)

    https://github.com/ralke23/Greed-OTC/blob/a6f1cfdf05db7acc14093989502aafb7e1660d80/modules/game_areas/areas.lua#L978 just add it here, that's the part of logic responsible for notification so you can change the shader here as well. Small tip: avoid having too many areas, otherwise your client...
  14. M4rcin

    Paypal <- problems, any new way here?

    Stop wasting your money on gas fees and start using Solana. There is less viable documentation but it's worth the effort.
  15. M4rcin

    Programmer Cross-compile OTClient from Linux to Windows PE/EXE using cmake

    Should have mentioned that buddy, this is not obvious. How many developers does it take to make you understand that you are in wrong here? Time to send the due money... or create a new account, embracing your new scammer title. Literally, no one is going to read your long posts anymore...
  16. M4rcin

    TFS 1.X+ Cannot rope invisible

    We need to account for unmoveable items like the ground it returns. function onUseRope(player, item, fromPosition, target, toPosition, isHotkey) if toPosition.x == CONTAINER_POSITION then return false end local tile = Tile(toPosition) if not tile then return...
  17. M4rcin

    TFS 1.X+ Cannot rope invisible

    oh, i see, the newly overriden thing is nil. small edit to Xikini's script, will also prioritize creatures over items function onUseRope(player, item, fromPosition, target, toPosition, isHotkey) if toPosition.x == CONTAINER_POSITION then return false end local tile =...
  18. M4rcin

    TFS 1.X+ Cannot rope invisible

    change it into if not thing then are you sure that is the line? because if thing was nil it would error on if thing:isItem() and thing:getType():isMovable() then
  19. M4rcin

    TFS 1.X+ Cannot rope invisible

    After all local thing = tile:getTopVisibleThing() checks if the creature is visible https://github.com/otland/forgottenserver/blob/eb5f5d68a85eb5f8e5ade23153d699e93d4287a3/src/tile.cpp#L251 @up good, but it will produce different behavior, getTopVisibleThing() returns creatures first, then...
  20. M4rcin

    Lua [TFS 1.4] Changing item uid, is this problematic?

    The thing is UID usually serves a different purpose and there are possible difficulties (UID collisions and such), so I'm not sure if you should abuse it. I'm like 99% sure there are no consequences of doing so, but it seems like a bad practice when actually, all you really want is to set a...
Back
Top