If any mappers would like to use this robot, please comment below. I am willing to help you implement this in your map as well as adding features you may want
I've been working on this project for about a year, but off and on as I procrastinate and also have many behind the scenes unfinished projects. My main reason for posting this is I see a lot of potential with this mod, but I'm not that creative when it comes to mapping, so I thought I would see how many people/mappers are interested in using something like this in their map so all my work isn't for nothing. So far I have the state machine coded for the robot's animations, as well as a combat logic that handles enemy targeting and FX. Currently the robot will follow the player and dynamically shift focus on the nearest zombie within 500u of the robot.
Planned features:
The drone will pick up a single crawler and hold until killed, similar to leroy from BO2
The drone will focus on zombies closest to the owner, and have varied attacks, such as grabbing zombie's heads and pulling them off, grappling zombie's ankles & ragdoll-ing them, swinging them around & slamming
Adding in many more animations & creating a pool for each type. For example the default idle animation will have 5 variants that randomly play while in the idle state, so no animation will repeat
Scripting a complete buildable system for the robot, including the parts to initially acquire the drone, parts for it's laser-gun, and any parts for future mods/enhancements
The ability to revive downed player/teammates + buildable upgrade to keep all perks after robot revives
A cooldown system, to balance gameplay difficulty. I want this mod to be fun, not over-powered. Perhaps I could make a fuel system with a HUD for feedback (remaining fuel) Comment ideas on how to acquire fuel or other methods to balance!
Ability to grab nearby power-ups and bring them to the owner, similar to the BO2 tomahawk.
All ideas are welcome! Please comment below what you think.
Here is a video showing some of the earlier prototype models & animations
And here is the final prototype, fully textured & animation demo.
Here is an in-game demo of the current state of the robot's AI script
There are a few other prototypes that didn't get featured, but these should show the basic idea I had in the beginning and how it evolved as I gained experience with the various programs I used.
I have a decent script made that handles the robot's basic behaviors, and right now I'm re-doing the FX for the laser-fire -for the buildable laser-gun add-on. Everything in this project is custom, no borrowed scripts or models, textures or anything. The programs I used were mainly Blender for the modelling, Maya 2015 for the animations, Substance Painter 2 for the materials and Adobe Photoshop for the robot screen (face). If any mappers would like to use this, let me know below. I'd love to hear feedback, see if this thing is worth putting more time into or just putting on the shelf. Thanks for checking it out!
Here's the script so far if you're interested in how it works
I've made a model of a crate, and made the animations for it to open and close it's lid in maya 2014. The problem is I don't really know the bone hierarchy that I need to follow. I tried making a bone called "tag_origin", then made it the parent of another bone called "tag_lid". I selected the lid of the crate, then hit bind>rigid to the "tag_lid" bone. I set the bottom of the crate to bind>rigid on the "tag_origin" bone. I can play both the animations in maya, and it looks fine, when the lid opens and closes, but in ape the box is sideways, and the animation doesn't play. Any help is appreciated.
*In APE I have the xanims set up as Type>delta. I enabled the option to view bones in the ape preview window, and I can see the tag_lid bone swinging open, but the lid isn't attached to the bone, I don't understand why because when playing the anim in maya it is attached and looks fine.
I wrote a simple while loop using this method in a csc file with an iprint, but it did not seem to work. Does anyone have experience using this?
I also found in the forums someone using GetVelocity() for slide detection, and that sort of works, but at certain times when the player is rotating their view and running, their velocity at either x or y reaches numbers that are close to the same velocity while sliding in any direction. It isn't really a fool proof way of 'detecting' a slide, so I'm just looking for a better way to execute this. Any help, much appreciated.
I followed the directions precisely adding my custom perk, and the script is letting me buy the perk over and over until I max out my perk slots. I tried adding in manual checks to not let this happen for example: I can't seem to remedy this issue, and I noticed on the original post shinged did not reply to this issue that two other members complained about, so hopefully someone else can provide some insight on why this is happening. The perk works fine, I can buy it, drink the bottle, and the perk effect is working, only issue being the ability to spam buy it.
EDIT* - After the check I make in this function, it still lets me spam buy the perk, but it will only show 1 perk shader. So the trigger is active for me until I have max perks.
This is one of the custom xmodels I've made for a map I'm working on. The models I designed in blender. I textured everything from scratch in substance painter 2. Blender is free and has xmodel and xanim support via plugins. Substance painter 2 is like 40 bucks I think, plus its well documented. Great tools, recommend to any novice asset designer such as myself.
*EDIT - All imgur links now + changed download to dropbox.
Unzip the file, open the folder, and drag all the contents into your bo3 root directory, make sure to restart launcher and run asset convert, then fully build any map you use it in and you're good to go. I spent a shitload of time designing and tweaking these models so maybe a respect or shoutout would be appreciated if you use this, although not necessary. I have many other models like these so if enough of you guys are interested I may release more of them, or perhaps a themed build set.
*I included the two door panels as separate models so you can have them open from the center outwards. Note that I didn't include any prefabs, so you'll have to place the doors as script_models in the map and set it up like any buyable door, just make each door have an opposite script_vector that way they move apart from the center when opened.
**The materials are almost all lit_advanced, so they include diffuse, ambient occlusion, normal, specular, gloss, and one emissive map. Textures are 2048x2048, but the models are relatively low-poly, as best as I could make them. I started modeling less than a year ago so forgive any imperfections.
**Edit - Oops, I just realized in the gdt file I included, I forgot to remove the materials and model for the prototype (earlier) version of this door, please don't look at it lol, looks like playdough. I mean you can use it if you want, but it looks gimpy as hell, lol embarrassing
This is my first script release, or any release for that matter.
Contained is my custom buildables framework, including a buildable power switch with prefabs for everything, and custom shaders for the parts. To make the shaders (part HUD icons) I simply took a few screenshots of the 3D models in APE, then used photoshop to cut out the part and overlay it on a transparent background, cropped to about 100 X 200 pixels, then set up the materials in APE.
I tried to make this a simple install, so it can be implemented with a few clicks and ctrl+v's. I also extracted sounds from zetsubo to get some nice crafting sounds, building, part pickup, and build complete sounds. I made the "building" logic very fool-proof, meaning there are checks for distance as well as if the player is holding the use button, so if they go out of range of the build-table, or release the use button (plus other checks) then the crafting animation and HUD will cancel instantly. So the player has to remain at the trigger and hold the use button for the entire build process to complete the action or it will reset. I also added in some logic for split-screen players, so the shaders scale in size and position to accommodate.
Instructions: Download the file and unzip it to your desktop. Drag the contents of the folder named "drag_contents_2root" into you bo3 root directory.
Then move the "custom_buildables_random.gsc" into your mapname\scripts folder.
Open your mapname.gsc in a text editor, navigate to:
Then paste this line at the bottom: *EDIT: then add this line to your mapname.gsc somehere near the other "#using" lines: Next, right-click on your map in launcher, click edit zone file. Add these lines at the bottom:
Now navigate to your mapname\sound\zoneconfig - and open your mapname.SZC file in a text editor then add these lines:
Now in radiant, the prefabs are located in mapsource\_prefabs\archaicvirus_buildables_prefabs. Delete your old power switch first. Drop down the master_power_switch prefab wherever you want the power switch to be. Don't forget that step or it will fail. Then drop down at least 4 of each part's prefab - handle, panel, and fuse. The script will choose a random location to spawn each part, and delete the rest of them each time the map is loaded. *EDIT: Don't forget to do a full compile\light\link before you test.
When the game starts, the main power panel is hidden. You will see the frame with the chalk lightning bolt on it. This is also the location where you will build the panel. As you pick up each part in-game, it plays a sound, and the default green power-up splash fx. It then draws the part shader on the top-rightish side of all players screen, but only the player who grabbed the part will hear the sound. You can chop up the script all you want to fit your needs. Just study the script and you can see how all the functions are anonymous, meaning you can use them for your own custom buildables. If you need help just let me know. I'm by far an expert but i'll do my best if you want to do something custom.
The video skips a little and vid/sound is a bit out of sync due to my lack of recording experience. In-game though everything is perfect, no lag.
If you use this I would appreciate a shoutout, but I'm not too worried about it either way, just hope it's useful to the modding community in general.
Here is the raw code if you're interested. Note: You need the download + full install for this to work, (includes sounds, sound alias, custom part shaders, prefabs etc)
I swear I set up everything properly, but when I try to play crafting sounds via script, only one of them plays. This is my setup:
SZC File:
Zone File:
user_aliases.csv:
Script where I'm calling PlaySound()
It only plays the "zmb_craftable_complete" sound, but it won't play the building loop sound, and it won't play the 'pickup' sound as shown below
Am I missing something? I checked in root/sound_assets, and all the .WAV files are there, and in the correct folders. I even opened the files in audacity, and they're all set to 48000 which is correct. I even tried re-converting them in audacity and renamed them and same thing, only the one sound plays. It doesn't make sense.
Does anyone know the proper method to set up fx via script? I used ugx easyfx for codwaw, and understand that fx need to be precached whether they are custom or stock.
The problem I'm having is that I've tried to precache an existing effect - electric\fx_elec_sparks_bounce_blue and launcher won't load the map. This is the final error output through the launcher console - ^1 ^1^ ^1ERR(6E) scripts/zm/zm_montys_lab.gsc (87,0) : Compiler Internal Error : Unresolved external 'zm_weapons::load_weapon_spec_fr0m_table'
I have a very simple function to test adding in fx, for controlling via scripting. It's a snippet from a codwaw project I was working on.
I've tried precaching in the right places from what I can remember, but I can't get it work. I've looked for a topic on this issue for BO3 and can't find any clear tutorials. Any help would be appreciated. This is my mapname.gsc -
What I'm trying to do is is a moveto on an entity, which I can do easily, but the problem I'm having is figuring out how to keep the entity in front of the player at all times. For example:
This is not my exact code but a mockup of what I'm trying to do. I noticed the geteye() function in the ugx script references, but to my understanding that gets the angles of the player's facing direction. This is where my problem is, I can't figure out how to adjust the moveto coordinates relative to the player's facing angle. For example, if north is +x, and south is -x, and so on for y and z, how can I convert the facing direction to a relative offset of the player. If anyone could give me some suggestions I would greatly appreciate it, as well as give you credit in a mutual project I'm working on. Hopefully I explained my intentions clearly, if not let me know and I'll elaborate.
8 years ago
Loading ...
New version available!
All running pages of UGX-Mods need to be reloaded for your best experience. Be sure that you finish all your work before updating!