Create a free account to remove all ad content.

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Dryym

Pages: 1 2 [3] 4 5 ... 48
Ideas / Var [Timer:]
« on: November 17, 2016, 07:29:01 PM »
I think this would be a simple addition. It'd be nice to have a proper timer preset variable.

"Why would you use this instead of a scripted timer? Those are really easy to make!"

The reason is very very extremely simple.
A built in timer would be consistent. It wouldn't change rate due to script latency.

If you want a consistent behaviour on a looping script that involves keeping track of time, Then script latency is your worst enemy. I am assuming that the game has its own built in timer independent of any other external factors. So all that would be necessary for this is to record the difference between the time that the variable is queried, And the time the variable was initialized.

Even if the [timer:] var just displays the current time based off of the game timer, This would be super simple to do.

Creative Features / [Scripts] Blinking script
« on: November 09, 2016, 12:52:19 PM »

This is a super simple script that can be applied to just about any survival type map.

It would be especially good in a horror type map.

All it does is blink your virtual eyes. To make this script work, All you need to do is write out that script, And then make a looping script which calls on it each time it loops.

Alternatively, You could just replace the exit with a loop and reset the vars, But then you can't do things to the player when they blink.

If anyone is wondering, The reason I have 8 HUD Shapes is to create a blur at the bottom of my simulated eyelid.


Spoiler for Hidden Content:
var [S] [H]
  IsVar [S] [=] [1]
  IsVar [H] [=] [0]
  IsVar [S] [=] [1]
  var [H] = [H] - [360]
  IsVar [H] [<] [720]
  var [H] = [H] + [360]
  var [S] = [1]
HUDShape [EyeBlink1] [player] [rect] [0,0,1280,H2] [0,0,0,150] [abs]
var [H2] = [H] * [1.15]
HUDShape [EyeBlink2] [player] [rect] [0,0,1280,H2] [0,0,0,48] [abs]
var [H2] = [H2] * [1.15]
HUDShape [EyeBlink3] [player] [rect] [0,0,1280,H2] [0,0,0,48] [abs]
var [H2] = [H2] * [1.15]
HUDShape [EyeBlink4] [player] [rect] [0,0,1280,H2] [0,0,0,48] [abs]
var [H2] = [H2] * [1.15]
HUDShape [EyeBlink5] [player] [rect] [0,0,1280,H2] [0,0,0,48] [abs]
var [H2] = [H2] * [1.15]
HUDShape [EyeBlink6] [player] [rect] [0,0,1280,H2] [0,0,0,48] [abs]
var [H2] = [H2] * [1.15]
HUDShape [EyeBlink7] [player] [rect] [0,0,1280,H2] [0,0,0,48] [abs]
var [H2] = [H2] * [1.15]
HUDShape [EyeBlink8] [player] [rect] [0,0,1280,H2] [0,0,0,48] [abs]

Creative Features / [Help Needed] Colour Interpolation with Vars
« on: November 09, 2016, 12:41:29 PM »
How would I go about interpolating between two colours with scripts?

I want to do cool colour things with HUD elements, But I don't want harsh transitions.

Ideas / LCD Screen Block
« on: November 04, 2016, 10:35:30 AM »
This is an idea that is simple in concept, But perhaps a lot more difficult to make work in the game.

The LCD Screen block would stream YouTube videos, Or videos included in the map folder to the screen, And play the audio of the video to players within a certain radius.

"But Dryym" I hear you asking. "The YouTube video aspect ratio is not 1:1, So you'll get a really tiny video screen at a low resolution." I hear you say.

And yes, This would be a problem if you only used one block. However, LCD Screens would be able to be connected in any rectangular shape to increase the screen size (This would be the most difficult part I imagine.) Allowing you to have any screen size you want.

"But Dryym!" I hear you asking again. "What about people who stream inappropriate content to LCD panels?" I hear you say.

First off, Those people would have to have the intelligence to put a video in their world folder in order for that to work. So I don't see it happening much.

Secondly, Does it matter? Without this, They could simply make a texture pack of rescaled images and achieve the same affects.

I think the benefits massively outweigh the few who would make bad use of it.

Imagine the ability to show quick tutorial videos to people on your server, Or theatres with actual movies playing. The possibilities are endless.

Site Suggestions and Bugs / Shoutbox text colour
« on: October 31, 2016, 02:36:38 PM »
I think that the default shoutbox text colour should be changed to something like this. White doesn't remind me of Halloween, And this resembles the glow of a Jack 'O Lantern.

In addition, The 4 people using the other theme will find it annoying to have white text.

Ideas / Airlock Doors
« on: October 25, 2016, 12:02:46 PM »
2.5 introduced a whole bunch (11) of great Sci-Fi textures for builds, However we have a distinct problem with any attempts to make a Sci-Fi build.

We have no good door options.

It would be great if there were some new doors added for such purposes.
Locked doors do a decent job in the role, But they still kinda suck.

This could easily be a mod, But seeing as it is kinda essential to all Sci-Fi builds to have doors in some place or another, I think it warrants this being added into the game proper.

Site Suggestions and Bugs / Star Members increased inbox limit
« on: October 19, 2016, 07:35:29 PM »
First off, To get this out of the way, Yes. It is super easy to clear some space in your inbox. However it's not always easy to tell someone that their inbox is full.

The point of the star poster medal is to notify people that that person knows what they are talking about, And that they can be helpful because they understand the forums and the game.

Mods have increased inbox space for the same reason that I am suggesting this. It's so that you can always contact them if you need to.

In the same way, You should always be able to contact a star poster if you need help because that is kmda what they are here for.

Obviously they should not have the same inbox space as mods.

I also understand why PMs are limited in the first place. However considering the fact that if everyone on here had a full inbox, We'd have at least 876000 PMs stored, I don't think that the 2800 extra (If we got 400 PMs) would make much of a difference.

I also don't think that extra space would be wasted seeing as star posters are considered valuable members of the community.

That being said, I would be lying through my teeth if I said that my only reason for wanting this is so that star posters can always be able to be contacted. I do genuinely think this would be a great reason to do this though.

Ideas / Mirror Block
« on: October 13, 2016, 09:02:53 PM »
Has been suggested a few times before.

It is possible but it's a lot of work to program and has performance challenges.

For every mirror in your world, the game would have to render the entire world again from the position of the mirror looking in the inverse direction of the horizontal angle of the player to the mirror (also rendering with a reverse horizontal projection). It has to render this into a rendertarget and then render that rendertarget on the mirror block face. It has to do this every frame - 60 times a second.

There are various optimizations that can be done, such as rendering to a lower resolution (saving pixel shader executions), only rendering for mirrors currently in your view, and only those close enough that you can actually see properly. Also instead of rendering every frame, the game could try to work out if nothing has changed (e.g. the player has not changed their position or view angle and nothing within the reflection of the mirror has changed such as blocks changing or other players moving past the mirror), in which case it would not have to render to the rendertarget again.

Quite a bit of work...

Seeing as PC specs are infinitely better than 360, As well as the fact that TM is a much more stable game than it was at the time of this post, I think it may be feasible for PC.

It is a lot more space efficient than building a mirrored room and separating it with stained glass.

Creative Features / [Scripts] Domino Spell (Somewhat Epic.)
« on: October 08, 2016, 05:49:31 PM »
Alright, So normally I wouldn't make a topic for something as mundane as a spell, But I think this one is unique to anything anyone else has done with scripts so far.

Anyway. I have created a witch spell known as "Domino" which is totally original and definitely not in any way stolen from Dishonored 2.

To work the spell, You must select it and cast it towards multiple targets. Once you do, Their health bars will become linked. This means that any damage done to one enemy will be translated to all other enemies linked to them.

This is proportionate to the HP of each mob. So dealing 1 damage to a mob with 10  max HP will deal 10 damage to a mob with 100 HP that is linked to it.

It also should be multiplayer compatible in theory. But scripts that should work fine for multiplayer in theory don't always do so well in practice.

Anyways, On to the script.

Ignore the Essencia, Karma, And Cooldown stuff. That's just specific to how I do my spells. Really, The only parts relevant to the script are the var line and script line.

This is the meat of the script, The loop.
This runs on all targeted entities until they die.

The first section of the script queries whether or not the entity running the script is dead. If so, It changes the global HP history value to 0 (Necessary because if I did not do this, A mob dying would not kill the other mobs.) Then it exits the script instance.

The next line changes the var for the percentage of max HP from the last iteration of the loop to the old percentage of max HP. After that it calculates the current percentage of max HP then removes anything after the decimal to make it a whole number.

I am not entirely sure if this last step is necessary, But it is possible to have a non whole percentage and that would probably mess with the next part.

The last portion of the script is what puts it all together.

First it checks to see if there has been any change in HP since the last iteration of the loop. If there has, It will set the global caster history to the caster ID determined in the previous script. Then it will set the global HP history to the HP percentage value.

If there has been no change in HP then it checks if the HP percentage matches the HP history, And if the caster ID of this instance of the script is the same as the caster history.

If so then it does some fancy math talk that just means "Set my HP to Domino\HP%"

Then it loops.

There are still some problems I need to fix. One being that this does not handle regenerating entities well. I need to find a way around that. Currently what happens is that the nonregenerative entity basically becomes immortal because the regenerating entity's HP is dominant due to it updating faster.

I am not sure what would happen if you linked two regenerating players together, But I suspect they may become gods.
It would only be possible to kill them if you attacked them both at the same time.

Another slight issue is that despawning does not register to the script as having 0% HP. But I think IsMobCount is an easy fix for that.

I hope that after seeing this, Craig may add some official networking commands and conditionals to PC. The TM script engine is not meant for this. I had to do kind of a hacky solution to make this work to any extent.

It is fantastic though IMO. Killing 20 goblins in one sword swing is sooooo satisfying.

Creative Features / [Help Needed] Vector intersection
« on: October 06, 2016, 09:00:56 AM »
Is there a way to determine whether or not a vector is intersecting a certain coordinate?

The main reason I want to do this is so that I can test whether or not an intersect conditional is intersecting the target's head. Allowing me to make a weapon that requires precision to use.

Pages: 1 2 [3] 4 5 ... 48