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

Stop using tfs 0.x

The one thing what is holdin TFS 1.x back is .XML files.
If they can remove these, then i think its new best thing.
 
There really isn't ALOT missing anymore. The things missing are being worked on like you said, and the time isn't going to be 2 years from now, the time is now. Look at otland. It is being shown on all the boards, the movement is happening right now!

Why does it matter what version of TFS other people use?

Can you at least tell me why anyone cares? Do you just get annoyed when helping people on the request board when they are using 0.X instead of 1.X?

That is the only possible reason I can think of that could possibly cause you to want OTHER PEOPLE to use TFS 1.X.
 
That is the only possible reason I can think of that could possibly cause you to want OTHER PEOPLE to use TFS 1.X.
> do [TFS 1.1] in title while posting a script
> someone post "doesn't work on 0.4" or "8.6" anyway
 
Why is it 0.Noob?

If you were playing on one of my servers, using the OTClient. You wouldn't be able to tell the difference between me using 0."NOOB" or 1.X.
For what I do, which is making custom servers. TFS 1.X offers nothing.

You really want people to start using 1.X? Well then offer something fucking new and exciting. If 1.X is so god damn amazing, then why does every single server running 1.X play exactly like every server that is running on TFS 0.X?

I'll tell you why, because they have the same exact functionality. The only thing TFS 1.X offers is greater optimization. Which hey, that is a great thing, and in a couple of years TFS 1.X might become the next best thing. But right now, it's missing ALOT, and people are working on it, there are commits happening all the time.

No no no no, this topic is about development; not playability. I could make a server completely unrelated to any TFS and there still wouldn't be a difference.
Ah, now you're back to the development. I'm still appalled by your stance on "1.X offers nothing for custom servers", I've been making them perfectly fine. Even the most customized server ever in history, can be done in 1.X. You still have yet to tell me what can't be done. This is your most ridiculous statement of the entire thread. I cannot make any more straight-forward response to this.

Yes, I (read that, I said 'I', not 'everyone', I do not speak for everyone) personally want people to start using 1.X, ESPECIALLY the newcomers. It's important for them to realize that 1.X is the official version that is consistently being updated. As for new ideas in 1.X, they come all the time, I've released a couple stuff, I personally have a couple of stuff on my computer that I just haven't shown, @Printer has been doing some stuff as well, I'm sure many other people have done some cool stuff. What exactly do you want to see? We also have @zbizu who is releasing large amounts of scripts to work in 1.X that are favorites for 0.Noob.
 
Why does it matter what version of TFS other people use?

Can you at least tell me why anyone cares? Do you just get annoyed when helping people on the request board when they are using 0.X instead of 1.X?

That is the only possible reason I can think of that could possibly cause you to want OTHER PEOPLE to use TFS 1.X.

I actually care less about what others use, and no I don't get annorder from people asking for support for it, what bothers me is when people just ask for handouts and don't want to learn, but be lazy and have someone else do the work for them. This is the threads topic, why would I comment on here then? Idk, why did any of us comment on this thread, we got sucked into it, a chance to state our opinions I suppose. It doesn't matter to me what others use.
 
currently we have .xml for everything (spells, monsters, creaturescripts, npc, etc)
Its nice and all, but they kinda limited, i always have add extra things to actual script.

I would like 1 file, where you register script and doesn't matter what function it uses. Just register it.. or unregister it with .
Example:
Name: Script:
"MonsterName" -script-
"SpellName" -script-
"fancyfunction" -script-

U see what i mean?
Right now XML's are limited config files, you can only use what its given to them by source.
But then we could do the Configs inside the script and Somewhere globalSpells/globalMonsters, it executes all the functions given from config.

Right now i have like doubleStandard or in some cases i use talkaction for spells.
 
currently we have .xml for everything (spells, monsters, creaturescripts, npc, etc)
Its nice and all, but they kinda limited, i always have add extra things to actual script.

I would like 1 file, where you register script and doesn't matter what function it uses. Just register it.. or unregister it with .
Example:
Name: Script:
"MonsterName" -script-
"SpellName" -script-
"fancyfunction" -script-

U see what i mean?
Right now XML's are limited config files, you can only use what its given to them by source.
But then we could do the Configs inside the script and Somewhere globalSpells/globalMonsters, it executes all the functions given from config.

Right now i have like doubleStandard or in some cases i use talkaction for spells.

Oh!! I can explain this.

When TFS was originally built, someone had the idea to build it so people that have NO PROGRAMMING EXPERIENCE AT ALL could make servers.
So they said to themselves, "Why don't we add some basic spell functionality into spells.xml, so you don't have to script everything into the spell."

What I think you are basically saying is, "Why don't we remove all that functionality and just do that ourselves in the spells .lua file?
Guess what, you can do both, I don't see any reason to remove functionality, and make it even harder for new people to start making servers. What we should be doing is adding in MORE options into the spells.xml, so people can make even better servers with no programming knowledge.
 
Oh!! I can explain this.

When TFS was originally built, someone had the idea to build it so people that have NO PROGRAMMING EXPERIENCE AT ALL could make servers.
So they said to themselves, "Why don't we add some basic spell functionality into spells.xml, so you don't have to script everything into the spell."

What I think you are basically saying is, "Why don't we remove all that functionality and just do that ourselves in the spells .lua file?
Guess what, you can do both, I don't see any reason to remove functionality, and make it even harder for new people to start making servers. What we should be doing is adding in MORE options into the spells.xml, so people can make even better servers with no programming knowledge.
Umm we still have open source here so ppl with no knowledge could copy+paste a new spell attribute to their globalSpells.lua
as attributes i mean: requirements to cast a spell (mana, level, cooldown, item, storagevalue, hp, condition, etc)

This is just minor workover to make the code passing more easier to track and more easier for newcomers to use them.

Best for users would be if we had tool. Where we can right click on object in remere and make it do things and code appears magically :D
 
Oh!! I can explain this.

When TFS was originally built, someone had the idea to build it so people that have NO PROGRAMMING EXPERIENCE AT ALL could make servers.
So they said to themselves, "Why don't we add some basic spell functionality into spells.xml, so you don't have to script everything into the spell."

What I think you are basically saying is, "Why don't we remove all that functionality and just do that ourselves in the spells .lua file?
Guess what, you can do both, I don't see any reason to remove functionality, and make it even harder for new people to start making servers. What we should be doing is adding in MORE options into the spells.xml, so people can make even better servers with no programming knowledge.
You can basicly do both get rid of xml and enhance functionality by a lot with getting rid of it and instead have the config inside the lua file already.
quick example: an onUse function
Code:
register("action","pick") -- action = function type, pick = the table variable and the function it uses for the config.
action.pick =
{
   itemid = 2553, -- or {from = 2553, to 2556} or {2553,7219,8822}
   -- actionid = 10000 this would be optional
   -- uniqueid = 10000 this would be optional
   enabled = true -- so we can disable or enable this action directly while the server is running without restarting the server or reloading actions w/e
}

function pick(cid, item, fromPosition, itemEx, toPosition)
   if (itemEx.uid <= 65535 or itemEx.actionid > 0) and (itemEx.itemid == 354 or itemEx.itemid == 355) then
     local iEx = Item(itemEx.uid)
     iEx:transform(392)
     iEx:decay()
     toPosition:sendMagicEffect(CONST_ME_POFF)
     return true
   end

   return false
end
This is how I handle my lua files at my own distro, I don't make use of xml anymore, I just parse all files in the certain folders and I don't need to register them somewhere extra in a xml file or w/e, making it a lot more convenient for me.
The strong fact is, I can access the config from every other lua file in my server and I can even change the config on the fly while running the server with just a few ingame commands without the need to reload actions or w/e.
 
You can basicly do both get rid of xml and enhance functionality by a lot with getting rid of it and instead have the config inside the lua file already.
quick example: an onUse function
Code:
register("action","pick") -- action = function type, pick = the table variable and the function it uses for the config.
action.pick =
{
   itemid = 2553, -- or {from = 2553, to 2556} or {2553,7219,8822}
   -- actionid = 10000 this would be optional
   -- uniqueid = 10000 this would be optional
   enabled = true -- so we can disable or enable this action directly while the server is running without restarting the server or reloading actions w/e
}

function pick(cid, item, fromPosition, itemEx, toPosition)
   if (itemEx.uid <= 65535 or itemEx.actionid > 0) and (itemEx.itemid == 354 or itemEx.itemid == 355) then
     local iEx = Item(itemEx.uid)
     iEx:transform(392)
     iEx:decay()
     toPosition:sendMagicEffect(CONST_ME_POFF)
     return true
   end

   return false
end
This is how I handle my lua files at my own distro, I don't make use of xml anymore, I just parse all files in the certain folders and I don't need to register them somewhere extra in a xml file or w/e, making it a lot more convenient for me.
The strong fact is, I can access the config from every other lua file in my server and I can even change the config on the fly while running the server with just a few ingame commands without the need to reload actions or w/e.
this.
 
currently we have .xml for everything (spells, monsters, creaturescripts, npc, etc)
Its nice and all, but they kinda limited, i always have add extra things to actual script.

I would like 1 file, where you register script and doesn't matter what function it uses. Just register it.. or unregister it with .
Example:
Name: Script:
"MonsterName" -script-
"SpellName" -script-
"fancyfunction" -script-

U see what i mean?
Right now XML's are limited config files, you can only use what its given to them by source.
But then we could do the Configs inside the script and Somewhere globalSpells/globalMonsters, it executes all the functions given from config.

Right now i have like doubleStandard or in some cases i use talkaction for spells.


https://github.com/otland/forgottenserver/issues/1057
 
@Evil Hero @whitevo

It is like no one here remembers when they first started working on OTServers.
You'd open up an XML file called "Spells" and see a list of spells.

You'd see all the config values, for manacost, exhaust, words, name, soulcost, blocksolid, etc.

And that was your first experiement, You could make things have smaller cooldowns, more manacost, etc, and see all the available spells easily displayed to you on one screen, and manage it easily. Sure it doesn't provide the best functionality, you can't make spells cost health, or change the damage, or anything like that, but that was the first step.

Then you would find Vocations.xml and start making custom vocations and messing around with all of those .xml values, giving people faster soul, health and mana, giving players fast starting baseSpeed, making 2nd promotions. Those were a big thing for a while.

Then you'd think "Hmm, I would like to make a new spell, instead of editing existing ones". So you'd open up like Energy Strike.lua, and it mine as well have been written in Ancient Hebrew.
You have no idea how to change the damage, you see the formula thing:
Code:
(-2.5, -50, -3.5, -100)
It mine as well have been:
Code:
(á, Θ, ƒ, φ)

So you'd go to the forums and try to get someone to explain how to change damage... or how the formula works...

AND BASICALLY NO ONE KNEW, they knew kind of a little that bigger negatives is higher damage, and positives is healing, thats it.

Then you'd ask how to change the spell animation, and they'd say the animations are in the constant.lua. So you'd go there and make a rock throwing spell or something newbish. And that's it.

Come on people, act like you've been there before. Do we really want to make it so no one new can ever start making servers again by just adding complexity until its a language only we know?
 
@Evil Hero @whitevo

It is like no one here remembers when they first started working on OTServers.
You'd open up an XML file called "Spells" and see a list of spells.

You'd see all the config values, for manacost, exhaust, words, name, soulcost, blocksolid, etc.

And that was your first experiement, You could make things have smaller cooldowns, more manacost, etc, and see all the available spells easily displayed to you on one screen, and manage it easily. Sure it doesn't provide the best functionality, you can't make spells cost health, or change the damage, or anything like that, but that was the first step.

Then you would find Vocations.xml and start making custom vocations and messing around with all of those .xml values, giving people faster soul, health and mana, giving players fast starting baseSpeed, making 2nd promotions. Those were a big thing for a while.

Then you'd think "Hmm, I would like to make a new spell, instead of editing existing ones". So you'd open up like Energy Strike.lua, and it mine as well have been written in Ancient Hebrew.
You have no idea how to change the damage, you see the formula thing:
Code:
(-2.5, -50, -3.5, -100)
It mine as well have been:
Code:
(á, Θ, ƒ, φ)

So you'd go to the forums and try to get someone to explain how to change damage... or how the formula works...

AND BASICALLY NO ONE KNEW, they knew kind of a little that bigger negatives is higher damage, and positives is healing, thats it.

Then you'd ask how to change the spell animation, and they'd say the animations are in the constant.lua. So you'd go there and make a rock throwing spell or something newbish. And that's it.

Come on people, act like you've been there before. Do we really want to make it so no one new can ever start making servers again by just adding complexity until its a language only we know?

I agree! Those were the days :D

XML was definitely one of the door openers for me, and I imagine many others. This does make it easier for those who don't yet know lua to make some changes, experiment and have fun. I have to agree with flatlander, for the sake of everyone left out there who wants to learn, xml is a good thing to keep in the servers. However, I am not against the tfs developers creating other options for more advanced users either...

@whitevo

https://github.com/otland/forgottenserver/issues/1057

The top post is long, but basically is saying that the whole xml/lua relations and system needs revamped, and has his suggestions to do so, but if you go to the link and scroll down till you see what mark put, you can see what he and others were coming up with for ideas on how to make the whole system more modular and even talking about making events being able to hook into each other which I know we would all love :D
 
@Evil Hero @whitevo

It is like no one here remembers when they first started working on OTServers.
You'd open up an XML file called "Spells" and see a list of spells.

You'd see all the config values, for manacost, exhaust, words, name, soulcost, blocksolid, etc.

And that was your first experiement, You could make things have smaller cooldowns, more manacost, etc, and see all the available spells easily displayed to you on one screen, and manage it easily. Sure it doesn't provide the best functionality, you can't make spells cost health, or change the damage, or anything like that, but that was the first step.

Then you would find Vocations.xml and start making custom vocations and messing around with all of those .xml values, giving people faster soul, health and mana, giving players fast starting baseSpeed, making 2nd promotions. Those were a big thing for a while.

Then you'd think "Hmm, I would like to make a new spell, instead of editing existing ones". So you'd open up like Energy Strike.lua, and it mine as well have been written in Ancient Hebrew.
You have no idea how to change the damage, you see the formula thing:
Code:
(-2.5, -50, -3.5, -100)
It mine as well have been:
Code:
(á, Θ, ƒ, φ)

So you'd go to the forums and try to get someone to explain how to change damage... or how the formula works...

AND BASICALLY NO ONE KNEW, they knew kind of a little that bigger negatives is higher damage, and positives is healing, thats it.

Then you'd ask how to change the spell animation, and they'd say the animations are in the constant.lua. So you'd go there and make a rock throwing spell or something newbish. And that's it.

Come on people, act like you've been there before. Do we really want to make it so no one new can ever start making servers again by just adding complexity until its a language only we know?
Wut?
My first experince with spells: Was kinda the same, but for long time i still didnt understand how the heck does exhaust do and groupExhaust. What was the ID for? deleted it. Months later i found out i can add few more things never had in the example pool of spells.
Some spells didn't have scripts attached to them and was directly directed to source code function. Confuse me more! how i change this spell? (you could not do that without source code edit)

Now picture yourself in the new era. You open up spells folder there is: globalSpells.lua and 1 folder named "spells"
You open up globalSpells.lua and see like 10 functions what are written with loops and written like japanese "function manaCost(片仮名, カタカナ)"
But you clearly see manaCost is written there, so you assume it has something to do with mana.
Then there are Commented text --"this function will reduce the mana when you cast a spell, and if you don't have enough mana, you can't cast a spell"
You close this globalSpells.lua and open up first example spell: Energy strike
It has a table on top what is SO EASY TO CONFIG:
EnergyStrike ={
mana = 10
cooldown = 2
level = 1
Formula = "EnergyStrike" --you can find the damage formula in globalSpells.lua
Flying effect = 1 --you can see the number codes online and what pictures they make
onHit effect = 2
onCast effect = 3
}

function onCastSpell(something, something)

Now Question from me to you is.
If you see this table, How long it takes you to figure out how to change mana cost and spell effect on hit?
When you want to change spell Damge, what is the first thing you are going to do?
 
Wut?
My first experince with spells: Was kinda the same, but for long time i still didnt understand how the heck does exhaust do and groupExhaust. What was the ID for? deleted it. Months later i found out i can add few more things never had in the example pool of spells.
Some spells didn't have scripts attached to them and was directly directed to source code function. Confuse me more! how i change this spell? (you could not do that without source code edit)

Now picture yourself in the new era. You open up spells folder there is: globalSpells.lua and 1 folder named "spells"
You open up globalSpells.lua and see like 10 functions what are written with loops and written like japanese "function manaCost(片仮名, カタカナ)"
But you clearly see manaCost is written there, so you assume it has something to do with mana.
Then there are Commented text --"this function will reduce the mana when you cast a spell, and if you don't have enough mana, you can't cast a spell"
You close this globalSpells.lua and open up first example spell: Energy strike
It has a table on top what is SO EASY TO CONFIG:
EnergyStrike ={
mana = 10
cooldown = 2
level = 1
Formula = "EnergyStrike" --you can find the damage formula in globalSpells.lua
Flying effect = 1 --you can see the number codes online and what pictures they make
onHit effect = 2
onCast effect = 3
}

function onCastSpell(something, something)

Now Question from me to you is.
If you see this table, How long it takes you to figure out how to change mana cost and spell effect on hit?
When you want to change spell Damge, what is the first thing you are going to do?

Honestly, I would always keep all config for all spells in one file no matter what, whether its creating a table in LUA or using XML.

There is no substitute for being able to see all the spells of your server on one screen, compare their exhausts, manacosts, etc to each other.
If it was up to me, I would be taking damage and putting it into the spells.xml too. (or into an lua table)

Sure, if you opened one spell and saw the config, you'd probably guess that all other spells had configs too, but just the amount of time it would take to make changes to all spells would be horrendous. And you couldn't easily see if you missed a spell, etc.
 
No no no no, this topic is about development; not playability. I could make a server completely unrelated to any TFS and there still wouldn't be a difference.
Ah, now you're back to the development. I'm still appalled by your stance on "1.X offers nothing for custom servers", I've been making them perfectly fine. Even the most customized server ever in history, can be done in 1.X. You still have yet to tell me what can't be done. This is your most ridiculous statement of the entire thread. I cannot make any more straight-forward response to this.

Yes, I (read that, I said 'I', not 'everyone', I do not speak for everyone) personally want people to start using 1.X, ESPECIALLY the newcomers. It's important for them to realize that 1.X is the official version that is consistently being updated. As for new ideas in 1.X, they come all the time, I've released a couple stuff, I personally have a couple of stuff on my computer that I just haven't shown, @Printer has been doing some stuff as well, I'm sure many other people have done some cool stuff. What exactly do you want to see? We also have @zbizu who is releasing large amounts of scripts to work in 1.X that are favorites for 0.Noob.

Hello Evan.
As you are a staff Member I assume you check the support board from time to time.
Have a look into the threads(as most of the people dont add the tfs into the title for some reason) and see how many people want highly customized features for obivously seeming customized tibia servers.
Your argument telling flatlander that what he says is shit is basically proving how little you thought about your answer.
 
Honestly, I would always keep all config for all spells in one file no matter what, whether its creating a table in LUA or using XML.

There is no substitute for being able to see all the spells of your server on one screen, compare their exhausts, manacosts, etc to each other.
If it was up to me, I would be taking damage and putting it into the spells.xml too. (or into an lua table)

Sure, if you opened one spell and saw the config, you'd probably guess that all other spells had configs too, but just the amount of time it would take to make changes to all spells would be horrendous. And you couldn't easily see if you missed a spell, etc.
well then it simply comes down to individual preference. These tables can be easily converted into 1 file too what will look alike .xml file, but more flexible.
I just like the way where everything has its own place.
 
No no no no, this topic is about development; not playability. I could make a server completely unrelated to any TFS and there still wouldn't be a difference.
Ah, now you're back to the development. I'm still appalled by your stance on "1.X offers nothing for custom servers", I've been making them perfectly fine. Even the most customized server ever in history, can be done in 1.X. You still have yet to tell me what can't be done. This is your most ridiculous statement of the entire thread. I cannot make any more straight-forward response to this.

Yes, I (read that, I said 'I', not 'everyone', I do not speak for everyone) personally want people to start using 1.X, ESPECIALLY the newcomers. It's important for them to realize that 1.X is the official version that is consistently being updated. As for new ideas in 1.X, they come all the time, I've released a couple stuff, I personally have a couple of stuff on my computer that I just haven't shown, @Printer has been doing some stuff as well, I'm sure many other people have done some cool stuff. What exactly do you want to see? We also have @zbizu who is releasing large amounts of scripts to work in 1.X that are favorites for 0.Noob.

I was reading back, and I must have skipped this post by mistake. Since this is my first time reading it I feel I should reply.

My point about TFS 1.X offering nothing for custom servers, is that (at least to me), it is more difficult to make custom stuff on TFS 1.X than on TFS 0.X.
If you read my first post on this thread, you can see a step-by-step explanation of how I came to this conclusion. And also, it doesn't give me much that I cannot do on 0.X already, so I don't see why I should switch.

Things that I personally would have to make myself to make TFS 1.X usable to me: (Just off the top of my head)
  1. Account Manager: (Why was this taken out? Was it ever put back in? If not, what the fuck?)
  2. Item Attributes: (Yes everyone knows this is missing, but guess what, it's one of my most used features)
  3. Storage Values: Change Keys and Values to strings. (I'm pretty sure both of these are integers only in TFS 1.X, which is absolutely annoying)
  4. noMove function: (There are probably other ways to do this in TFS 1.X by now, but it's widely used in custom servers, and in my own.)
  5. And above are just the things I know about from attempting to use it for a week or two... I'm sure working with the server I would continue to find new things all the time I'd have to add myself.
Also I don't like how things were redone. Why is there now Events and CreatureEvents. And why was onStatsChange split up to onHealthChange, onManaChange. And do they even have the same variables?

void executeHealthChange(Creature* creature, Creature* attacker, CombatDamage& damage);
void executeManaChange(Creature* creature, Creature* attacker, int32_t& manaChange, CombatOrigin origin);

So maybe CombatDamage& includes the damage type, the damage value, whether its aggressive or not, etc.
And what is CombatOrigin? Does that include the DAMAGETYPE? What if I want different kinds of manadamage? I have that in TFS 0.X already.

Then after all that, I'm going to have to add all my work on my custom TFS to TFS 1.X. Which you can see in my signature. But that is a personal problem that I don't even worry about, because if TFS 1.X was clearly better, easier, faster, and had more functionality I would switch in a second.

But for now, I see 2 choices, A server I have been using for years that I know exactly how it works and can do anything I want. Or a server that is brand new, and is missing a lot of functionality I enjoy using every day on my current server.
 
Back
Top