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

Pages: 1 2 [3] 4 5 6 7 8 ... 27
31
Modification Help / How to require sound downloading.
« on: February 16, 2016, 03:45:00 AM »
You could do the same thing with textures (I assume) with <bitmap> and a center print, if anyone wants to have a go at that.
Music can be done in a similar fashion.

If you use this, please change the filename and datablock name.

I decided against posting this in the Addons forum as this does require modification to achieve its purpose. Think of it as a library.

Code: [Select]
$ServerSoundRequirementMsg = "I have heard this audio clip.";

function normalizeString(%str) {
return strLwr(stripChars(%str, "!@#$%^&*()_+-=[]{}\\|;':\",./<>?”“–"));
}

datablock AudioProfile(UniqueSound6iJu4)
{
filename = "./unique_sound_6iJu4.wav";
description = AudioClosest3d;
preload = true;
};

function GameConnection::loopSoundRequirementMessage(%this) {
cancel(%this.LSRMSched);
if(!%this.hasDownloadedSounds) {
%this.LSRMSched = %this.schedule(6000, loopSoundRequirementMessage);
}

%this.play2D(UniqueSound6iJu4);
}

package requireSoundsPackage {
function GameConnection::spawnPlayer(%this) {
if(!%this.hasDownloadedSounds) {
%this.loopSoundRequirementMessage();
return;
}

return parent::spawnPlayer(%this);
}

function serverCmdMessageSent(%this, %msg) {
if(!%this.hasDownloadedSounds) {
%normalized["req"] = normalizeString($ServerSoundRequirementMsg);
%normalized["msg"] = normalizeString(%msg);

if(%normalized["req"] $= %normalized["msg"]) {
%this.hasDownloadedSounds = 1;
%this.spawnPlayer();
cancel(%this.LSRMSched);
return;
}
}
return parent::serverCmdMessageSent(%this, %msg);
}
};
activatePackage(requireSoundsPackage);

https://www.youtube.com/watch?v=vMdq1o-AkkY&t=0m27s
https://www.dropbox.com/s/g2coa2ldffecpcy/Server_RequireSounds.zip?dl=1

I can add more onto it if need be, this is moreso a proof of concept.

32
Drama / The Titanium (ID 3898) "i don't care lol i'm tired"
« on: February 13, 2016, 03:24:17 AM »
Just a warning to anyone considering him as an admin in the future. I understand it's 10 minutes.

http://pastebin.com/E5FJ4GEY
http://imgur.com/a/XN1d4


33
Music / [GUIDE] How to make Blockland-compatible music files
« on: February 13, 2016, 02:23:09 AM »
From seeing dcseal's help topic, I figured why not and just make an entire guide on how to do things correctly.

Things I will not mention in this guide:
  • How to workaround the mono/single channel requirement
  • How to bypass the 1MB filesize limit
  • Alternatives to Audacity (at least for right now. FL Studio's Demo actually works rather well (as an example), but it's overkill for looping)
  • How to obtain the audio you want to loop



So, first off, download a free, open source program called Audacity.
Any version should be fine, but this guide will use version 2.1.1.
Also note this guide applies to OS X and Linux users as well.


Next, you more than likely need the FFMPEG library.
Follow the instructions on that page, and Audacity should be able to import MP3, M4A/AAC, etc. files you're probably using as a source file to loop. If LAME is also a requirement (if MP3 doesn't work), the instructions to install that are here.


So now that Audacity is ready, import a file you wish to loop.

If you want to follow along with the same file I'm using, you can grab it here. It's CC-BY-NC licensed, and free to distribute (plus it's mine).


Before we start, there are a couple of Blockland limitations we need to remember:
  • Loops must be under 1MB (1,024 KB) in size.
  • Loops must not be full songs.
  • Loops must be mono (single channel).


Now that we've imported our file, you'll see something like this:

...which is a waveform of the audio file we just imported.
If importing fails and you're using a valid audio format, check the first few steps and make sure you've installed everything you need to. Restart Audacity as well in case you installed something while Audacity was running.


To make a selection, simply click and drag on the waveform.

You can also click on any part of the waveform, and drag left or right from the line that will appear. This is more useful for precise selections.


Your selection is noted by the darker background behind the waveform.

If you need to zoom in or out, hold down Ctrl and use your mousewheel. You will zoom in or out on the location of your mouse cursor. The zoom tool will also work, but is less efficient.

As a tip: try to start your loop on the start of a beat (or measure, whichever nomenclature you prefer). Kicks generally start off as a large spike in a waveform with a spaced out tail:

Not all music is like this, some rhythm is needed if you want to produce a seamless or nearly-seamless loop, along with basic music knowledge (e.g. how many beats per measure; being able to count "1, 2, 3, 4" to a beat, for example. Nothing big.) Just start your loop when you would say "1."
(There are exceptions to this, however. I'll explain that further down the guide.)


Once you've found the spot you want to start your loop from, zoom out and press the green Play button.
The viewing area of the waveform will automatically move to what's being played, potentially disorienting you, but usually doesn't happen so long as you zoom out enough.
Let it play until you find the spot you want your loop to end at, and drag the right side of your selection to roughly where you want your loop to end.



Zoom in on the starting point and ending point of your selection to make sure it's precisely where you want it. Drag the selection edges in either direction to modify it.
To preview a small section of the waveform, you can click and drag in the ruler above it. This will not cancel your selection.


To preview the entire selection, hold down Shift, and click the Play button again. This will loop the selection over and over until you stop it.
You can also export the selection to play back in an audio player with proper looping support (e.g. XMPlayer, also free, but closed-source) (see the guide further down).


Once you feel your loop selection is done, now is the time to fix some issues.

First, lower the volume on the waveform to -6dB. This will prevent clipping issues when you split the two audio channels to mono.

If you play around a bit and mute 1 channel, and decide it sounds better, you can increase the volume back to 0dB on the audible track.


I understand some may be "pls best quality pls," but please be wary of Blockland. Music files take a long time to download, and reducing the quality as far as possible while still remaining decent enough can help download times quite a bit.
Reduce the Project Rate to 32000. This will export the loop as 32kHz audio, instead of 48 or 44.1kHz, which is unnecessary for Blockland loops.


The audio is still stereo, but it's relatively easy to fix.
Next, on the dropdown menu for the waveform, select "Split Stereo to Mono". This will split the audio channels into separate tracks.
Be warned that the selections are also separate now. Do this part last before exporting the final loop.

EDIT 2/13/16: THIS DOES NOT MEAN YOU WILL HAVE ONLY ONE CHANNEL! Both channels are still present! Experiment with muting one channel and see if the other sounds better in case something sounds off. You may come across something called phase cancellation/inversion (destructive interference) when using both channels.


Now for exporting our loop.
Head to the File menu, and select "Export Selected Audio...".


Navigate to your Blockland Music Folder.
  • WINDOWS:
    • Steam Users: X:/Program Files (x86)/Steam/steamapps/common/Blockland/Add-Ons/Music (may vary depending on your Library location)
    • Non-Steam Users: Documents/Blockland/Add-Ons/Music
  • LINUX: /home/$USER/Documents/Blockland/Add-Ons/Music (this may vary depending on your WINE prefix)
  • OS X: (I uh... don't have anything with OS X on it, you probably know where if you use it. Sorry :( )

Set the "Save as type:" dropdown to "Ogg Vorbis Files"


Click on the "Options..." button and slide the quality all the way to 0.


Make sure your filename contains NO SPACES.
Use underscores in their place! For example: change TheBlackParrot - Neptune to TheBlackParrot_-_Neptune. Your loop will not work if an invalid character is present in the filename!

Save your loop.

Make sure no metadata is present in the file. This is just unneeded filesize increases. Press the "Clear" button.


Press "OK," and you should be done!
Enjoy your newfound looping abilities!


The loop created from this guide is available here.




As stated before, some music is much more difficult to loop. If you've heard the correct "nicklolback" loop (not the one New Years 2016 replaced), you probably noticed it starts off in an odd spot, but still seamlessly loops. (http://blloops.theblackparrot.us/loops/nicklolback.ogg)
This is because instead of focusing the loop selection on beats, I instead tried to find spots in the audio that were almost an exact clone of each other that still flowed perfectly.
It's a seamless loop, you can't tell where it starts and stops. But it's not focused on a beat.




if there's anything wrong or something I can add pls do tell
keywords: how to make music, how to loop music

34
Gallery / blockland lighting
« on: February 10, 2016, 04:14:26 PM »
https://www.youtube.com/watch?v=yL0Ovpd-hqs
isn't it great

EDIT: trying to show that glowing bricks without shaders are affected by environment lighting

35
Off Topic / Vine Megathread
« on: February 09, 2016, 03:46:14 AM »
we didn't have a megathread for these? huh



Vines are 6 second long looping videos, that's all there is to them.

https://vine.co/

An example vine:
https://vine.co/v/eHOrp19KVpm

Blockland users on Vine:
TheBlackParrot

Plant vines don't count, but you guys are cheeky so you'll post them anyways

36
Off Topic / i had a hard drive fail
« on: February 04, 2016, 05:08:31 PM »
so i had a hard drive fail, windows was on it
so i copied it over to a working one, redid the MBR, etc. yada yada

aaaaaaand i'm now dealing with how terrible this operating system is. i can't run anything except for maybe 3 system programs, and nothing will run as an administrator
it's so bad that it's creating a temporary user even though it knows i'm logged in as myself

like look at this stuff


essentially what's going on:
C: is no longer being assigned. the new copy of C: is being assigned H:. the old C: drive is dead. windows is too stupid to realize this is a system drive and nothing is being assigned C:. microsoft is too incompetent to bother with UUID mounting.

EDIT: i do know i need to edit the registry to fix it, but that's rather difficult considering windows doesn't know it exists.

37
Music / Loop Directory source
« on: February 01, 2016, 07:35:09 PM »
https://github.com/TheBlackParrot/blockland-loop-directory

I figured some of you might've wanted the source to my loop dump page.

Only requirement is ffmpeg (ffprobe) out-of-the-box, and a webserver with PHP.

Loops are in /loops, and I left cache.db in just so an example of what's being cached could be seen. Everything configuration-wise is in index.php, although if need be, I can update it to use a configuration script (there's really not that much to configure anyways).

(wasn't sure where this would fit)

Demo: http://blloops.theblackparrot.us

38
Add-Ons / Morse Code Events [v1.0.0-1]
« on: January 27, 2016, 02:00:02 AM »
-.-. .-.. . ...- . .-. / --. .. .-. .-.. .-.-.-

Make beeps and bops with meaning.

https://blocklandglass.com/addon.php?id=267

39
General Discussion / Colorset editor [new RGBA sliders!!!]
« on: January 26, 2016, 01:18:40 AM »
http://theblackparrot.github.io/blockland-colorset-editor/
It's a colorset editor entirely contained within a webpage. why not.

To import a colorset, extract colorSet.txt out of colorset packages, or use config/server/colorSet.txt in your Blockland folder to use the colorset that's active on your server.
No this will not update it live in game.


* I don't know how well this functions in IE or Edge. Chrome (and probably Safari and Opera) and Firefox should all work.

GitHub repository if anyone wants to look at the source: https://github.com/TheBlackParrot/blockland-colorset-editor

40
The old one I made was bad and it really started to bother me
so i redid it







I still need this to be tested, so I'm releasing it now to get bugs/etc. out and to add any last-minute suggestions I couldn't think of.




v0.2.0-1
 - Added the ability to use custom strings. You can now reorganize chat any way you wish to.
 - Servers can now override strings (and settings) per-client %client.CCOverrideData or server-wide $Pref::Server::CustomChat::Override.
 - Added a chat message counter (%i%, only accessible in custom strings right now)

v0.1.1-1
 - Fixed Slayer's dead chat not being interpreted as a chat message
 - Fixed chat being duplicated in the console if the option to echo was on while hosting a server
 - Slayer color name override is now optional
 - Admin cache will now update when someone's rank is changed
 - Portions of the GUI have been separated to allow easier updating/etc.

v0.1.0-1
 - Added a swear word filter, applies to all messages regardless if it's regular chat or not
 - Added an alpha/opacity slider for shadow color
 - Allow Slayer to override name colors if team colors are enabled in a minigame
 - Tagged string IDs are now sent with chat messages as per default chat (%fmsg)
 - Added an auto-punctuation toggle
 - Fixed chat messages involving Slayer + names recolored to a player's team not being interpreted as a chat message

v0.0.1-7
 - Support_Updater support
 - Fixed bug with Slayer(?) chat modifications

v0.0.1-6
 - Fixed colors not being updated correctly in profiles
 - Fixed tagged strings not related to chat improperly rendering as a standard chat message (e.g. onActivate > Minigame > chatMsgAll > "test")

v0.0.1-5
 - Fixed font and color tags not being stripped in specific use cases
 - Fixed ranks not showing up for ranked users in minigames

v0.0.1-4
 - Fixed conflicts with other addons using RGBToHex

v0.0.1-3
 - Fixed Admin/Super Admin Rank fields accepting color tags
 - "Example Chat" is now hidden in the options menu
 - Timestamps are no longer forced to 12-hour mode
 - Message blip mode settings were corrected in the GUI
 - Filename changes for sounds now take effect upon saving settings
 - Font sizes can no longer go over 64
 - The window now initially starts on the Appearance tab
 - Colors are reset to ""\c0"" when timestamps are visible on all messages (\cr and \co do not work, had to resort to conerting fontColors[0] to hex)

v0.0.1-2
 - The GUI editor likes to give "Button" as the text for buttons when you set them as blank. Fixed.


Known Bugs
none so far

Plans
 - Host rank (v0.2.1-dev1)
 - BLID tags (v0.2.1-dev2)



String replacers: https://github.com/TheBlackParrot/blockland-chat-customizer-rewrite/wiki/Custom-String-Replacers
String examples: https://github.com/TheBlackParrot/blockland-chat-customizer-rewrite/wiki/Example-Strings

41
Suggestions & Requests / Default color for \c9?
« on: January 24, 2016, 01:48:04 AM »
I'm probably nitpicking a little bit here, but how come \c9 isn't used in chat? I can see brown or orange being used here.
I know how it can be fixed client-sided, but I'm just wondering why it's not used by default.

42
Modification Help / Get striPos to move to the next instance of a string?
« on: January 23, 2016, 10:24:38 PM »
Code: [Select]
function sanitizeFontTags(%string) {
while(stripos(%string, "<font:") != -1) {
%start = stripos(%string, "<font:");
%end = stripos(%string, ">");

%toRemove = getSubStr(%string, %start, %end - %start);

%string = strReplace(%string, %toRemove, "");
}

return %string;
}

getSubStr(...): error, starting position and desired length must be >= 0: ([source string],9, -3)

SMF doesn't show a couple of characters in the source string:

I know stripMLControlChars exists, but it also strips out color tags. I just want font tags stripped.
If I can get striPos to move to the next instance of ">" (until %end is greater than %start), this should work fine. I just don't know how I should approach it.

43
Off Topic / speedrunning duke nukem 3d
« on: January 01, 2016, 03:59:40 AM »

44
General Discussion / Jailbreak Development [cancelled]
« on: December 28, 2015, 11:54:11 PM »
-revised OP-

So I miss Crown's Jailbreak server, and I figured I'd recreate it and release it once we can get it to a finished state.
Anyone can help build for the default map as long as you ask me. The server is on an ID whitelist because I hate passwords and wish they would die.

I am also taking other maps people can build for the server. It doesn't have to be a prison either, so long as the map is using a "leaders / followers" kind of atmosphere.

If there are any suggestions to change about the gamemode, or things we can add to it, please feel free to let me know. I'm trying to make it as expansive as possible to use.

45
General Discussion / Freebuild Server
« on: December 24, 2015, 08:35:39 PM »
I have nothing really in mind that I can host right now, and I figured I'd just host a freebuild in the meantime.

I'll post some screenshots of noteworthy builds if any appear on the server.

There's a moderate amount of addons, moreso in the brick and event category. Architectural Revised is the colorset being used.

JOIN (...something broke blockland:// URI schemes, use the server list)

Pages: 1 2 [3] 4 5 6 7 8 ... 27