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.


Messages - Cooldude8

Pages: [1] 2 3 ... 7
1
Ideas / Re: Fuel temperature
« on: January 07, 2018, 12:51:56 PM »
Ooh, I like this idea a lot. +1

2
Ideas / (PC Idea) Custom Items from Pre-made textures (With scripts)
« on: September 07, 2017, 04:20:04 PM »
Today I have an idea for the PC Release of TM. With some pre-made textures, and some new script commands, we can get vanilla custom items (for those who are new to modding, vanilla means mod-less). With some pre-made textures (like generic items and what not) we could create some additional items within TM. This will be useful to people who dislike modding (I have came across several on PC in my time playing on it for a while), as they can still create new items for their server. Also, with the pre-made textures, you can include item-packs within your texture packs (the real term that should be used is resource pack as it contains more than just textures) that allow you to further expand the textures you have available.

To supplement this, you have access to the CreateItem command. The entirety of the command looks like this:

CreateItem [texturePath] [name=X] [desc=X] [stats=[array]]

The texturePath parameter automatically defaults to the current world folder, but the default can be changed in the start screen under Options>Setup. From here the parameter takes a string value that points to the texture name. The supported formats should be a (.png) or (.jpg).

The name parameter is self explanatory, it is the name of the item being created.

The desc parameter is semi-self explanatory, if you don't know what desc means, it means description. This is the description of the item you created.

The Stats parameter is a bit more interesting. It takes an array, which tells how powerful, damaging, durable, etc. the item is. What will set this apart from the stats of a normal item is the fact that you can put custom names in there as sort of a tag on an item.

For example, lets say i have a quality tag that tells the refinement of an item, the following are the possible options:

basic, good, great, excellent, perfect

Using the stats parameter i can do ...quality=(your option here). This puts a custom tag that has the name quality on the item. When you prospect the item, you get the description, as well as the stats within a list.

I.E.

[item name here]-----------------------------
[description here]

Attack: 40
Defense: 40
...
Quality: Good
-------------------------------------------------

To also help push this idea, you can query the custom stats of an item within the following command

hasStats [name] [stat] [true|false]
hasStats [name] [stat] [compare] [value]

This command allows you to find a specific stat of a custom item, and will allow you to see if it is there or compare two values. If the requested stat is found, the command will return a value of zero.

To conclude, this should be added for people who want to customize their experience without learning XML or any other coding language besides the scripting language in TM.

3
Ideas / Re: Potential Pre-Alpha or Alpha Version?
« on: September 07, 2017, 03:57:34 PM »
So, from what i have seen, there won't be a pre-alpha build or something?

4
Ideas / Re: Potential Pre-Alpha or Alpha Version?
« on: August 30, 2017, 09:30:47 PM »
[bump]

5
Ideas / Total Item Overhaul (Old ID System [item names] + ID Numbers)
« on: June 20, 2017, 08:16:54 PM »
I know for a fact we can't use ID Numbers for giving players items, but it would make shop management or global item management easier as well as being able to view the old list (The names of each item). It would look like this:

[subsection] [itemID|itemName] [Qty] {data value}

The subsection would determine what group it needs to access. For example, subsection 1 would point to blocks. Subsection 2 would point to items. Then using a modloader, we can add subsections to the id table at startup. For example if I made a mod to add functioning guns right out of the box, we could use subsection 3. But that arises another problem... what if another mod uses subsection 3? Why not make the subsection a float value? For example, if I had my mod + another person's mod and they both used subsection 3, we could make my mod use subsection 3.1 and the other mod use subsection 3.2 which would eliminate the conflict of using the same subsection. The only problem is finding out what subsection a mod as been assigned to.


Now if that isn't good, I also thought of this system:

[section] [subsection] [itemID|itemName] [qty]

Section would tell the game again what item group it needs to access, but this time subsection would refer to whom the item belongs to. For example, if my mod has a section called 'guns' then it would look like this:

[1] [guns] [.22lr Pistol] [1]

This way right out of the box, subsection assignment conflicts would be avoided by the subsections never being the same. If you wished to access the game's main items, you would put [system] in the subsection of the command.

I personally think this system would be better than the previous idea because it avoids confusion on what mod has what subsection.

6
Ideas / Re: Pre-Game Script Editing?
« on: June 19, 2017, 02:24:35 PM »
Ah, I did not know, thanks Alienized Pixel

7
Ideas / Potential Pre-Alpha or Alpha Version?
« on: June 18, 2017, 09:58:32 PM »
I truly wonder if we will get pre-alpha or alpha versions of this game... for example, we could have a alpha that has only the absolute necessary code (Stuff like SP and Dig Deep), then when multi is ready release it. I know of numerous games that does this. I know this might receive some bad criticism but I believe that it would be a viable option for such a large game's fanbase. I truly hope at least SOMEONE in the development/modding department considers this.

8
Ideas / Pre-Game Script Editing?
« on: June 18, 2017, 09:52:45 PM »
I have decided that I am gonna recreate some of my worlds for pc, and the main problem is the scripts... maybe we can get a script system that allows us to import a script from a text document (.txt only). What it would do is allow us to make scripts before we actually create the world. It would also give other Total Miner players the ability to easily share others scripts.

9
Ideas / Re: Sprinting
« on: May 14, 2017, 01:33:13 PM »
Good idea! +1 from me. I should also add that there should be three new pieces of jewelry. The first one being the Ring of Endurance. What this does is increase your stamina by 20 points (assuming that the stamina drain rate is 1 point/sec) allowing 10 extra seconds of sprinting time. The durability of this ring drains as you sprint while it is equipped. The next ring will be the Ring of Recuperation. This will buff your stamina regen to 1 points/sec (assuming that the normal stamina regen will be 1 point/5 sec). The durability of this ring drains as you regenerate stamina points. The final one being the Ring of Hyper-Stamina. It combines the effects of the previous two rings, plus a +10% speed boost while sprinting. It will be the first multi-gemstone ring. The center stone will be solid obsidian. It will require two sapphires and 3 Obsidian gem stones. I hope I made a good contribution to this idea

10
Ideas / New Script System/Syntax + New Commands
« on: April 28, 2017, 11:06:13 PM »
Hello guys, I am back after dealing with a long year of school, but I also have been thinking during this time. In approximately 3-4 weeks I will be out for summer, which I will have another idea composed after this one.

During my school, I have a E.A.S.T. class and mine is student-oriented, where as the student chooses what project they can work on. I have chosen program development using Apple Xcode (Macs were the only open computer at the time of project assignment).

-------
New Script Syntax
-------
A script syntax is very useful... it denotes how you set a command up and what not. Some syntaxes are harder to understand than others, but this one should make it simple for all the newcomers.

For one, I would like to give a DEFAULT VALUE for all commands which allows for quick experimentation for newcomers without the confusion of how to set the command up properly. Secondly, I want to make the syntax more, descriptive? I mean most of the basic commands have really descriptive documentation, but what about those really confusing commands that don't have documentation? Then it just adds a whole lot of confusion to the already big pile of confusion a newbie scripter faces.

TL;DR: I want to make the syntax more noob friendly as with scripts you can do amazing things.

-------
New scripting features
-------

Dynamic Recompilation
---
One notable feature of Xcode is dynamic compilation/recompilation (Pre-building the script and rebuilding as necessary). This neat little feature will allow the program, as you make it, to scan for any rookie mistakes and errors. If a rookie mistake is found, it offers a "Fix It" which will correct your mistake. If it finds a rookie mistake but it will not lead to an error, it displays a warning triangle beside the line of the code that has a mistake in it, and it tells you that you can still compile the script, but certain functions will not work properly/at all. If it is a serious error that will prevent the proper execution of the script, or it would crash the game, it would prevent the compiler from building the code, often throwing an error.

Command Prediction
---
Another thing that is notable about Xcode (and most IDE's including Visual Studio) is command prediction. What this does is while you are typing out commands, it will try to guess what command you are trying to insert; and within the selections, it shows you how to use the parameters of said command. This will help many beginner scriptures as it may take a while for some people to remember certain commands that they may need at a given time, but can't remember the exact name of said command.

-------
New Commands
-------

Try/Catch statements (Also includes raise statement)
---
Many IDE's have a try/catch system where it will try a line/block of code and if any errors/specific errors arise it would continue execution, but alter the program via the catch statement to handle aforementioned error. This would be really useful for players who want to try to make server data integrity systems as from xbox360 version, if the remote player is lagging or their internet drops for a bit, some data may get corrupted and they may lose some data or they may lose it all together. You could potentially make a system in which it constantly refreshes the player's data with the server's expected data and in case of any discrepancies, be able to restore data back to normal.

Refresh
---
As the command above helps resolve data errors, this command can be used in tandem with the try/catch system. To begin, you need to have 2 parameters the first one being a player target which is either local or global. If it is a local refresh then it performs said refresh on that device only. If it is global it performs said refresh on ALL devices. The second parameter is a refresh type. It can either be a data, world, or total refresh. A data refresh will send current data like inventory data, health data, skill data, etc. then it would request all that data back from the server. A world data refresh will ask the server host to resend world related data back to the client. This is only server to client, so it should be noted that when a client tries to manipulate the world data by forcing a client to server world data refresh should have their game shut down as a auto protection of sorts. A total data refresh will perform both a data and world refresh, making it like you just joined the game again, but you have not left the actual server. Now, you might be thinking "Well a hacker could manipulate the data and make god mode, max skills, etc." and you would be right. I have a way to circumvent this. What you do is take a SHA-256 Checksum of the data during gameplay and send it to the server for storage. Next you would send the data to the server and the server would perform the same SHA-256 Checksum calculation. If the two checksums match it would accept the data as accurate. If the data is changed in ANY way (right before the send, during transit of data, server receives data and experiences internet issues, etc.) it would reject the data as damaged. This would help prevent the basic "script kiddie" hacker from modding his inventory, health, etc. and the server accepting the change making it permeant. Now this system would obviously need refined as to not be vulnerable to basic hacks but also not so picky that if you pick one more gold up before the data is sent that the server rejects the change.

TL;DR: You could refresh the server data, world data, or both with this command. There will be a countermeasure to help protect against hackers.

Array
---
This one should be simple. It would allow the storage of multiple comma separated values (here on in known as CSVs) in a single variable. It would be like setting something like the value of x to "1" but instead of just one number you have a list that looks like this: [1,4,24,9,123...] You could also perform specific array functions like getting the length of the array, inserting CSVs, deleting CSVs, etc.

Filesystem
---
This one might be complicated, but it would make server-wide data easy to store. What it would do is create a simple .txt or .svfile data file in the directory of the world under /WorldName/ScriptName/File.txt -or- File.svfile

This file could be accessed by ANY script at any given time and can be opened with the following modes: R for reading, W for writing, W+ for creating a file if it doesn't exist and opening the file for data writing. The data would be stored as JSON as to make it easy for scripts to differentiate values by reading the keys before the values

Ban/Banip/BanSteam
---
This one is simple. You could ban the player, their IP, or their Steam ID.

WatchdogTimer
---
This would allow players to setup what's called a "Watchdog" which is a computer timer that ticks down from a given time until it hits zero. If the timer isn't reset (Commonly known as kicking or feeding the "dog") the timer would begin code that begins corrective actions of some sort. For example, in the Roblox game Traitor Town (a Trouble in Terrorist Town remake) if your internet connection gets so slow that the client doesn't respond to the server within 5 seconds you would be kicked. The parameters for this command are as follows: WatchdogTimer [name] [start|kick|stop] [time] [timeout]. The name parameter is blatantly obvious, its a reference point to the timer itself. the start, stop, or kick parameter is obvious too; it starts, resets, or stops the given timer. Time is also simple, in Milliseconds, how much time should the timer wait before timing out? And last but not least, timeout. Upon the timer running out without being reset, it will execute the given script.

(I thought of more but forgot what they were as I was typing this out...)

Pages: [1] 2 3 ... 7