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 ... 4 5 6 7 8 [9] 10 11 12 13 14 ... 27
121
Modification Help / Coding highscores, and I'm currently stumped.
« on: April 17, 2014, 05:50:45 PM »
Code: [Select]
%count = 0;
while(!%file.isEOF())
{
%line[%count] = %file.readLine();
%count++;
}
%file.close();
%file.delete();

while(%count != 0)
{
%high = ""; // resetting the variable
for(%i=0;%i<%count;%i++)
if(getField(%line[%count],1) >= getField(%high,1))
%high = %line[%count]; // if the score is higher than the previously checked score, set %high to the new line

%data = new ScriptObject(HighscoreData)
{
bl_id = getField(%high,0);
score = getField(%high,1);
};
CrumbleHighscoreList.add(%data); // add that line to the set

for(%j=%i;%j<%count;%j++)
%line[%count] = %line[%count-1]; // and remove it from local variables

%count--;
}

Was wanting to just sort everything as it's added to the set.

Right now it's just adding lines to the set as it gets to them, e.g.
Code: [Select]
18701 456
28394 785
98404 256
102931 1023
39303 493
39485 394
4742 125
would output that in reverse, and minus the last line

123
Off Topic / Streaming Stepmania
« on: February 11, 2014, 11:05:02 PM »
I use a 360 controller fyi

http://tbp.pecon.us/live

125
Creativity / I've been getting into Blender lately; cubes happen.
« on: January 28, 2014, 04:20:55 PM »

https://drive.google.com/file/d/0B6pyzUUO0nddZ3F6WWtjT0dQaFU/edit?usp=sharing
42 minutes to render on a GT 640; unsure if anything CUDA wise was being used


https://drive.google.com/file/d/0B6pyzUUO0nddejQtdTNybnF1MWc/edit?usp=sharing
First time rendering in Cycles.


https://drive.google.com/file/d/0B6pyzUUO0nddRWZxU2dUc2IwN2M/edit?usp=sharing
Tried some indirect lighting thing I looked up. First rendered Blender project, as well.

cubes are great.

I want to try making something like this, but I have no idea where to start.

126
Off Topic / Streaming Audiosurf 1
« on: January 23, 2014, 10:54:20 PM »
http://tbp.pecon.us/live/
choose the Twitch stream

practicing Double Vision with Mono modifiers, grays are on.

127
Off Topic / i'm terrible with website content
« on: January 18, 2014, 01:59:23 PM »

what should be under the video

help pls

128
Off Topic / Streaming on Twitch, bored as hell
« on: January 17, 2014, 10:12:50 PM »
http://twitch.tv/theblackparrot

playing brawl, may switch to some others idk

129
General Discussion / TheBlackParrot's Core Defense
« on: January 17, 2014, 04:19:09 PM »
TheBlackParrot's Core Defense

The goal of this gamemode is to simply guard the blue core in the center of the map from the waves of zombies heading towards it. Failure to keep it stable will result in the game ending.

You can build up your own defenses, literally build them, and buy upgrades to the core and to your weapons.












(currently offline)

130
I'm trying to get a simple collision detector that will be on a flat plane for a gamemode I'm working on (onPlayerTouch isn't doing what I need it to fast enough with multiple triggers).



I need the middle of those sides to be 12 like the corners are, but I'm clueless on how to do that.

Code: [Select]
function Player::checkVector(%this)
{

%brick = _test;

%pos = getWords(%this.getPosition(),0,1) SPC getWord(%brick.getPosition(),2);
%dist = vectorDist(%pos,%brick.getPosition());

return %dist;
}

Or if there's some function that doesn't apply to the onPlayerTouch delay, that would be fine too.

131
Games / Awesome Games Done Quick 2014
« on: January 06, 2014, 03:45:45 PM »
Kinda shocked not to see a topic yet, hm.

http://www.twitch.tv/speeddemosarchivesda

Schedule -- http://gamesdonequick.com/schedule

132

I've knocked it down to using only one core for the sake of everything else that's running, hence it not being able to hit an even higher number. There's only 15,624 bricks at the time of this post, I don't think that would cause a major issue.

I've done /cancelAllEvents as well.

$AddOn__Bot_Blockhead = 1;
$AddOn__Bot_Hole = 1;
$AddOn__Bot_Horse = 1;
$AddOn__Bot_Shark = 1;
$AddOn__Bot_Zombie = 1;

$AddOn__Brick_1RandomPack = 1;
$AddOn__Brick_Arch = 1;
$AddOn__Brick_Checkpoint = 1;
$AddOn__Brick_Christmas_Tree = 1;
$AddOn__Brick_Deletion = 1;
$AddOn__Brick_DemiansBB = 1;
$AddOn__Brick_DemiansBB2 = 1;
$AddOn__Brick_DemiansBB3 = 1;
$AddOn__Brick_DetailTrees = 1;
$AddOn__Brick_Doors = 1;
$AddOn__Brick_ExtraArches = 1;
$AddOn__Brick_ExtraRamps = 1;
$AddOn__Brick_Fence = 1;
$AddOn__Brick_ForestTree = 1;
$AddOn__Brick_Glass = 1;
$AddOn__Brick_Halfbrick = 1;
$AddOn__Brick_Halloween = 1;
$AddOn__Brick_InvertedCorners = 1;
$AddOn__Brick_Large_Cubes = 1;
$AddOn__Brick_Log = 1;
$AddOn__Brick_ModTer_BasicPack = 1;
$AddOn__Brick_ModTer_InvertedPack = 1;
$AddOn__Brick_Poster_8x = 1;
$AddOn__Brick_Round_Corners = 1;
$AddOn__Brick_ShortRangeMusic = 1;
$AddOn__Brick_SmallRampsPack = 1;
$AddOn__Brick_Sphere = 1;
$AddOn__Brick_Stairs = 1;
$AddOn__Brick_Teledoor = 1;
$AddOn__Brick_Treasure_Chest = 1;
$AddOn__Brick_V15 = 1;
$AddOn__Brick_Wedge = 1;
$AddOn__Brick_WedgePlus = 1;
$AddOn__Brick_WedgePrint = 1;
$AddOn__Brick_Window = 1;
$AddOn__Brick_Window_Prints = 1;
$AddOn__Brick_Zones = 1;

$AddOn__Emote_Alarm = 1;
$AddOn__Emote_Confusion = 1;
$AddOn__Emote_Hate = 1;
$AddOn__Emote_Love = 1;

$AddOn__Event_addRelativeVelocity = 1;
$AddOn__Event_Camera = 1;
$AddOn__Event_Camera_Control = 1;
$AddOn__Event_FireAtBrick = 1;
$AddOn__Event_FollowPlayer = 1;
$AddOn__Event_MessageBoxOK = 1;
$AddOn__Event_Minigame = 1;
$AddOn__Event_onAltActivate = 1;
$AddOn__Event_OnBotTouched = 1;
$AddOn__Event_onPlayerEnterVehicle = 1;
$AddOn__Event_onRapidActivate = 1;
$AddOn__Event_playSound = 1;
$AddOn__Event_Print = 1;
$AddOn__Event_PromptEvents = 1;
$AddOn__Event_setDamageFlash = 1;
$AddOn__Event_setEventTimeout = 1;
$AddOn__Event_setPlayerTransform = 1;
$AddOn__Event_SetPrintText = 1;
$AddOn__Event_SetRandomPrintNum = 1;
$AddOn__Event_Sit = 1;
$AddOn__Event_spawnHomingProjectile = 1;
$AddOn__Event_Tumble = 1;
$AddOn__Event_Variables = 1;
$AddOn__Event_Vehicle = 1;
$AddOn__Event_Zones = 1;

$AddOn__Item_Key = 1;
$AddOn__Item_Skis = 1;
$AddOn__Item_Sports = 1;

$AddOn__Light_Ambient = 1;
$AddOn__Light_Animated = 1;
$AddOn__Light_Basic = 1;
$AddOn__Light_Eksi = 1;
$AddOn__Light_Orb = 1;
$AddOn__Light_Small = 1;
$AddOn__Light_ZSNO = 1;

$AddOn__Particle_AdvancedLasers = 1;
$AddOn__Particle_Basic = 1;
$AddOn__particle_CasualBuild = 1;
$AddOn__Particle_FlowerPetals = 1;
$AddOn__particle_FoggyBuild = 1;
$AddOn__Particle_FX_Cans = 1;
$AddOn__Particle_Grass = 1;
$AddOn__Particle_Player = 1;
$AddOn__Particle_Prepper = 1;
$AddOn__Particle_Smoke = 1;
$AddOn__Particle_Tools = 1;
$AddOn__Particle_WaterColor = 1;
$AddOn__particle_WeatherBuild = 1;

$AddOn__Player_Fuel_Jet = 1;
$AddOn__Player_Jump_Jet = 1;
$AddOn__Player_Leap_Jet = 1;
$AddOn__Player_No_Jet = 1;
$AddOn__Player_Quake = 1;

$AddOn__Print_1x1_Checkered = 1;
$AddOn__Print_1x1_Default = 1;
$AddOn__Print_1x1f_DefaultPlus = 1;
$AddOn__Print_1x1f_DemiansArrows = 1;
$AddOn__Print_1x1f_v9buttons = 1;
$AddOn__Print_1x2f_BLPRemote = 1;
$AddOn__Print_1x2f_Default = 1;
$AddOn__Print_1x2f_DefaultPlus = 1;
$AddOn__Print_1x2f_ExtendedBlanks = 1;
$AddOn__Print_2x2f_Checkered = 1;
$AddOn__Print_2x2f_Default = 1;
$AddOn__Print_2x2f_ExtendedBlanks = 1;
$AddOn__Print_2x2f_MiniRoads = 1;
$AddOn__Print_2x2f_MoreDefault = 1;
$AddOn__Print_2x2r_Checkered = 1;
$AddOn__Print_2x2r_Default = 1;
$AddOn__Print_2x2r_Monitor3 = 1;
$AddOn__Print_2x2r_MoreDefault = 1;

$AddOn__Print_Letters_Default = 1;
$AddOn__Print_Letters_Extra = 1;
$AddOn__Print_ModTer_Default = 1;
$AddOn__Print_Poster_Tutorial = 1;

$AddOn__Projectile_GravityRocket = 1;
$AddOn__Projectile_Pinball = 1;
$AddOn__Projectile_Pong = 1;
$AddOn__Projectile_Radio_Wave = 1;

(not any of these, I've double checked my stuff to make sure)
$AddOn__Server_ArcadeSupport = 1;
$AddOn__Server_Eval = 1;
$AddOn__Server_MPDNotif = 1;
$AddOn__Server_RemoteSupport = 1;
$AddOn__Server_Whitelist = 1;

$AddOn__Sound_Access = 1;
$AddOn__Sound_BANSounds = 1;
$AddOn__Sound_Bass = 1;
$AddOn__Sound_Beeps = 1;
$AddOn__Sound_Blockland = 1;
$AddOn__Sound_ButtonPack = 1;
$AddOn__Sound_Cash_Register = 1;
$AddOn__Sound_ClockDASHTicks = 1;
$AddOn__Sound_GameOverYeah = 1;
$AddOn__Sound_Generic = 1;
$AddOn__Sound_Phone = 1;
$AddOn__Sound_Synth4 = 1;
$AddOn__Sound_UGNSounds = 1;

$AddOn__Support_Doors = 1;

$AddOn__Tool_BricknameGun = 1;
$AddOn__Tool_BrickSelector = 1;
$AddOn__Tool_Duplicator = 1;
$AddOn__Tool_Fill_Can = 1;
$AddOn__Tool_Fill_Printer = 1;
$AddOn__Tool_RPG = 1;
$AddOn__Tool_WaterFX = 1;

$AddOn__Vehicle_Ball = 1;
$AddOn__Vehicle_Flying_Wheeled_Jeep = 1;
$AddOn__Vehicle_Horse = 1;
$AddOn__Vehicle_Jeep = 1;
$AddOn__Vehicle_Magic_Carpet = 1;
$AddOn__Vehicle_Pirate_Cannon = 1;
$AddOn__Vehicle_Rowboat = 1;
$AddOn__Vehicle_Tank = 1;

$AddOn__Weapon_Bow = 1;
$AddOn__Weapon_Gun = 1;
$AddOn__Weapon_Guns_Akimbo = 1;
$AddOn__Weapon_Horse_Ray = 1;
$AddOn__Weapon_Push_Broom = 1;
$AddOn__Weapon_Rocket_Launcher = 1;
$AddOn__Weapon_Spear = 1;
$AddOn__Weapon_Sword = 1;

133
Modification Help / Variable is becoming null, no idea why.
« on: December 30, 2013, 05:37:58 AM »
Code: [Select]
if(!isObject(publicClient))
{
new AiConnection(publicClient) { BL_ID = 888888; };
publicClient.isAdmin = true;
publicClient.isSuperAdmin = true;
}

function GameConnection::getMinigame(%this)
{
if(!%this.minigame)
return 0;
else
return %this.minigame;
}

function MinigameSO::Stop(%this)
{
%members = %this.numMembers;

for(%i=0;%i<%members;%i++)
%client[%i] = %this.member[%i];

%this.endGame();

for(%i=0;%i<%members;%i++)
{
%client[%i].player.delete();
%client[%i].spawnPlayer();
}
}

function addMinigame(%id,%brickdamage,%building,%painting,%fallingdamage,%datablock,%points_breakbrick,%points_die,%points_killplayer,%points_killself,%respawntime,%selfdamage,%e0,%e1,%e2,%e3,%e4,%title,%vehicledamage,%weapondamage,%color,%timelimit)
{
%minigame = new ScriptObject(%id)
{
colorIdx = %color;
class = minigameSO;
numMembers = 0;

brickDamage = %brickdamage;
brickRespawnTime = 10000;
EnableBuilding = %building;
EnablePainting = %painting;
name = %id;
enableWand = 0;
fallingDamage = %fallingdamage;
inviteOnly = 0;

playerDataBlock = %datablock;
PlayersUseOwnBricks = 0;
Points_BreakBrick = %points_breakbrick;
Points_Die = %points_die;
Points_KillPlayer = %points_killplayer;
Points_KillSelf = %points_killself;
Points_PlantBrick = 0;
respawnTime = %respawntime;
SelfDamage = %selfdamage;

StartEquip0 = nameToID(%e0);
StartEquip1 = nameToID(%e1);
StartEquip2 = nameToID(%e2);
StartEquip3 = nameToID(%e3);
StartEquip4 = nameToID(%e4);

title = %title;
useAllPlayerBricks = 0;
useSpawnBricks = 0;
VehicleDamage = %vehicledamage;
vehicleRespawnTime = 0;
weaponDamage = %weapondamage;

spawnBricks = 0;
};

//BLOCKLAND YOU PIECE OF CRAP ugh
echo("addMinigame");
echo(%timelimit);
eval("$" @ %id @ "_TIMELIMIT = " @ %timelimit @ ";");
%spawns = 0;
%group = "BrickGroup_" @ getNumKeyID();
%correct_name = "_" @ %id @ "_SPAWN";
for(%i=0;%i<%group.getCount();%i++)
{
%brick = %group.getObject(%i);
echo("LOOKED AT BRICK" SPC %brick);

if(%brick.getName() $= %correct_name)
{
echo(%brick SPC "IS A SPAWN BRICK [IDX" SPC %spawns @ "]");
%minigame.spawnBrick[%spawns] = %brick;
%spawns++;
}
}
%minigame.spawnBricks = %spawns;
%minigame.schedule(100,setTimeLimit,%timelimit);
}

//KING OF THE HILL :: RAIDEN21
//addMinigame(_MG_ARCADE_KOTH,0,           0,        0,        0,             PlayerNoJet,0,                 0,          1,                 0,               10000,       1,          SwordItem,"", "", "", "", "King of the Hill (by Raiden21)",0,             1,            0,     300000);
//           (%id,            %brickdamage,%building,%painting,%fallingdamage,%datablock, %points_breakbrick,%points_die,%points_killplayer,%points_killself,%respawntime,%selfdamage,%e0,      %e1,%e2,%e3,%e4,%title,                          %vehicledamage,%weapondamage,%color,%timelimit)

package ArcadeSupportPackage
{
function Player::activateStuff(%player)
{
parent::activateStuff(%player);

echo(%player);
echo(%player.client);

%start = %player.getEyePoint();
%direction  = %player.getEyeVector();
%path = vectorScale(%direction,5);
%stop = vectorAdd(%start,%path);
%ray = containerRayCast(%start,%stop,$TypeMasks::All,%player);
%col = firstWord(%ray);

if(!isObject(%col))
return;
if(%col.getClassName() $= "fxDTSBrick" && %col.getName() $= "_MG_ARCADE_KOTH_JOIN")
{
if(!isObject(MG_ARCADE_KOTH))
addMinigame("MG_ARCADE_KOTH",0,0,0,0,PlayerNoJet,0,0,1,0,10000,1,SwordItem,"","","","","King of the Hill (by Raiden21)",0,1,0,"300000");

if(%col.stackBL_ID == getNumKeyID())
MG_ARCADE_KOTH.schedule(33,addMember,%player.client);
else
messageClient(%player.client,'',"ERROR: Brick is not owned by server owner! Cannot join this game.");
}
}

function MinigameSO::removeMember(%this,%client,%b,%c,%d)
{
parent::removeMember(%this,%client,%b,%c,%d);

if(!%client.player)
%client.spawnPlayer();
}

function GameConnection::spawnPlayer(%this,%a,%b,%c,%d)
{
parent::spawnPlayer(%this,%a,%b,%c,%d);

if(%this.getMinigame() !$= "-1")
{
%minigame = %this.getMinigame();
%spawn = getRandom(0,%minigame.spawnBricks);
%position = %minigame.spawnBrick[%spawn].getPosition();
%this.player.setTransform(getWords(%position,0,1) SPC getWord(%position,2) + 0.3);
}
}

function MinigameSO::reset(%this,%a,%b,%c,%d)
{
%this.respawnAll();
parent::reset(%this,%a,%b,%c,%d);

%this.started = getSimTime();
}

function MinigameSO::timeLimitTick(%this,%a,%b,%c,%d)
{
echo("timeLimitTick");
eval("%timelimit = $" @ %this.getName() @ "_TIMELIMIT;");

if(getSimTime() - %this.started > %timelimit)
parent::timeLimitTick(%this,%a,%b,%c,%d);
}
};
activatePackage(ArcadeSupportPackage);
addMinigame is where it's happening, and variable in question is %timelimit.
I tried setting 300000 to a string just to see and ofc it's still coming back as absolutely nothing.

This is for my Arcade server, for games that need their own minigame.

134
General Discussion / TheBlackParrot's Arcade - Hopefully summer 2014?
« on: December 29, 2013, 01:12:42 AM »
(I suck at building) (the pictures suck too uudfhguhd)


I wanted to try taking a shot at this arcade-type server as well, except go at it just a little differently.
Instead of opening it on day 1 and letting everyone build something for it as it's open, I figured it would be better to plan it out way ahead of time so that it's a better experience for everyone else.

It's planned out quite similarly to a convention, too. You pick a lot (or start building something and mentioning a lot number somewhere on your build) to reserve, and once it's done, checked, and approved, it'll be added in!

I'll even go as far as allowing games to be coded in. (or if a minigame is needed, that works too)
Crumbling Arena will be this way (it'll be a more smaller, easier to handle ordeal), and the Deathrun I hope to start on soon will have it's own minigame.

I would like for this to go on for as long as possible, but I'm currently hosting from home and I don't feel like I'm ready to take donations for hosting on RTB. I need to know if there's interest first.

Are you looking to compete with Spade and other arcade makers?
No.

How complex can a game be?
As long as it wouldn't cause a massive lag spike or severe ghosting issues, it should be fine. I'll have to approve of it once you finish it.

You don't have this add-on, I need it!
Tell me! Keep reminding me any chance you can. I'll add it and reset the server when no one is online so as to not bother anyone if I can.
(PLEASE NOTE: ZAPT, JVS, and Slayer will cause your lot to automatically be declined.)

If I'm coding a game, how will you test it?
You can either host it yourself and let me try it out with you, or you can send it to me to try out privately.

Will my game be modified in any way by you if I code it?
If there's anything abusive, that will be removed of course. I may also need to add in commands to give players the virtual currency (amount depends on your suggestions, or you can just let me decide).
If anything conflicts with any other coded machines or general Arcade code, that will be modified as well. I'll send the modified version back to you for you to approve.

But, can we even use named bricks in code?
Of course you can! Just add "_" before the brick name.

Will there be any form of virtual currency to buy stuff?
I'm currently deciding on a name ("Points" just sounds bleh), but yes there will be.

What kind of stuff will we be able to buy?
I'm hoping for some simple items that won't cause any issues to machines, games, and other players, and maybe some hats too. Special clan tags are a maybe.
I'm open to suggestions, heh.

Can I help with building?
I'm in desperate need of builders, as I just outright suck at it. Just get in contact with me on the forums or elsewhere you can find me.

When do you hope to have the server open to the public?
I'm shooting for a mid-June date, but I'm willing to go into July if that's absolutely needed.

Where are you hosting this?
From home, unfortunately. If there's enough interest, I'll open for donations and invest in an RTB server.

The server won't let me in!
Because it's whitelisted, silly. Send me a PM with your IP so I can add you to the whitelist.

If you have any other questions please do shoot them at me.



CURRENT LOTS

RESERVE A LOT
Green = Not taken
Red = Taken
Yellow = Reserved for minigame

THE AREA CAN BE EXPANDED AT ANY TIME IF A REQUESTED SIZE IS NOT AVAILABLE.



CODING GUIDELINES
  • To avoid potential conflicts, make sure all of your custom functions have some sort of identifier (e.g. CrumblingArena_doSomething();, CA_doSomething();). Ones with reference objects (e.g. fxDTSBrick::CA_doThis(%this)) also need identifiers.
  • Do not plan to have your script put in along with the main server.cs file on my end. Name it something relating to your game. (CA.cs, CrumblingArena.cs, crumblea.cs, etc. as long as it can be identified).
  • ALL packaged MinigameSO functions must have their parents called or returned if applicable. No exceptions.
  • DO NOT use the ClientGroup. Get the members of a minigame, instead.

(if I think of more, they'll be up here...)



TODO:
- Revise minigame events to have identifiers so nothing conflicts.
- Solve mystery addon sending load averages above 10. (assuming zone events at this point)
- Get a better build, hell maybe even have it outside so it can be expanded constantly.
- Currency system

135
General Discussion / Hosting Blockland on Linux: Tutorials
« on: December 20, 2013, 02:24:28 AM »
http://tbp.pecon.us/linuxbl/

Still working on some stuff, like the headless Arch instructions and all of Ubuntu. (I have to do the process on the distro itself just to double check, I know Ubuntu's headless will be very different from Arch's :v)

also taking distro requests in case someone uses a different one than the ones up now.

and i need FAQ questions

Pages: 1 ... 4 5 6 7 8 [9] 10 11 12 13 14 ... 27