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 - jm-390

Hi guys !

I have been looking for the background music that plays in the background in my custom map.
this one http://www.youtube.com/watch?v=KaEtNh8Yp1Y

I would like to replace it so I create soundaliases file from nazi_zombie_prototype.csv
Code Snippet
Plaintext
name,platform,file,sequence,vol_min,vol_max,dist_min,dist_max,limit_count,limit_type,entity_limit_count,entity_limit_type,bus,volume_min_falloff_curve,volumefalloffcurve,reverb_send,dist_reverb_max,reverb_min_falloff_curve,reverb_falloff_curve,pitch_min,pitch_max,randomize_type,spatialized,type,probability,loop,masterslave,loadspec,subtitle,compression,secondaryaliasname,chainaliasname,startdelay,speakermap,lfe percentage,center percentage,envelop_min,envelop_max,envelop percentage,occlusion_level,occlusion_wet_dry,real_delay,distance_lpf,move_type,move_time,min_priority,max_priority,min_priority_threshold,max_priority_threshold,,isbig

# Footsteps,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
# Music,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
mx_zombie_wave_1,,background_music\mx_wave_1.wav,,0.06,0.06,,,,,,,music,,,0,,,,,,,2d,streamed,,looping,,,,,,,,,,,,,,0,,,,,,100,100,0.25,1,,

and I added
Code Snippet
Plaintext
sound,music,looping
in mod.csv and convert sound and everything work perfectly
but there is no sound in the game  :gusta:
8 years ago
Anyone  :alone: :alone:
8 years ago
ok dude I reinstalling mod tools and do the tut again and I got another error ...lol :alone:



and this is the dlc3_teleportet
Code Snippet
Plaintext
#include common_scripts\utility;
#include maps\_utility;
#include maps\_zombiemode_utility;

#include maps\dlc3_code;

//-------------------------------------------------------------------------------
// setup and kick off think functions
//-------------------------------------------------------------------------------
teleporter_init()
{
level.teleport = [];
level.active_links = 0;
level.countdown = 0;

level.teleport_delay = 2;
level.teleport_cost = 1500;
level.teleport_cooldown = 5;
level.is_cooldown = false;
level.active_timer = -1;
level.teleport_time = 0;

flag_init( "teleporter_pad_link_1" );
flag_init( "teleporter_pad_link_2" );
flag_init( "teleporter_pad_link_3" );

wait_for_all_players();

// Get the Pad triggers
for ( i=0; i<3; i++ )
{
trig = GetEnt( "trigger_teleport_pad_" + i, "targetname");
if ( IsDefined(trig) )
{
level.teleporter_pad_trig[i] = trig;
}
}

thread teleport_pad_think( 0 );
thread teleport_pad_think( 1 );
thread teleport_pad_think( 2 );
thread teleport_core_think();

thread start_black_room_fx();
thread init_pack_door();

SetDvar( "factoryAftereffectOverride", "-1" );

packapunch_see = getent( "packapunch_see", "targetname" );
if(isdefined( packapunch_see ) )
{
packapunch_see thread play_packa_see_vox();
}

level.teleport_ae_funcs = [];

if( !IsSplitscreen() )
{
level.teleport_ae_funcs[level.teleport_ae_funcs.size] = maps\dlc3_teleporter::teleport_aftereffect_fov;
}
level.teleport_ae_funcs[level.teleport_ae_funcs.size] = maps\dlc3_teleporter::teleport_aftereffect_shellshock;
level.teleport_ae_funcs[level.teleport_ae_funcs.size] = maps\dlc3_teleporter::teleport_aftereffect_shellshock_electric;
level.teleport_ae_funcs[level.teleport_ae_funcs.size] = maps\dlc3_teleporter::teleport_aftereffect_bw_vision;
level.teleport_ae_funcs[level.teleport_ae_funcs.size] = maps\dlc3_teleporter::teleport_aftereffect_red_vision;
level.teleport_ae_funcs[level.teleport_ae_funcs.size] = maps\dlc3_teleporter::teleport_aftereffect_flashy_vision;
level.teleport_ae_funcs[level.teleport_ae_funcs.size] = maps\dlc3_teleporter::teleport_aftereffect_flare_vision;
}

//-------------------------------------------------------------------------------
// sets up up the pack a punch door
//-------------------------------------------------------------------------------
init_pack_door()
{
door = getent( "pack_door", "targetname" );

// if( modderHelp( door, "Missing Pack a Punch door with Targetname KVP 'pack_door'." ) )
{
door movez( -50, 0.05, 0 );
wait(1.0);

flag_wait( "all_players_connected" );

door movez(  50, 1.5, 0 );
door playsound( "packa_door_1" );

// Open slightly the first two times
flag_wait( "teleporter_pad_link_1" );
door movez( -35, 1.5, 1 );
door playsound( "packa_door_2" );
door thread packa_door_reminder();
wait(2);

// Second link
flag_wait( "teleporter_pad_link_2" );
door movez( -25, 1.5, 1 );
door playsound( "packa_door_2" );
wait(2);

// Final Link
flag_wait( "teleporter_pad_link_3" );

door movez( -60, 1.5, 1 );
door playsound( "packa_door_2" );

//door rotateyaw( -90, 1.5, 1 );
}

clip = getentarray( "pack_door_clip", "targetname" );
for ( i = 0; i < clip.size; i++ )
{
clip[i] connectpaths();
clip[i] delete();
}
}

//-------------------------------------------------------------------------------
// handles activating and deactivating pads for cool down
//-------------------------------------------------------------------------------
pad_manager()
{
for ( i = 0; i < level.teleporter_pad_trig.size; i++ )
{
// shut off the pads
level.teleporter_pad_trig[i] sethintstring( &"ZOMBIE_TELEPORT_COOLDOWN" );
level.teleporter_pad_trig[i] teleport_trigger_invisible( false );
}

level.is_cooldown = true;
wait( level.teleport_cooldown );
level.is_cooldown = false;

for ( i = 0; i < level.teleporter_pad_trig.size; i++ )
{
if ( level.teleporter_pad_trig[i].teleport_active )
{
level.teleporter_pad_trig[i] sethintstring( &"ZOMBIE_TELEPORT_TO_CORE" );
}
else
{
level.teleporter_pad_trig[i] sethintstring( &"ZOMBIE_LINK_TPAD" );
}
// level.teleporter_pad_trig[i] teleport_trigger_invisible( false );
}
}

//-------------------------------------------------------------------------------
// staggers the black room fx
//-------------------------------------------------------------------------------
start_black_room_fx()
{
for ( i = 901; i <= 904; i++ )
{
wait( 1 );
exploder( i );
}
}

//-------------------------------------------------------------------------------
// handles turning on the pad and waiting for link
//-------------------------------------------------------------------------------
teleport_pad_think( index )
{
tele_help = getent( "tele_help_" + index, "targetname" );
if(isdefined( tele_help ) )
{
tele_help thread play_tele_help_vox();
}

active = false;

// init the pad
level.teleport[index] = "waiting";

trigger = level.teleporter_pad_trig[ index ];

trigger setcursorhint( "HINT_NOICON" );
trigger sethintstring( &"ZOMBIE_FLAMES_UNAVAILABLE" );

flag_wait( "electricity_on" );

trigger sethintstring( &"ZOMBIE_POWER_UP_TPAD" );
trigger.teleport_active = false;

if ( isdefined( trigger ) )
{
while ( !active )
{
trigger waittill( "trigger" );

if ( level.active_links < 3 )
{
trigger_core = getent( "trigger_teleport_core", "targetname" );

if( modderHelp( trigger_core, "Missing mainframe trigger with Targetname KVP 'trigger_teleport_core'." ) )
{
trigger_core teleport_trigger_invisible( false );
}
}

// when one starts the others disabled
for ( i=0; i<level.teleporter_pad_trig.size; i++ )
{
level.teleporter_pad_trig[ i ] teleport_trigger_invisible( true );
}
level.teleport[index] = "timer_on";

// start the countdown back to the core
trigger thread teleport_pad_countdown( index, 30 );
teleporter_vo( "countdown", trigger );

// wait for the countdown
while ( level.teleport[index] == "timer_on" )
{
wait( .05 );
}

// core was activated in time
if ( level.teleport[index] == "active" )
{
active = true;
ClientNotify( "pw" + index ); // pad wire #

//AUDIO
ClientNotify( "tp" + index ); // Teleporter #

// MM - Auto teleport the first time
teleporter_wire_wait( index );

// trigger teleport_trigger_invisible( true );
trigger thread player_teleporting( index );
}
else
{
// Reenable triggers
  for ( i=0; i<level.teleporter_pad_trig.size; i++ )
  {
  level.teleporter_pad_trig[ i ] teleport_trigger_invisible( false );
  }
}
wait( .05 );
}

if ( level.is_cooldown )
{
// shut off the pads
trigger sethintstring( &"ZOMBIE_TELEPORT_COOLDOWN" );
trigger teleport_trigger_invisible( false );
trigger.teleport_active = true;
}
else
{
trigger thread teleport_pad_active_think( index );
}
}
}

//-------------------------------------------------------------------------------
// updates the teleport pad timer
//-------------------------------------------------------------------------------
teleport_pad_countdown( index, time )
{
self endon( "stop_countdown" );

// iprintlnbold( &"ZOMBIE_START_TPAD" );

if ( level.active_timer < 0 )
{
level.active_timer = index;
}

level.countdown++;

//AUDIO
ClientNotify( "pac" + index );
ClientNotify( "TRf" ); // Teleporter receiver map light flash

// start timer for all players
// Add a second for VO sync
players = get_players();
for( i = 0; i < players.size; i++ )
{
players[i] thread maps\_zombiemode_timer::start_timer( time+1, "stop_countdown" );
}
wait( time+1 );

if ( level.active_timer == index )
{
level.active_timer = -1;
}

// ran out of time to activate teleporter
level.teleport[index] = "timer_off";
// iprintlnbold( "out of time" );
ClientNotify( "TRs" ); // Stop flashing the receiver map light

level.countdown--;
}

//-------------------------------------------------------------------------------
// handles teleporting players when triggered
//-------------------------------------------------------------------------------
teleport_pad_active_think( index )
{
// self endon( "player_teleported" );

// link established, can be used to teleport
self setcursorhint( "HINT_NOICON" );
self.teleport_active = true;

user = undefined;

// self sethintstring( &"ZOMBIE_TELEPORT_TO_CORE" );
// self teleport_trigger_invisible( false );

while ( 1 )
{
self waittill( "trigger", user );

if ( is_player_valid( user ) && user.score >= level.teleport_cost && !level.is_cooldown )
{
for ( i = 0; i < level.teleporter_pad_trig.size; i++ )
{
level.teleporter_pad_trig[i] teleport_trigger_invisible( true );
}

user maps\_zombiemode_score::minus_to_player_score( level.teleport_cost );

// Non-threaded so the trigger doesn't activate before the cooldown
self player_teleporting( index );
}
}
}

//-------------------------------------------------------------------------------
// handles moving the players and fx, etc...moved out so it can be threaded
//-------------------------------------------------------------------------------
player_teleporting( index )
{
time_since_last_teleport = GetTime() - level.teleport_time;

// begin the teleport
// add 3rd person fx
teleport_pad_start_exploder( index );

// play startup fx at the core
exploder( 105 );

//AUDIO
ClientNotify( "tpw" + index );

// start fps fx
self thread teleport_pad_player_fx( level.teleport_delay );

//AUDIO
self thread teleport_2d_audio();

// Activate the TP zombie kill effect
self thread teleport_nuke( 20, 300); // Max 20 zombies and range 300

// wait a bit
wait( level.teleport_delay );

// end fps fx
self notify( "fx_done" );

// add 3rd person beam fx
teleport_pad_end_exploder( index );

// teleport the players
self teleport_players();

//AUDIO
ClientNotify( "tpc" + index );

// only need this if it's not cooling down
if ( level.is_cooldown == false )
{
thread pad_manager();
}

// Now spawn a powerup goodie after a few seconds
wait( 2.0 );
ss = getstruct( "teleporter_powerup", "targetname" );
if ( IsDefined( ss ) )
{
ss thread maps\_zombiemode_powerups::special_powerup_drop(ss.origin);
}
else
{
modderHelp( undefined, "Missing struct with Targetname KVP 'teleporter_powerup'." );
}

// Special for teleporting too much.  The Dogs attack!
if ( time_since_last_teleport < 60000 && level.active_links == 3 && level.round_number > 20 )
{
dog_spawners = GetEntArray( "special_dog_spawner", "targetname" );
if( modderHelp( dog_spawners, "Missing power up dog with Targetname KVP 'special_dog_spawner'." ) )
{
maps\_zombiemode_dogs::special_dog_spawn( undefined, 4 );
}
//iprintlnbold( "Samantha Sez: No Powerup For You!" );
thread play_sound_2d( "sam_nospawn" );
}
level.teleport_time = GetTime();
}

//-------------------------------------------------------------------------------
// pad fx for the start of the teleport
//-------------------------------------------------------------------------------
teleport_pad_start_exploder( index )
{
switch ( index )
{
case 0:
exploder( 202 );
break;

case 1:
exploder( 302 );
break;

case 2:
exploder( 402 );
break;
}
}

//-------------------------------------------------------------------------------
// pad fx for the end of the teleport
//-------------------------------------------------------------------------------
teleport_pad_end_exploder( index )
{
switch ( index )
{
case 0:
exploder( 201 );
break;

case 1:
exploder( 301 );
break;

case 2:
exploder( 401 );
break;
}
}

//-------------------------------------------------------------------------------
// used to enable / disable the pad use trigger for players
//-------------------------------------------------------------------------------
teleport_trigger_invisible( enable )
{
players = getplayers();

for ( i = 0; i < players.size; i++ )
{
if ( isdefined( players[i] ) )
{
self SetInvisibleToPlayer( players[i], enable );
}
}
}

//-------------------------------------------------------------------------------
// checks if player is within radius of the teleport pad
//-------------------------------------------------------------------------------
player_is_near_pad( player )
{
radius = 88;
scale_factor = 2;

dist = Distance2D( player.origin, self.origin );
dist_touching = radius * scale_factor;

if ( dist < dist_touching )
{
return true;
}

return false;
}


//-------------------------------------------------------------------------------
// this is the 1st person effect seen when touching the teleport pad
//-------------------------------------------------------------------------------
teleport_pad_player_fx( delay )
{
self endon( "fx_done" );

while ( 1 )
{
players = getplayers();
for ( i = 0; i < players.size; i++ )
{
if ( isdefined( players[i] ) )
{
if ( self player_is_near_pad( players[i] ) )
{
players[i] SetTransported( delay );
}
else
{
players[i] SetTransported( 0 );
}
}
}
wait ( .05 );
}
}

//-------------------------------------------------------------------------------
// send players back to the core
//-------------------------------------------------------------------------------
teleport_players()
{
player_radius = 16;

players = getplayers();

core_pos = [];
occupied = [];
image_room = [];
players_touching = []; // the players that will actually be teleported

player_idx = 0;

prone_offset = (0, 0, 49);
crouch_offset = (0, 0, 20);
stand_offset = (0, 0, 0);

// send players to a black room to flash images for a few seconds
for ( i = 0; i < 4; i++ )
{
core_pos[i] = getent( "origin_teleport_player_" + i, "targetname" );
modderHelp( core_pos[i], "Missing teleport destination script origin with Targetname KVP 'origin_teleport_player_" + i + "'." );
occupied[i] = false;
image_room[i] = getent( "teleport_room_" + i, "targetname" );
modderHelp( image_room[i], "Missing teleport room script origin with Targetname KVP 'teleport_room_" + i + "'." );

if ( isdefined( players[i] ) )
{
players[i] settransported( 0 );

if ( self player_is_near_pad( players[i] ) )
{
players_touching[player_idx] = i;
player_idx++;

if ( isdefined( image_room[i] ) && !players[i] maps\_laststand::player_is_in_laststand() )
{
players[i] disableOffhandWeapons();
players[i] disableweapons();
if( players[i] getstance() == "prone" )
{
desired_origin = image_room[i].origin + prone_offset;
}
else if( players[i] getstance() == "crouch" )
{
desired_origin = image_room[i].origin + crouch_offset;
}
else
{
desired_origin = image_room[i].origin + stand_offset;
}

players[i].teleport_origin = spawn( "script_origin", players[i].origin );
players[i].teleport_origin.angles = players[i].angles;
players[i] linkto( players[i].teleport_origin );
players[i].teleport_origin.origin = desired_origin;
players[i] FreezeControls( true );
wait_network_frame();

if( IsDefined( players[i] ) )
{
setClientSysState( "levelNotify", "black_box_start", players[i] );
players[i].teleport_origin.angles = image_room[i].angles;
}
}
}
}
}

wait( 2 );

// Nuke anything at the core
core = GetEnt( "trigger_teleport_core", "targetname" );
modderHelp( core, "Missing mainframe trigger with Targetname KVP 'trigger_teleport_core'." );
core thread teleport_nuke( undefined, 300); // Max any zombies at the pad range 300

// check if any players are standing on top of core teleport positions
for ( i = 0; i < players.size; i++ )
{
if ( isdefined( players[i] ) )
{
for ( j = 0; j < 4; j++ )
{
if ( !occupied[j] )
{
dist = Distance2D( core_pos[j].origin, players[i].origin );
if ( dist < player_radius )
{
occupied[j] = true;
}
}
}
setClientSysState( "levelNotify", "black_box_end", players[i] );
}
}

wait_network_frame();

// move players to the core
for ( i = 0; i < players_touching.size; i++ )
{
player_idx = players_touching[i];
player = players[player_idx];

if ( !IsDefined( player ) )
{
continue;
}

// find a free space at the core
slot = i;
start = 0;
while ( occupied[slot] && start < 4 )
{
start++;
slot++;
if ( slot >= 4 )
{
slot = 0;
}
}
occupied[slot] = true;
pos_name = "origin_teleport_player_" + slot;
teleport_core_pos = getent( pos_name, "targetname" );
modderHelp( teleport_core_pos, "Missing teleport core position with Targetname KVP " + pos_name + "." );

player unlink();

assert( IsDefined( player.teleport_origin ) );
player.teleport_origin delete();
player.teleport_origin = undefined;

player enableweapons();
player enableoffhandweapons();
player setorigin( core_pos[slot].origin );
player setplayerangles( core_pos[slot].angles );
player FreezeControls( false );
player thread teleport_aftereffects();

vox_rand = randomintrange(1,100);  //RARE: Sets up rare post-teleport line

if( vox_rand <= 2 )
{
//player teleporter_vo( "vox_tele_sick_rare" );
//iprintlnbold( "Hey, this is the random teleport sickness line!" );
}
else
{
player teleporter_vo( "vox_tele_sick" );
}

player achievement_notify( "DLC3_ZOMBIE_FIVE_TELEPORTS" );
}

// play beam fx at the core
exploder( 106 );
}

//-------------------------------------------------------------------------------
// updates the hint string when countdown is started and expired
//-------------------------------------------------------------------------------
teleport_core_hint_update()
{
self setcursorhint( "HINT_NOICON" );

while ( 1 )
{
// can't use teleporters until power is on
if ( !flag( "electricity_on" ) )
{
self sethintstring( &"ZOMBIE_FLAMES_UNAVAILABLE" );
}
else if ( teleport_pads_are_active() )
{
self sethintstring( &"ZOMBIE_LINK_TPAD" );
}
else if ( level.active_links == 0 )
{
self sethintstring( &"ZOMBIE_INACTIVE_TPAD" );
}
else
{
self sethintstring( "" );
}

wait( .05 );
}
}

//-------------------------------------------------------------------------------
// establishes the link between teleporter pads and the core
//-------------------------------------------------------------------------------
teleport_core_think()
{
trigger = getent( "trigger_teleport_core", "targetname" );
if ( isdefined( trigger ) )
{
trigger thread teleport_core_hint_update();

// disable teleporters to power is turned on
flag_wait( "electricity_on" );

while ( 1 )
{
if ( teleport_pads_are_active() )
{
trigger waittill( "trigger" );

// trigger teleport_trigger_invisible( true );

// iprintlnbold( &"ZOMBIE_LINK_ACTIVE" );

// link the activated pads
for ( i = 0; i < level.teleport.size; i++ )
{
if ( isdefined( level.teleport[i] ) )
{
if ( level.teleport[i] == "timer_on" )
{
level.teleport[i] = "active";
level.active_links++;
flag_set( "teleporter_pad_link_"+level.active_links );

//AUDIO
ClientNotify( "scd" + i );

teleport_core_start_exploder( i );

// check for all teleporters active
if ( level.active_links == 3 )
{
exploder( 101 );
ClientNotify( "pap1" ); // Pack-A-Punch door on
teleporter_vo( "linkall", trigger );
if( level.round_number <= 7 )
{
achievement_notify( "DLC3_ZOMBIE_FAST_LINK" );
}
Earthquake( 0.3, 2.0, trigger.origin, 3700 );
}

// stop the countdown for the teleport pad
pad = "trigger_teleport_pad_" + i;
trigger_pad = getent( pad, "targetname" );
trigger_pad stop_countdown();
ClientNotify( "TRs" ); // Stop flashing the receiver map light
level.active_timer = -1;
}
}
}
}

wait( .05 );
}
}
else
{
modderHelp( undefined, "Missing mainframe trigger with Targetname KVP 'trigger_teleport_core'." );
}
}

stop_countdown()
{
self notify( "stop_countdown" );
players = get_players();

for( i = 0; i < players.size; i++ )
{
players[i] notify( "stop_countdown" );
}
}

//-------------------------------------------------------------------------------
// checks if any of the teleporter pads are counting down
//-------------------------------------------------------------------------------
teleport_pads_are_active()
{
// have any pads started?
if ( isdefined( level.teleport ) )
{
for ( i = 0; i < level.teleport.size; i++ )
{
if ( isdefined( level.teleport[i] ) )
{
if ( level.teleport[i] == "timer_on" )
{
return true;
}
}
}
}

return false;
}

//-------------------------------------------------------------------------------
// starts the exploder for the teleport pad fx
//-------------------------------------------------------------------------------
teleport_core_start_exploder( index )
{
switch ( index )
{
case 0:
exploder( 102 );
break;

case 1:
exploder( 103 );
break;

case 2:
exploder( 104 );
break;
}
}

teleport_2d_audio()
{
self endon( "fx_done" );

while ( 1 )
{
players = getplayers();

wait(1.7);

for ( i = 0; i < players.size; i++ )
{
if ( isdefined( players[i] ) )
{
if ( self player_is_near_pad( players[i] ) )
{
setClientSysState("levelNotify", "t2d", players[i]);
}
}
}
}
}


// kill anything near the pad
teleport_nuke( max_zombies, range )
{
zombies = getaispeciesarray("axis");

zombies = get_array_of_closest( self.origin, zombies, undefined, max_zombies, range );

for (i = 0; i < zombies.size; i++)
{
wait (randomfloatrange(0.2, 0.3));
if( !IsDefined( zombies[i] ) )
{
continue;
}

if( is_magic_bullet_shield_enabled( zombies[i] ) )
{
continue;
}

if( !( zombies[i] enemy_is_dog() ) )
{
zombies[i] maps\_zombiemode_spawner::zombie_head_gib();
}

zombies[i] dodamage( 10000, zombies[i].origin );
playsoundatposition( "nuked", zombies[i].origin );
}
}

teleporter_vo( tele_vo_type, location )
{
if( !isdefined( location ))
{
self thread teleporter_vo_play( tele_vo_type, 2 );
}
else
{
players = get_players();
for (i = 0; i < players.size; i++)
{
if (distance (players[i].origin, location.origin) < 64)
{
switch ( tele_vo_type )
{
case "linkall":
players[i] thread teleporter_vo_play( "vox_tele_linkall" );
break;
case "countdown":
players[i] thread teleporter_vo_play( "vox_tele_count", 3 );
break;
}
}
}
}
}

teleporter_vo_play( vox_type, pre_wait )
{
if(!isdefined( pre_wait ))
{
pre_wait = 0;
}
index = maps\_zombiemode_weapons::get_player_index(self);
plr = "plr_" + index + "_";
wait(pre_wait);
self create_and_play_dialog( plr, vox_type, 0.25 );
}

play_tele_help_vox()
{
level endon( "tele_help_end" );

while(1)
{
self waittill("trigger", who);

if( flag( "electricity_on" ) )
{
who thread teleporter_vo_play( "vox_tele_help" );
level notify( "tele_help_end" );
}

while(IsDefined (who) && (who) IsTouching (self))
{
wait(0.1);
}
}
}

play_packa_see_vox()
{
wait(10);

if( !flag( "teleporter_pad_link_3" ) )
{
self waittill("trigger", who);
who thread teleporter_vo_play( "vox_perk_packa_see" );
}
}


//
// This should match the perk_wire_fx_client function
// waits for the effect to travel along the wire
teleporter_wire_wait( index )
{
targ = getstruct( "pad_"+index+"_wire" ,"targetname");
if ( !IsDefined( targ ) )
{
return;
}

while(isDefined(targ))
{
if(isDefined(targ.target))
{
target = getstruct(targ.target,"targetname");
wait( 0.1 );

targ = target;
}
else
{
break;
}
}
}

// Teleporter Aftereffects
teleport_aftereffects()
{
if( GetDvar( "factoryAftereffectOverride" ) == "-1" )
{
self thread [[ level.teleport_ae_funcs[RandomInt(level.teleport_ae_funcs.size)] ]]();
}
else
{
self thread [[ level.teleport_ae_funcs[int(GetDvar( "factoryAftereffectOverride" ))] ]]();
}
}

teleport_aftereffect_shellshock()
{
println( "*** Explosion Aftereffect***\n" );
self shellshock( "explosion", 4 );
}

teleport_aftereffect_shellshock_electric()
{
println( "***Electric Aftereffect***\n" );
self shellshock( "electrocution", 4 );
}

// tae indicates to Clientscripts that a teleporter aftereffect should start

teleport_aftereffect_fov()
{
setClientSysState( "levelNotify", "tae", self );
}

teleport_aftereffect_bw_vision( localClientNum )
{
setClientSysState( "levelNotify", "tae", self );
}

teleport_aftereffect_red_vision( localClientNum )
{
setClientSysState( "levelNotify", "tae", self );
}

teleport_aftereffect_flashy_vision( localClientNum )
{
setClientSysState( "levelNotify", "tae", self );
}

teleport_aftereffect_flare_vision( localClientNum )
{
setClientSysState( "levelNotify", "tae", self );
}

packa_door_reminder()
{
while( !flag( "teleporter_pad_link_3" ) )
{
rand = randomintrange(4,16);
self playsound( "packa_door_hitch" );
wait(rand);
}
}

sorry for my bad English
8 years ago
after I added Harry Bo21's Perk I got error ( could not find script map/_zombiemod_dog) Although I removed
maps\_zombiemode_dogs::init(); in _zombiemode.gsc and include,zombiemode_dogs in mod.scv
    


Double Post Merge: July 18, 2016, 04:14:13 pm
Any help
8 years ago
after I added Harry Bo21's Perk I got error ( could not find script map/_zombiemod_dog) Although I removed
maps\_zombiemode_dogs::init(); in _zombiemode.gsc and include,zombiemode_dogs in mod.scv
    
8 years ago
so i followed Harry Bo21's tut and i have checked steps many times but Always got server script compile error



Double Post Merge: July 13, 2016, 10:14:38 pm
Any help 
8 years ago
it seems that your worldspawn got deleted :L i know you have to add it with notepad using another map's worldspawn
Just copy a worldspawn entry from an existing map into this maps .map file. Make sure that it's the first entity in it(entity 0).
8 years ago
so I'm following this tut http://.com/forum/index.php/topic,11600.0.html
and as you can see in the images It does not work for me  ::)


I Placed the converted images from root\raw\images into root\mods\{MAPNAME}\images and Ticked in mod builder

 also I convert all images in asset manager and add this in my mod.csv in the mod builder
Code Snippet
Plaintext
menufile,ui\t6_hud.menu
material,hud_ammo_zom_num_0
material,hud_ammo_zom_num_1
material,hud_ammo_zom_num_2
material,hud_ammo_zom_num_3
material,hud_ammo_zom_num_4
material,hud_ammo_zom_num_5
material,hud_ammo_zom_num_6
material,hud_ammo_zom_num_7
material,hud_ammo_zom_num_8
material,hud_ammo_zom_num_9



8 years ago
Did you also selected "tag_view" when exporting the xmodel?

OK dude it's work but the player's hand disappeared   :alone:

8 years ago
What joints did you selected when exporting the xmodel and the xanim?

DefMesh:Defviewskeleton>>>>select set Members
also selected gun joints 
actually I'm following tom tut
http://www.youtube.com/watch?v=aqsCgbyLb04&list=PLh270sK4UmLKWCGXJNrR1N9odbhQAlbpF&index=3
8 years ago
I try to make  animation for my first custom  weapon everything work fine in asset manager and maya but the animation not working in game

in maya


weapon file


in asset manager
Code Snippet
Plaintext
Converting 1 assets, reason: 'missing cache entry'
Converting 'steam_punk_idle' (xanim 2 of 1)...
Converting xanim 'C:\Program Files (x86)\Activision\Call of Duty - \xanim_export/steam_punk_idle.xanim_export'...
framerate: 30


Conversion done. Hit key to continue.

mod.csv
Code Snippet
Plaintext
// Zombie Mode Stuff
include,zombiemode
include,zombiemode_dogs
// Zombie Mode Strings
localize,zombie
// Mod Strings
localize,mod
// Edited Loadout For Zombie Heroes
rawfile,maps\_loadout.gsc
// Edited LastStand For Deep Water Like Sumpf
rawfile,maps\_laststand.gsc
// Edited For Developer_Script
rawfile,maps\_debug.gsc
// Updated Menu File For Pause Screen
menufile,ui/objective_info.menu
stringtable,maps/mapsTable.csv
//viewhands
xmodel,viewmodel_usa_marine_arms
xmodel,viewmodel_usa_marine_player
weapon,sp/steampunk
weapon,sp/zombie_colt
xmodel,Steam_PuNK_viewmodel
xanim,steam_punk_idle

in game :please: :gusta: :poker:


note: I try to make idle animation
sorry for my bad english :)
8 years ago
hello ugx ...
I have small problem with viewhand model I have changed it before but I forget how retained to the
default :please:



this is my _loadout.gsc file

Code Snippet
Plaintext
#include maps\_utility;

init_loadout()
{


level.default_weapon = "halo_magnum";
level.last_stand_weapon = "halo_magnum";


// MikeD (7/30/2007): New method of precaching/giving weapons.
// Set the level variables.
if( !IsDefined( level.player_loadout ) )
{
level.player_loadout = [];
}

// CODER MOD
// With the player joining later now we need to precache all weapons for the level
init_models_and_variables_loadout();

players = get_players();
for ( i = 0; i < players.size; i++ )
{
players[i] give_loadout();
players[i].pers["class"] = "closequarters";
}
level.loadoutComplete = true;
level notify("loadout complete");


// these precaches should only happen per level and campaign

if (level.campaign == "russian")
{
if (level. == "ber2")
{
mptype\player_rus_guard_wet::precache();
}
else if (level. == "sniper")
{
// nothing!
}
else
{
mptype\player_rus_guard::precache();
}
}
else if (level.campaign == "american")
{
if (level. == "pel1")
{
mptype\player_usa_marine::precache();
}
else if (level. == "pel1a" || level. == "pel2")
{
mptype\player_usa_marine::precache();
}
else if (level. == "oki2")
{
mptype\player_usa_marine_wet::precache();
}
else if( level. == "mak")
{
mptype\player_usa_raider::precache();
}
else if ( level. == "pby_fly")
{
//nothing
}
else if( isDefined( level.use_zombie_heroes ) && level.use_zombie_heroes )
{

mptype\nazi_zombie_heroes::precache();

}
else
{
mptype\player_usa_marine::precache();
}
}
else
{
mptype\player_usa_marine::precache();
}
}

init_models_and_variables_loadout()
{
// SCRIPTER_MOD
// MikeD (3/16/2007): Testmap for Coop

/*
if( level. == "coop_test1" )
{
add_weapon( "m1garand" );
add_weapon( "thompson" );
add_weapon( "fraggrenade" );
set_switch_weapon( "m1garand" );

set_player_viewmodel( "viewmodel_usa_marine_arms");

level.campaign = "american";
return;
}
else if( level. == "mak" ) // MikeD
{
add_weapon( "nambu" );
set_switch_weapon( "nambu" );
set_laststand_pistol( "nambu" );

set_player_viewmodel( "viewmodel_usa_raider_arms" );
set_player_interactive_hands( "viewmodel_usa_raider_player" );

level.campaign = "american";
return;
}
else if( level. == "pel1" ) // Jesse
{
add_weapon( "colt");
add_weapon( "m1garand_bayonet" );
add_weapon( "fraggrenade" );
add_weapon( "m8_white_smoke" );
add_weapon( "rocket_barrage" );
set_action_slot( 4, "weapon", "rocket_barrage" );
set_secondary_offhand( "smoke" );

set_laststand_pistol( "colt" );

set_player_viewmodel( "viewmodel_usa_marine_arms");
set_player_interactive_hands( "viewmodel_usa_marine_player" );

// CODER MOD (Austin & Sumeet 11/3/07)
// Fix bugs #1056 & #1057 with co-op players having no weapon selected
set_switch_weapon( "m1garand_bayonet" );

level.campaign = "american";
return;
}
else if( level. == "pel1a" ) // MikeD
{
add_weapon( "m1garand" );
PrecacheItem( "m2_flamethrower" );
//add_weapon( "m2_flamethrower" );
add_weapon( "thompson" );
//TFLAME - Bug about 3 weapons
//add_weapon( "colt" );
add_weapon( "fraggrenade" );
add_weapon( "m8_white_smoke" );
set_secondary_offhand( "smoke" );
// set_switch_weapon( "m2_flamethrower" );
set_switch_weapon( "m1garand" );

set_laststand_pistol( "colt" );

set_player_viewmodel( "viewmodel_usa_marine_arms");
set_player_interactive_hands( "viewmodel_usa_marine_player" );

level.campaign = "american";
return;
}
else if( level. == "pel1b" )
{
// TODO add level-specific weapons
add_weapon( "shotgun" );
add_weapon( "30cal_bipod" );
//add_weapon( "colt");
add_weapon( "fraggrenade" );
add_weapon( "m8_white_smoke" );
set_secondary_offhand( "smoke" );
set_switch_weapon( "30cal_bipod" );

set_laststand_pistol( "colt" );

set_player_viewmodel( "viewmodel_usa_marine_arms");
set_player_interactive_hands( "viewmodel_usa_marine_player");

level.campaign = "american";
return;
}
else if (level. == "pby_fly" ) // Gavin
{
//add_weapon( "pby_backgun" );
//add_weapon( "pby_frontgun" );
//add_weapon( "pby_rightgun" );
//add_weapon( "pby_leftgun" );
//set_action_slot( 1, "weapon", "pby_frontgun" );
//set_action_slot( 4, "weapon", "pby_rightgun" );
//set_action_slot( 2, "weapon", "pby_backgun" );
//set_action_slot( 3, "weapon", "pby_leftgun" );

set_laststand_pistol( "colt" ); // No revive while in the air!

set_player_viewmodel( "viewmodel_usa_pbycrew_arms");

level.campaign = "american";
return;
}
else if( level. == "pel2" ) // DPG (7/9/2007): Peleliu 2
{
add_weapon( "colt" );

add_weapon( "bar" );
add_weapon( "fraggrenade" );
add_weapon( "m8_white_smoke" );
set_secondary_offhand( "smoke" );

set_switch_weapon( "bar" );

set_laststand_pistol( "colt" );

set_player_viewmodel( "viewmodel_usa_marine_arms");
set_player_interactive_hands( "viewmodel_usa_marine_player" );

level.campaign = "american";
return;
}
else if( level. == "see1" ) // Alex Liu
{
add_weapon( "mosin_rifle" );
add_weapon( "tokarev" );
// CODER_MOD: Austin (7/31/08): added stick grenade for russian campaign to replace smoke (BUG 17665)
add_weapon( "stick_grenade" );
add_weapon( "molotov" );
PrecacheItem( "napalmblob" );
PrecacheItem( "napalmbloblight" );
set_secondary_offhand( "smoke" );
set_switch_weapon( "mosin_rifle" );

set_laststand_pistol( "tokarev" );

set_player_viewmodel( "viewmodel_rus_guard_arms");

level.campaign = "russian";
return;
}
else if( level. == "see2" ) // DPG (7/9/2007): Seelow 2
{
//add_weapon( "mosin_rifle" );
add_weapon( "m2_flamethrower" );
add_weapon( "ppsh" );
add_weapon( "stick_grenade" );
set_secondary_offhand( "smoke" );
set_switch_weapon( "m2_flamethrower" );

set_laststand_pistol( "none" ); // Players are in a tank

// SRS 6/24/2008: don't need visible viewarms because you're in a tank

level.campaign = "russian";
return;
}
else if( level. == "ber1" ) // Bloodlust (7/06/2007): Berlin 1
{
add_weapon( "tokarev" );
add_weapon( "mosin_rifle" );
add_weapon( "stick_grenade" );
//add_weapon( "m8_white_smoke" );
add_weapon( "molotov" );
set_secondary_offhand( "molotov" );
set_switch_weapon( "mosin_rifle" );

set_laststand_pistol( "tokarev" );

set_player_viewmodel( "viewmodel_rus_guard_arms");

level.campaign = "russian";
return;
}
else if( level. == "ber1_geo" ) // Bloodlust (10/22/2007): Berlin 1 Geo (for Brandon)
{
add_weapon( "mosin_rifle" );
add_weapon( "ppsh" );
add_weapon( "stick_grenade" );
add_weapon( "molotov" );
set_secondary_offhand( "smoke" );
set_switch_weapon( "mosin_rifle" );

set_laststand_pistol( "tokarev" );

set_player_viewmodel( "viewmodel_rus_guard_arms");

level.campaign = "russian";
return;
}
else if( level. == "ber2" ) // SS
{
add_weapon( "ppsh" );
add_weapon( "tokarev" );
//add_weapon( "mosin_rifle" );  // SRS 5/9/2008: need to pick either the rifle or the SMG to start
// CODER_MOD: Austin (7/31/08): added stick grenade for russian campaign to replace smoke (BUG 17665)
add_weapon( "stick_grenade" );
add_weapon( "molotov" );
set_secondary_offhand( "smoke" );
set_switch_weapon( "ppsh" );

set_laststand_pistol( "tokarev" );

set_player_viewmodel( "viewmodel_rus_guard_arms");

level.campaign = "russian";
return;
}
else if( level. == "sniper" ) // TFlame 2/12/08 - only weapon player should have is a scoped rifle
{
add_weapon( "mosin_rifle_scoped" );
add_weapon( "stick_grenade" );
set_switch_weapon("mosin_rifle_scoped");

set_laststand_pistol( "tokarev" );

set_player_viewmodel( "viewmodel_rus_guard_arms");
set_player_interactive_hands( "viewmodel_rus_guard_player" );

level.campaign = "russian";
return;
}
else if( level. == "ber3" ) // Joyal
{
add_weapon( "svt40" );
add_weapon( "ppsh" );
// CODER_MOD: Austin (7/31/08): added stick grenade for russian campaign to replace smoke (BUG 17665)
add_weapon( "stick_grenade" );
add_weapon( "molotov" );
PrecacheItem( "napalmblob" );
PrecacheItem( "napalmbloblight" );
set_secondary_offhand( "smoke" );
set_switch_weapon( "ppsh" );

set_laststand_pistol( "tokarev" );

set_player_viewmodel("viewmodel_rus_guard_arms");
level.campaign = "russian";
return;
}
else if( level. == "ber3b" ) // SS
{
add_weapon( "tokarev" );
add_weapon( "svt40" );
// CODER_MOD: Austin (7/31/08): added stick grenade for russian campaign to replace smoke (BUG 17665)
add_weapon( "stick_grenade" );
add_weapon( "molotov" );
set_secondary_offhand( "smoke" );
set_switch_weapon( "svt40" );

set_laststand_pistol( "tokarev" );

set_player_viewmodel( "viewmodel_rus_guard_arms");

level.campaign = "russian";
return;
}
else if( level. == "oki2" ) // JeremyS
{
add_weapon( "30cal_wet" );
//add_weapon( "m2_flamethrower_wet" );
PrecacheItem( "m2_flamethrower_wet" );
add_weapon( "thompson_wet" );
add_weapon( "fraggrenade" );
add_weapon( "m8_white_smoke" );
//add_weapon( "satchel_charge" );
set_secondary_offhand( "smoke" );
// set_switch_weapon( "m2_flamethrower_wet" );
set_switch_weapon( "thompson_wet" );


set_laststand_pistol( "colt_wet" );

set_player_viewmodel( "viewmodel_usa_marinewet_rolledup_arms");
set_player_interactive_hands( "viewmodel_usa_marinewet_rolledup_player" ); // Uncomment this if you want "interactive" hands for Banzai

level.campaign = "american";
return;
}
else if( level. == "prologue" ) // Lucas (03/14/2008)
{
add_weapon( "m1garand" );
add_weapon( "colt" );
set_switch_weapon( "colt" );

set_laststand_pistol( "colt" );

set_player_viewmodel( "viewmodel_usa_marine_arms");

level.campaign = "american";
return;
}
else if( level. == "oki3" ) // ChrisP
{
add_weapon( "m1garand" );
add_weapon( "thompson" );
add_weapon( "fraggrenade" );
add_weapon( "m8_white_smoke" );
add_weapon("air_support");
set_action_slot( 4, "weapon", "air_support" );
set_secondary_offhand( "smoke" );
set_switch_weapon( "m1garand" );
set_laststand_pistol( "colt" );

set_player_viewmodel( "viewmodel_usa_marine_arms");
set_player_interactive_hands( "viewmodel_usa_marine_player" );

level.campaign = "american";
return;
}
else if( level. == "living_battlefield" )
{
add_weapon( "m1garand_bayonet" );
add_weapon( "thompson" );
add_weapon( "molotov" );
PrecacheItem( "napalmblob" );
PrecacheItem( "napalmbloblight" );
add_weapon( "fraggrenade" );
set_secondary_offhand( "flash" );
set_switch_weapon( "m1garand_bayonet" );

set_laststand_pistol( "colt" );

set_player_viewmodel( "viewmodel_usa_marine_arms");

level.campaign = "american";
return;
}
else if( GetDvar( "halo_magnum" ) == "1" || IsSubStr( level., "nazi_zombie_" ) || level. == "zombie_test_map" ) // CODER_MOD (Austin 5/4/08): zombiemode loadout setup
{
add_weapon( "halo_magnum" );
PrecacheItem( "napalmblob" );
PrecacheItem( "napalmbloblight" );
set_switch_weapon( "halo_magnum" );

set_laststand_pistol( "halo_magnum" );

set_player_viewmodel( "viewmodel_usa_raider_arms" );
set_player_interactive_hands( "viewmodel_usa_raider_player" );

level.campaign = "american";
return;
}
else if( IsSubStr( level., "intro_" ) ) // Support for the intro movies for the campaigns
{
return;
}
else if( level. == "credits" )
{
set_player_viewmodel( "viewmodel_usa_marine_arms");
set_player_interactive_hands( "viewmodel_usa_marine_player");
level.campaign = "american";
return;
}
*/
add_weapon( "halo_magnum" );
PrecacheItem( "napalmblob" );
PrecacheItem( "napalmbloblight" );
set_switch_weapon( "halo_magnum" );

set_laststand_pistol( "halo_magnum" );

set_player_viewmodel( "viewhands_black_kit");
         set_player_interactive_hands( "viewhands_black_kit");

level.campaign = "american";
return;
}

// This will precache and set the loadout rather than duplicating work.
add_weapon( weapon_name )
{
PrecacheItem( weapon_name );
level.player_loadout[level.player_loadout.size] = weapon_name;
}

// This sets the secondary offhand type when the player spawns in
set_secondary_offhand( weapon_name )
{
level.player_secondaryoffhand = weapon_name;
}

// This sets the the switchtoweapon when the player spawns in
set_switch_weapon( weapon_name )
{
level.player_switchweapon = weapon_name;
}

// This sets the the action slot for when the player spawns in
set_action_slot( num, option1, option2 )
{

if( num < 2 || num > 4)
{
if(level. != "pby_fly")  // GLocke 11/15/2007 - The flying level uses all 4 dpad slots
{
// Not using 1, since it's defaulted to grenade launcher.
assertmsg( "_loadout.gsc: set_action_slot must be set with a number greater than 1 and less than 5" );
}
}

// Glocke 12/03/07 - added precaching of weapon type for action slot
if(IsDefined(option1))
{
if(option1 == "weapon")
{
PrecacheItem(option2);
level.player_loadout[level.player_loadout.size] = option2;
}
}

if( !IsDefined( level.player_actionslots ) )
{
level.player_actionslots = [];
}

action_slot = SpawnStruct();
action_slot.num = num;
action_slot.option1 = option1;

if( IsDefined( option2 ) )
{
action_slot.option2 = option2;
}

level.player_actionslots[level.player_actionslots.size] = action_slot;
}

// Sets the player's viewmodel
set_player_viewmodel( viewmodel )
{
PrecacheModel( viewmodel );
level.player_viewmodel = viewmodel;
}

// Sets the player's handmodel used for "interactive" hands and banzai attacks
set_player_interactive_hands( model )
{
level.player_interactive_hands = model;
PrecacheModel( level.player_interactive_hands );
}

// Sets the player's laststand pistol
set_laststand_pistol( weapon )
{
level.laststandpistol = weapon;
}

give_loadout(wait_for_switch_weapon)
{
if( !IsDefined( game["gaveweapons"] ) )
{
game["gaveweapons"] = 0;
}

if( !IsDefined( game["expectedlevel"] ) )
{
game["expectedlevel"] = "";
}

if( game["expectedlevel"] != level. )
{
game["gaveweapons"] = 0;
}

if( game["gaveweapons"] == 0 )
{
game["gaveweapons"] = 1;
}

// MikeD (4/18/2008): In order to be able to throw a grenade back, the player first needs to at
// least have a grenade in his inventory before doing so. So let's try to find out and give it to him
// then take it away.
gave_grenade = false;

// First check to see if we are giving him a grenade, if so, skip this process.
for( i = 0; i < level.player_loadout.size; i++ )
{
if( WeaponType( level.player_loadout[i] ) == "grenade" )
{
gave_grenade = true;
break;
}
}

// If we do not have a grenade then try to automatically assign one
// If we can't automatically do this, then the scripter needs to do by hand in the level
if( !gave_grenade )
{
if( IsDefined( level.player_grenade ) )
{
grenade = level.player_grenade;
self GiveWeapon( grenade );
self SetWeaponAmmoStock( grenade, 0 );
gave_grenade = true;
}

if( !gave_grenade )
{
// Get all of the AI and assign any grenade to the player
ai = GetAiArray( "allies" );

if( IsDefined( ai ) )
{
for( i = 0; i < ai.size; i++ )
{
if( IsDefined( ai[i].grenadeWeapon ) )
{
grenade = ai[i].grenadeWeapon;
self GiveWeapon( grenade );
self SetWeaponAmmoStock( grenade, 0 );
break;
}
}
}

println( "^3LOADOUT ISSUE: Unable to give a grenade, the player need to be given a grenade and then take it away in order for the player to throw back grenades, but not have any grenades in his inventory." );
}
}

for( i = 0; i < level.player_loadout.size; i++ )
{
self GiveWeapon( level.player_loadout[i] );
}

self SetActionSlot( 1, "" );
self SetActionSlot( 2, "" );
self SetActionSlot( 3, "altMode" ); // toggles between attached grenade launcher
self SetActionSlot( 4, "" );

if( IsDefined( level.player_actionslots ) )
{
for( i = 0; i < level.player_actionslots.size; i++ )
{
num = level.player_actionslots[i].num;
option1 = level.player_actionslots[i].option1;

if( IsDefined( level.player_actionslots[i].option2 ) )
{
option2 = level.player_actionslots[i].option2;
self SetActionSlot( num, option1, option2 );
}
else
{
self SetActionSlot( num, option1 );
}
}
}

if( IsDefined( level.player_switchweapon ) )
{
// the wait was added to fix a revive issue with the host
// for some reson the SwitchToWeapon message gets lost
// this can be removed if that is ever resolved
if ( isdefined(wait_for_switch_weapon) && wait_for_switch_weapon == true )
{
wait(0.5);
}
self SwitchToWeapon( level.player_switchweapon );
}

wait(0.5);

self player_flag_set("loadout_given");
}

give_model( class )
{
// switch ( level.campaign )
// {
// case "russian":
// self mptype\player_rus_guard::main();
// break;
// case "american":
// default:
// self mptype\player_usa_marine::main();
// break;

if (level.campaign == "russian")
{
if (level. == "ber2")
{
self mptype\player_rus_guard_wet::main();
}
else if (level. == "sniper")
{
// nothing!
}
else
{
self mptype\player_rus_guard::main();
}
}
else if (level.campaign == "american")
{
if (level. == "pel1")
{
self mptype\player_usa_marine::main();
}
else if (level. == "pel1a" || level. == "pel2")
{
self mptype\player_usa_marine::main();
}
else if (level. == "oki2")
{
self mptype\player_usa_marine_wet::main();
}
else if (level. == "mak")
{
self mptype\player_usa_raider::main();
}
else if ( level. == "pby_fly")
{
//nothing
}
else if( level. == "nazi_zombie_sumpf" || level. == "nazi_zombie_asylum" || level. == "nazi_zombie_factory" || level. == "zombie_test_map" )
{

switch( self.entity_num)
{
case 0:
character\char_zomb_player_3::main();
break;
case 1:
character\char_zomb_player_1::main();
break;
case 2:
character\char_zomb_player_2::main();
break;
case 3:
character\char_zomb_player_0::main();
break;
}

}
else
{
self mptype\player_usa_marine::main();
}
}
else
{
self mptype\player_usa_marine::main();
}







// }

// MikeD (3/28/2008): If specified, give the player his hands
if( IsDefined( level.player_viewmodel ) )
{
self SetViewModel( level.player_viewmodel );
}
}

///////////////////////////////////////////////
// SavePlayerWeaponStatePersistent
//
// Saves the player's weapons and ammo state persistently( in the game variable )
// so that it can be restored in a different .
// You can use strings for the slot:
//
// SavePlayerWeaponStatePersistent( "russianCampaign" );
//
// Or you can just use numbers:
//
// SavePlayerWeaponStatePersistent( 0 );
// SavePlayerWeaponStatePersistent( 1 ); etc.
//
// In a different , you can restore using RestorePlayerWeaponStatePersistent( slot );
// Make sure that you always persist the data between  changes.

SavePlayerWeaponStatePersistent( slot )
{
current = level.player getCurrentWeapon();
if ( ( !isdefined( current ) ) || ( current == "none" ) )
assertmsg( "Player's current weapon is 'none' or undefined. Make sure 'disableWeapons()' has not been called on the player when trying to save weapon states." );
game[ "weaponstates" ][ slot ][ "current" ] = current;

offhand = level.player getcurrentoffhand();
game[ "weaponstates" ][ slot ][ "offhand" ] = offhand;

game[ "weaponstates" ][ slot ][ "list" ] = [];
weapList = level.player GetWeaponsList();
for ( weapIdx = 0; weapIdx < weapList.size; weapIdx++ )
{
game[ "weaponstates" ][ slot ][ "list" ][ weapIdx ][ "name" ] = weapList[ weapIdx ];

// below is only used if we want to NOT give max ammo
// game[ "weaponstates" ][ slot ][ "list" ][ weapIdx ][ "clip" ] = level.player GetWeaponAmmoClip( weapList[ weapIdx ] );
// game[ "weaponstates" ][ slot ][ "list" ][ weapIdx ][ "stock" ] = level.player GetWeaponAmmoStock( weapList[ weapIdx ] );
}
}

RestorePlayerWeaponStatePersistent( slot )
{
if ( !isDefined( game[ "weaponstates" ] ) )
return false;
if ( !isDefined( game[ "weaponstates" ][ slot ] ) )
return false;

level.player takeallweapons();

for ( weapIdx = 0; weapIdx < game[ "weaponstates" ][ slot ][ "list" ].size; weapIdx++ )
{
weapName = game[ "weaponstates" ][ slot ][ "list" ][ weapIdx ][ "name" ];

if ( isdefined( level.legit_weapons ) )
{
// weapon doesn't exist in this level
if ( !isdefined( level.legit_weapons[ weapName ] ) )
continue;
}

// don't carry over C4 or claymores
if ( weapName == "c4" )
continue;
if ( weapName == "claymore" )
continue;
level.player GiveWeapon( weapName );
level.player GiveMaxAmmo( weapName );

// below is only used if we want to NOT give max ammo
// level.player SetWeaponAmmoClip( weapName, game[ "weaponstates" ][ slot ][ "list" ][ weapIdx ][ "clip" ] );
// level.player SetWeaponAmmoStock( weapName, game[ "weaponstates" ][ slot ][ "list" ][ weapIdx ][ "stock" ] );
}

if ( isdefined( level.legit_weapons ) )
{
weapname = game[ "weaponstates" ][ slot ][ "offhand" ];
if ( isdefined( level.legit_weapons[ weapName ] ) )
level.player switchtooffhand( weapname );

weapname = game[ "weaponstates" ][ slot ][ "current" ];
if ( isdefined( level.legit_weapons[ weapName ] ) )
level.player SwitchToWeapon( weapname );
}
else
{
level.player switchtooffhand( game[ "weaponstates" ][ slot ][ "offhand" ] );
level.player SwitchToWeapon( game[ "weaponstates" ][ slot ][ "current" ] );
}

return true;
}
8 years ago
th
You need to apply the material in maya like "mtl_mycustomweapon" and convert the material with the same name in Asset Manager

thanks :D ;D
8 years ago
Did you applied the correct material in maya?

I'm only used lambert
8 years ago
Select all meshes of your gun then go here:
(Image removed from quote.)
Then export the model again, that should fix

thanks dude you solved the problem but I'm getting another error in Asset Manager  :alone:

Code Snippet
Plaintext
Converting 1 assets, reason: 'missing cache entry'
Converting 'Steam_PuNK_viewmodel' (xmodel 2 of 1)...
Converting xmodel 'C:\Program Files (x86)\Activision\Call of Duty - \model_export/staem_punk_gun\viewmodel_SteamPuNk.xmodel_export'...

ERROR: Can't find material [lambert11] in directory 'C:\Program Files (x86)\Activision\Call of Duty - \raw/material_properties/' or 'C:\Program Files (x86)\Activision\Call of Duty - \raw/material_properties/'
aborting....


Conversion failed with 1 errors. Hit key to continue.

sorry this is my first time trying make  gun ::) :-X
8 years ago
Loading ...