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

TheImaginedServer & TheImaginedClient (custom TFS and Client) - Updated 1/16/2015

I haven't posted in awhile, but just know TONS of updates have been happening. I haven't been posting all changes to GITHUB (I'm bad at doing that...) but I will do a large update all at once with all the new code, bug fixes, and features as soon as I get a few more things done.
 
Added the OTClient feature list (Let me know if you can think of any features you'd want added to OTClient)
 
Transparency for chars/monsters (ghosts)?

Would be possible make very dark cave and when you go there monsters don't appear in "Battle" list? If they appear, having dark cave is pointless, because you can target them easily with "Battle" list.

Good job!
 
Transparency for chars/monsters (ghosts)?

Would be possible make very dark cave and when you go there monsters don't appear in "Battle" list? If they appear, having dark cave is pointless, because you can target them easily with "Battle" list.

Good job!

Fun Question! Take note I'm not an expert yet on the OTClient but I do know enough to be dangerous.
We have actually been looking into this. We already made it so you cannot see creatures through walls. (If you do not have line of sight, TFS won't send the creature to the client, so you will not see it on the battle list or on screen). This is actually all TFS, so it works with ANY client on ANY version of TFS.

But what is bugging me now is LIGHT goes through walls, so I have started theorizing on a new lighting system. (Which is all theory right now with no code so I won't talk about it)

So first of all yes, it IS possible. Anything is possible when you own both the client and the server, that is why the OTClient is so amazing of a tool.

Here are the problems:
  1. TFS doesn't know how dark it is on each tile. You can "calculate" how dark a tile is by grabbing all tiles on screen and getting their light levels but that is VERY heavy code that would slow down a server. So Server-Side is not the best way to do it unless you redo the lighting system completely)
  2. OTClient draws creatures BEFORE it draws light. Basically, it draws all the ground, then borders, then items, then creatures,(it starts at stackpos 0 and goes up), then names/healthbars(UI), then light. Luckily, the creature is not added to the battle list when drawing in the OTClient so you should be able to exclude creatures in any situation you please.
The good news:
The Battle list is done in LUA, so it is very easy to exclude certain creatures from appearing on the battle list.
The Bad news:
Currently there is no way to "Detect" if a monster is in the dark or not (That I know of). So you would have to CREATE this function. Something like "getPositionLight(position)".
This will be a feature of my TFS (Once I make the new lighting system), but for a quick edit to the OTClient, I would ask the OTClient forums, I am pretty sure this has been done before. (A friend told me they once played a server where if you "looked" (shift+Click) at something in the darkness it would simply say "It is too dark to see". So it has been done before.
 
Hi Guys,
3/11 - Added Github links
4/1 - Added OTClient Feature List
Hi Guys! Here are the links to my Gibhub for the TFS and OTClient that I'm working on.
THERE WILL BE BUGS!


As some of you may know I am working on customizing TFS for my servers.
I would like to know if you guys have anything you want me to add (I Plan on releasing it once it is bug-free so everyone can use it)

We will also be releasing a Concept Server showing off features as we add them.
Information on this will be added to this post:
Concept Server
Planned ClientFeatures:
Main Features:

  • Fully Functioning UI Options: Make it so you can have better on-screen UI options.
  • Fully Functioning Bot: Make an in-client bot that rivals Elf-Bot
  • Make Client Universal: Make Client able to connect to any server 8.6+
  • Make an in-client config for advanced options: (Like Creature Stacking)
Sprite and Animation Features
  • Tile Size: Allow you to change the size of Sprites (Currently 32x32 pixels)
  • [80% done] Creature Stacking: Make it so creatures stacked on the same tile are displaced (looks amazing for smaller creatures)
  • Idle Animations: Make it so while standing still your character can play short animations. (Each outfit can have a "Idle Animation")
  • Better Lighting: (Make it so light doesn't go through walls, and maybe put in shadows)
Integration:
  • Twitch.tv In Client: Make twitch streaming integrated into the client

Planned Server Features:

Config.lua Changes

  • [Done] World Light: Add day/night time to config, or disable. Also add LUA functions to change world light, or server time.
  • House Config Options: House options in config.lua. Are houses PZ? Can change house name? Use house keys?(aleta grav creates a key for the door, rather than door rights)
  • Push Config: Add more push config into config.lua. Level Push Difference (must be within ## levels to push player. Can push down floors? Can push up floors?
  • Summon config: More customize features for summons. Summons go Wild (summons become monsters when you unsummon them or the player dies) Summons have Corpse (customize whether summons have corpse) Do Summons Level (Can summons level up and get stronger?) Summon Exp % (How much experience a summon gets for damage) Summon Master Experience (Percent of experience the master gets for summon damage)
Combat Changes - NEW
All Combat Changes will be configurable in config.lua, vocations.xml, items.xml, and through player storage values.
  • Dodge Chance: Dodge change will be added to the game (default will be 0 - disabled) and the dodge animation will be configurable in the config.lua
  • [50% Done] customBlockMode: Instead of using tibia's "Defense" system for blocking, the game will use blockChance, blockValue, and blockPercent to handle shields.
  • [50% Done] Player Resistances: all resists (fire, ice, physical, etc) will be configurable in config.lua, vocations.xml, items.xml, and player storage.
  • Critical Chance: All crit values will be configurable in config.lua, vocations.xml, items.xml, and player storage.
Creaturescript Changes

  • [Done] onWalk(cid, fromPos, toPos, dir): Make fully functional onWalk creaturescript
  • [Done] onMonsterSpawn(cid): Creature Event that runs when any creature spawns (so you can add creature scripts to all creatures that spawn on your server)
Monster.xml Changes
  • [Done] Monster View Range: Added XML flag to change Monster View Range (So some monsters can see you from farther than 11 SQM)
  • [Done] Monster Aggro: Added Aggro to replace target change. Creatures can now be set to change target depending on aggro a player has. So doing too much DPS, being closer, higher level, lower level, low health, etc can all change who the monster targets.
  • [Done] Monster Group Flee: If a monster is outnumbered it will run away. (Examples: If you have a cave where 10 orcs spawn, and you enter the cave with 5 players, if you kill 6 orcs and 4 are left, the 4 will run away scared)
  • Monster Hunt Solo Players: Monster will only attack players who are alone, otherwise they will run away.
  • Monster cornered: If a monster is running away, but cornered, it will stop running away and attack.
  • Monsters/NPCs can fight other Monsters/NPCs: (Have Orcs automatically fight Minotaurs, etc)
  • Monster/NPC Self Defense: Creature will attack back if attacked (even if currently not hostile)
  • Creature Alert Friends: Creature will alert nearby monsters to your presence.
  • Fix monster walkback: Monsters actually walk back to spawn location, rather than teleport.
  • Monster Level Randomizer: Be able to set damage multipliers, and even spells with level requirements for monsters.
  • [50% Done] More Monster.xml Options: Reflect Elements, life steal, health/mana regen, field damage thresh hold (how much damage a field has to do to stop the creature from walking over it).
  • Monster Hold Items: Create a list of items creatures are holding. (This can be used to have monsters pick up items off the ground, or from players/creatures they kill) Also could make a "steal" ability so players can steal items from each other, npcs, or monsters.
  • Monster Patrol: I want to be able to make this work in the Map Editor (I want it to be saved to spawns.xml) But Basically you should be able to set up Patrol Routes for Monsters.
  • Monster Summon Count: option to summon multiple creatures at the same time. Also able to select a summon location (target="0" summons on yourself, target="1" summons on target)
  • Monster Call Creature: Ability to set creatures that a monster can spawn (rather than summon) with same options as summoning.
  • Can Summons Summon: set in the monster.xml if a summon can summon.
  • Summon Lifetime: (Will remove creature after time limit)
  • Is Monster Healable: Set if a monster can be healed.
  • [Done] Mana for Monsters: Make it so monsters can start with mana.
  • [Done] Regeneration for Monsters: Make it so monsters regen health and mana.
  • [Done] Monster Spellcost: Make it so monster spells can cost health or mana when cast.
NPC Changes
  • NPC pathing: not walk on chairs/tables unless trapped. (So you can make NPCs that are waiters and they won't walk all over tables and chairs)
  • [Done] NPC/Monster Outfit Randomizer: Make it so each time the creature spawns, it will be wearing new clothes.
  • NPC Blocked Trigger: If NPC is blocked, can either trigger actions (push thing, attack creature, or talk to thing that is blocking it)
  • NPC Timed Events: Make NPCs able to have tasks, or dialog different depending on the time.
  • NPC Aggro: NPC can be given aggro, which can make them attack, follow, or talk to certain players depending on what you want.
  • Attackable NPCs: Make NPCs able to be attacked, and respawn if killed.
Tibia HUD/Chat Changes
  • [Done] Creature Nickname: Client displays the creature Nickname. This is so you can change names of creatures/npcs without editing the file. Example: Have 3 hunters spawn, but their names will randomize. Hunter Bill, Hunter Joe, Hunter Susan. (More RPG when monsters are unique)
  • Player Chat Config: customize what appears in the console when player's chat.
Tibia Spell Options
  • Player Charge-Move: Make it so when a player walks, it will push other creatures out of the way. (If there is no tile to push creature, the player will walk on top of the creature)
  • More Spell Customization: (health cost, item requirements, params that aren't playernames, skill requirements.
  • [NEW] Conditions Configuration: Make it possible to create or edit conditions inside of a function.
Vocation.xml Changes
  • More Vocation.xml Options: Change Corpse IDs (male/female), Speed gain per level, max summons, resistances and immunities, life steal, reflect element, pushable, walk-through.
Let me know if there are any other things you wished TFS could do or any LUA functions you wish existed.
:) Hopefully this customized TFS will change the OT community to make better and more fun servers :).


Im reading this & highly enjoying it. Only problem, can I downlaod it and use it? If so, how?
 
Im reading this & highly enjoying it. Only problem, can I downlaod it and use it? If so, how?

You can get it off of Github, though while functional, it is still a work in progress.

But your input and bug finding would be nice, so any/all feedback is welcome.
 
Also we have a problem with keeping the Client and Server versions on GITHUB in sync. SO there may be times we update TFS and it no longer works perfectly with the OTClient.
 
i went to the github site and not exactly sure where to find it lol

They are in my Signature.
Both the Client and Server Githubs.

I will make a fully compiled download for both the server and client when I get around to it. (So you can just download and go)
 
Also, I'm guessing i have to do everything it says on the Imagined Server page right? all the compiling and stuff?
 
I would love to patch my custom Tfs for this but since im so bad at programming i would probably not sucess with that >.<
 
I would love to patch my custom Tfs for this but since im so bad at programming i would probably not sucess with that >.<

Most of it isn't that hard to patch, the "Look Through Walls" and "Aggro/Threat" systems are pretty all over the place though.
 
Back
Top