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

[Request] Illusionist Vocation

Jotran

Banned User
Joined
Feb 8, 2015
Messages
349
Reaction score
109
I am using tfs 1.0

I've seen this done on a few servers I was wondering if there is already a script for this or could someone take the time to write or start writing it for me?

What does it do?
It creates a copy of itself including name, hp or mana, it uses some if not all the spells as the player.

Thanks for reviewing my request :)

Edit: I love these smilies they are soo cute :)
 
tell me more about what the illusionist can do.

because creating a copy of yourself can be done with lua but it's gonna be an extensive script
 
tell me more about what the illusionist can do.

because creating a copy of yourself can be done with lua but it's gonna be an extensive script
Thank you for responding :)

Well the illusionist would be able to make a mirror image of itself kind of like a pet or summons but instead of using it's own spells it would use the caster's spells, it would have the same hp or mana, speed as the caster, it would only attack when the caster attacked..

The more I describe this the more I already know how this could be built lol

I do know how to program, maybe I was just over thinking it.. but if you want we can work on this together I am sure this is a sought out vocation especially with 84 views and only a few responses and well whatever we post here will be available for all to see.
 
well, the main 2 hurdles in this script would be:

1. changing the name of the illusion to your name: currently there is no way to change the name of a summoned creature to be the same as the owner's, even in TFS 1.1
2. a way to dynamically learn and use the owner's spell without making a giant LUA mess. (there's many ways around this but i'd like to have a clean file that wouldn't do too many checks to reduce lags.)

However. Changing hp, look and speed of the illusion is doable.
 
Actually I have a better idea

I'm interested, what's the better idea? Because I have thought about this possibility and looked into it and found same results, the thread that was posted with the source edit seemed like it was the only option. If you have thought of a possible work-around using lua, please do share. :D
 
I'm interested, what's the better idea? Because I have thought about this possibility and looked into it and found same results, the thread that was posted with the source edit seemed like it was the only option. If you have thought of a possible work-around using lua, please do share. :D
I am testing it before I release it :)
 
I am testing it before I release it :)

Didn't think you were releasing, but that's awesome! I was interested in your thoughts on how it should be done. But if you are already developing it and working on testing it, please go right ahead. I will wait eagerly with the rest of the community in anticipation of this revolutionary script, or scripts...
 
I back tracked doSummonCreature
Code:
-> means calls

compat.lua
line 446
doSummonCreature(name, pos, ...) ->

line 447
Game.createMonster(name, pos, ...) ->

luascript.cpp
line 4925
Monster::createMonster(getString(L, 1));

monster.cpp
line 40
g_monsters.getMonsterType(name); ->

monsters.cpp
line 1273
Monsters::getMonsterType(const std::string& name) ->

line 1282
Monsters::getMonsterType(uint32_t mid) // which returns

Haha "revolutionary script"

Let me look that over..hmm that doesn't make any sense
 
It's not as hard as you think, I've got it to work last night, just haven't had the chance to post it since I'm at work all day today. Backtrack-wise, you were on the right track, but eventually got lost.

Look into AddCreature() in ProtocolGame. You can see that it's adding a string, which represents the creature name, to the message buffer to be sent to the client. This is the only way for the client to know what to put as the name above above the health bar, it will come from that message. Try it yourself, comment out creature->getName() and put something like "Jotran" and you'll see that every creature will be named Jotran.

This function is used for almost everything in terms of creature appearance.
I will go through it in more depth when I get home from work later tonight.
 
So basically your trying to take the spell from Deathzot..

Since when does someone own an idea? You think that people haven't thought of this before Deathzot?

I have never even played that server, haven't played OT in about 6 years, and I have thought of this... Apparently if you follow the link @televolt posted you will see someone created this possibility back in 2010... was Deathzot open before that? I have no clue, but I'm betting it wasn't...

So basically, what is your point?
 
Back
Top