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

Pages: [1] 2 3 4 5 6 7
1
Add-Ons / [Server] No Chain Kills
« on: August 14, 2023, 05:35:05 PM »
chainkills: When you destroy a brick, and all of the unsupported bricks connected to it are also destroyed.

Add-ons such as the Floating Bricks add-on allow you to place bricks in mid-air, but don't give support to all connected bricks.
This may lead to situations where a stray hit of "Ctrl+Z" causes your entire building to be destroyed.

This add-ons modifies the Hammer, New Duplicator Undo, and Default Undo command to destroy bricks without causing chainkills.
The wand and destructo wand are unaffected, as causing chainkills is their primary purpose.

Download: https://leopard.hosting.pecon.us/dl/nylxy/Server_noChainKills.zip




v1.01
   + Fixed bug with undo stack head not moving if no trust on undo brick.
   + Added trust check when undoing duplications, to account for possible brick ownership changes.
v1.02
   + Optimized New Dup undo to use normal killbrick() when appropriate
   + Added case to delete bots faster upon brick removal

2
I am reposting this because all of the images broke.  And someone is interested in it.

Please note, Blender has had a major update since I created this script.  I am told it will not work in the latest version of blender.



LegoPepper wanted to know how to use export.py from my recent project of porting Kitchen to v21.

About export.py

export.py from kitchen is the second version of the second rewrite of a mass exporter script for exporting collision shapes from blender.
It was made specifically for this project, to get around the limitations presented by Blockland's collision system.
Because of that, it should not be considered a general purpose tool.
I highly recommend modifying it, or taking pieces from it, to serve your own purposes.

Here is a commented picture outlining the various sections of the code and what they do.


You can download export.py here: https://leopard.hosting.pecon.us/download.php?f=cxinn

Using export.py

Requires Blender 2.78 and port's dts exporter.
Create a blender project with some visual shapes, and some collision shapes.

start blender


delete beginning cube


save as


create a new folder in blockland addons


name it


name and save file


copy export.py


into our new folder


there it is


Don't forget to create the shapes folder!

create a folder


name it shapes


let make a cube


there it is


rescale to 4. (S, move mouse, 4, return)


duplicate the shape (shift+D, hold middle mouse+movemouse, 0, return)


there it is


rescaling using the object properties (on the right, click, 2, tab, tab, 2, return)


let's make this easier to see


some more rescaling (click, 5, return)


now to use a modifier, we want to take cube.001 out of cube to leave cube with a hollowed out middle


selecting boolean


selected Difference, and Cube.001


apply the changes


delete the cutting object


there she be.  now we have to do collision


hit tab to enter edit mode.  it looks like some of the faces use more than four points, which blockland can't handle
the easiest way to deal with that is to triangulate the faces



done.  now we want to separate pieces of it off to use for collision.  the pieces we select will be turned into convex shapes.
selected a chunk of it



duplicate the selected piece (shift+d, hold middle mouse+move mouse, 0, return)


see how our selection isn't connected to the rest of the shape?
now we separate by selection (P, click)



i did the same for the other four sides, note the object list on the right
now we need to make these into convex collision shapes



delete edges and faces (A, A, delete, click)


they're all gone


now we fill in some new faces with the convex hull tool (Ctrl+V, click)


der we go


now we center the object on it's geometry so that the object bounds isn't all funky when we export (Ctrl+Shift+Alt+C, click)


I select bounds center for consistency, but median center will work too


i did the same process for the other three shapes



Now we have our shapes.



Name the collision shapes beginning with "col" so that Blockland doesn't freak out every time it tries to load them.
Name the visual shapes however you want.
Do not use dashes or other special characters in your object names.  Blockland uses these names to create datablocks.
You can use periods if you want.  export.py will automatically turn those "." into "DOT" when writing the script files.



Put the collision objects in a group.  You can use Ctrl+G to create a new group.  You can also use this button here:



Name the group "Collision-1".
I believe the name must be exact.




You can add objects to an already existing group by clicking here:


i did this for the other three collision shapes



Put the visual objects into another group.
Name this group "detail32"



Change your view to "Scripting" mode.




Load export.py





Modify the last line to reflect the location of your project.




Save the modified export.py



Save your project in case something get's messed up.



Click "Run Script"



View the changes in your project folder.
our script files


our shape files



Start Blockland, and test out your automatically generated map.
ho boy, my favorite game


.....


ahoi!


new game


custom


select your map
if it's one of my maps, you can only run one at a time



addons submit!


lan mode so we don't disrupt


loading


loading


loading


there it is!


it's in the ground because it was centered on 0,0,0
we could move it up in blender and reexport



but let's at least look at the bottom part


advanced


for


translucence


there it be


ow


it's a little stuck between the invisible ground and the object, but at least it didn't go through




If you run into problems, Blender has a console you can view by going to Window > Toggle System Console, and the source code for export.py is right up there ^.  While writing this tutorial, I forgot to make a shapes folder.  So blender screamed at me there was an error, and left a DETTEMPSHAPE in the object list.  That's just how things go sometimes.
:panda:

3
Add-Ons / New Duplicator 1.6.2 + Minor Bugfix
« on: January 04, 2020, 11:11:07 PM »
I posted this before, but the links are out of date and I can't modify it.  So I'm posting it again.

I found a minor bug with the New Duplicator.
Quote from: server.cs
Tool_NewDuplicator/scripts/server
Line 192 =     $Pref::Server::ND::FillBricksAdminOnly = %fillBricksAdminOnl;

%fillBrickAdminOnl should be %fillBricksAdminOnly

This bug causes the /fillBricks command to revert to being non-admin-only after any server restart.
I talked to Zeblote about the bug and he was unwilling/unable to update the live version.

If you are having issues with this bug, you can probably fix it yourself, or you can download a fixed version here:
https://leopard.hosting.pecon.us/dl/johyr/Tool_NewDuplicator.zip

4
Suggestions & Requests / Suggestion: Fix ModTer 8x CornerC Steep
« on: August 31, 2019, 10:45:27 AM »
A 10 should be a 20, but it's not so one of the faces looks forgeted up.
Attached is a fixed blb.  Goes in Add-Ons/Brick_ModTer_BasicPack/Bricks/8cCCSteep.blb

Had to change it to .txt cause it won't let me upload a .blb.  whatever...

5
General Discussion / I want to host a race
« on: August 30, 2019, 12:35:46 PM »
Sunday, Sep. 8th Schedule
All times are in Pacific Time
ThingTime
Early Setup07:00 AM
Building Starts07:30 AM
Snack Break09:00 AM
Racing Starts09:15 AM
Lunch12:00 AM

I can host on Sundays.

Im working on a collision pack for ModTer so we can use big jumps.  Its at like 10/152 right now.
After that i need to make an easy to use checkpoint system.  Im thinking just a scripted brick.  You place it down and give it a name like CHECKPOINT 5.  Then the scripted stuff takes care of the rest.

Floating bricks is a must.  As is vehicle events.  Scifi particles, weather particles.  Default bricks + Modter.
Itd be nice to get some more prints for modter.

For weapons, im not sure.  I dont want people dieing and sitting out too much.  So maybe just the pie weapon, spear, that sort of thing.

For vehicles, drift jeep, drift turismo, FROG.  Theres a plane, what was it, the JABO(Corsair)? Idk.  I would like suggestions for this, i havent been watching the new vehicles that come out.  Im looking for stuff that is fun to drive.


Edit:
No interest huh? aight.  I guess the school year is starting or something.

6
Add-Ons / Better Brick Collision [KotaiCol]
« on: August 22, 2019, 03:42:41 PM »
This add-on puts server-sided static shapes inside of Blockland's default bricks.
The static shapes are created in a way where they have better collision than any bricks I know of.

There were some issues with lag at first.  But those are fixed now.
Here is a video, testing it with the magic carpet.

Download: https://blocklandglass.com/addons/addon.php?id=1151

Project Topic: https://forum.blockland.us/index.php?topic=324130.0

7
General Discussion / Better Brick Collision Project [KotaiCol]
« on: August 13, 2019, 12:14:28 AM »
This project is dedicated to creating better collision for all default bricks.

I want to make the collision better so that I can make racing maps out of normal bricks and I don't have to worry as much about players getting stuck or driving through walls.

To do this, I am putting a static shape "core" inside of each brick just after it is planted.
The static shapes are scaled down to half of their original size, in my experience this gives the shape better collision.

The cores must be smaller than their bricks so that a player can hit the brick with a wrench or other tool without hitting the core.

I chose to inset the core by 0.1 units.
Insetting the core by 0.005 units will lead to most vehicles violently bouncing off of the brick.

There are some costs to using static shapes for bricks collision.  Most of these are related to lag.
   At ~5000 shapes my computer drops just below 60 fps.
   At ~11000 my computer sits at around 17 fps.

I have a method of reducing this lag.
If a client does not know that a static shape is in the scene, the client does not have to perform any calculations for it.
These cores are meant to halt high speed collisions.  During normal play, they do not need to be sent to the client.

I have two ways to stop the server from sending these cores to the client.
Option 1 is a glitch.  If I set the engine to always send the core to the client, then remove the core from the "list" of things to send to new clients, new clients will not receive the core.
It's a glitch, it's hacky, and it requires that clients rejoin the server every time a new map is loaded, or over 5000 new bricks are planted.
Option 2 is a DLL.  A hacked server must load a DLL which allows me to set the core to not be sent to any clients.  Specifically, the SelectiveGhosting DLL by Zeblote.

I am currently taking advantage of option 1 for my testing.
As for option 2, I do not believe the BlocklandLoader hack by port has been updated to the latest version of Blockland yet.
Ideally, the elements of SelectiveGhosting would be present in Blockland by default.  I made a post to this effect in Suggestions and Requests, but it hasn't received much attention and I have no way of knowing if Badspot even reads that board anymore. :x


Currently I have finished the collision for Bricks, Plates, and Rounds:


I intend to finish the rest of the default bricks(Special, Ramps, and Baseplates) before tackling the default brick Add-Ons:


As far as testing goes:
   The Jeep
      Seems to have an easier time rolling over these bricks.
      Turning towards a brick while driving at speed does not allow the jeep to go through the brick anymore.
      High speed collisions will now cause the jeep to bounce off or stop.
      It is still possible to get stuck in a brick.
      It is still possible to trigger a violent blowback.
   The Magic Carpet
      You can still get stuck.
      You can still get bounced back.
      But you can't get through.

8
Suggestions & Requests / Selective Ghosting for Default Blockland
« on: July 31, 2019, 09:11:46 AM »
Making a client aware of too many renderable objects will lag the client.

I can use selective ghosting to remove some unnecessary objects from the list of things to render.

I can use selective ghosting to:
    Create large, complex maps without lagging any clients.
    Create bricks which have an extra layer of impenetrable collision without lagging the client.
    Create 3D gui elements specific to one client.


Badspot, please add the functionality of Selective Ghosting so I can share cool stuff without asking users to download a hacked version of the game.
The source for the selective ghosting DLL can be found here:  https://gist.github.com/Zeblote/c6764e924eadea2bf71165c2d1046ffe

9
Modification Help / Moving Platform
« on: June 15, 2019, 06:49:18 PM »
https://www.youtube.com/watch?v=hvAuiJtXKQA

I made a moving platform you can ride.
https:// leopard.hosting.pecon.us/dl/gwbiu/Shape_Keter.zip
https://leopard.hosting.pecon.us/dl/filir/Shape_Keter.zip

10
Add-Ons / N&C Admin Orbs [Epic Orb]
« on: December 31, 2018, 10:26:01 PM »
I mixed Epic Orb by Demian with this Colored Admin Orb mod(by DrenDran).
I think it looks pretty cool!


Admin

SuperAdmin

Host

Download:  -snip-

I was bugged about a bug w/teleporting in a vehicle.  So I fixed it.
Here is the new version: https://leopard.hosting/dl/lvpki/Script_ColoredAdminOrbsDG.zip
https://leopard.hosting/dl/ajgvx/Script_ColoredAdminOrbsDG.zip

11
Add-Ons / [Map] CS_Nuke
« on: December 23, 2018, 10:49:32 AM »
Datiel already ported this map a while back:

I kept getting caught on the walls due to bad collision and I wanted to use this map for a deathmatch.  So I redid the collision and fixed some issues with the visual mesh.
This took about 10 days to finish. That includes a 3 day break to clear my head after finishing the collision.

Pictures:












Download: https://leopard.hosting/dl/aleej/Map_CS_Nuke_DG.zip

12
General Discussion / Happy Thanksgiving
« on: November 22, 2018, 04:25:38 AM »
Happy Thanksgiving!

13
Modification Help / Map Inspiration
« on: November 18, 2018, 06:13:12 AM »
not really a need to since I kinda lost interest and don't have any ideas. If I did have something to port i'd port it but I did what I wanted/could do.
This is kinda how I've felt since porting Kitchen.  I've tried out a few new technologies.  But I don't have inspiration for anything specific.


Maps can be used to create an atmosphere.  They're basically just freeform scripting with an environment in mind.
Technologically, they can spread beyond bricks, but bricks CAN be used in a map.

I would suggest StaticShapes for static visual shapes, TSStatic for collision shapes, and Items for animated shapes.
The sky has various utilities for portraying the weather and things far off.  Extra stars and celestial bodies, extra layers of clouds, etc.
Rain and weather effects can be properly achieved through the use of physics zones.  But this does increase load on all clients.
Physics zones can also be used to emulate zero gravity, water, negative gravity, increased gravity, acceleration zones, etc.
Lighting is very limited.  There is a max of what- 8 light emitters on a client at once?  Forget about lights.
Shadows work with most of these technologies, but in the shade it becomes difficult to differentiate between surfaces.
The sun can move in real time.
The draw distance is limited to 1000 units.

I would abandon Selective Ghosting and it's derivatives (EnvironmentZones, WarpSpace, GhostAllBricks, GhostClose).  Afaik Selective Ghosting is no longer being updated with the main game.
That cuts out pretty much any option of multiple zones in a single map.  And without GhostClose, this also cuts down on the maximum size and complexity of a map.

So we've got visual shapes, collision shapes, pretty skies, rain and weather, physics effects, shadows, and an animated light point.

"Maps can be used to create an atmosphere.  They're basically just freeform scripting with an environment in mind."

So what sort of environment would you like to use?  As I said I'm kind of dead on ideas.  I need to get out more. :<

14
General Discussion / The Floor is Lava
« on: November 18, 2018, 06:09:37 AM »
I made something kinda interesting the other day.  It was a uh- "the floor is lava script".  Picture Afghanistan DM loaded, with lava filling the streets.  There are two points visible, a start and a finish.  You win a round by getting from the start point to the finish point.  After a round, the start/end locations are randomized.  You can build on anything, but it costs plastic, which slowly accumulates.  Weapons are 2 Molotovs and a pack of C4.  You can use the C4 to set traps.  The molotovs can be used to directly attack other players.

It was entertaining to test.  The C4 glitched out and broke pretty quick, but it was fun while it lasted.  The molotovs weren't very effective at doing direct damage, but the impulse from getting hit by one could knock and enemy into lava pretty easily.  We tried pushbrooms for a while, but they weren't very fun.  Way to powerful and easy to use in this environment.  Sort of a everyone loses sort of weapon.  Same goes for any ranged weapons.  The butterfly knife was fun for me as the host(no lag).  But in general melee weapons were just too powerful.  I think thrown weapons such as the pie and the spear are ok, but infinite ammo... eh.  I would limit it to 3 shots per life.  Else people will just sit at the spawn chucking pies at anything that moves.

Building ended up turning into 1x16 plates and the like.  Dunno how to make it prettier.  If I were to adjust the plastic mod a bit, I would adjust the cost of bricks on the Z axis.  a 1x1x5 costs 15 units, which is just too much.  It was created that way so that I wouldn't have to deal with decimals, but I just need to man up.

Tip and I played to 25 points.  He won, but we were neck and neck most of the time.  I can't count the number of times I dumped that forgeter into the lava.

...

15
Off Topic / Forum Karma
« on: November 12, 2018, 05:50:32 AM »
I've never seen it in use on a forum, though I know it comes with smf by default.

Why doesn't this forum have it enabled?

Pages: [1] 2 3 4 5 6 7