Page 1 of 4 123 ... LastLast
Results 1 to 10 of 39

Thread: PICK up and MOVE MG42 Mod (Mobile MG42)

  1. #1
    Private First Class G-Stuff002's Avatar
    Join Date
    Jan 2018
    Posts
    212
    Thanks
    42
    Thanked 109 Times in 107 Posts

    PICK up and MOVE MG42 Mod (Mobile MG42)

    Hi, I want to combine a function pick up and move ("installation" put on the ground MG42) with allcustom weapons v1a mod.

    I think this function is much more interesting rather than just carrying a gun like everyone else. With this the COD2 have more tactics play, i think.

    I upload screens and mod to better understand. After i will be watch and disassemble/find scripts. If you can help, I'll be glad

    Spoiler:
    Click image for larger version. 

Name:	1.jpg 
Views:	54 
Size:	164.2 KB 
ID:	1404
    Spoiler:
    Click image for larger version. 

Name:	2.jpg 
Views:	50 
Size:	495.7 KB 
ID:	1405
    Spoiler:
    Click image for larger version. 

Name:	3.jpg 
Views:	48 
Size:	488.2 KB 
ID:	1406
    Spoiler:
    Click image for larger version. 

Name:	4.jpg 
Views:	46 
Size:	547.9 KB 
ID:	1407
    Spoiler:
    Click image for larger version. 

Name:	5.jpg 
Views:	46 
Size:	524.6 KB 
ID:	1408
    Spoiler:
    Click image for larger version. 

Name:	6.jpg 
Views:	46 
Size:	611.4 KB 
ID:	1409
    Spoiler:
    Click image for larger version. 

Name:	7.jpg 
Views:	45 
Size:	548.5 KB 
ID:	1410
    Spoiler:
    Click image for larger version. 

Name:	8.jpg 
Views:	45 
Size:	499.9 KB 
ID:	1411

    Spoiler:
    Click image for larger version. 

Name:	allweapons1.jpg 
Views:	46 
Size:	232.1 KB 
ID:	1412
    Spoiler:
    Click image for larger version. 

Name:	allweapons2.jpg 
Views:	46 
Size:	514.8 KB 
ID:	1413

  2. The Following User Says Thank You to G-Stuff002 For This Useful Post:

    kubislav23 (22nd February 2018)

  3. #2
    Private First Class G-Stuff002's Avatar
    Join Date
    Jan 2018
    Posts
    212
    Thanks
    42
    Thanked 109 Times in 107 Posts
    All Custom Weapons (v1a): https://www.nexusmods.com/callofduty.../673?tab=files

    awe_cod2_v3.4.2 mod with function for MG42: awe_cod2_v3.4.2.rar

  4. The Following User Says Thank You to G-Stuff002 For This Useful Post:

    kubislav23 (22nd February 2018)

  5. #3
    Private First Class G-Stuff002's Avatar
    Join Date
    Jan 2018
    Posts
    212
    Thanks
    42
    Thanked 109 Times in 107 Posts
    In awe_cod2_v3.4.2 cut

    images/hud_mg42.iwi
    materials/weapon_mg42
    weapons/mpmg42_mp - This file not include in weapons folder on All Custom Weapons (v1a) So MG42 is loaded from another location...

    For try i renamed mg42_mp to p38_mp (because All Custom Weapons mod have it) and I saw the right weapon for installation (upload screen)
    It is necessary to do the decoupling and loading from weapons folder for mpmg42_mp
    Spoiler:
    Click image for larger version. 

Name:	mg42_mp.jpg 
Views:	33 
Size:	355.6 KB 
ID:	1415
    Last edited by G-Stuff002; 22nd February 2018 at 17:15.

  6. The Following User Says Thank You to G-Stuff002 For This Useful Post:

    kubislav23 (22nd February 2018)

  7. #4
    Private First Class G-Stuff002's Avatar
    Join Date
    Jan 2018
    Posts
    212
    Thanks
    42
    Thanked 109 Times in 107 Posts
    ...i go searching the scripts in AWE mod

  8. The Following User Says Thank You to G-Stuff002 For This Useful Post:

    kubislav23 (22nd February 2018)

  9. #5
    Private First Class G-Stuff002's Avatar
    Join Date
    Jan 2018
    Posts
    212
    Thanks
    42
    Thanked 109 Times in 107 Posts
    In awe_cod2_v3.4.2 (here are the script for plug (installation of MG42)

    awe.cfg:

    ////////////////////
    // Turret options //
    ////////////////////

    // Disable all fixed MG42s in the map (0 = no, 1 = yes) (default 0)
    //set awe_mg42_disable "0"

    // Times before a turret overheats (0 = disabled, any other = time in seconds) (default 10)
    //set awe_turret_overheat "10"

    // Time before an overheated turret starts to cool down (time in seconds) (default 5)
    //set awe_turret_cooldown "5"

    // Time to plant a mobile turret, in seconds (default = 3)
    //set awe_turret_plant_time "3"

    // Time to pick up a mobile turret, in seconds (default = 2)
    //set awe_turret_pick_time "2"

    // Ammo for mobile MG42 (between 1 and 999, default = 250)
    //set awe_mg42_ammo 250

    // Allow to fix mobile turrets and unfix fixed turrets (0 = no, 1 = yes, default = 1)
    //set awe_turret_fix_unfix "1"

    // Time to fix a mobile turret, in seconds (default = 3)
    //set awe_turret_fix_time "3"

    // Time to unfix a fixed turret, in seconds (default = 2)
    //set awe_turret_unfix_time "2"



    //////////////////////
    // Damage modifiers //
    //////////////////////

    // Turrets
    //set awe_dmgmod_mg42_mp "100"
    Last edited by G-Stuff002; 22nd February 2018 at 18:59.

  10. The Following User Says Thank You to G-Stuff002 For This Useful Post:

    kubislav23 (22nd February 2018)

  11. #6
    Private First Class G-Stuff002's Avatar
    Join Date
    Jan 2018
    Posts
    212
    Thanks
    42
    Thanked 109 Times in 107 Posts
    In zzz_allcustom_v1a.iwd\maps\mp\gametypes\_mapentity .gsc

    I found this script but i dont know what is do it

    ////Worm's REmove MG42 script////
    Remove_Map_Entity()
    {
    if(getCvar("scr_allow_turret") == "")
    setCvar("scr_allow_turret", "1");
    level.allow_turret = getCvarInt("scr_allow_turret");

    if (!level.allow_turret)
    {
    deletePlacedEntity("misc_turret");
    deletePlacedEntity("misc_mg42");
    }
    }

    deletePlacedEntity(entity)
    {
    entities = getentarray(entity, "classname");
    for(i = 0; i < entities.size; i++)
    entities[i] delete();
    }

  12. The Following User Says Thank You to G-Stuff002 For This Useful Post:

    kubislav23 (22nd February 2018)

  13. #7
    Private First Class G-Stuff002's Avatar
    Join Date
    Jan 2018
    Posts
    212
    Thanks
    42
    Thanked 109 Times in 107 Posts
    In _dmgmod.gsc:

    init()
    {
    // Damage modifiers

    // Turrets
    /*
    level.awe_dmgmod["mg42_bipod_duck_mp"] = awe\_util::cvardef("awe_dmgmod_mg42_bipod_duck_mp" ,100,0,9999,"float")*0.01;
    level.awe_dmgmod["mg42_bipod_prone_mp"] = awe\_util::cvardef("awe_dmgmod_mg42_bipod_prone_mp ",100,0,9999,"float")*0.01;
    level.awe_dmgmod["mg42_bipod_stand_mp"] = awe\_util::cvardef("awe_dmgmod_mg42_bipod_stand_mp ",100,0,9999,"float")*0.01;

    */

    level.awe_dmgmod["mg42_mp"] = awe\_util::cvardef ("awe_dmgmod_mg42_mp", 100, 0, 9999, "float") * 0.01;

    }

  14. The Following User Says Thank You to G-Stuff002 For This Useful Post:

    kubislav23 (22nd February 2018)

  15. #8
    Private First Class G-Stuff002's Avatar
    Join Date
    Jan 2018
    Posts
    212
    Thanks
    42
    Thanked 109 Times in 107 Posts
    In _global.gsc

    ////////////////////
    // Initialization //
    ////////////////////

    // Do various startup things
    init()
    {
    // Kill any global threads that are running
    level notify("awe_killthreads");

    SetupVariables();

    // Init stuff
    awe\_turrets::init();

    --------------------------------------------------------

    _player.gsc:

    (Have many codes with turret)

    Spoiler:
    //////////////////////
    // Init and Cleanup //
    //////////////////////

    // Called from PlayerConnect
    PlayerConnect()
    {
    Cleanup();

    // Start threads
    self thread StartPlayerThreads();
    }

    // Called from PlayerDisconnect
    PlayerDisconnect()
    {
    // Kill running threads
    self notify("awe_killthreads");

    // Clear variables etc...
    CleanupKilled();
    }

    PlayerDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime)
    {
    // Block friendly melee in some cases (body search, etc...)
    if(level.awe_teamplay && isPlayer(self) && isPlayer(eAttacker) && self.sessionteam == eAttacker.sessionteam && sMeansOfDeath == "MOD_MELEE")
    {
    if(isDefined(self.awe_tripwiremessage) || isDefined(self.awe_turretmessage))
    return -1;
    }

    // Damaged by a player while under spawnprotection?
    if(isplayer(eAttacker) && self.awe_invulnerable)
    {
    if (eAttacker != self)
    switch (level.awe_spawnprotectionpunish)
    {
    case 1 :
    eAttacker iprintlnbold (&"AWE_SPROT_DONT_ATTACK");
    eAttacker awe\_turrets::leaveTurret ();
    eAttacker dropItem (eAttacker getcurrentweapon ());
    break;
    case 2 :
    eAttacker iprintlnbold (&"AWE_SPROT_DONT_ATTACK");
    eAttacker finishPlayerDamage (eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime);
    break;
    case 3 :
    eAttacker iprintlnbold (&"AWE_SPROT_DONT_ATTACK");
    eAttacker suicide ();
    break;
    default :
    }
    return -1;
    }

    if (isdefined (self.awe_funmod_active_pu) && (self.awe_funmod_active_pu == "invulnerable"))
    return -1;

    // Damage modifiers
    if(sMeansOfDeath != "MOD_MELEE" && isdefined(level.awe_dmgmod[sWeapon]))
    iDamage = int(iDamage * level.awe_dmgmod[sWeapon]);

    // Was the attacker a spawnprotected player?
    if(isPlayer(eAttacker) && eAttacker != self && eAttacker.awe_invulnerable && level.awe_spawnprotectiondropweapon)
    {
    eAttacker iprintlnbold(&"AWE_SPROT_DONT_ABUSE");
    eAttacker dropItem(eAttacker getcurrentweapon());
    }

    // Stop damage from teamkiller
    if(level.awe_teamplay && isPlayer(eAttacker) && (self != eAttacker) && (self.pers["team"] == eAttacker.pers["team"]))
    {
    if(eAttacker.pers["awe_teamkiller"])
    {
    eAttacker.friendlydamage = true;
    iDamage = int(iDamage * .5);
    // Make sure at least one point of damage is done
    if(iDamage < 1)
    iDamage = 1;

    eAttacker finishPlayerDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime);
    eAttacker.friendlydamage = undefined;

    friendly = true;

    iDamage = -1;
    }
    }

    return iDamage;
    }

    PostPlayerDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime)
    {
    // Splatter on attacker?
    if(isPlayer(eAttacker) && (sMeansOfDeath == "MOD_MELEE" || distance(eAttacker.origin , self.origin ) < 40 ) )
    eAttacker thread awe\_bloodyscreen::Splatter_View();

    // Still alive?
    if(isalive(self))
    {
    // Pains sound
    if(level.awe_painsound)
    self painsound();

    // Do helmetpopping etc... ?
    switch(sHitLoc)
    {
    case "helmet":
    case "head":
    self thread awe\_bloodyscreen::Splatter_View();
    if( randomInt(100) < level.awe_pophelmet && !self.awe_helmetpopped)
    self awe\_popping:opHelmet( vDir, iDamage );
    break;
    }

    /* // Do stuff
    switch(sHitLoc)
    {
    case "right_hand":
    case "left_hand":
    case "gun":
    if( !isdefined(level.awe_merciless) && randomInt(100)<level.awe_droponhandhit)
    self dropItem(self getcurrentweapon());
    break;

    case "right_arm_lower":
    case "left_arm_lower":
    if(!isdefined(level.awe_merciless) && randomInt(100)<level.awe_droponarmhit )
    self dropItem(self getcurrentweapon());
    break;

    case "right_foot":
    case "left_foot":
    if(randomInt(100)<level.awe_triponfoothit)
    self thread spankme(1);
    break;

    case "right_leg_lower":
    case "left_leg_lower":
    if(randomInt(100)<level.awe_triponleghit)
    self thread spankme(1);
    break;
    }*/
    }
    }

    PlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime, deathAnimDuration)
    {
    if(self.sessionteam == "spectator")
    return;

    if(isPlayer(attacker))
    {
    if(attacker == self) // killed himself
    {
    }
    else
    {
    self thread awe\_announcer::checkHeadKill (attacker, sHitLoc, sMeansOfDeath);
    attacker thread awe\_announcer::accountKill ();
    attacker thread awardExtraPoints (sHitLoc, sMeansOfDeath, sWeapon);

    if(level.awe_teamplay && self.pers["team"] == attacker.pers["team"]) // killed by a friendly
    {
    attacker awe\_teamkilling::TeamKill();
    self thread awe\_announcer::teamkill (attacker);
    }
    else // killed by an enemy
    {
    }
    }
    }
    else // If you weren't killed by a player, you were in the wrong place at the wrong time
    {
    }

    self thread awe\_announcer::accountDeath ();
    self thread awe\_announcer::checkFirstblood (attacker);

    dopop = false;
    // Check for headpopping
    switch(sHitLoc)
    {
    case "head":
    case "helmet":
    self thread awe\_bloodyscreen::Splatter_View();
    if( randomInt(100) < level.awe_pophelmet && !self.awe_helmetpopped)
    self awe\_popping:opHelmet( vDir, iDamage );
    if( level.awe_popheadbullet && sMeansOfDeath != "MOD_MELEE" && (awe\_util::isWeaponType("rifle",sWeapon) || awe\_util::isWeaponType("sniper",sWeapon) || awe\_util::isWeaponType("turret",sWeapon)) )
    dopop = true;
    break;
    default:
    break;
    }
    // iprintln("sMoD:"+sMeansOfDeath + " iDmg:" + iDamage + " sHL:" + sHitLoc);
    switch(sMeansOfDeath)
    {
    case "MOD_MELEE":
    if(level.awe_popheadmelee && iDamage>=100 )
    dopop = true;
    break;
    case "MOD_PROJECTILE":
    case "MOD_PROJECTILE_SPLASH":
    case "MOD_GRENADE_SPLASH":
    case "MOD_EXPLOSIVE":
    if(level.awe_popheadexplosion && iDamage>=100 )
    dopop = true;
    break;
    default:
    break;
    }

    if(dopop)
    {
    if(randomInt(100) < level.awe_pophead && !self.awe_headpopped)
    self awe\_popping:opHead( vDir, iDamage);
    else if(randomInt(100) < level.awe_pophelmet && !self.awe_helmetpopped)
    self awe\_popping:opHelmet( vDir, iDamage);
    }

    // Drop health
    awe\_healthpacks::dropHealth();

    // Clear variables etc...
    CleanupKilled(sMeansOfDeath);
    }

    /////////////
    // Threads //
    /////////////

    StartPlayerThreads()
    {
    // End this thread on disconnect only
    self endon("disconnect");

    self thread awe\_clan::PlayerConnect ();

    self setClientCvar ("ui_compassmodel", level.awe_compassmodel);

    self.awe_sprintweapon = level.awe_sprintweapon;

    for(;
    {
    // Wait for player to spawn
    self waittill("spawned_player");
    RunOnSpawn();
    wait .05;
    }
    }

    // Thread run on each player, every second
    EverySecondThread()
    {
    self endon("awe_killthreads");

    sprinthudvisible = false;
    self.awe_pace = 0;

    oldprimary = self.awe_sprintweapon;
    oldammo = 0;
    oldclip = 0;
    oldprimaryb = self.awe_sprintweapon;
    oldammob = 0;
    oldclipb = 0;

    // Avoid some undefined errors
    self.awe_oldprimary2 = self getWeaponSlotWeapon("primary");
    self.awe_oldammo2 = self getWeaponSlotAmmo("primary");
    self.awe_oldclip2 = self getWeaponSlotClipAmmo("primary");
    self.awe_oldprimaryb = self getWeaponSlotWeapon("primaryb");
    self.awe_oldammob = self getWeaponSlotAmmo("primaryb");
    self.awe_oldclipb = self getWeaponSlotClipAmmo("primaryb");

    ch_count=0;

    if(level.awe_teamplay)
    myteam = self.sessionteam;
    else
    myteam = self.pers["team"];

    oldpos = self.origin;

    while( isPlayer(self) && isAlive(self) && self.sessionstate=="playing" )
    {
    delayed = 0;
    awe\_healthbar::UpdateHealthBar();

    // Get the current weapon
    cw = self getCurrentWeapon();

    // Get the stance every second
    self.awe_stance = self awe\_util::GetStance(false);

    // Show/Hide the sprint hint
    if(level.awe_sprint && level.awe_sprinthudhint)
    {
    if(!sprinthudvisible && self.awe_sprinttime && !self.awe_sprinting && self.awe_pace && level.awe_sprint>self.awe_stance)
    {
    if(isdefined(self.awe_sprinthud_hint))
    {
    self.awe_sprinthud_hint fadeOverTime (1);
    self.awe_sprinthud_hint.alpha = 1;
    sprinthudvisible = true;
    }
    }
    else if(sprinthudvisible && (self.awe_sprinting || !self.awe_pace || level.awe_sprint<=self.awe_stance) )
    {
    {
    if(isdefined(self.awe_sprinthud_hint))
    {
    self.awe_sprinthud_hint fadeOverTime (1);
    self.awe_sprinthud_hint.alpha = 0;
    sprinthudvisible = false;
    }
    }
    }
    }

    // Save old weapon data
    if(level.awe_sprint)
    {
    // Save 1 second old data
    if(oldprimary != self.awe_sprintweapon)
    {
    self.awe_oldprimary2 = oldprimary;
    self.awe_oldammo2 = oldammo;
    self.awe_oldclip2 = oldclip;
    }
    if(oldprimaryb != self.awe_sprintweapon)
    {
    self.awe_oldprimaryb = oldprimaryb;
    self.awe_oldammob = oldammob;
    self.awe_oldclipb = oldclipb;
    }

    // Save new data
    oldprimary = self getWeaponSlotWeapon("primary");
    oldammo = self getWeaponSlotAmmo("primary");
    oldclip = self getWeaponSlotClipAmmo("primary");
    oldprimaryb = self getWeaponSlotWeapon("primaryb");
    oldammob = self getWeaponSlotAmmo("primaryb");
    oldclipb = self getWeaponSlotClipAmmo("primaryb");
    }

    // Be un-nice to Unknown Players?
    if(level.awe_unknownmethod && self awe\_util::isUnknown())
    {
    self iprintlnbold("^" + randomInt(8) + "Change your name!");
    switch(level.awe_unknownmethod)
    {
    case 1:
    self dropItem(self getcurrentweapon());
    break;
    case 2:
    self shellshock("default", 1);;
    break;
    default:
    break;
    }
    }

    // Override client cvars
    if(ch_count>=15)
    {
    // Allow crosshairs?
    switch(level.awe_allowcrosshair)
    {
    case 2: // Force crosshair on
    self setClientCvar("cg_drawcrosshair", "1");
    wait 0.05;
    delayed += 0.05;
    break;

    case 1: // Let player choose
    break;

    default: // Force crosshair off
    self setClientCvar("cg_drawcrosshair", "0");
    wait 0.05;
    delayed += 0.05;
    break;
    }
    // Allow crosshairs names?
    switch(level.awe_allowcrosshairnames)
    {
    case 2: // Force crosshair names on
    self setClientCvar("cg_drawcrosshairnames", "1");
    wait 0.05;
    delayed += 0.05;
    break;

    case 1: // Let player choose
    break;

    default: // Force crosshair names off
    self setClientCvar("cg_drawcrosshairnames", "0");
    wait 0.05;
    delayed += 0.05;
    break;
    }
    // Allow crosshairs to switch color when aiming enemies?
    switch(level.awe_allowcrosshaircolor)
    {
    case 2: // Force crosshair color on
    self setClientCvar("cg_crosshairenemycolor", "1");
    wait 0.05;
    delayed += 0.05;
    break;

    case 1: // Let player choose
    break;

    default: // Force crosshair color off
    self setClientCvar("cg_crosshairenemycolor", "0");
    wait 0.05;
    delayed += 0.05;
    break;
    }
    if(level.awe_stopclientexploits)
    {
    self setClientCvar("r_lighttweakambient","0"); // "glowing" models
    wait 0.05;
    delayed += 0.05;
    self setClientCvar("r_lodscale","1"); // See through bushes/trees
    wait 0.05;
    delayed += 0.05;
    self setClientCvar("mss_Q3fs","1"); // Ambient sounds
    wait 0.05;
    delayed += 0.05;
    self setClientCvar("r_polygonOffsetBias","-1"); // Not sure what this does
    wait 0.05;
    delayed += 0.05;
    self setClientCvar("r_polygonOffsetScale","-1");// Same here, not a clue...
    }
    if(level.awe_quickfadecompassdots)
    {
    self setClientCvar("cg_hudCompassSoundPingFadeTime","0" );
    wait 0.05;
    delayed += 0.05;
    }
    ch_count=randomInt(15); // Use a random interval between cvar forcing to create some chaos (1-15 seconds)
    }
    ch_count++;

    // Do some unlimted voodoo magic to the ammo counters

    primary = self getWeaponSlotWeapon ("primary");
    unlimitedammo = level.awe_unlimitedammo["all"];
    if (isdefined (level.awe_unlimitedammo[primary]))
    unlimitedammo = level.awe_unlimitedammo[primary];

    if (unlimitedammo)
    {
    self setWeaponSlotAmmo ("primary", 999);
    if (unlimitedammo == 2)
    self setWeaponSlotClipAmmo ("primary", 999);
    }

    primaryb = self getWeaponSlotWeapon ("primaryb");
    unlimitedammo = level.awe_unlimitedammo["all"];
    if (isdefined (level.awe_unlimitedammo[primaryb]))
    unlimitedammo = level.awe_unlimitedammo[primaryb];

    if (unlimitedammo)
    {
    self setWeaponSlotAmmo ("primaryb", 999);
    if (unlimitedammo == 2)
    self setWeaponSlotClipAmmo ("primaryb", 999);
    }

    if ((level.awe_unlimitedgrenades) || (isdefined (self.awe_funmod_active_pu) && (self.awe_funmod_active_pu == "unlimitednades")))
    {
    sWeapon = awe\_util::GetGrenadeType(game[myteam]);
    ammo = self getammocount(sWeapon);
    if(!ammo) self giveWeapon(sWeapon);
    self setWeaponClipAmmo(sWeapon, 999);
    }
    if ((level.awe_unlimitedsmokegrenades) || (isdefined (self.awe_funmod_active_pu) && (self.awe_funmod_active_pu == "unlimitednades")))
    {
    sWeapon = awe\_util::GetSmokeGrenadeType(game[myteam]);
    ammo = self getammocount(sWeapon);
    if(!ammo) self giveWeapon(sWeapon);
    self setWeaponClipAmmo(sWeapon, 999);
    }

    // Calculate current speed
    wait 1 - delayed; // Wait 1 seconds minus whatever we were delayed while setting cvars
    newpos = self.origin;
    speed = distance(oldpos,newpos);
    oldpos = newpos;

    if (speed > 20)
    self.awe_pace = 1;
    else
    self.awe_pace = 0;
    }
    }

    // Thread run on each player, every frame
    EveryFrameThread()
    {
    if(level.awe_teamplay)
    team = self.sessionteam;
    else
    team = self.pers["team"];

    if(team == "axis")
    otherteam = "allies";
    else
    otherteam = "axis";

    self endon("awe_killthreads");

    // mindist = 9999;
    // maxdist = 0;
    count = 0;
    stop_db = (level.awe_anti_dbbh == 1) || (level.awe_anti_dbbh == 3);
    stop_bh = (level.awe_anti_dbbh == 2) || (level.awe_anti_dbbh == 3);
    count2 = 0;
    lastprone = 2;
    lastjump = 3;
    for(;
    {
    count++;
    // Get the stance every half second
    if(count>10)
    {
    self.awe_stance = self awe\_util::GetStance(false);
    count = 0;
    }

    count2 ++;
    if (count2 > 3)
    {
    stance = self awe\_util::GetStance (false);
    jump = self awe\_util::GetStance (true);

    // Test if dive bombing or bunny hopping
    if ((stop_db && ((stance == 2) && (lastprone != 2))) || (stop_bh && ((jump == 3) && (lastjump != 3))))
    self thread WeaponPause (0.4 + randomfloat (0.3));

    lastprone = stance;
    lastjump = jump;
    count2 = 0;
    }

    myammo = self getammocount(awe\_util::GetGrenadeType(game[team]));
    otherammo = self getammocount(awe\_util::GetGrenadeType(game[otherteam]));
    ammo = myammo + otherammo;
    if( level.awe_tripwire && ammo>1 && self.awe_stance==2 && !isDefined(self.awe_turretmessage) && !isDefined(self.awe_tripwiremessage))
    self thread awe\_tripwire::checkTripwirePlacement(team, otherteam, myammo, otherammo);

    /* if(self meleeButtonPressed())
    {
    while(self meleeButtonPressed())
    wait .05;
    level thread awe\_util:ropPiano(self);
    }*/
    // z = self.origin[2];
    wait .05;
    /* dist = self.awe_spinemarker.origin[2] - z;
    if(dist<mindist) mindist = dist;
    if(dist>maxdist) maxdist = dist;
    if(self meleebuttonpressed())
    {
    self iprintlnbold("Min:" + mindist + " Max:" + maxdist);
    mindist = 9999;
    maxdist = 0;
    }*/
    }
    }

    WeaponPause (time)
    {
    self endon ("awe_killthreads");

    self disableWeapon ();
    wait time;
    if (isPlayer (self) && (! isdefined (self.awe_plantbar)) && (! isdefined (self.progressbar)) && ((level.awe_gametype != "lib") || (! self.in_jail)))
    self enableWeapon ();
    }

    ///////////////
    // Functions //
    ///////////////

    Cleanup()
    {
    CleanupKilled();
    CleanupSpawned();

    awe\_teamkilling::Cleanup();
    awe\_welcomemessages::Cleanup();
    }

    CleanupKilled(sMeansOfDeath)
    {
    // Create/Reset variables
    if(!isdefined(self.pers["awe_unknown_name"])) self.pers["awe_unknown_name"] = "Unknown Soldier";
    self.awe_stance = 0;

    // Remove spine marker if present
    if(isdefined(self.awe_spinemarker))
    {
    self.awe_spinemarker unlink();
    self.awe_spinemarker delete();
    }

    awe\_healthbar::CleanupKilled();
    awe\_laserdot::CleanupKilled();
    awe\_popping::CleanupKilled();
    awe\_spawnprotection::CleanupKilled();
    awe\_sprinting::CleanupKilled();
    awe\_tripwire::CleanupKilled();
    awe\_turrets::CleanupKilled(sMeansOfDeath);
    awe\_funmod::CleanupKilled ();
    }

    CleanupSpawned()
    {
    awe\_bloodyscreen::CleanupSpawned();
    }

    RunOnSpawn()
    {
    self CleanupSpawned();

    // Kill any running threads
    self notify("awe_killthreads");

    self.spawntime = getTime ();

    // Force primary and secondary weapons
    self awe\_weapons::forcePrimarySecondary ();

    // Limit ammo
    self awe\_weaponlimiting::ammoLimiting();

    // Wait for threads to die
    wait .05;

    // Attach spinemarker, used by GetStance()
    self.awe_spinemarker = spawn("script_origin",(0,0,0));
    self.awe_spinemarker linkto (self, "J_Spine4",(0,0,0),(0,0,0));
    // self.awe_spinemarker linkto (self, "J_Neck",(0,0,0),(0,0,0));

    // Handle the Unknown Soldiers
    if(self awe\_util::isUnknown())
    {
    // Rename Unknown Soldiers
    // Get names
    names = [];
    count = 0;
    name = awe\_util::cvardef("awe_unknown_name" + count, "", "", "", "string");
    while(name != "")
    {
    names[names.size] = name;
    count++;
    name = awe\_util::cvardef("awe_unknown_name" + count, "", "", "", "string");
    }
    if(names.size)
    {
    self.pers["awe_unknown_name"] = names[randomInt(names.size)] + " " + randomInt(1000);
    self setClientCvar("name", self.pers["awe_unknown_name"]);
    if(level.awe_unknownrenamemsg != "none")
    self iprintlnbold(level.awe_unknownrenamemsg);
    }

    // Make sure an unknown player can't do much damage
    if(level.awe_unknownreflect)
    self.pers["awe_teamkiller"] = true;
    }

    // Start new threads
    self thread EverySecondThread();
    self thread EveryFrameThread();

    self awe\_coldbreath::RunOnSpawn();
    self awe\_healthbar::RunOnSpawn();
    self awe\_laserdot::RunOnSpawn();
    self awe\_servermessages::RunOnSpawn();
    self awe\_spawnprotection::RunOnSpawn();
    self awe\_sprinting::RunOnSpawn();
    self awe\_weapons::RunOnSpawn ();
    self awe\_welcomemessages::RunOnSpawn();
    self awe\_warmup::RunOnSpawn ();
    self awe\_clan::RunOnSpawn ();
    self awe\_anticamp::RunOnSpawn ();
    self awe\_funmod::RunOnSpawn ();
    }

    painsound()
    {
    if(level.awe_teamplay)
    team = self.sessionteam;
    else
    team = self.pers["team"];

    nationality = game[team];
    num = randomInt(level.awe_voices[nationality]) + 1;

    scream = "generic_pain_" + nationality + "_" + num; // i.e. "generic_pain_german_2"
    self playSound(scream);
    }

    awardExtraPoints (sHitLoc, sMeansOfDeath, sWeapon)
    {
    extrapoints = 0;

    if (level.awe_pointsbashkill && (sMeansOfDeath == "MOD_MELEE"))
    extrapoints += level.awe_pointsbashkill;

    weapontypes_array = strtok (level.awe_weapontypes, " ");
    for (i = 0 ; i < weapontypes_array.size ; i ++)
    {
    weapontype = weapontypes_array[i];
    if (awe\_util::isWeaponType (weapontype, sWeapon))
    {
    extrapoints += level.awe_pointsweapontype[weapontype];
    break;
    }
    }

    if (sHitLoc == "head")
    {
    if (level.awe_pointsheadshotx == -1)
    extrapoints += level.awe_pointsheadshot;
    else
    extrapoints = extrapoints * level.awe_pointsheadshotx;
    }

    if (level.awe_roundbased)
    {
    self.pers["score"] += extrapoints;
    self.score = self.pers["score"];
    }
    else
    self.score += extrapoints;
    }

    playerSpawn (origin, angles)
    {
    self endon ("awe_killthreads");
    self endon ("disconnect");

    if ((! level.awe_parachutes) ||
    ((level.awe_parachutes == 1) && isdefined (self.awe_hasparachuted)) ||
    ((level.awe_gametype == "lib") && isdefined (self.awe_hasparachuted)) ||
    (level.awe_attackdefend && level.awe_parachutesonlyattackers && (self.pers["team"] != game["attackers"])))
    self spawn (origin, angles);
    else
    self awe\_parachute:arachuteSpawn (origin, angles);
    }
    Last edited by G-Stuff002; 22nd February 2018 at 19:34.

  16. The Following User Says Thank You to G-Stuff002 For This Useful Post:

    kubislav23 (22nd February 2018)

  17. #9
    Private First Class G-Stuff002's Avatar
    Join Date
    Jan 2018
    Posts
    212
    Thanks
    42
    Thanked 109 Times in 107 Posts
    In _teams.gsc:

    // Workaround for the 127 bones error with mobile turrets
    if (awe\_util::cvardef ("scr_allow_30cal", 1, 0, 1, "int") || awe\_util::cvardef ("scr_allow_mg42", 1, 0, 1, "int") || level.awe_turretfixunfix)
    {

  18. The Following User Says Thank You to G-Stuff002 For This Useful Post:

    kubislav23 (22nd February 2018)

  19. #10
    Private First Class G-Stuff002's Avatar
    Join Date
    Jan 2018
    Posts
    212
    Thanks
    42
    Thanked 109 Times in 107 Posts
    _turrets.cfg: _turrets.rar

  20. The Following User Says Thank You to G-Stuff002 For This Useful Post:

    kubislav23 (22nd February 2018)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •