Ambiera ForumDiscussions, Help and Support. |
|
|
|||||
|
So... Yeah, this is my biggest project I was working on so far. And nah, this isn't a game, only a demonstration. There was a thread, called "CC: perfect for your 90s first-person shooter". And there was this: Plot twist: Niko maybe didn't include very much features probably because he wanted the users to actually be productive and make their own assets & scripts. And... Yeah, I did the weapon system that allows to make simple weapons pretty fast One step to make FPS creation easier! First of all, there's a link to download (comes with script and a demonstration .CCB file): https://disk.yandex.ru/d/2AkY32C... Now, about the properties: FullAuto - makes your weapon automatic. Surprized? AutoReload - weapon will reload once it's mag is empty (or do nothing if reserves are empty). HasFullReload - played some realistic games? There is probably two reload types in them: one if there is some ammo in a mag, other one if the mag is empty. That's what this thing does. At least you can make different time for each reloading. ShootDelayMs - basicly a firerate, bruh. ReloadTimeMs - time of normal reloading. FullReloadTimeMs - time of full reloading. Being used if "HasFullReload" is true. AmmoVar - CopperCube variable that stores the reserve ammo for your weapon. MagAmmoVar - CopperCube variable that stores the ammo from your magazine. AdditionalBlockVar - variable that will block shooting (but not reloading). Can be used to make safe mode for weapon. MaxAmmoMag - maximum value of ammo that can be stored in magazine. OnShoot / OnReloadStart / OnReloadEnd - actions being exhibited during those phases (shooting, starting reload, finalizing reload). Demonstration controls: WASD - guess what. R - reload. Q - lower weapon (can't shoot, can reload). LMB - ...should I even say what it does? The script is not ideal (same goes to the weapon model and animations), probably. Mostly because it was mostly done in one day using some of my other scripts (and now I want commit no live anymore, lol). Still, I think I will update it sometimes. O-oh, how could I forget about saying: F e e l F r e e T o U s e |
||||
|
Hey-o! Long time no see, but hey, I had a plenty of work on this... thing. So, here we are, first updeate! https://disk.yandex.ru/d/3kPDW2R... Changes: - Instead of "SWS_Block" there is now "this.SWS_Block". - All the actions now have currentNode parameter - the weapon node. - You are no longer need to change animations in actions, instead you choose them in behavior (more about that in "New stuff", written right after "Changes"). - Basic SWS for mag-fed weapons if now SWSm (Simple weapon system for magazine-fed weapons). - If I am correct, there may be some small changes too. Now to some New stuff: - SWStc, or Simple Weapon System for tube/clip-fed weapons. This new behavior allows you to make shotguns with per-shell reload or a rifle, which can be fully reloaded with a clip (works like magazine reload). See "SWStc properties" below to understand what almost every property does. - Select animations for shooting and reloading in behavior instead of manual change in actions, triggered by behavior. Note: "PerBulletReloadTimeMs" should match the time of "PerBulletReloadAnimation". - Updated demonstration: added shotgun (model source: https://www.cgtrader.com/free-3d...) and reworked assault rifle (let's not question the full reload, okay?). Weapon can be selected with plane meshes: move close enough to them while cursor is on them and press E. New properties: HasReloadEndAnimation (SWSm) - if true, you can use reload end animation (which is added too) that will play after reload (cosmetic thing, maybe will delete soon if it will be considered useless). ReloadButtonIDVar - first step on making customizable controls. Write variable in this string that will contain the ID of button, which starts reload. If string is empty, behavior will set the reload on R key. ReloadBlockVar - prevents reloading, kinda similar to "AdditionalBlockVar". ReloadStartTimeMs (SWStc) - time of preparing weapon to reload. ReloadEndTimeMs (SWStc) - time of preparing weapon to shoot after reload is finished. PerBulletReloadTimeMs (SWStc) - time on loading each shell (or bullet) into weapon. InstantFullReload (SWStc) - if true and no ammo left in weapon, reloading will be like a magazine variant. Allright, that should be all the new things I added. Tell me what you think of this system, maybe some suggestions. That's all for now, see ya! |
||||
|
This is amazing, I just tried the demo file and it works like charm. Will play with it furthermore and will provide my feedback :) ![]() |
||||
|
Thanks, this is awesome ???? |
||||
|
bruh |
||||
|
Wow this script by dekon is cool, dekon, have you made any games |
||||
|
Sikes wrote: Wow this script by dekon is cool, dekon, have you made any games Can't belive someone even found this old script I've made... Also, I'm not sure how optimized it is, knowing my experience back then, so, I don't think 'cool' is the right word. Regardless, about my games... That's kinda the sad part. Been working on some stuff. A lot. But, in the end, no full releases yet. I was working on Basic Shooter Game (BSG for short), a game I've dedicated a lot of time for. In fact, this script was supposed to be used there, but, in the end... Development hell. I didn't realize at the time that trying to make models, animations and scripts with zero experience is a bad idea overall. In the end... 3 years for nothing. While working on it, I've started a bunch of other projects. But, feeling that I haven't achieved any results on BSG, something I was referring to as 'main project', I would abandon them. "Simple Survival Game": "Dead Fields": There were probably more, but their condition is nothing to show. In the end, while being on a trip to Moscow, I started my new game, that I really want to release. In fact, it is in a really good state as of right now, even though I've been working on it for a bit more than a year. I decided to call it "Untitled Game about Slaughtering Zombies": So, speaking of releases, no, I have nothing to show. Speaking of work-in-progress... There is a lot. Not sure I'll be able to handle all of this... |
||||
|
That's nice dekon17, I wish you the best of luck in your WIP, the 3rd screenshot of that fps game looks awesome too, you might wanna continue it you know? |
||||
|
Yeah, Monks, I thought about that. Because that's the latest (and, obviously, unreleased) build of BSG. However, the only way of continuing this project that I can see is to start it from scratch. One of the reasons it was abandoned for some time (almost a year at this point) is because I constantly had to rewrite code and remake textures, models and animations. Some scripts were made back in 2021, when I was REALLY bad at programming stuff. Same with the modelling, although it also depends on how the engine is going to handle models and animations, I've been complaining about that a lot. Now though... I feel like I have enough experience, so, if I'll have time, then I'll get to it. Still, I have to release UZG, I don't want it to be another abandonware. Not after all the time I've dedicated for it. Also, this screenshot and the one right above it is, actually, the same version - 0.6A. Can't really publish previous versions here, because they're all in Russian. This unreleased build had localization system, on the other hand. |
||||
|
Hi dekon, how did you implement the shooting of the double pistol in ur game |
||||
|
Short answer - pain. Lots of it. Long answer: for dual wielding, I had to: - Make a LOT of animations for weapons, for use in dual wielded mode (switch to dual wielding, shoot, equip and unequip while dual wielding, stop dual wielding). Some of these animations had to be applied to the left hand models: I had to make a copy of a model and its animations in Blender, mirror the model, mirror the weapon (because I don't like when dual wielding is implemented like "Just mirror the weapon and it's fine! Details don't matter!"), then correct the animations in case they were broken. - I had to make a terrible code that would allow me to dual wield weapons. I say 'terrible' because, at the time, I knew nothing about how to make code, so I was heavily relying on coppercube variables and some badly optimized and generally questionable practices. I also had to make it compatible with weapon switching in general! - Since I also wanted it to allow dual wielding different weapons, I also had to account for that both in code, an in logic. You had to collect two instances of the same weapon in order to be able to dual wield it. Unless you're using two different weapons. - Whenever you activate dual wielding, the primary weapon (on the right) had to switch from one fire control key to a different one. You know, for example, LMB is now used to shoot left weapon, and RMB is to shoot right weapon. - Weapons would be attached to the camera. Once you activate dual wielding, the sidearm will turn visible after a short delay (when character removes one hand from the weapon) and play equip animation. - All of this needed easy control scheme. So, in the end, I've made it to have the following controls: > Q - activate/disable dual wielding (by default, equips the second instance of the primary weapon); > Holding Q while switching weapons - selecting the weapon for your left hand (after selecting it, this weapon will be equiped even after you disable and re-enable dual wielding, but will reset once you switch weapons). This is still a pretty basic explaination of what I had to do, but I really don't know how to explain some of the other stuff. Not really sure it will help you understand how to make this, Monks, but at least that's some mechanical stuff about it. |
||||
|
Hi dekon, are you on the coppercube discord server |
||||
|
Hi dekon |
||||
|
Dekon, can you post your games, it's not bad that it's in Russian, all we want is gameplay ![]() ![]() |
|