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

Pages: 1 [2] 3 4 5 6 7 ... 9
16
Modification Help / Ammo snippet
« on: March 12, 2010, 09:50:49 PM »
A resource of mine. This lets a weapon do 3 things:
1) Use a limited ammo supply refueled by events
2) Hold a certain number of shots at once in a clip
3) Reload that clip

This script originated from a very old script of mine; there are useless and pointless additional lines and probably some fallacies here and there but the main thing is that it works and some benevolent scripter will probably come through here and tell me everything I've been doing wrong for the past few years (yes, this script is that old).

That or someone will have it deleted.

Enjoy it while you can.

Example: Shotgun
OnFire
Code: [Select]
function SshotgunImage::onFire(%this,%obj,%slot)
{
//ReloadTimeMS: 2500 Next line
%reloadtime="2500";
//ClipSize: 7 Next line
if(!%obj.bulletloaded["shotgun"]){%obj.bulletloaded["shotgun"]=7;}
if(!%obj.shotguncritchance){%obj.shotguncritchance=4;}
if(%obj.shotgunreloading){
%obj.cancelshotgunreloading=1;
%obj.shotgunreloading=0;
cancel($shotgunreload[%obj]);
$shotgunreload[%obj]=0;
}
if(1 > %obj.bulletloaded["shotgun"]-1){
%obj.playThread(2, shiftdown);
//centerprint(%obj.client,"Reloading...\c1" SPC %obj.bulletloaded["shotgun"]-1 @ "\c0/\c1" @ $bulletloadedmax["shotgun"] - %obj.bulletexpended["shotgun"],200);
%obj.shotgunreloading=1;
$shotgunreload[%obj]=schedule(%reloadtime,0,"Sshotgunreload",%obj);
return;
}
if(%obj.getDamagePercent() < 1.0)
%obj.playThread(2, shiftAway);

%projectile = %this.projectile;
%typer="SshotgunProjectile";
%a=getrandom(1,%obj.shotguncritchance+2);
%spread = 0.0028;
%pvec = %obj.client.player.getvelocity();

//if you move, spread goes up
if(getword(%pvec,0) + getword(%pvec,1) + getword(%pvec,2) > 1 || getword(%pvec,0) + getword(%pvec,1) + getword(%pvec,2) < -1){
%spread += 0.0008;
}else{
%spread -= 0.0008;
}
%shellcount=6;
%scale="1 1 1";
%obj.bulletloaded["shotgun"]-=1;
centerprint(%obj.client,"\c0Shots left:\c1" SPC %obj.bulletloaded["shotgun"]-1 @ "\c0/\c1" @ $bulletloadedmax["shotgun"] - %obj.bulletexpended["shotgun"],400);

//I'm sure Ephi has some comments on how I stole this from him because I did
for(%shell=0; %shell<%shellcount; %shell++)
{
%vector = %obj.getMuzzleVector(%slot);
%objectVelocity = %obj.getVelocity();
%vector1 = VectorScale(%vector, %projectile.muzzleVelocity+%bonus);
%vector2 = VectorScale(%objectVelocity, %projectile.velInheritFactor);
%velocity = VectorAdd(%vector1,%vector2);
%x = (getRandom() - 0.5) * 10 * 3.1415926 * %spread;
%y = (getRandom() - 0.5) * 10 * 3.1415926 * %spread;
%z = (getRandom() - 0.5) * 10 * 3.1415926 * %spread;
%mat = MatrixCreateFromEuler(%x @ " " @ %y @ " " @ %z);
%velocity = MatrixMulVector(%mat, %velocity);


%p = new (%this.projectileType)()
{
dataBlock = %typer;
initialVelocity = %velocity;
initialPosition = %obj.getMuzzlePoint(%slot);
sourceObject = %obj;
sourceSlot = %slot;
client = %obj.client;
};
%p.setscale(%scale);
MissionCleanup.add(%p);
}

//ClipSize: 7 Next line
if(1 > %obj.bulletloaded["shotgun"]-1 || %obj.bulletloaded["shotgun"] < 7){
if(!%obj.shotgunreloading&&$shotgunreload[%obj]==0){
%obj.playThread(2, shiftdown);
centerprint(%obj.client,"Reloading...\c1" SPC %obj.bulletloaded["shotgun"]-1 @ "\c0/\c1" @ $bulletloadedmax["shotgun"] - %obj.bulletexpended["shotgun"],200);
%obj.shotgunreloading=1;
$shotgunreload[%obj]=schedule(%reloadtime,0,"Sshotgunreload",%obj);
}
}
return %p;


}

Reload
Code: [Select]
function Sshotgunreload(%obj){
if(!isobject(%obj)||%obj.getdamagelevel() >= %obj.getdatablock().maxdamage){
return;
}
if(%obj.cancelshotgunreloading){
%obj.cancelshotgunreloading=0;
}
if(%obj.getmountedimage(0)!$=nametoid("Sshotgunimage")){
%obj.cancelshotgunreloading=1;
%obj.shotguncritchance-=2;
if(%obj.shotguncritchance<4){
%obj.shotguncritchance=4;
}
%obj.shotgunreloading=0;
cancel($shotgunreload[%obj]);
$shotgunreload[%obj]=0;
return;
}
if(%obj.bulletexpended["shotgun"] >= $bulletloadedmax["shotgun"]){
%obj.cancelshotgunreloading=1;
%obj.shotguncritchance-=2;
if(%obj.shotguncritchance<4){
%obj.shotguncritchance=4;
}
%obj.shotgunreloading=0;
cancel($shotgunreload[%obj]);
$shotgunreload[%obj]=0;
centerprint(%obj.client,"No ammo...\c1" SPC %obj.bulletloaded["shotgun"]-1 @ "\c0/\c1" @ $bulletloadedmax["shotgun"] - %obj.bulletexpended["shotgun"],200);
return;
}
%obj.playThread(2, shiftright);

//ReloadTimeMS: 2500 Next line
%reloadtime="1200";
%obj.bulletloaded["shotgun"]+=1;
%obj.bulletexpended["shotgun"]++;
%obj.shotgunshellsfired--;
if(%obj.shotgunshellsfired<0){
%obj.shotgunshellsfired=0;
}
centerprint(%obj.client,"Reloading...\c1" SPC %obj.bulletloaded["shotgun"]-1 @ "\c0/\c1" @ $bulletloadedmax["shotgun"] - %obj.bulletexpended["shotgun"],200);

//ClipSize: 7 Next line
if(%obj.bulletloaded["shotgun"] < 7){
$shotgunreload[%obj]=schedule(%reloadtime,0,"Sshotgunreload",%obj);
}else{
%obj.shotguncritchance-=6;
if(%obj.shotguncritchance<4){
%obj.shotguncritchance=4;
}
%obj.shotgunreloading=0;
$shotgunreload[%obj]=0;
}
}

Automatic reload on mount
Code: [Select]
package shotgunmountreload
{
function SshotgunImage::onMount(%this,%obj,%slot)
{
//ClipSize: 7 Next line
if(!%obj.client.player.bulletloaded["shotgun"]){%obj.client.player.bulletloaded["shotgun"]=7;}
centerprint(%obj.client,"Ammo...\c1" SPC %obj.client.player.bulletloaded["shotgun"]-1 @ "\c0/\c1" @ $bulletloadedmax["shotgun"] - %obj.client.player.bulletexpended["shotgun"],200);

//ClipSize: 7 Next line
if(1 > %obj.client.player.bulletloaded["shotgun"]-1 || %obj.client.player.bulletloaded["shotgun"] < 7){
if(!%obj.client.player.shotgunreloading&&$shotgunreload[%obj.client.player]==0){
%obj.client.player.playThread(2, shiftdown);
centerprint(%obj.client,"Reloading...\c1" SPC %obj.client.player.bulletloaded["shotgun"]-1 @ "\c0/\c1" @ $bulletloadedmax["shotgun"] - %obj.client.player.bulletexpended["shotgun"],200);
%obj.client.player.shotgunreloading=1;

//ReloadTimeMS: 2500 Next line
$shotgunreload[%obj.client.player]=schedule(2500,0,"Sshotgunreload",%obj.client.player);
}
}
parent::onMount(%this,%obj,%slot);
}


};
activatepackage(shotgunmountreload);

Ammo Event
Code: [Select]
$bulletloadedmax["shotgun"]=18;

registerOutputEvent("Player", "Scav_add_ammo", "string 32 100" TAB "int 1 2000 1", 0);

function Player::Scav_add_ammo(%player,%type,%amount){
if(firstword(%type) $= "hp"){//i.e hp fallen
if(getword(%type,1) $= %player.client.curclass){
%player.addhealth(%amount);
}
return;
}
%oldamount=%player.bulletexpended[%type];
%player.bulletexpended[%type] -= %amount;
if(%player.bulletexpended[%type] < 0){
%player.bulletexpended[%type]=0;
}
if(%player.bulletexpended[%type] > $bulletloadedmax[%type]){
%player.bulletexpended[%type]=$bulletloadedmax[%type];
}
%obj=%player;
if(%obj.bulletloaded[%type]-1 >= 0 && %player.bulletexpended[%type] != %oldamount){
centerprint(%obj.client,"Ammo recieved...\c1" SPC %obj.bulletloaded[%type]-1 @ "\c0/\c1" @ $bulletloadedmax[%type] - %obj.bulletexpended[%type],200);
}
}

Important notes:
- You have to change basically everything that has "shotgun" in it. On top of that, the onfire must be modified heavily to produce the kind of firing you want.
- Each weapon must have its own reload, mount, and onfire modifications.
- The add ammo event does not have to be added to each weapon. Once is enough.
- $bulletloadedmax["weapon"]=max ammo carried at one time;
- Each weapon must have one of the above

17
Drama / Rky's mods: stop posting them
« on: January 04, 2010, 04:46:13 PM »
This is just a forewarning so I can say "I told you so" should the time arise.


I will never, ever, ever, ever, ever give ANYONE besides myself permission to post, repost, "port", or tamper with and post one of my mods. Never post one of my mods, ever, I do not care if you include a credit.


Why: Doing so ruins any future plans I have for the mod. By reposting a mod you like, you keep me from advancing and improving it (namely because I have to spend more of my time loving getting you to quit it)


Also you may sign this if you want the same for your mods, I don't know, whatever.



Recent examples:
Flood mod.

18
Gallery / Stackeroo Plateau
« on: December 23, 2009, 04:43:29 PM »
INNER SPACE EXTREME: STACKEROO PLATEAU, THE WAR HEXES








A new boardgame of mine. Using a fancy dancy hexgrid3000 empires rise and fall, build cities and armies.
Cities: Cities start at level 1 and can be upgraded to have more slots for buildings. Cities provide gold income which is used to buy other things.
Buildings: Buildings are placed inside of cities and allow for production of different kinds of units. Some speed production or have other effects. Buildings take 1 turn to place in a town and some gold.
Units: Units form your armies and defenses. The time and cost of units varies-- some are made fast and some are slowly produced.
Stacks: Stacks are the game-structures that represent armies: A stack may have up to 13 slots (which means up to 13 units) and combines the might of units involved. They move and attack together.

It's complicated.


19
Modification Help / RPGKIT 2.3 - Fallos
« on: December 19, 2009, 12:22:47 PM »
New RPG- Fallos

Fallos directly takes from Fallout 3 to provide it's background because I'm lazy and it's a change of pace from the medieval sort of RPGs. The gameplay represents a RPG-TDM more so than it does a standard RPG. Factions fight for territorial control, as well as fighting numerous bots of the enemy faction and roaming monsters.

More details to come.

The Closed Beta for this is open for recruits. Contact me here or via PM or ingame for details.


RPGKIT 2.3
Building directly off of WOB, I'm on the path to 2.5. Updates include:
-Improved Weapon system
 -possibility for thousands of weapons using only 3-10 datablocks.
 -Numpad keys switch weapons now (previously you had to open your inventory and etc etc.)
 -Various new factors.
 --Inherited velocity is modifiable.
 --Weapons can use other items as ammo.
 --They can use a reloading system.
 --Moving accuracy. Weapons can be more accurate when you are standing still.
 -Soon to come (2.5): Damage range falloff, forward start for long range weapons.

-Skill system
 -You may obtain skill points and put them into skills, which then improve your accuracy and damage with weapons.
 -Skillbook items.

-Inventory improvements
 -Retooled stacking so it actually works
 --That is to say, you can have 100 .44 caliber bullets take up 1 spot instead of 100 in your inventory.
 -Items may have a specific sub-type that separates it from other items of the same type in your inventory.

-Item, Skill, and Monster creation streamlined.
New weapon:
Code: [Select]
CreateRWep_Start("dblshotgun","Double Barrel Shotgun","dblshotgun","rpggunimage","[BETA]Ye olde Double Barrel Shotgun. Power: 6-12 Speed: 0.1");
CreateRWep_Values("dblshotgun",200,2,0.1,0.40,1.00,65,50,3,130,0.1,6);
CreateRWep_Bonus("dblshotgun","shotguns","melees","explosives");
CreateRWep_Reload("dblshotgun",2,3000,10,1,1,0,"shotammo",6);

New Skill:
Code: [Select]
CreateSkill_Stat("pistols","Pistol skill helps you utilize pistols.","skill",100);
New Monster:
Code: [Select]
CreateMonster_start("raider",20,0,"3 4 3 2","raiders");
CreateMonster_combat("raider","hammer",1,1,"0 0 0",1,"1 1 0",33);
CreateMonster_drop("raider",33,2,7,"11mm 10 11mm 10 11mm 10 11mm 10 hammer 20",0);
CreateMonster_appearance("raider","headskin","chest","rhand","lhand","rshoe","lshoe");
WOB_monstersetcolor_head("raider","50","77","51","85","66","66");
WOB_monstersetcolor_chest("raider","50","50","50","30","30","30");
WOB_monstersetcolor_hands("raider","50","77","51","95","66","66");
WOB_monstersetcolor_shoes("raider","20","27","21","25","26","26");


So I'm well on my way to 2.5 Right now I need to update the monster script to work with the new weapon system.

20
Games / Lets Play: AOE:ROR /AOE2: COC
« on: December 14, 2009, 06:34:42 PM »
Changed to fit both AOE and AOE2: what's below is outdated.




  • Why Age of Empires: the Rise of Rome?

 - Simple enough. It's a classic, AOE3 is terrible, and AOE2 has a more stagnant(see:gates) gameplay that doesn't strike my fancy at the moment. It's from the golden age, when games had expansions instead of countless amounts of DLC.

  • How?

 - This is still to be determined, we will see what works, but here's what's on the list of trying things out, from first to try, to last to try.:
 -http://www.voobly.com/
 -[other services]
 -direct to I.P.
 -sacrifices to the dark lord
 -gamespy(*shudder*)






If you are willing to join us in a round, you must have the game in question (Age of Empires I and Age of Empire I: The Rise of Rome Expansion) Sign your name and we'll arrange a round.
Also: patch to latest version.
http://www.microsoft.com/games/aoeexpansion/downloads.htm



[Names]
Rkynick
DaSord
(other shmucks here)




IF:
-If we can't find enough people who have the game (heresy!) we'll switch to another game. Here's the list for that(possibilities that is)
- Kohan
- Age of Empires 2 : The Conquerors
- Stronghold: Crusader
- some other RTS around the times. We shouldn't have any issues though.

-If we can't find a working way to host the games, we'll... do something.

21
Modification Help / The Scavengers: Class based TDM
« on: November 29, 2009, 01:15:04 PM »


Lore:
[Shellshock Series]
The Scavengers work in remote or abandoned locations, salvaging ancient technology and artifacts. The separate companies work under one motivation: money. In a future where the far reaches of civilization have been pushed back by years of larger wars and havoc, the privately contracted Scavengers rule the forsaken territories.

Classes:
Hunter
-Shotgun
-Tracker

Sentinel
-Chaingun
-Mines

Scout
-Rifle
-Secondary

Harvester
-Double Barrel Shotgun
-Drainer
-Healer

Fuser
-Double Barrel Shotgun
-Fuser
-Laser(Archon only)
-Plasma(Archon only)

Fallen
-Laser
-Plasma
-Drainer



Links:


Gallery Topics
http://forum.blockland.us/index.php?topic=90027.0


Whats needed from here:
Models. Lots of models. If you can offer a model for any of the following, please post it here.
-Chain gun. Think a mini minigun, has 3 barrels, fits in one hand(rather than being centered)
-Double Barrel Shotgun.
-Rifle. Shouldn't have a scope.

22
Gallery / Shellshock: The Scavengers.
« on: November 16, 2009, 06:16:32 PM »

The sun sets on a ruined battleground

The Scavengers work in remote or abandoned locations, salvaging ancient technology and artifacts. The separate companies work under one motivation: money. In a future where the far reaches of civilization have been pushed back by years of larger wars and havoc, the privately contracted Scavengers rule the forsaken territories.

The first of my DMs in the Shellshock series is shown here. As always, form follows function, which is my excuse for why this one is so damn ugly.






The Scavengers is a class-based TDM that kicks things up a notch from Blockrace-- the weapons have ammo limits now.
Server is up as of this writing. More details on Shellshock and The Scavengers will come soon.

23
Gallery / Hussar (Board Game)
« on: October 07, 2009, 06:04:59 PM »
Hussar: A Board Game
What determines a great nation is not that it was forged of iron or steel, but that it was welded by fire.


Overview

Dramatic Side View

Hussar is a board game I've put (and am still pulling) together. Here's a guide for yall.

The Basics
Hussar plays similar to chess, albeit on a larger board and with a different order of actions. Each turn, a player may either
 A)Place a unit or building
 -Units must be placed next to towers or outposts
 -Buildings may be placed anywhere except next to enemy rings. There are some exceptions.
 B)Move and attack with a unit
 -You may only use one unit, but there are some exceptions.
 -Melee units have to land on the enemy to capture them.

If it is your first turn, you must place the Ring piece. The ring is the most important piece, and can be placed anywhere on the board except the edge.
 -An enemy ring may be captured to eliminate an enemy player.
 -Enemy rings may not be captured if they have an allied unit adjacent to it.
 -You may move your ring if you have a unit adjacent to it.
 -Normally invalid moves may be made valid if it would result in a ring capture. For example, Scouts may land in a tower's AOE move-denial zone if it would result in a ring capture.

Horse Tributes
A horse tribute is a special ability that all horses have. In order to play a Soldier(|S|), Crossbowman(|C|), or Hussar(H|H|H) piece, they must have a horse tribute. To horse tribute, place a horse piece. On a later turn, capture a unit with that horse. Whenever a horse has captured a unit, put a C on it. The C indicates that you may sacrifice the Horse and an adjacent Pawn(for Soldier), Archer(for Crossbowman), or Soldier+Crossbowman(for Hussar) to summon the prescribed unit. As of right now, Horse tributes are a tad too difficult to successfully pull off. I plan to resolve this with later updates.

Random Specifics
-Melee units must move onto the enemy in order to capture them.
-Ranged units, such as archers, have a full boxed range-- it is not circular. Keep this in mind when moving.
-Scouts, Soldiers, Hussars, and Crossbowmen may move as long as you do not place a piece on your turn-- that is, they can move and attack when you have another unit move and attack as well.
-Buildings may only be attacked by siege weaponry.

Pieces
Ring- See above. If captured, you lose.
Wall(2)- A basic building. Blocks enemy archer attacks and is not passable.
Wall(3)- Same as above, but has 3 hp instead of 2.
Tower- Your strongest building. You may only have one, and enemy units may not move next to it(AOE move denial 1). You may place units next to this building.
Outpost- See above. You may have two of these, but there is no AOE move denial.
Pawn- Pawns may move 1 space in any direction per allied pawn on the board. If you have 4 pawns, you may move a pawn 4 spaces. Move a pawn onto an enemy to capture them.
Soldier- Pawn-Horse tribute. Has 2 hp, may move 2 spaces in different directions or 3 in one direction. May move/attack when another unit has already moved/attacked.
Archer- Archers may move one diagonal space. They may attack any unit within 3 squares of them. They may not move and attack in the same turn.
Crossbowman- Archer-Horse tribute. Crossbowman have 2 hp and may move one diagonal and one orthographic space per turn. Has an attack range of 4.
Horse- Horses may jump in an L shape. Horses are being changed constantly as I fix them up. Currently, they may also choose to jump 2 spaces in a straight direction. They are used for horse tributing.
Hussar- The crowning unit of the game. Combine a Crossbowman and a soldier with a tributable horse. Hussars may jump in an L shape twice, capturing 2 units and also may take 4 hits before going down.
Siege Ram- Siege rams move one space in any direction, and can then attack any building adjacent to them(and only buildings) for one point of damage. Siege rams have 2 hp.
Siege Catapult- Siege Catapults move one space in any direction, and can attack any building within a straight line(max of 3 squares) of them. They may not move and attack. They have 2 hp. You may only have one of these.
Skirmishers- Skirmishers are immune to enemy archers, and move one space per enemy archer on the field. They otherwise work like pawns. They are also immune to crossbowmen.

The Extras
The extras are units I am testing and thus take more changes than other units. None of them are official yet, but sooner or later I will put some of them into the regular set and keep the rest as just optional extras.

I'd appreciate any feedback and suggestions for the game.


24
Modification Help / The BLB Topic
« on: September 13, 2009, 01:35:35 PM »
Discuss BLBs here. I will put good posts and information in here:




25
Gallery / Hollow Peak [Blockrace TDM]
« on: August 03, 2009, 04:29:38 PM »


Hollow Peak: A blockrace 4-cp map by Rkynick

Hollow peak is my newest creation, it is a capture point map with a capture point at each base, and one inside and one outside of a mountain which has numerous tunnels running through it.


Top-down view. Looks like an eagle, no?


View from red base.


View from blue base.


The two middle CPs and the wall dividing them.


Side to side.


The inner CP, looking up and out.


The inner CP, looking in.


A look at the outer CP.


Things I plan to do:
Expand the cave system. I'm thinking 2 new entrances and a few more tunnels.


Feel free to rate x/10. Also feel free to join my TDM, up now.


26
Suggestions & Requests / Duplicator: Flip
« on: August 01, 2009, 04:21:41 AM »
As of right now, you can only rotate bricks, not flip them.

When I say flip, I mean, well

If you rotate

XX
O
Thrice, you get
OX
X
But if you flip it you get
XX
O

Which is useful for large DMs and such where symmetry is important.

I have implemented my own hacky version that basically turns the brick position setter into this:
Code: [Select]
%newBrick = new fxDtsBrick()
{
position  = vectorAdd(%startPos, rotateVector(getWord(%brickStr, 0) * %modx SPC getWord(%brickStr, 1) * %mody SPC

getWord(%brickStr, 2) * %modz, %rotChange));
And then I have %mody/%modz/%modx set to -1 through some client variables and servercmds.

It works, but I'd like to see an official and more polished solution.

27
Suggestions & Requests / Autobanner suggestion(cityRP)
« on: July 23, 2009, 07:03:09 PM »

Simple suggestion:

Saying "CityRP" in the title of a new topic in the add-ons forum results in a ban and the topic being deleted.

28
Drama / Retaliating.
« on: July 06, 2009, 02:35:35 PM »
Do not loving raid roblox forums.

That is all.

29
Drama / More and more roblox folk
« on: July 06, 2009, 01:10:09 AM »
Just an observation: there's been a sudden boost of roblox related spam/topics.

Just what the hell is going on over there?

30
Off Topic / Off to Utah
« on: June 13, 2009, 01:03:50 AM »
Going on vacation tomorrow. Its a long, 12-14 hour drive to Boulder where I stay for a few nights and then onto Utah.

I'll be staying at hotels with internets so I'll keep in touch.
Plan is to read through a C++ book and some tutorials I found and try to better myself at the language on the ride.

Also to play some AOE2 :D

Anyways, point Miga towards this topic tomorrow and I'll post about my escapades later in the week.
Time to go get 4 hours of sleep.

ITT: discuse your vacations or something.

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