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 - JR-Imagine

What is Surf Mod?
If you've ever played surf on any of the source engine powered games you'll most likely be familiar with what I've tried to recreate here. If not, here's a short trailer displaying some gameplay of the mod:

The basic gameplay features of the mod include:
  • Surfing
  • Air strafing
  • Bunny hopping
  • Timer
  • Online leaderboards and stats pages
  • Speed meter
  • Ability to see what buttons people are pressing when spectating them
  • Mapvote
  • Ranks (you level up by simply playing or by finishing a map, extra XP is gained if you set a world record)

Other than that, the mod features a bunch of custom content to customise your experience:
  • Weapons
  • Characters
  • Viewhands
  • Knives
  • Trails

How do I play?
For the best experience (depending on your ping) I'd advise playing on the official surf server:
Options to play locally are also available in the form of a stripped down version of the mod: (Do NOT forget to read the readme file included!)
1384 days ago
The past few months I've gotten rather familiar with the internal workings of GSC as I've been expanding CoD4's server binaries with new functionality such as input detection and HTTP POST requests etc. Now I've gotten the idea for this little discussion from someone who actually mentioned this in a shoutbox on another forum at some point and I thought it would be really interesting to see how much people actually know about the scripting language they're using on a daily basis.

So the basic question is: Is CoDScript/GSC/... (whatever you want to call it) object-oriented or procedural?

In the shoutbox discussion I saw a few very interesting answers and wanted to hear what the scripting community on UGX-Mods thinks about this subject. For the record, I'm purely doing this to spark a discussion as I'm legitimately interested to hear about people's views and I myself already know the answer to this question (if the community can't work it out I'll actually post the answer later).

For those not familiar with these terms:
Object-oriented programming (OOP):
Procedural programming:

PS: Pwn please don't spoil it, pretty sure you know the answer as you're quite familiar with the internal workings of CoD yourself. :P
1388 days ago
I got bored so decided to write some random functions and ended up writing something that might be somewhat useful to someone... It converts a string to a floating point number (or integer if it's not a decimal number). Have fun:
toFloat( in ) {
// Don't accept arrays or undefined, return 0
if( isArray( in ) || !isDefined( in ) )
return 0;

// Return original argument, it's not a string so doesn't need any special type conversion algorithm
if( !isString( in ) )
return in;

// Split string into 2 seperate strings
if( isSubStr( in, "," ) ) // Would be great if people wouldn't use fucking commas for decimals where I live
num = strTok( in, "," );
num = strTok( in, "." );

// Don't need to execute extra logic if the number isn't a decimal and therefore wasn't split into a multi-element array
if( num.size <= 1 )
return int( num[0] );

pwr = 10;
// Multiply by 10 for each extra character
// Initialize i as 1, we don't need to multiply on the first index
for( i = 1; i < num[1].size; i++ )
pwr *= 10;

return int( num[0] ) + int( num[1] ) / pwr;

Example usage:
number = toFloat( "666.66" ); // type = float, value = 666.66
1636 days ago
Basically, got bored, decided to finally do something about some of the stuff that was bugging me about UGX's theme...

Here's what it looks like:
Sorry but you are not allowed to view spoiler contents.

Will probably keep working on this and fix issues found. I've most likely missed quite a few things and there's some things that will probably still look off.

1752 days ago

CoDScript Modtools will be a patch for the modtools fixing various bugs. It'll also include a new launcher and script placer with a clean UI.

This is currently the main focus of the project. This will include a replacement for the stock launcher of WaW and a script placer to replace Script Placer Z. Unlike the other launchers you might have seen, this launcher is built from scratch using solely my own code and some libraries required to make it work without depending on external executables for things such as archiving etc (eg: 7zip used by the stock launcher for building IWDs).

Currently I've implemented and got working the following features:
  • IWD Builder (Most likely will be faster than the one in the stock launcher due to using a zip library instead of external zipping from 7zip, not tested on speeds though.)
  • Zone File Editor
  • Fastfile Builder
  • Auto WaW installpath detection for use of the launcher outside of the root folder
  • Clean UI design

Planned features are:
  • Console (NOT going to stream output of programs such as linker_pc to the console live due to memory issues with certain applications *cough* EXE_ERR_HUNK_ALLOC_FAILED256 *cough*)
  • Sound Builder
  • Level Compiler
  • Script Placer
  • Game Launcher (with allowance for arguments being passed, eg: fs_game, devmap, developer, ...)
  • Application Launcher for Radiant, Asset Manager, Asset Viewer and Effects Editor
  • Auto Updater

Note regarding console streaming:
You will be required to tick Verbose for any sort of output streaming towards the console, this will allow for faster compile times as the program won't have to keep track of output if it's not ticked. There will be an option to not launch programs (eg: linker_pc) in silent mode so you can still see the output without the need of streaming it (Verbose will be disabled if this is enabled), again, resulting in faster compile times.

The modtools patch included with this will fix a lot of issues similar to what UGX has done with their patch but will also add support for new features easily enabled through variables in mapname.gsc. The script placer will offer simple check boxes and input fields for these variables so you don't have to manually edit all of them.

Sorry but you are not allowed to view spoiler contents.

Did some more work on it and finished off the sound builder and console output stream:
Sorry but you are not allowed to view spoiler contents.
1821 days ago
Rise V2

Washington DC, USA, 2023 - A group of scientics are expirimenting with dimensional portals at an underground base in Washington. A canister of Element 115, the resource used to power the portal, accidentally got spilled and caused a large scale zombie outbreak. In an attempt to escape from a horde, Ludwig accidentally activated the prototype he had been working on and got sucked in. However, the prototype was instable and caused Ludwig to get stuck between two dimensions. You wake up in an abandoned building and are trying to survive when suddenly Ludwig manages to contact you...

  • In-Depth Easter Egg with reward
  • Buyable ending (Easter egg needs to be completed first)
  • Tons of custom guns
  • BO Perks + Electric Cherry
  • Double Tap 2.0
  • BO2 Perk & Powerup Shaders
  • Kino-Style Teleporter (Doesn't require linking though)
  • Timed Gameplay (Optional)
  • Ascension Style Vision (Optional)
  • Zombie Counter (Optional)
  • Multiple Power Switches
  • Buildables
  • Double Pack-A-Punch
  • Musical Easter Eggs
  • Radios (Audio logs & songs)
  • Difficulties (Normal & Hard (Verruckt Runners))
  • 4 Perk Limit (Though, more perks can be obtained through drops)
  • Jumpscares (BO2 style, won't encounter unless looking for them)
  • Trolls >:D
  • ...

CoD: WaW - Rise V2 (Custom Zombies Map) | Trailer
Little bit out of date, couple things have changed since.

Sorry but you are not allowed to view spoiler contents.

  • Tom-BMX (Timed Gameplay, Lime, iPak Extractor, ...)
  • Ege115 (WIN vision file)
  • treminaor (Hintstring limit "fix")
  • Ray1235, P0rkRoyalz, susel, Darkraptor, Sanya, T-Max, Hacker22, Koene007, Str1ker, tito, MrMELUSIN, ParadoX (Guns)
  • HitmanVere (Double PaP camo)
  • HexZombies (Loadscreen, Missionscreen, Menu background)
  • deper63923 (Custom Powerup FX)
  • PROxFTW (Solo Scoreboard, PhD Dive to Nuke)

Voice Actors:
  • iMtroll
  • Staab

Beta Testers:
  • Triton
  • HitmanVere
  • iMtroll
  • JWofles
  • Staab
  • InvDenial
  • chromastone10
  • P0tZ
  • Lossy
  • Purity
  • BraXi
  • luisdude1

Download Mirrors:
1938 days ago
Basically, someone posts a script with an error in it, person who manages to fix the error gets to post a new broken script. (Don't post obvious errors or it defeats the purpose of the whole game, which is to test your scripting skills.)
Before you ask, no, it won't throw an actual error ingame. It just won't "work". :derp:
time = 5;

self waittill( "death" );

if( isDefined( level.ee_step6_active ) && level.ee_step6_active && self isTouching( level.ee_step6_radius ) && level.ee_step6_souls < level.ee_step6_soul_c )
org = spawn( "script_origin", self.origin );
tag = spawn( "script_model", self.origin );
tag setModel( "tag_origin" );
tag enableLinkTo();
tag linkTo( org );
tag thread step6_fx( time );

org moveTo( level.ee_step6_fx_goto.origin, time );
org waittill( "movedone" );

if( level.ee_step6_souls >= level.ee_step6_soul_c )
level.ee_step6_active = false;
flag_set( "ee_step6" );

wait 8;

tag delete();
org delete();


This one was something I actually did wrong when scripting for Rise V2 and took me 2 days to find what was wrong with it myself. :please: Triton, Lossy, Purity (some nub friends of mine) and me facepalmed (and had a giggle) after finding out what was wrong with it.

Nubs who were in chat when I was talking to Ray about this, please don't spoil it for others, ty. :3
1943 days ago
DeathBringerZen:      My son is 16, and he is a kid to me, so... :P
HitmanVere:            lol, of course, he is your child XD
JR-Imagine:            @DeathBringerZen aww, you a mommy?
JR-Imagine:            :troll:
HitmanVere:            And JR is banned
HitmanVere:            :troll:
JR-Imagine:            @HitmanVere Denied, goml.
HitmanVere:            Hah, lol
HitmanVere:            Dont even, Junior :troll:
GdayitsVishnu:         I just want you to tell Death that my skype isn't a troll account because you have me on there
Uk_ViiPeR:            who's death again? :p
JR-Imagine:            @Uk_ViiPeR death is dead
GdayitsVishnu:         Moderator
Uk_ViiPeR:            he can't be dead if he still walks @jr-imagine
JR-Imagine:            Denied
JR-Imagine:            he's a zombie
Uk_ViiPeR:            but he walks....
JR-Imagine:            zombies walk too
JR-Imagine:            and are dead
GdayitsVishnu:         Anyway he/she thinks im using a fake skype, can you clarify that im not please?
HitmanVere:            She XD
Uk_ViiPeR:            exactly, their minds may be dead but there body isnt xd
JR-Imagine:            @DgayitsVishnu she ;)
JR-Imagine:            wtf
JR-Imagine:            erhm
Uk_ViiPeR:            honestly, who is he or she? i don't know death. never met the guy.
JR-Imagine:            that was a hilarious typo
HitmanVere:            JR XDDDDD
HitmanVere:            Viper, check on right on users, lol
GdayitsVishnu:         well im not sure if Death is a man or a woman so, also DeathBringerZen is the UGX Chat Moderator
JR-Imagine:            Death is a mother
GdayitsVishnu:         Please clarify my statement
HitmanVere:            Added new gun in map :)
JR-Imagine:            @DeathBringerZen you're a pretty lady aren't ya? :)
Uk_ViiPeR:            okay one second
Uk_ViiPeR:            yeah thats him i can confirm this.
DeathBringerZen:      Sure am JR! :d
GdayitsVishnu:         thankyou
GdayitsVishnu:         Now you have solid proof i am legit
DeathBringerZen:      Right, I'm off to get my kids from school. Take it easy guys.
JR-Imagine:            cya lady!
GdayitsVishnu:         goodbye
JR-Imagine:            see guys
JR-Imagine:            death's a she
JR-Imagine:            wasn't lying
GdayitsVishnu:         and is Death really a mom!
JR-Imagine:            yes she's a mom
GdayitsVishnu:         is it just me or does anyone wonder if she is hot?
GdayitsVishnu:         If you haven't thought about death being a milf then idek
GdayitsVishnu:         WELL has anyone? i cant be the only one rn.
HitmanVere:            I have seen pic of him, not that pretty
GdayitsVishnu:         isn't it a she
JR-Imagine:            yes @HitmanVere is just trolling
HitmanVere:            :troll:
GdayitsVishnu:         MINDFUCKED rn :fuuu:

We had a giggle. (Cut out irrelevant parts.)
1948 days ago
I've decided to share the buildables script I made for Rise V2, it's probably the most accurate to BO2's buildables (Tranzit style) you can get from any site atm.

I do expect you have some scripting experience to follow this tutorial, I did not give a example of what to put in the buildables_bench_item() function but it's quite self explanatory.

This tutorial also assumes you're using treminaor's hintstring "fix", if you're not then I'd recommend using this:

1. Radiant
1.1. Setting up spawn locations for the parts
This is quite easy to do, all you need to do is make a script_origin with a targetname of "buildable_location". Make sure you have atleast the amount of script_origins as you have parts.
Sorry but you are not allowed to view spoiler contents.

1.2. Adding a buildables bench
Again, not hard to do, make your workbench and make a script_origin with a targetname of your choice.
Sorry but you are not allowed to view spoiler contents.

2. Scripting
2.1. Calling the scripts
Extract the gsc file from the zip attached to this post into mods/MAPNAME/maps.
Open MAPNAME.gsc and BEFORE _zombiemode::main(); add this:
AFTER _zombiemode::main(); add this:

2.2. Precaching parts
Open jr_buildables.gsc and find the PrecacheBuildables() function, there's 2 example lines there, change "XMODEL_NAME_HERE" into whatever the name of the xmodel is you want to use for your part, just copy the line and change the string for every xmodel required. Change "MATERIAL_NAME_OF_PART_SHADER" into whatever the name of the material is you want to use as a shader, just copy the line and change the string for every material required.

2.3. Adding a part
Find the buildables_parts_init() function, there's an example line there, change "XMODEL_NAME_HERE" to whatever the name of the xmodel is you want to use for your part. Change "STRING_USED_TO_STORE_PART_NAME_VARIABLE" to a string of your choice, it's used to store the name of the part for the workbench script. Change "MATERIAL_NAME_OF_PART_SHADER" to whatever the name of the material is you want to use for this part.

Find the drop_current_part() function and do the same thing you did in buildables_parts_init(). For every new part, copy the example case and change the strings to those used by the new part.

2.4. Adding a workbench
Find the buildables_benches_init() function and change "TARGETNAME_SET_IN_RADIANT_FOR_WORKBENCH" to the targetname you gave to the script_origin for the workbench in Radiant. Change the "WORKBENCH_VARIABLE" part of the two instances of "level.WORKBENCH_VARIABLE" to whatever you want to use as a variable for your workbench.
Change all 3 instances of "STRING_USED_TO_STORE_PART_NAME_VARIABLE" to the strings you gave to the parts for this specific workbench in the buildables_parts_init() function.

If you have sounds to use for your workbench, uncomment all instances of PlaySound(...); in the buildables_bench() function and change the soundaliases to whatever the ones are you use.

2.5. Make your workbench actually do something
This is where you're gonna require some scripting experience, find the buildables_bench_item() function and put your scripts in there. I'm not going to explain how to use it, there's 2 arguments passed to this function you will need to use but they're pretty self explanatory. ;)

2.6. Dropping parts on death
If you don't have _laststand.gsc in root/mods/mapname/maps yet, then copy it there from root/raw/maps. Open it up and look for the function laststand_bleedout( delay ), add this line:
self thread maps\jr_buildables::drop_current_part();
setClientSysState("lsm", "0", self);

If you decide to use this, don't forget to credit me, I worked hard on this script to make it as easy to use as possible and I think I did a good job with that. :)
2066 days ago
I've decided to share my knowledge regarding game development with the community here so I've started a game development tutorial series, I will update this topic whenever a new video gets published. :)

#1: Introduction to GM

#2: Platformer Basics

Download Game Maker: Studio:
2071 days ago
Guess I should keep this post clean unlike the last version. :please:

I'm done with mapping after I finish Rise V2 and probably won't be posting on the forums again as I'm fed up with some stuff going on, not going to rant about it unlike I did before I edited this post, lol.

So ye, adios!

Edit: Removed rant to keep some dignity, lol.
2109 days ago
I've seen a couple Double PaP tutorials but never seen someone do it the proper way... All they did was make a weaponfile named "weaponname_upgraded_upgraded", and while this is part of the stuff we'll do, it's NOT enough to have a proper Double PaP.

1. Modified _zombiemode_weapons.gsc file
I'll get right to the point why I'm making this tutorial... EVERYONE who has made a tutorial on Double PaP so far has forgotten to edit _zombiemode_weapons.gsc to allow buying ammo for Double PaP guns that have wallweapon version and remove the non-pap'ed version from the box. How do we do this? I'm gonna spare you all the pain of editing all these functions and let you download my _zombiemode_weapons.gsc, it's included as an attachment. ;) Make sure to drop the file in "mods/YOUR_MAP_NAME/maps" and check it in Launcher!

2. Weaponfile
Create your Double PaP weapon file and name it "WHATEVER_YOUR_WEAPON_IS_CALLED_upgraded_upgraded".

3. Including the weapon in mod.csv
Open up Launcher and in the "Mod Builder" tab add this line to your mod.csv:

4. Including the weapon in _zombiemode_weapons.gsc
Open up your _zombiemode_weapons.gsc file and look for the init_weapons() function, add this line somewhere in that function: (Prices and hintstrings don't really matter unless you're gonna make a Double PaP weapon a wallweapon...)
add_zombie_weapon( "WHATEVER_YOUR_WEAPON_IS_CALLED_upgraded_upgraded", "Press & hold &&1 to buy WHATEVER_YOUR_WEAPON_IS_CALLED [Cost: 10000]", 10000, "" );

5. Including the weapon in dlc3_code.gsc
Open up your dlc3_code.gsc file and look for the include_weapons() function, add this line somewhere in that function:
include_weapon( "WHATEVER_YOUR_WEAPON_IS_CALLED_upgraded_upgraded", false );
2109 days ago
Hey guys, JR doin' sum YT & Twitch. #Sweg

I do WaW Custom Zombies and CoD4 Deathrun vids (sometimes some other shizzz, but not a lot), will try to keep 'em coming on a regular basis, unlike the other 10 times I've said that. :please: I just hit 100 subs on youtube too, thx to everyone who already subscribed, really means a lot to me. :) So if you have the time to check it out, make sure you do. :>


Latest #prew vid: (dat thumbnail)
CoD: WaW - Custom Zombies - Cheese Cube Unlimited (Part 1) (Twitch Live Stream)
2132 days ago

What is REX?
REX is an indie shoot 'em up game developed by Jordy Rymenants (aka JR-Imagine).

Up/left/down/right movement: WASD / ZQSD / Arrow keys
Shooting: Space / Left Mouse Button
Pause: P / ESC

Screenshots: (Somewhat outdated)
Sorry but you are not allowed to view spoiler contents.

2161 days ago
If you'd like to continue a discussion about Canada then I suggest starting a new topic for it.
You know I can't resist. :troll:

South Park: OSCAR NOMINATED Blame Canada Song and Video HD + LYRICS
2176 days ago


or login with an authentication provider below
Sign In with Google
Sign In with Twitter
Sign In with Discord
Sign In with Steam
Sign In with Facebook
Sign In with Twitch
Loading ...