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 - Treynolds416

Pages: 1 2 [3] 4
31
Modification Help / Finding supported bricks
« on: April 27, 2012, 07:11:14 PM »
Is there a default function for finding which and how many bricks are currently supported by another brick?
I could do this by using getUpBrick() and getDownBrick(), but I don't want to jump straight into a complicated process like this if there already is a pre-made function that does what I'm looking for.

32
Modification Help / Brickify Terrain
« on: April 06, 2012, 06:29:49 AM »
Script_BrickifyTerrain

Terrain doesn't really have to go away in v21! You can make brick facsimiles of your favorite maps, and keep them for later. Now stop crying and download it already!

Features
  • Custom position placement!
  • Custom boundaries!
  • Custom color!
  • Etc!

Instructions
   1) Load up your favorite map
   2) Type in "/BrickifyTerrain (Bound) (Color)"
   3) Wait a little bit, it may lag
   4) Save those bricks!

About the Arguments
Bound is basically half of the side of the square you will create.
Color specifies what color all of the bricks will be.
For example, if I were to type in "/BrickifyTerrain 100 15", the script would create a square of 100 by 100 cubes, where they all are bold white. To get the number of a paint color, you simply count the colors from top to bottom, left to right. Watch out though, the first color (usually red) is 0.

Cautionary Advice
  • This mod creates a whole stuffload of bricks. If your computer cant handle a stuffload of bricks, don't try to make a stuffload of bricks. My suggestion is to start out with small radii at first, if you don't know what your computer can handle.
  • This mod creates more bricks than you may intend. In addition to the square you specify, the script automatically fills in the holes that would normally exist. So, if you type in /BrickifyTerrain 100, the brickcount will come out to something like 12000 bricks instead of 10000 bricks. A bound of 400 is probably toeing the line, a bound of 500 will almost certainly go over the brickcount limit.
  • You can only save what you see. If you make a big area of cubes, you have to fly around them once before saving. Otherwise, you will only load some of the bricks.
  • Map positioning is weird. I suggest placing a spawn somewhere before saving, so you can find your terrain easily when you load it on a slate map. Also, some maps exist in part under zero elevation. You can create and save bricks under zero elevation, but you cannot load them on slate.
|
Known Bugs
  • Nothing to stop users from going over the bricklimit
  • Tries to create all the bricks at once
  • Typing decimals into the arguments is probably a bad idea
  • Bricks can be planted inside of other bricks if you remove some of the safety checks from the script. Don't do this please.

Notes
  • Yes I know it's annoying to have to ghost all the bricks then save all the bricks then load the bricks again, will work on fix for later
  • When the bricks are created on top of the terrain, it might look a bit wonky. Don't worry, all of the bricks have been created, you just can't see them because they're under the map

Download
I gave up on RTB submission, it's taking too long


Planned Features
  • Add ability to automatically add water where it is on the map
  • Scheduling, so all of the bricks are not created at once
  • A prompt that calculates the number of bricks that will be created, and asks if you'd like to continue or not
  • Direct filewriting
  • "Limit" generation

Below are some pictures of "The Slopes" in 4x cubes





If you have any suggestions or comments, post here or pm me. Also, someone can make me a logo if they'd like.

33
General Discussion / ALL IS NOT LOST, V21 (saves)
« on: April 01, 2012, 08:54:19 AM »
This topic is for posting all the brick terrain saves of as many maps as possible (See here). That gallery topic is now locked. Also this topic is named the same because y'all are blind.
Anyways, the purpose of this topic is to get as many saves of as many maps as possible. Only saves made by me will currently be posted in this topic because the mod is still awaiting approval on RTB. MOD AVAILABLE HERE

All the save names are going to be in one format. The name of the map, then the cube size (4x, 8x, etc.), then the radius in brackets, then the color number in parenthesis. An example would be [Slopes 4x - 400 (15)]. Anyways here we go:

NOTE: If you have some saves of terrain with no holes, please re-download these files. The files you have are obsolete and have more bricks than they need to.

4x4 Cube Saves
- [Alpines 4x - 400 (2)]
- [Alchotoff Wilderness 4x - 400 (2)]
- [Colony Canyons 4x - 400 (8)]
- [Fairlands 4x - 400 (2)]
- [Freedom Fields 4x - 400 (2)]
- [Slopes 4x - 400 (15)]

8x8 Cube Saves
- [Alpines 8x - 400 (2)]
- [Alchotoff Wilderness 8x - 400 (2)]
- [Colony Canyons 8x - 400 (8)]
- [Fairlands 8x - 400 (2)]
- [Freedom Fields 8x - 400 (2)]
- [Slopes 8x - 400 (2)]

Contribution Counter
  • Treynolds416 - 12
  • Everyone else - 0
(shame on you everyone else)

34
Modification Help / Checking if a position is at the center of a brick
« on: March 25, 2012, 10:05:42 AM »
Title pretty much explains it

Can someone write up a quick function that returns 1 if the given position is at the center of an existing brick, and 0 if it is not.

35
Suggestions & Requests / /reloadMap
« on: March 24, 2012, 05:17:08 PM »
Simple, a command that changes the map to the same map you are on (effectively clearing everything that's there)

Some of you may not need this, but I do

36
Gallery / ALL IS NOT LOST, V21
« on: March 03, 2012, 02:06:47 PM »
Submitted to RTB lol






NO HOLES






For those of you that haven't figured it out yet, this is the product of a script that was made completely by me. If you don't believe that I made it, then shame on you. I never held the pretense that I had made this by hand. If you believed that I had, then I apologize.

This script works by taking actual coordinate data from actual maps and placing bricks. The script creates cubes in a square of a specified size. At the moment, it only is able to create one cube per coordinate. This creates holes in terrain that is too steep. I am working to make my script automatically fill in these holes.


I WILL RELEASE THIS SOON, WHEN ALL OF THE ISSUES ARE WORKED OUT

The beauty of this script is that it will work on any map, with any terrain. When I release this, the expectation is that people will make brick copies of their favorite maps, preserving them for v21 and beyond.

Beware of imitators! As I said before, I made this script completely on my own. I now know that there are other scripts that do the same thing. However, they do not operate the same way mine does.


Saves (H)
Alpines 4x4
Alpines 8x8
Colony Canyons 4x4
Colony Canyons 8x8
Fairlands 4x4
Fairlands 8x8
Freedom Fields 4x4
Freedom Fields 8x8
Slopes 4x4
Slopes 8x8
You can host them, build on them, do whatever. I encourage taking creative screenshots and posting them in this thread. Also, if you have some feedback that is not inherently obvious to me (don't tell me that there are holes in the terrain), please post it as well.


Original Post:

Fellow Blocklanders,

I give you, THE SLOPES









37
Help / Joining a certain server
« on: February 28, 2012, 02:07:10 PM »
I recently encountered a strange problem. I doubt anyone here can fix it, but I posted it nonetheless.

My friend just started playing BL again, after about 2 years of inactivity. He wanted me to help him work on a build together. However, he can't join my server, and I can't join his.

The strange part is that other people can join both of our servers. We live on the same street, I'm not sure if that affects anything. We tried connecting straight to the IPs, disabling and enabling UPnP, and even port forwarding.

Can anyone provide some insight into this?

38
Modification Help / Ordering variables based on numerical value
« on: February 27, 2012, 02:51:42 PM »
What's the best way to arrange values of variables from greatest to lowest? Let's say that it's for the purpose of writing to a file.

The variables would be in the following format:
Code: [Select]
$var[a] = 41;
$var[b] = 32;
$var[c] = 54;

and the written file would look something like this:
Code: [Select]
c - 54
a - 41
b - 32
And etc.

Any help would be appreciated. I do know how to do basic File I/O and string manipulation, so you guys don't have to explain that in depth.

39
Modification Help / Opening Mod Editor in v20
« on: February 19, 2012, 07:03:03 AM »
Hello, I just need a quick answer here.

How do I get to mod editor in v20? I searched for the answer, but all of the topics were pertaining to v19 or earlier, before there was a launcher. I tried doing this:

(I didn't really think it would work)

I'm almost certainly doing something wrong, so if someone could help me out, that would be great.

40
Games / TF2 Trade Bragging Topic
« on: September 26, 2011, 03:02:01 PM »
Post your trades!

I thought this might be a good idea, since quite a few people are making sweet trades and not having anywhere really to post them. Instead of cluttering up the other two topics, you might as well post your hustles trades here.

I will start:




Note: Keep all actual tradings and negotiations confined to the trading topic, not here

41
Modification Help / Deleting bricks of a certain color
« on: May 25, 2011, 06:44:44 PM »
I decided to make a script that could delete all of the bricks of a specified color from a build.
My method was to edit the business lines of the save file and rewrite to a new file, which I would copy/paste back in.
Code: [Select]
//Client_ColorDestroy

function ColorDestroyList(%file, %colorN)
{
new scriptObject(LineSO) {}
%file = expandFilename(%file);
if(isFile(%file))
{
%fileObject = new FileObject();
if(%fileObject.OpenForRead(%file))
{
for(%l=0;%l<256000;%l++)
{
%line = %fileObject.readline();
%brickVal = getWord(%line,8);
if(%brickVal != %colorN)
{
LineSO.value[%SoL] = %line;
%SoL++;
}
else
{
return;
}
}
%SoL = $SOL
%file.close();
%file.delete();
deletecolorso();
colordestroywrite();
}
else
{
echo("ColorDelete() - Error opening the .bls file "@%file);
}
%fileObject.delete();
}
else
{
echo("ColorDelete() - Error locating the .bls file "@%file);
}
}

function ColorDestroyWrite(%file)
{
%obj.save(%file);
}

function DeleteColorSO(%this)
{
LineSO.delete();
}

Since I'm making a topic and know this isn't the best way to do this, you might as well tell me a better option if you know one.

So
1) Tell me what I did wrong with this code
2) Tell me how else I could go about doing this

42
Suggestions & Requests / Destroying Bricks of the same color
« on: May 07, 2011, 02:48:27 PM »
Yes, another simple idea.

Works just like the fillcan, except bricks of the same color are destroyed.
I would like this very much.

43
Suggestions & Requests / Long-Range Painting
« on: May 05, 2011, 09:22:11 PM »
The idea is simple, be able to paint things from far away.

I like the concept of it being a "Paintgun", with a model and such, but that's not really necessary. It could be a default paintcan edit, or just a command to turn the brick you are looking at into a certain color from a distance. It would also be cool if it were a continuous stream/fire.

I know this seems lazy, but I need this for one of my multiple projects.


Things you should not say after reading this topic:
   -Use Fillcan!
   -Don't be lazy, paint it manually
   -I want it to be a paintball gun like this! (picture)
   -I have a copy of a script like this, but I won't give it to anyone!

Things you should say after reading this topic:
   -Oh, somebody already made this, let me a get a link for you.
   -I'm working on something like this, it will be released.
   -Great idea, I'll make one right now!

Things that you can say after reading this topic:
   -I support!
   -Good idea!
   -Great idea!
   -I love you Trey!
   -Bump!

44
Modification Help / Making and reading a list easily
« on: April 10, 2011, 11:46:19 AM »
How would I go about making a list of values that could be continuously added on to and read?

For example, I could type

/Set Treynolds416 dog
/Set (Other player) cat
/Set (Other player) mouse
/Set (Other player) human

then type

/WhatIs Treynolds416

And have the script return "dog"



Is there an easier way to do this without using FileIO?

45
Modification Help / Help with discerning a brick's position
« on: March 26, 2011, 01:19:32 PM »
Basically, look at a brick, type a server command, and have the coordinates of a brick presented to you.


Lilboarder's attempt (modified by me) worked perfectly, but only for basepates. Otherwise, the function did not seem able to find the object.
Code: [Select]
function servercmdobjtest(%client)
{
ClientCmdCenterPrint("You activated the function", 3);
%obj = %client.player;
%scale = vectorScale(%obj.getEyeVector(),100);
%ray = containerRaycast(%obj.getEyePoint(),%scale,$Typemasks::fxBrickObjectType);

%brick = firstWord(%ray);
messageClient(%client,'',%brick.getPosition());
ClientCmdCenterPrint("It probably didn't work", 3);
}



Iban's attempt was a lot more cleaned up and user friendly, although it didn't work at all. Everytime I called the function, I would always get "Look at a brick, dummy". After some testing, I determined that the function never actually found the object, for whatever reason.
Code: [Select]
function serverCmdObjTest(%client)
{
%obj = %client.player;
if(!isObject(%obj))
{
%client.centerPrint("\c5Spawn first, dummy.", 2);
return;
}

%fvec = %obj.getForwardVector();
%fX = getWord(%fvec, 0);
%fY = getWord(%fvec, 1);

%evec = %obj.getEyeVector();
%eX = getWord(%evec, 0);
%eY = getWord(%evec, 1);
%eZ = getWord(%evec, 2);

%eXY = mSqrt((%eX * %eX) + (%eY * %eY));
%aimVec = (%fX * %eXY) SPC (%fY * %eXY) SPC %eZ;

%range = 100;
%end = vectorAdd(%start, vectorScale(%aimVec, %range));
%masks = $TypeMasks::FxBrickAlwaysObjectType;
%col = firstWord(containerRayCast(%start, %end, %masks, %obj));

if(!isObject(%col))
{
%client.centerPrint("\c5Look at a brick, dummy.", 2);
return;
}
messageClient(%client, '', "\c5BRICK POSITION\c6:" SPC %col.getPosition());
echo("BRICK POSITION:" SPC %col.getPosition());
}

Any help would be appreciated greatly.

Pages: 1 2 [3] 4