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

[7.72] OTHire 0.0.1b - Based in OTServ Trunk (Latest)

It is also reversed in the TFS and that is not TFS vs OTServ difference, thats how the Client handles it after some update.

Yes, I forgot to add that the change you suggested in the previous post wasn't needed in OTServ.
 
It sucks doh that it's "impossible" to host a oldschool server at home or a cheap server these days doh. Always DDos. *sigh*
 
so time to start downgrading tfs 1.0 as a side project and then we can compare both and see which one is better :p

just kidding :p

Lol, I said I won't be downgrading TFS 1.0 unless I'm convinced it has more possibilities than OTServ.
 
Lol, I said I won't be downgrading TFS 1.0 unless I'm convinced it has more possibilities than OTServ.
since you stopped the commits, can you please provide an executable from latest source? :p I think it kinda hard to compile old servers xD
 
Well, since @Ezzz stopped with the commits, I'll post here some changes and fixes for you guys !!!

I have found some little bugs, but them make you debug:
Change in global.lua
Code:
TALKTYPE_ORANGE_1 = 18
TALKTYPE_ORANGE_2 = 19
To
Code:
TALKTYPE_ORANGE_1 = 16
TALKTYPE_ORANGE_2 = 17
For those who have the message in console about the FluidTypes, paste this in your items.xml
Code:
<item id="20001" name="water" fluidClient="1"/>
<item id="20002" name="blood" fluidClient="2"/>
<item id="20003" name="beer" fluidClient="3"/>
<item id="20004" name="slime" fluidClient="4"/>
<item id="20005" name="lemonade" fluidClient="5"/>
<item id="20006" name="milk" fluidClient="6"/>
<item id="20007" name="manafluid" fluidClient="7"/>
<item id="20010" name="lifefluid" fluidClient="10"/>
<item id="20011" name="oil" fluidClient="11"/>
<item id="20013" name="urine" fluidClient="13"/>
<item id="20014" name="coconut milk" fluidClient="14"/>
<item id="20015" name="wine" fluidClient="12"/>
<item id="20019" name="mud" fluidClient="19"/>
<item id="20021" name="fruit juice" fluidClient="21"/>
<item id="20027" name="rum" fluidClient="27"/>
<item id="20035" name="tea" fluidClient="16"/>
<item id="20036" name="mead" fluidClient="17"/>
<item id="20027" name="rum" fluidClient="15"/>

Some monsters disappear, and I get client debug (https://github.com/TwistedScorpio/OTHire/issues/11) --> Reported by RedreamOT

In protocolgame.cpp, search the function void ProtocolGame::checkCreatureAsKnown

Change those lines:

Code:
if(knownCreatureList.size() > 250){
Code:
for (int n = 0; n < 250; ++n){

To This:

Code:
if(knownCreatureList.size() > 150){
Code:
for (int n = 0; n < 150; ++n){

Also the function doShowTextDialog isn't working too, here's the fix

In protocolgame.cpp, search the function void ProtocolGame::sendTextWindow(uint32_t windowTextId, uint32_t itemId, const std::string& text)

Remove just one line, there will be two lines of this

Code:
msg->AddString("");

And for last, some Creature Events isn't working too (onDie, onKill, onAdvance)

In creatureevent.cpp, search for the function void CreatureEvent::executeOnDie(Creature* creature, Item* corpse)

Change that line:
Code:
m_scriptInterface->callFunction(2, false);

To this:
Code:
m_scriptInterface->callFunction(2);

Now search for the function void CreatureEvent::executeOnKill(Creature* creature, Creature* target, bool lastHit)

Change that line:
Code:
m_scriptInterface->callFunction(3, false);
To this:
Code:
m_scriptInterface->callFunction(3);

And now search for the function void CreatureEvent::executeOnAdvance(Player* player, levelTypes_t type, uint32_t oldLevel, uint32_t newLevel)

Change that line:
Code:
m_scriptInterface->callFunction(4, false);
To this:
Code:
m_scriptInterface->callFunction(4);

Hope you enjoy guys ;)
 
Well, since @Ezzz stopped with the commits, I'll post here some changes and fixes for you guys !!!

I have found some little bugs, but them make you debug:
Change in global.lua
Code:
TALKTYPE_ORANGE_1 = 18
TALKTYPE_ORANGE_2 = 19
To
Code:
TALKTYPE_ORANGE_1 = 16
TALKTYPE_ORANGE_2 = 17
For those who have the message in console about the FluidTypes, paste this in your items.xml
Code:
<item id="20001" name="water" fluidClient="1"/>
<item id="20002" name="blood" fluidClient="2"/>
<item id="20003" name="beer" fluidClient="3"/>
<item id="20004" name="slime" fluidClient="4"/>
<item id="20005" name="lemonade" fluidClient="5"/>
<item id="20006" name="milk" fluidClient="6"/>
<item id="20007" name="manafluid" fluidClient="7"/>
<item id="20010" name="lifefluid" fluidClient="10"/>
<item id="20011" name="oil" fluidClient="11"/>
<item id="20013" name="urine" fluidClient="13"/>
<item id="20014" name="coconut milk" fluidClient="14"/>
<item id="20015" name="wine" fluidClient="12"/>
<item id="20019" name="mud" fluidClient="19"/>
<item id="20021" name="fruit juice" fluidClient="21"/>
<item id="20027" name="rum" fluidClient="27"/>
<item id="20035" name="tea" fluidClient="16"/>
<item id="20036" name="mead" fluidClient="17"/>
<item id="20027" name="rum" fluidClient="15"/>

Some monsters disappear, and I get client debug (https://github.com/TwistedScorpio/OTHire/issues/11) --> Reported by RedreamOT

In protocolgame.cpp, search the function void ProtocolGame::checkCreatureAsKnown

Change those lines:

Code:
if(knownCreatureList.size() > 250){
Code:
for (int n = 0; n < 250; ++n){

To This:

Code:
if(knownCreatureList.size() > 150){
Code:
for (int n = 0; n < 150; ++n){

Also the function doShowTextDialog isn't working too, here's the fix

In protocolgame.cpp, search the function void ProtocolGame::sendTextWindow(uint32_t windowTextId, uint32_t itemId, const std::string& text)

Remove just one line, there will be two lines of this

Code:
msg->AddString("");

And for last, some Creature Events isn't working too (onDie, onKill, onAdvance)

In creatureevent.cpp, search for the function void CreatureEvent::executeOnDie(Creature* creature, Item* corpse)

Change that line:
Code:
m_scriptInterface->callFunction(2, false);

To this:
Code:
m_scriptInterface->callFunction(2);

Now search for the function void CreatureEvent::executeOnKill(Creature* creature, Creature* target, bool lastHit)

Change that line:
Code:
m_scriptInterface->callFunction(3, false);
To this:
Code:
m_scriptInterface->callFunction(3);

And now search for the function void CreatureEvent::executeOnAdvance(Player* player, levelTypes_t type, uint32_t oldLevel, uint32_t newLevel)

Change that line:
Code:
m_scriptInterface->callFunction(4, false);
To this:
Code:
m_scriptInterface->callFunction(4);

Hope you enjoy guys ;)

Fluid changes were already included in items.xml distribution, people getting errors about it might have yet not updated.

I haven't committed anything because I've been working on something else, forgive me =P Other than that I don't remember the server needing any further changes in hand, the max creatures debug was an important one I will have to commit later on thanks to the guy report, and the doShowTextDialog, other than that it's good, been running a real map in it for quite some days.
 
I've tested that engine with my real map project, that's the reason I've found some little errors and bugs in engine.
Some creature events wasn't working too, but the fixed was posted here too ;)
I like to test everything, and seems it's working very well now, also I've maded some changes to make it better, added the Shared Experience Party System (lua functions), working perfectly, maybe I'll Guild War too, but I think that's not a good option (kill oldschool guild feeling) and protection against OTClient users
 
Well, since @Ezzz stopped with the commits, I'll post here some changes and fixes for you guys !!!

I have found some little bugs, but them make you debug:
Change in global.lua
Code:
TALKTYPE_ORANGE_1 = 18
TALKTYPE_ORANGE_2 = 19
To
Code:
TALKTYPE_ORANGE_1 = 16
TALKTYPE_ORANGE_2 = 17
For those who have the message in console about the FluidTypes, paste this in your items.xml
Code:
<item id="20001" name="water" fluidClient="1"/>
<item id="20002" name="blood" fluidClient="2"/>
<item id="20003" name="beer" fluidClient="3"/>
<item id="20004" name="slime" fluidClient="4"/>
<item id="20005" name="lemonade" fluidClient="5"/>
<item id="20006" name="milk" fluidClient="6"/>
<item id="20007" name="manafluid" fluidClient="7"/>
<item id="20010" name="lifefluid" fluidClient="10"/>
<item id="20011" name="oil" fluidClient="11"/>
<item id="20013" name="urine" fluidClient="13"/>
<item id="20014" name="coconut milk" fluidClient="14"/>
<item id="20015" name="wine" fluidClient="12"/>
<item id="20019" name="mud" fluidClient="19"/>
<item id="20021" name="fruit juice" fluidClient="21"/>
<item id="20027" name="rum" fluidClient="27"/>
<item id="20035" name="tea" fluidClient="16"/>
<item id="20036" name="mead" fluidClient="17"/>
<item id="20027" name="rum" fluidClient="15"/>

Some monsters disappear, and I get client debug (https://github.com/TwistedScorpio/OTHire/issues/11) --> Reported by RedreamOT

In protocolgame.cpp, search the function void ProtocolGame::checkCreatureAsKnown

Change those lines:

Code:
if(knownCreatureList.size() > 250){
Code:
for (int n = 0; n < 250; ++n){

To This:

Code:
if(knownCreatureList.size() > 150){
Code:
for (int n = 0; n < 150; ++n){

Also the function doShowTextDialog isn't working too, here's the fix

In protocolgame.cpp, search the function void ProtocolGame::sendTextWindow(uint32_t windowTextId, uint32_t itemId, const std::string& text)

Remove just one line, there will be two lines of this

Code:
msg->AddString("");

And for last, some Creature Events isn't working too (onDie, onKill, onAdvance)

In creatureevent.cpp, search for the function void CreatureEvent::executeOnDie(Creature* creature, Item* corpse)

Change that line:
Code:
m_scriptInterface->callFunction(2, false);

To this:
Code:
m_scriptInterface->callFunction(2);

Now search for the function void CreatureEvent::executeOnKill(Creature* creature, Creature* target, bool lastHit)

Change that line:
Code:
m_scriptInterface->callFunction(3, false);
To this:
Code:
m_scriptInterface->callFunction(3);

And now search for the function void CreatureEvent::executeOnAdvance(Player* player, levelTypes_t type, uint32_t oldLevel, uint32_t newLevel)

Change that line:
Code:
m_scriptInterface->callFunction(4, false);
To this:
Code:
m_scriptInterface->callFunction(4);

Hope you enjoy guys ;)

Optimize getArticle by using:

getItemDescriptions(id).article
 
@Ezzz
I need to ask again, don't you want to downgrade mine source files 8.60 to 8.0?
I think there is less work than to 7.72.
 
Back
Top