• 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

Aggro and Threat will be really customizable.
I want you to basically be able to make monsters "intelligent" in your own way. They should all have their own characteristics and personalities, rather than the boring way Tibia has it.
 
I have been developing a server along-side the new version of TFS using as many of the features as possible.

This is to help give inspiration and keep me interested on this project.
Once enough of the server is completed I will allow public access so you can see the differences between it and the current servers available.
 
I heard there was one feature on really, really old clients of tibia. Ability to shoot downstairs. Brilliant. It allows to use every dimension in mapping locations and quests. Simulation of event such as town/castle defense, PvP in strategical locations. It breaks OT world feeling of flatness, but it has costs. I don't know if its worth to implement feature which increases CPU usage for pathfinding, and player finding for npc and summons(they would need something anyway), creates problems with solution to aiming uphill, basically should not work with original client and requires replacement parts of of both AI and OT code. But damn me if it does not allows a lot of creativity in design and redefines gameplay.
 
I heard there was one feature on really, really old clients of tibia. Ability to shoot downstairs. Brilliant. It allows to use every dimension in mapping locations and quests. Simulation of event such as town/castle defense, PvP in strategical locations. It breaks OT world feeling of flatness, but it has costs. I don't know if its worth to implement feature which increases CPU usage for pathfinding, and player finding for npc and summons(they would need something anyway), creates problems with solution to aiming uphill, basically should not work with original client and requires replacement parts of of both AI and OT code. But damn me if it does not allows a lot of creativity in design and redefines gameplay.
Nice idea, will add the option to spells.xml to give spells the ability to go up/down floors (maybe make it so you can decide how many floors too)
 
Nice idea, will add the option to spells.xml to give spells the ability to go up/down floors (maybe make it so you can decide how many floors too)
I'd love to see it on bows and crossbows but given real tibia client its rather impossible :C Well, I'll do workaround giving them indirect fire spell or something like this.
 
I'd love to see it on bows and crossbows but given real tibia client its rather impossible :C Well, I'll do workaround giving them indirect fire spell or something like this.

It is true that up/down floor combat would "break" a lot of things in tibia, but there is no reason why the feature shouldn't be POSSIBLE.
 
So is this a project of your own or something you will release to public?
Plus would you be willing to do some work for a custom OT? if so PM me
 
So is this a project of your own or something you will release to public?
Plus would you be willing to do some work for a custom OT? if so PM me

The new version of TFS I will be releasing to public next year.
The server I am developing along side it will not be released to the public (I don't like releasing my servers)

And sorry I don't really have time to help others on individual projects. I'm currently involved in:
  1. Mini Game OT Server (Created by me)
  2. iPhone Game Design (Working on an iPhone clan-based MMO created by me)
  3. Customizing TFS (Worked on by Me and Daniel)
  4. Customizing Remeres (Worked on by Me and Daniel)
  5. Custom OT Server (The project we started last month using this new TFS that has no name)
Between the above 5 things, that is about all the time I have for scripting work, any more and I think I'll start getting burned out.
If you ask any questions on the Request Board I am sure people would be happy to help you.
 
understand the time situation. Not problem, I am actually looking not for a personal project but I am planning a larger scale project more for business purposes. I do a lot of web marketing, web design etc, family are business professors so along with my web skills, marketing, their skills I am starting to look for a team of highly skilled persons as I intend to make this a long term server with a profit in the end. Good luck on your end and if things change, who knows perhaps some day in the future we can do something.
 
understand the time situation. Not problem, I am actually looking not for a personal project but I am planning a larger scale project more for business purposes. I do a lot of web marketing, web design etc, family are business professors so along with my web skills, marketing, their skills I am starting to look for a team of highly skilled persons as I intend to make this a long term server with a profit in the end. Good luck on your end and if things change, who knows perhaps some day in the future we can do something.
I never make servers for profit, it's just a Hobby and I actually enjoy playing my own servers :).

I wish you the best of luck though!
 
Something that me and many others would like for sure, is backward compatibility for older clients (7.7) on latest TFS (1.0) would be so damn awesome. Please let me know if you will do this sometime.
 
Something that me and many others would like for sure, is backward compatibility for older clients (7.7) on latest TFS (1.0) would be so damn awesome. Please let me know if you will do this sometime.

Sorry that isn't really my cup of tea.

I'm trying to move forward to greater functionality than tibia.
Going backwards to older client versions would be taking away functionality.

The end result of this project would be to have something that is so beyond tibia that they cannot be compared.
 
Sorry that isn't really my cup of tea.

I'm trying to move forward to greater functionality than tibia.
Going backwards to older client versions would be taking away functionality.

The end result of this project would be to have something that is so beyond tibia that they cannot be compared.
You don't have to remove any functionality except those things the client can't handle, everything you already got can stay, just make it support older protocols/packet structure and items so it's possible to use the 7.7 client with it's items :) I know you can do this with ease with just a few compile flags or any other way you would implement it :)

The gameplay features of 7.7 isint needed, just being able to login in-game is good enough for me.
 
Im kind of liking the looks of 1.0 and its possibilities so far. I am totally new to to it so I need to start digging into it some learning more of it.
So do you have like a time frame projection for when you may have most of this complete?
 
I am more leaning towards getting rid of the Tibia Client all together and designing TFS specifically for the OT Client or a Flash Client.

The Tibia Client is VERY limiting.
 
The Tibia Client is VERY limiting.
Lie. Tibia client limited by you knownlege. Let me show you a way for it:
note: code not full. Any offset- cuted, dont wanna publish my work.
Code:
extern "C" __declspec (dllexport) void __cdecl IATCLIENT()
{
        Fixes.ASMFixes();
        CustomProtocol.Load();
        Configs.LoadAll();
        NewElements.InitNewElementsData(); //New elements for UI
     
            Utilits.HookThis((DWORD)&AddEntityType,0x******);
            Utilits.HookThis((DWORD)&ProtocolCore, 0x******);
            Utilits.HookThis((DWORD)&gObjGameCustomDat_Func, 0x******);
           Utilits.HookThis((DWORD)&gObjGameGfx,0x******);
            Utilits.HookThis((DWORD)&ProtocolCoreSend,0x******); // Extended DataSend hook
            Utilits.HookThis((DWORD)&EquipmentSendHook, 0x******);
            Utilits.HookThis((DWORD)&NewMountWindowHook, 0x******);
            Utilits.HookThis((DWORD)&PlayerInfoWindowSendHook, 0x******);

        DWORD ThreadID;
        HANDLE hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)MainTick, NULL, 0, &ThreadID);

fixes:
Code:
// ================================================== //
// #      Tibia Client v7.6 Edited                  # //
// #            IAT Group                            # //
// ================================================== //
// #    all rights reserved by HappyDay            # //
// #    (c)2007 IAT group                          # //
// ================================================== //

#include "StdAfx.h"
#include "Fixes.h"
#include "Utilits.h"
#include "Configs.h"
#include "User.h"

cFixes Fixes;
cFixes::cFixes(){}
cFixes::~cFixes(){}

DWORD Dlg;
__declspec(naked) void NPCWindow()
{
    Dlg = 0;
    _asm
    {
        MOV EDI,GetNumber
        CALL EDI
        MOV DWORD PTR SS:[EBP-0xBC],EAX
        LEA ECX,DWORD PTR SS:[EBP-0x9C]
        MOV EDI,GetToken
        CALL EDI
        MOV DWORD PTR SS:[EBP-0xA0],EAX
        LEA ECX,DWORD PTR SS:[EBP-0x9C]
        MOV EDI,GetNumber
        CALL EDI
        MOV Dlg,EAX
        MOV EDI,NPCWindowMod_Exit1
        JMP EDI
    }
}

void cFixes::ASMFixes()
{
    Configs.LoadFixes();
    Utilits.SetNop(0x******,27);        // CipSoft Protocol Error FIX
    Utilits.SetByte(0x******,0xFF);    // CipSoft Invalid Value FIX
    Utilits.SetByte(0x******,0x0C);    //
    Utilits.SetByte(0x******,0xC9);    //
    Utilits.SetByte(0x******,0x8A);    //
    /*
    CipSoft mistake, minimap draw error. Rarely, but that cause client crush.
    old way to fix them - delete all stored map files. Now, we are fix incorrect map files.
    */
  BYTE FixMinimapDraw[]                      =        {0x**, 0x1A, 0x90, 0x90, 0x90, 0x90,
                                                        0x90, 0x**, 0x**, 0x90, 0x**, 0x90,
                                                        0x90, 0x90, 0x**, 0x**, 0x90, 0x90,
                                                        0x**, 0x90, 0x90, 0x90, 0x00, 0x00};
    memcpy((int*)0x****02D , FixMinimapDraw ,    sizeof(FixMinimapDraw));
}

Easy way to do something if you have a full sources (OTClient or Flash), but how about true improvement you skills? Reverse engineering =)

PS. Equvalent technology used in few Poke tibia clients based on CipSoft. And they have alot of custom functional.
 
Last edited:
Lie. Tibia client limited by you knownlege. Let me show you a way for it:
note: code not full. Any offset- cuted, dont wanna publish my work.
Code:
extern "C" __declspec (dllexport) void __cdecl IATCLIENT()
{
        Fixes.ASMFixes();
        CustomProtocol.Load();
        Configs.LoadAll();
        NewElements.InitNewElementsData(); //New elements for UI
    
            Utilits.HookThis((DWORD)&AddEntityType,0x******);
            Utilits.HookThis((DWORD)&ProtocolCore, 0x******);
            Utilits.HookThis((DWORD)&gObjGameCustomDat_Func, 0x******);
           Utilits.HookThis((DWORD)&gObjGameGfx,0x******);
            Utilits.HookThis((DWORD)&ProtocolCoreSend,0x******); // Extended DataSend hook
            Utilits.HookThis((DWORD)&EquipmentSendHook, 0x******);
            Utilits.HookThis((DWORD)&NewMountWindowHook, 0x******);
            Utilits.HookThis((DWORD)&PlayerInfoWindowSendHook, 0x******);

        DWORD ThreadID;
        HANDLE hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)MainTick, NULL, 0, &ThreadID);

fixes:
Code:
// ================================================== //
// #      Tibia Client v7.6 Edited                  # //
// #            IAT Group                            # //
// ================================================== //
// #    all rights reserved by HappyDay            # //
// #    (c)2007 IAT group                          # //
// ================================================== //

#include "StdAfx.h"
#include "Fixes.h"
#include "Utilits.h"
#include "Configs.h"
#include "User.h"

cFixes Fixes;
cFixes::cFixes(){}
cFixes::~cFixes(){}

DWORD Dlg;
__declspec(naked) void NPCWindow()
{
    Dlg = 0;
    _asm
    {
        MOV EDI,GetNumber
        CALL EDI
        MOV DWORD PTR SS:[EBP-0xBC],EAX
        LEA ECX,DWORD PTR SS:[EBP-0x9C]
        MOV EDI,GetToken
        CALL EDI
        MOV DWORD PTR SS:[EBP-0xA0],EAX
        LEA ECX,DWORD PTR SS:[EBP-0x9C]
        MOV EDI,GetNumber
        CALL EDI
        MOV Dlg,EAX
        MOV EDI,NPCWindowMod_Exit1
        JMP EDI
    }
}

void cFixes::ASMFixes()
{
    Configs.LoadFixes();
    Utilits.SetNop(0x******,27);        // CipSoft Protocol Error FIX
    Utilits.SetByte(0x******,0xFF);    // CipSoft Invalid Value FIX
    Utilits.SetByte(0x******,0x0C);    //
    Utilits.SetByte(0x******,0xC9);    //
    Utilits.SetByte(0x******,0x8A);    //
    /*
    CipSoft mistake, minimap draw error. Rarely, but that cause client crush.
    old way to fix them - delete all stored map files. Now, we are fix incorrect map files.
    */
  BYTE FixMinimapDraw[]                      =        {0x**, 0x1A, 0x90, 0x90, 0x90, 0x90,
                                                        0x90, 0x**, 0x**, 0x90, 0x**, 0x90,
                                                        0x90, 0x90, 0x**, 0x**, 0x90, 0x90,
                                                        0x**, 0x90, 0x90, 0x90, 0x00, 0x00};
    memcpy((int*)0x****02D , FixMinimapDraw ,    sizeof(FixMinimapDraw));
}

Easy way to do something if you have a full sources (OTClient or Flash), but how about true improvement you skills? Reverse engineering =)

PS. Equvalent technology used in few Poke tibia clients based on CipSoft. And they have alot of custom functional.

Of course you can do anything with a custom client.
I was saying using the NORMAL UNEDITED Tibia Client is very limiting.

If you are going to use a custom client, you should do completely away with tibia anyway, because whats the point?
 
Back
Top