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

Alpha-Test Part 2 - Multiverse - Released **New Client**

Do you think you will play the below MMORPG?

  • I will play the Alpha.

    Votes: 45 59.2%
  • I prefer to wait for the Beta.

    Votes: 9 11.8%
  • I will wait till the game is fully released.

    Votes: 10 13.2%
  • I probably will not play this game.

    Votes: 12 15.8%

  • Total voters
    76
LUA, is not LUA.
What you can do in LUA is directly linked to the LUA Functions made available to you in the source.

For Example, my custom server has LUA Functions not available to you. I can do things in LUA, that you cannot.
For example, I can set a creature to ignore Idle Walk so they will not walk around randomly with the function
Code:
doSetIgnoreIdleWalk(cid, true)

But more specifically to the issue you are talking about.
A player using TFS 1.2 was making a monster Change Target Spell.
If he used TFS 0.X I would have given him this spell:
Code:
function onCastSpell(cid, variant)
  local target = getCreatureTarget(cid)
  if isMonster(target) then
   doMonsterChangeTarget(target)
  end
  return true
end

BUT, TFS 1.2 does not have doMonsterChangeTarget as a function.
Here is the function in 0.4.
Code:
int32_t LuaInterface::luaDoMonsterChangeTarget(lua_State* L)
{
   //doMonsterChangeTarget(cid)
   ScriptEnviroment* env = getEnv();
   Creature* creature = env->getCreatureByUID(popNumber(L));
   if(!creature)
   {
       errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND));
       lua_pushboolean(L, false);
       return 1;
   }

   Monster* monster = creature->getMonster();
   if(!monster)
   {
       errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND));
       lua_pushboolean(L, false);
       return 1;
   }

   if(!monster->isSummon())
       monster->searchTarget(TARGETSEARCH_RANDOM);

   lua_pushboolean(L, true);
   return 1;
}

Instead, they linked the searchTarget function directly in TFS 1.2.
Code:
int LuaScriptInterface::luaMonsterSearchTarget(lua_State* L)
{
// monster:searchTarget([searchType = TARGETSEARCH_DEFAULT])
Monster* monster = getUserdata<Monster>(L, 1);
if (monster) {
TargetSearchType_t searchType = getNumber<TargetSearchType_t>(L, 2, TARGETSEARCH_DEFAULT);
pushBoolean(L, monster->searchTarget(searchType));
} else {
lua_pushnil(L);
}
return 1;
}

But as you can see, it has a different format.
Instead of using doMonsterSearchTarget(cid) They have monster:searchTarget(TARGETSEARCH_DEFAULT)
So since I do not use this format in LUA and am not familiar with it, I attempted to assist this person by giving him this script:
Code:
function onCastSpell(cid, variant)
  local target = getCreatureTarget(cid)
  if isMonster(target) then
   target:searchTarget()
  end
  return true
end
Which I probably should have done:
Code:
function onCastSpell(cid, variant)
  local target = getCreatureTarget(cid)
  if isMonster(target) then
   target:searchTarget(0) --I think this requires a number to determine the type of searching to run in the searchTarget scirpt.
  end
  return true
end

Either way, the LUA is different for either one, I cannot use the same functions or even the same format unless there is a Compat function that converts the old functions to the new ones.

For example, you could make a function in TFS 1.2 that is called doMonsterChangeTarget(cid) in LUA:
Code:
function doMonsterChangeTarget(cid)
  if isMonster(cid) then
    return cid:searchTarget(0)
  end
  return false
end

But still, LUA is not just LUA, LUA is all about manipulating functions that you have set up in the source. And there are still differences between 0.X and 1.X, no matter what you would like to believe.
So no, the preference of coding in a specific way does not limit you when you are making your own content. It will only limit you when you are assisting people who code in a different format.
bit off-topic but please,

1oIENri.png

:rolleyes:

@on topic

sounds cool, good luck!
 
On second thought, lets not start an argument about LUA/Lua usage.

I just use LUA out of habit, so whatever.
 
Just an update.
I have 2 systems I have to complete before the Alpha Test.

#1 is a new shop system I am working on.
#2 is NPC Combat and the Guard System.

Once these two are done I should be ready for a short alpha test.
I will let everyone know a few days in advance before the test begins, It will probably only last a few days.
 
Any progress with those guards?

Well, the way the shops work is as follows:

You simply walk into the shops and pick out what you want. Then you go to the counter and say "Checkout" and the NPC will calculate how much you owe him.
This makes the game more RPG, because you could "forget" to buy something, or purposefully steal it, etc. It's also WAY easier to buy stuff, you just drag it into your backpack, and then go check out.

But, there is the problem with players making 2ndary Theif Characters to constantly steal themselves free stuff. So I had to make it so NPCs magically "Mark" their items that are in their shop, and when you checkout, they will unmark all of the items. This way, if you have a 2ndary character steal items, the items will be marked as stolen. NPCs will scan items before they buy them, and they will refuse to buy items that are marked as stolen. (So you can't just change the items to gold, then give it to your main character)

If you give the stolen items to another character, they will be marked as "Suspicious" and if you get too close to a guard with stolen items on you. They will notice.

If you are caught with stolen items, currently the guards just attack you until you die. But that isn't how I want them to work.

My current task would be to make the guards ask you to "Freeze!" Then once you stop moving, they will ask you to throw the stolen items on the ground (and they will pick up the stolen items).
If you do not have all the items that were reported as stolen, or if you refuse to throw down the items, they will warn you a few times, then shoot you with a sleeping dart, and take you to Jail.

If you do not Freeze, the guards will then proceed to attack you, if you attack back, you will gain Infamy. The more Infamous you are, the faster Guards will recognize you as a criminal. At some point, guards will start hunting you, you could be ambushed while you are hunting, and they can confiscate your bank account (if you have a bank in the town that you are infamous).

There is Global Infamy, and Town Infamy. If you are a low-level criminal, just the town which you steal from will know who you are. But if you gain too much Infamy, other towns will start to recognize you as a criminal.

It shouldn't take TOO much longer for me to finish this system. Aftewards, I will have to perfect the First "Boss Monster" of the server and make sure it is challenging, and rewarding. Then the Alpha Sneak Peek can begin.
 
MIGHT be this next weekend, or the weekend after that.

All depends on how quickly and easily I can get these guards doing their job.
Is it this weekend ? Sorry I am not up-to-date XD
But I would gladly come, could you maybe send me reminder on discord haha ? :D
 
Is it this weekend ? Sorry I am not up-to-date XD
But I would gladly come, could you maybe send me reminder on discord haha ? :D

I will post a countdown when it is ready.

It will probably be NEXT weekend. (1/20)
 
It sounds interesting, I'd probably try it out.. because I love bug testing. :p
If your only looking for general opinions and feedback though, I'll probably skip out.
 
It sounds interesting, I'd probably try it out.. because I love bug testing. :p
If your only looking for general opinions and feedback though, I'll probably skip out.

I am simply looking to get people online, what you do with your time is up to you.

If you want to look for bugs and report them. Great
If you want to just pk everyone. Great
If you want to just hunt and get as high level as possible. Great
Want to try to find exploits and break my server? Great

My focus is just to get people online and see how things go. I will play also, and I want to see how things go.
I want to see how things work out before I add in new content.

If the starting area is bad, it will influence the next areas you go to. So I want to get it right first, before moving on.
 
I am simply looking to get people online, what you do with your time is up to you.

If you want to look for bugs and report them. Great
If you want to just pk everyone. Great
If you want to just hunt and get as high level as possible. Great
Want to try to find exploits and break my server? Great

My focus is just to get people online and see how things go. I will play also, and I want to see how things go.
I want to see how things work out before I add in new content.

If the starting area is bad, it will influence the next areas you go to. So I want to get it right first, before moving on.

I'm welling to help you with that report all bugs.
 
Most of the shops are done.

The only thing not done (and it won't be done for the alpha) is the new UI for crafting and the Blacksmith. (Everything still works, it just isn't pretty or intuitive)

The last thing I am working on is the Boss. Once this is done I will start the countdown for the Alpha Release of the server.
 
*starts petition to change title*
 
Here is a short video of me playing the Alpha Test.
I still have to fix a few(ok maybe ALOT) bugs and edit some things before I am ready to let other people on. But honestly, I have fun while playing it.

 
Last edited:
Here is a short video of me playing the Alpha Test.
I still have to fix a few(ok maybe ALOT) bugs and edit some things before I am ready to let other people on. But honestly, I have fun while playing it.

This is sick! Waiting to play :D
 
Words can't even describe how amazing it looks. All those stats on the character sheet is insanely awesome. The way spells work, the customization on items, the monster AI, everything is just beautiful. I knew you were talented but this is like some next level stuff and I was not expecting it. This is only Alpha as well... so I can only imagine the things that could be added or improved. Can't wait!
 
Back
Top