UGX-Mods Login

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

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.

Messages - IceGrenade

Sounds good! Keep up the good work!
9 months ago
Really looking forward to playing this! Will be playing it Live! :)Looks really good! If you wanted to see https://www.youtube.com/watch?v=tTIE5ubmQnE
9 months ago
Browsing for a good map to play and stumbled across your map! OMFG how have I not seen this before! This looks incredible! Looks like you really went all in here bud. Will be streaming this tonight if you are interested to see. I know as a map maker I love to watch people playing my own maps so maybe you want to see. Anyhow, it will be at 5pm GMT aka 3.2hrs time https://www.youtube.com/c/IceGrenade/live :)
1 year ago
Heres the finished result
(-- Complex content (will be) removed from blockquote --)

So to start off, download this prefab https://mega.nz/#!M9sBhZCT!ewDyF1nJVaCDdHUtc8UrcN_tKXM6Zl0_L4ca7xblPSg
Place the prefab in root/map_source/_prefabs/ and your ready for radiant.

Radiant:
 All you need to do is open the prefab by going to misc > prefab and opening the prefab, then stamp the prefab and move the pieces where you want them to be. If your on a tutorial map then delete the other power switch or this wont work.

Script:
 Navigate over to your mapname.gsc in root/usermaps/mapname/scripts/zm/mapname.gsc (Not the CSC) and open it.

 Below this
#using scripts\zm\zm_usermap;
Add this
#define PAP_WEAPON_KNUCKLE_CRACK		"zombie_knuckle_crack"
At the bottom of the main function, add this
thread buildableinit();
And finally at the bottom of your gsc, paste this
function buildableinit()
{
buildTable = getEnt("powcraft_crafting_trig", "targetname");
buildTable SetHintString("Missing parts");
buildTable SetCursorHint("HINT_NOICON");

level.allParts = 0;
level.finishedCraft = 2;

power_trigger = GetEnt("use_elec_switch", "targetname");
power_trigger TriggerEnable( false );
power_handle_model = GetEnt("elec_switch", "script_noteworthy");
power_handle_model hide();
power_clip = GetEnt("powcraft_clip_build", "targetname");
power_clip hide();
power_shaft_model = GetEnt("powcraft_build1", "targetname");
power_shaft_model hide();

level thread pick1();
level thread pick2();
}

function pick1()
{
pick_trig1 = getent("powcraft_pick1_trig", "targetname");
pick_trig1 SetHintString("Press and hold &&1 to pickup part");
pick_trig1 SetCursorHint("HINT_NOICON");
pick_model1 = getent("powcraft_pick1", "targetname");

while(1)
{
pick_trig1 waittill("trigger", player);

playfx(level._effect["powerup_grabbed"] ,GetEnt("powcraft_pick1","targetname").origin);

level.allParts++;

//IPrintLnBold(level.allParts);

thread build();

break;
}

pick_trig1 delete();
pick_model1 delete();
}

function pick2()
{
pick_trig2 = getent("powcraft_pick2_trig", "targetname");
pick_trig2 SetHintString("Press and hold &&1 to pickup part");
pick_trig2 SetCursorHint("HINT_NOICON");
pick_model2 = getent("powcraft_pick2", "targetname");

while(1)
{
pick_trig2 waittill("trigger", player);

playfx(level._effect["powerup_grabbed"] ,GetEnt("powcraft_pick2","targetname").origin);

level.allParts++;

//IPrintLnBold(level.allParts);

thread build();

break;
}

pick_trig2 delete();
pick_model2 delete();
}

function build()
{

while(1)
{
self waittill( level.allParts >= level.finishedCraft );

if ( level.allParts >= level.finishedCraft )
{
buildTable = GetEnt("powcraft_crafting_trig", "targetname");
buildTable SetHintString("Press and hold &&1 to craft");
buildTable SetCursorHint("HINT_NOICON");
buildTable waittill("trigger", player);

buildTable SetHintString("");

//playfx(level._effect["powerup_grabbed"] ,GetEnt("powcraft_crafting_trig","targetname").origin);

player thread do_knuckle_crack();

wait(2.7);

thread power_crafted();

buildTable delete();
}
break;
}
}

function power_crafted()
{
power_trigger = GetEnt("use_elec_switch", "targetname");
power_trigger TriggerEnable( true );
playfx(level._effect["powerup_grabbed"] ,GetEnt("use_elec_switch","targetname").origin);
power_handle_model = GetEnt("elec_switch", "script_noteworthy");
power_handle_model show();
power_clip = GetEnt("powcraft_clip_build", "targetname");
power_clip show();
power_shaft_model = GetEnt("powcraft_build1", "targetname");
power_shaft_model show();
}

/*
KNUCKLE CRACK SCRIPT
*/
function private do_knuckle_crack()
{
self endon("disconnect");
self upgrade_knuckle_crack_begin();

self util::waittill_any( "fake_death", "death", "player_downed", "weapon_change_complete" );

self upgrade_knuckle_crack_end();

}


// Switch to the knuckles
//
function private upgrade_knuckle_crack_begin()
{
self zm_utility::increment_is_drinking();

self zm_utility::disable_player_move_states(true);

primaries = self GetWeaponsListPrimaries();

original_weapon = self GetCurrentWeapon();
weapon = GetWeapon( PAP_WEAPON_KNUCKLE_CRACK );



self GiveWeapon( weapon );
self SwitchToWeapon( weapon );
}

// Anim has ended, now switch back to something
//
function private upgrade_knuckle_crack_end()
{
self zm_utility::enable_player_move_states();

weapon = GetWeapon( PAP_WEAPON_KNUCKLE_CRACK );

// TODO: race condition?
if ( self laststand::player_is_in_laststand() || IS_TRUE( self.intermission ) )
{
self TakeWeapon(weapon);
return;
}

self zm_utility::decrement_is_drinking();

self TakeWeapon(weapon);
primaries = self GetWeaponsListPrimaries();
if( IS_DRINKING(self.is_drinking) )
{
return;
}
else
{
self zm_weapons::switch_back_primary_weapon();
}
}
/*
KNUCKLE CRACK SCRIPT END
*/

I took the time to refactor your code and make it smarter:
Code: php
function buildableinit()
{
buildTable = GetEnt("powcraft_crafting_trig", "targetname");
buildTable SetHintString("Missing parts");
buildTable SetCursorHint("HINT_NOICON");

level.allParts = 0;

power_trigger = GetEnt("use_elec_switch", "targetname");
power_trigger TriggerEnable(false);
power_handle_model = GetEnt("elec_switch", "script_noteworthy");
power_clip = GetEnt("powcraft_clip_build", "targetname");
power_shaft_model = GetEnt("powcraft_build1", "targetname");
power_handle_model Hide();
power_clip Hide();
power_shaft_model Hide();

parts = GetEntArray("pap_part", "targetname")

foreach(part in parts)
part thread pickup_part(buildTable,power_trigger);

level flag::init("pap_built");
    level flag::wait_till("pap_built");

power_handle_model Show();
power_clip Show();
power_shaft_model Show();
}

function pickup_part(buildTable,power_trigger)
{
self SetHintString("Press and hold &&1 to pickup part");
self SetCursorHint("HINT_NOICON");
pick_model1 = GetEnt(self.target, "targetname");

self waittill("trigger", player);
PlayFx(level._effect["powerup_grabbed"] ,pick_model1.origin);

level.allParts++;
if(level.allParts == 2)
self thread build_table(power_trigger);

self Delete();
pick_model1 Delete();
}

function build_table(power_trigger)
{
self buildTable SetHintString("Press and hold &&1 to craft");
self buildTable waittill("trigger", player);
self buildTable SetHintString("");

//playfx(level._effect["powerup_grabbed"] ,GetEnt("powcraft_crafting_trig","targetname").origin);
player thread do_knuckle_crack();
wait 2.7;
self delete();
power_trigger TriggerEnable(true);
PlayFx(level._effect["powerup_grabbed"] ,self.origin);
    level flag::set("pap_built");
}

function private do_knuckle_crack()
{
self endon("disconnect");
weapon = GetWeapon("zombie_knuckle_crack");
self upgrade_knuckle_crack_begin();
self util::waittill_any("fake_death", "death", "player_downed", "weapon_change_complete");
self upgrade_knuckle_crack_end();
}

function private upgrade_knuckle_crack_begin()
{
self zm_utility::increment_is_drinking();
self zm_utility::disable_player_move_states(true);
primaries = self GetWeaponsListPrimaries();
original_weapon = self GetCurrentWeapon();
self GiveWeapon(weapon);
self SwitchToWeapon(weapon);
}

function private upgrade_knuckle_crack_end()
{
self zm_utility::enable_player_move_states();

if(self laststand::player_is_in_laststand() || IS_TRUE(self.intermission))
{
self TakeWeapon(weapon);
return;
}

self zm_utility::decrement_is_drinking();
self TakeWeapon(weapon);
primaries = self GetWeaponsListPrimaries();

if(IS_DRINKING(self.is_drinking))
return;
else
self zm_weapons::switch_back_primary_weapon();
}
With more time would make it better but haven't got any spare atm
2 years ago
It's because no sunlight. Open the wall up to allow sun light in for it to render.
3 years ago
Latest progress highlights of the custom zombies map I am developing
4 years ago
It's nothing to do with coding. What's happening is the game is seeing 2 identical assets in APE, so what you should do is go into APE and find that material, and delete one of the 2.

Do what Jdcobra said to fix it. If the mtls are actually different then you may wish to rename one of them and to update the asset which uses it. Sometimes people use the same name for different mtls which a just delete can mess up. Alternative is to use MAKECENTS third party launcher which I think has an auto dupe removal feature. Not 100% sure as I haven't used it.
4 years ago

Adding Player Respawn Locations: Radiant Call of Duty Black Ops 3 Mod Tools Tutorial Series

This tutorial walks-through all that is needed to add player respawns into your custom black ops 3 zombies maps. This will allow you to enter the next round in a different location and improves overall gameplay on custom maps.

Get the prefab here: http://phabricator.aviacreations.com/w/black_ops_3/basics/setting_up_respawn_points/
4 years ago

Model & Texture Conjunction Packs: Radiant Call of Duty Black Ops 3 Mod Tools Tutorial Series

This video dives into detailing using texture and model packs. It also gives tips on how to make better looking building work and applying other detailing techniques to achieve a much improved mapping style. Included along the way are many other little tricks that will help you make better maps.

Not only is this tutorial for Black Ops 3 Radiant Black, it can also be applied to the Call of Duty World at War Radiant and also most other Radiant Editors.
4 years ago
Standard Version
Part 1: First Planning & Setup

Part 2: Building the Geo

Part 3: Geo | Prefabs | Clipping | HUD Icons | Testing

Part 3.1: Extended Part 3 Images | Testing

Part 4: Geo | Detail | Fonts | Testing | Images

Part 5: Playing the Standard Version

Hardcore Version
Part 6: Adding Obstacles | Adding Spawners

Part 7: Adding Dragon | Images | Testing | Upload

Part 8: Playing the Hardcore Version




4 years ago
We got very close on the last try but died due to taking risks haha.
4 years ago
THE LAST DRAGON

Download Standard Version

Download Hardcore Version

Intro
Welcome to The Last Dragon. A map made during a marathon live development stream on YouTube for those who fancy a little challenge. Expect harder zombies and an interesting view. This time a little eastern spice! See if you can make it to the top of the Great Wall of China without dying!
Many Thanks to all who came to participate in the development streams! :D
If you are someone who likes more detail, big easter eggs, custom weapons, custom sounds, custom traps, custom Sq objectives... then you'll be pleased to know I am in the development stage of some far bigger projects. Including Goldeneye Remastered & A Horror Asylum. Follow the whole developments live on YouTube.

Gallery of Images
Hidden Text
StandardVersion











Hardcore Version













Features
Hidden Text
  • 13 Perks
  • Buildable Dragon Shield
  • Buyable Ending
  • Custom Music (All Copyright-free)
  • Custom Shootable Egg Money
  • Custom Font
  • Custom Icons (Perk+Powerup+HUD)
  • Custom Zombie Eye Colour
  • Custom Zombie Models
  • Custom Weapons
  • Flying Dragon Animation
  • Respawn Network
  • Timed Gameplay
Hardcore Version Differences
The hardcore version contains a different fog colour, 15+ more spawners, more detailing, more blood, higher difficulty, less money rewards for the egg shootables, more doors to purchase, worser wall buy options, power is much further away from spawn, starting location for the mystery box is much further away from spawn and different hud icons.

YouTube
Hidden Text
Follow the whole development of this map here
For Example: Part 1: First Planning & Setup

Learn to map, Custom Zombie Map Reviews: http://youtube.com/IceGrenade
Check out my livestreams: http://www.youtube.com/IceGrenade/live

Credits
Hidden Text
IceGrenade

ICE ZM Mod Level + Credit Script + Shootable + Perk Fixes + Sounds
ZoekMeMaarHelping with ICE ZM Mod Level + CSV fixes + Script cleanup
SymboFlying Dragon Animation
ZeRoYVarious Script Work (Voxes) + Custom Zombies
ArdiveeDifficulty Setting + Voxes Setup
NatesmithzombiesCustom Powerups + Hitmarkers + Perk Change
ErthrockCustom Zombie Models + Some Guns
Jia909Custom Weapons
DTZXPorterWraith + Sound Alias Voxes
UGXBuyable Ending + Timed Gameplay
Frost IceforgeCustom Zombie Eye Colour
HarryBo21Origin Pack Guns + Dragon Shield Buildable + Respawn Points
iBounceBetterPrint Script
xSanchez78PERKSCustom Perks
WARDOGSK93Custom Perks
Please let me know if I missed anyone, will add right away if I have!

Leaderboards HH:MM:SS
Hidden Text
00:32:54 - IceGrenade, Karnage
00:36:33 - NoahJ456
To get on the leaderboards please link a video of your playthrough of the map and specify your name(s). Thanks.

Known Bugs
Hidden Text
See Change Comments for bugs/fixed bugs. If you find anymore bugs please let me know kindly. Much appreciated.
<3
4 years ago
I am not clued up on fastfile errors. Would suggest trying to verify game cache integrity and perhaps a full recompile. Best to ask on the active modding discords to find someone who has ran into this. UGX has a discord: https://discord.gg/Jkb5sKt
4 years ago

Here are some of the essential tools that everyone mapping should know of, if you don't then sit down with a nice cuppa for a little knowledge :)

Not only is this tutorial for Black Ops 3 Radiant Black, it can also be applied to the Call of Duty World at War Radiant and also most other Radiant Editors.
4 years ago
Enjoyed the challenge of this map. Good stuff Mr FilthySandwich :D
4 years ago
Loading ...