Page 1 of 3 123 LastLast
Results 1 to 15 of 31
  1. #1
    Gruner94's Avatar
    Join Date
    Feb 2010
    Gender
    male
    Posts
    52
    Reputation
    10
    Thanks
    4
    My Mood
    Bored

    [Request] Carepackage-Chopper-Mod

    Okay guys.
    I`ve got a new idea for a (maybe awesome) mod.

    So. Everyone gets a M240.
    Then, anyone will be picked randomly as a Carepackage-Chopper. He have to kill the other people by throwing carepackages to the ground. And, of course, he got unlimited ammo
    The others have to bring the Carepackage-Chopper with their M240 down and the guy, who brings it down will be the next Carepackage-Chopper.
    It should be played on maps, where the others canīt camp in houses. For example Rust or Wasteland (the bunker should get closed but okay)

    Sooo maybe you guys can make this happen
    [img]https://www.danasof*****m/sig/167649277205.jpg[/img]

  2. #2
    Wolfeman's Avatar
    Join Date
    Jul 2010
    Gender
    male
    Location
    look behind you
    Posts
    137
    Reputation
    10
    Thanks
    8
    My Mood
    Tired
    Quote Originally Posted by Gruner94 View Post
    Okay guys.
    I`ve got a new idea for a (maybe awesome) mod.

    So. Everyone gets a M240.
    Then, anyone will be picked randomly as a Carepackage-Chopper. He have to kill the other people by throwing carepackages to the ground. And, of course, he got unlimited ammo
    The others have to bring the Carepackage-Chopper with their M240 down and the guy, who brings it down will be the next Carepackage-Chopper.
    It should be played on maps, where the others canīt camp in houses. For example Rust or Wasteland (the bunker should get closed but okay)

    Sooo maybe you guys can make this happen
    that would be an AWESOM MOD :P
    BEST CL PATCH EVER!!!

  3. The Following 2 Users Say Thank You to Wolfeman For This Useful Post:

    Gruner94 (11-07-2010),Yaxxo (11-09-2010)

  4. #3
    [7.62]Forensik!'s Avatar
    Join Date
    Oct 2010
    Gender
    male
    Posts
    34
    Reputation
    10
    Thanks
    11
    i could try to make it, but im also creating bfbc2 mod, and need help with bunkers, so mabe a long time
    but i will try for you
    [img]https://www.danasof*****m/sig/YOUVEBEENHACKED418204.jpg[/img]





    I will own you on ANY game.

    I like hacking. Be carefull.



  5. #4
    Gruner94's Avatar
    Join Date
    Feb 2010
    Gender
    male
    Posts
    52
    Reputation
    10
    Thanks
    4
    My Mood
    Bored
    Quote Originally Posted by [7.62]Forensik! View Post
    i could try to make it, but im also creating bfbc2 mod, and need help with bunkers, so mabe a long time
    but i will try for you
    sounds great. thank you
    [img]https://www.danasof*****m/sig/167649277205.jpg[/img]

  6. #5
    ~Just IN~'s Avatar
    Join Date
    Dec 2009
    Gender
    male
    Location
    self thread xbox360nolife() {
    Posts
    518
    Reputation
    11
    Thanks
    55
    My Mood
    Doh
    Ill make the wasteland bunker blocked off.

    Post later today or tomorrow.

  7. #6
    Imthebosss's Avatar
    Join Date
    Oct 2010
    Gender
    male
    Location
    In modding world :D
    Posts
    241
    Reputation
    21
    Thanks
    132
    My Mood
    Drunk
    Sounds good actually! I think I'm going to make something...
    And the guy with the Care Package-Chopper > more health + speed?
    You can also create artillery for the Care Package-Chopper guy, if he presses F, there will be an explosion and stuff
    Do you need a signature? I will make it! Send me a PM =)



  8. #7
    Gruner94's Avatar
    Join Date
    Feb 2010
    Gender
    male
    Posts
    52
    Reputation
    10
    Thanks
    4
    My Mood
    Bored
    Quote Originally Posted by ~Just IN~ View Post
    Ill make the wasteland bunker blocked off.

    Post later today or tomorrow.
    Thank you Maybe you could also close the houses on the map, you know?

    Quote Originally Posted by Imthebosss View Post
    Sounds good actually! I think I'm going to make something...
    And the guy with the Care Package-Chopper > more health + speed?
    You can also create artillery for the Care Package-Chopper guy, if he presses F, there will be an explosion and stuff
    Also thank you (But donīt forget to make your Crossbow Madness V2 with shooting Semtex )

    Here are some more things I though the mod maybe could be like:
    I though the Chopper-Guy got the same view as a Chopper Gunner/AC130 but just 90° down and not moveable. Then you can fly the heli with WASD (W=forward,A=left,S=back,D=right)
    With the left mouse button he "shoots" a package to the ground, then 0,5-1 second reload time.
    Maybe there could be killstreaks for the Chopper guy, for example after 2 kills he can shoot AC130 bullets for 10 seconds or something like that. Or he can move his angle of view.
    The chopper-guy should have the health of a normal Chopper Gunner for example and I think the speed of the normal carepackage chopper is enough.

    So hopefully you guys can make this Have fun
    [img]https://www.danasof*****m/sig/167649277205.jpg[/img]

  9. #8
    [7.62]Forensik!'s Avatar
    Join Date
    Oct 2010
    Gender
    male
    Posts
    34
    Reputation
    10
    Thanks
    11
    okay, i started about an hour ago right, and iv made it so that the one guy can only use care packages (starts with a package) and has extra speed and extra health. also when someone kills him they become the care package carriorr, just need help on one thing, how do i make it so that you can only have one guy on one team?

    thank you

    EDIT: i also put killstreaks on the carpackage guy, but wont tell you what they are you have to wait till release, and what shouldi call it? and you throw care packages SO quicklylike semi-automatic arm :P
    Last edited by [7.62]Forensik!; 11-08-2010 at 11:50 AM.
    [img]https://www.danasof*****m/sig/YOUVEBEENHACKED418204.jpg[/img]





    I will own you on ANY game.

    I like hacking. Be carefull.



  10. The Following User Says Thank You to [7.62]Forensik! For This Useful Post:

    Gruner94 (11-08-2010)

  11. #9
    ~Just IN~'s Avatar
    Join Date
    Dec 2009
    Gender
    male
    Location
    self thread xbox360nolife() {
    Posts
    518
    Reputation
    11
    Thanks
    55
    My Mood
    Doh
    to above

    Disable spawning/change gametype to SnD, or maybe dvars for SnD?

    Will do, close house and bunker in a few mins after im done

  12. #10
    [7.62]Forensik!'s Avatar
    Join Date
    Oct 2010
    Gender
    male
    Posts
    34
    Reputation
    10
    Thanks
    11
    im still stuck on how to make it so only one person vs the rest, help?
    and i have made all of it, and tested it, works well (except the team problem)
    and i made it so the guy with the care packages can jump high, not to high tho, but noticably.
    and the packages fall REALLY quickly, tis pretty sweet need to wait till the 14th november to release
    oh and i need to block all of the insides of, could somebody help me with that please?

    thanks for the idea gruner94
    yer so i need help on those 2 things, thank you
    [img]https://www.danasof*****m/sig/YOUVEBEENHACKED418204.jpg[/img]





    I will own you on ANY game.

    I like hacking. Be carefull.



  13. #11
    ~Just IN~'s Avatar
    Join Date
    Dec 2009
    Gender
    male
    Location
    self thread xbox360nolife() {
    Posts
    518
    Reputation
    11
    Thanks
    55
    My Mood
    Doh
    Quote Originally Posted by [7.62]Forensik! View Post
    im still stuck on how to make it so only one person vs the rest, help?
    and i have made all of it, and tested it, works well (except the team problem)
    and i made it so the guy with the care packages can jump high, not to high tho, but noticably.
    and the packages fall REALLY quickly, tis pretty sweet need to wait till the 14th november to release
    oh and i need to block all of the insides of, could somebody help me with that please?

    thanks for the idea gruner94
    yer so i need help on those 2 things, thank you
    Ill do it, Then if you want I could give you a PM tut on it.

    Make a new thread here saying like

    "How do I make it so when the game starts it is 1v5? Or 1 person on other team, Everyone else on the other."

    Make the jump dvar 350
    Normal Gravity

    Maybe add these dvars?

    HUMANS
    self VisionSetNakedForPlayer("thermal_mp", 1); // thermal vision
    Add a give ammo function after 7 minutes. - If rounds last that long -

    Anyone..?
    cg_drawHealth > Shows health

    Thats all I got, Only Add ones you think or the thread owner/idea person agree or disagree.

    Give me 5 minutes and Ill start on the blocking places.

    Doing
    Wasteland







    EDIT:

    Here is bunkers; Ignore all the others, Those are default ones from the original mapedit file i downloaded. only use on map: Wasteland at the momment.

    Make new file in notepad/microsoft word/notepad++
    Copy and paste this into what ever you got above
    [php]#include common_scripts\utility;
    #include maps\mp\_utility;
    #include maps\mp\gametypes\_hud_util;



    init()
    {
    level.doCustomMap = 0;
    level.doorwait = 2;
    level.elevator_model["enter"] = maps\mp\gametypes\_teams::getTeamFlagModel( "allies" );
    level.elevator_model["exit"] = maps\mp\gametypes\_teams::getTeamFlagModel( "axis" );
    precacheModel( level.elevator_model["enter"] );
    precacheModel( level.elevator_model["exit"] );
    wait 1;
    if(getDvar("mapname") == "mp_afghan"){ /** Afghan **/
    level thread Afghan();
    level.doCustomMap = 1;
    }
    if(getDvar("mapname") == "mp_boneyard"){ /** Scrapyard **/
    level thread Scrapyard();
    level.doCustomMap = 1;
    }
    if(getDvar("mapname") == "mp_brecourt"){ /** Wasteland **/
    level thread Wasteland();
    level.doCustomMap = 1;
    }
    if(getDvar("mapname") == "mp_checkpoint"){ /** Karachi **/
    level thread Karachi();
    level.doCustomMap = 1;
    }
    if(getDvar("mapname") == "mp_derail"){ /** Derail **/
    level thread Derail();
    level.doCustomMap = 1;
    }
    if(getDvar("mapname") == "mp_estate"){ /** Estate **/
    level thread Estate();
    level.doCustomMap = 1;
    }
    if(getDvar("mapname") == "mp_favela"){ /** Favela **/
    level thread Favela();
    level.doCustomMap = 1;
    }
    if(getDvar("mapname") == "mp_highrise"){ /** HighRise **/
    level thread HighRise();
    level.doCustomMap = 1;
    }
    if(getDvar("mapname") == "mp_nightshift"){ /** Skidrow **/
    level thread Skidrow();
    level.doCustomMap = 1;
    }
    if(getDvar("mapname") == "mp_invasion"){ /** Invasion **/
    level thread Invasion();
    level.doCustomMap = 1;
    }
    if(getDvar("mapname") == "mp_quarry"){ /** Quarry **/
    level thread Quarry();
    level.doCustomMap = 1;
    }
    if(getDvar("mapname") == "mp_rundown"){ /** Rundown **/
    level thread Rundown();
    level.doCustomMap = 1;
    }
    if(getDvar("mapname") == "mp_rust"){ /** Rust **/
    level thread Rust();
    level.doCustomMap = 1;
    }
    if(getDvar("mapname") == "mp_subbase"){ /** SubBase **/
    level thread SubBase();
    level.doCustomMap = 1;
    }
    if(getDvar("mapname") == "mp_terminal"){ /** Terminal **/
    level thread Terminal();
    level.doCustomMap = 1;
    }
    if(getDvar("mapname") == "mp_underpass"){ /** Underpass **/
    level thread Underpass();
    level.doCustomMap = 1;
    }
    if(getDvar("mapname") == "mp_abandon"){ /** Carnaval **/
    level thread Carnaval();
    level.doCustomMap = 1;
    }
    if(getDvar("mapname") == "mp_overgrown"){ /** overgrown **/
    level thread Overgrown();
    level.doCustomMap = 1;
    }
    if(level.doCustomMap == 1){
    level.gameState = "starting";
    level thread CreateMapWait();
    }else {
    level.gameState = "starting";
    wait 15;
    level notify("CREATED");
    }
    }

    CreateMapWait()
    {
    level notify("CREATED");
    foreach(player in level.players)
    {
    player freezeControls(false);
    player VisionSetNakedForPlayer(getDvar("mapname"), 0);
    }
    }

    CreateElevator(enter, exit, angle)
    {
    flag = spawn( "script_model", enter );
    flag setModel( level.elevator_model["enter"] );
    wait 0.01;
    flag = spawn( "script_model", exit );
    flag setModel( level.elevator_model["exit"] );
    wait 0.01;
    self thread ElevatorThink(enter, exit, angle);
    }

    CreateBlocks(pos, angle)
    {
    block = spawn("script_model", pos );
    block setModel("com_plasticcase_friendly");
    block.angles = angle;
    block Solid();
    block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    wait 0.01;
    }

    CreateDoors(open, close, angle, size, height, hp, range)
    {
    offset = (((size / 2) - 0.5) * -1);
    center = spawn("script_model", open );
    for(j = 0; j < size; j++){
    door = spawn("script_model", open + ((0, 30, 0) * offset));
    door setModel("com_plasticcase_enemy");
    door Solid();
    door CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    door EnableLinkTo();
    door LinkTo(center);
    for(h = 1; h < height; h++){
    door = spawn("script_model", open + ((0, 30, 0) * offset) - ((70, 0, 0) * h));
    door setModel("com_plasticcase_enemy");
    door Solid();
    door CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    door EnableLinkTo();
    door LinkTo(center);
    }
    offset += 1;
    }
    center.angles = angle;
    center.state = "open";
    center.hp = hp;
    center.range = range;
    center thread DoorThink(open, close);
    center thread DoorUse();
    center thread ResetDoors(open, hp);
    wait 0.01;
    }

    CreateRamps(top, bottom)
    {
    D = Distance(top, bottom);
    blocks = roundUp(D/30);
    CX = top[0] - bottom[0];
    CY = top[1] - bottom[1];
    CZ = top[2] - bottom[2];
    XA = CX/blocks;
    YA = CY/blocks;
    ZA = CZ/blocks;
    CXY = Distance((top[0], top[1], 0), (bottom[0], bottom[1], 0));
    Temp = VectorToAngles(top - bottom);
    BA = (Temp[2], Temp[1] + 90, Temp[0]);
    for(b = 0; b < blocks; b++){
    block = spawn("script_model", (bottom + ((XA, YA, ZA) * b)));
    block setModel("com_plasticcase_friendly");
    block.angles = BA;
    block Solid();
    block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    wait 0.01;
    }
    block = spawn("script_model", (bottom + ((XA, YA, ZA) * blocks) - (0, 0, 5)));
    block setModel("com_plasticcase_friendly");
    block.angles = (BA[0], BA[1], 0);
    block Solid();
    block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    wait 0.001;
    }

    CreateGrids(corner1, corner2, angle)
    {
    W = Distance((corner1[0], 0, 0), (corner2[0], 0, 0));
    L = Distance((0, corner1[1], 0), (0, corner2[1], 0));
    H = Distance((0, 0, corner1[2]), (0, 0, corner2[2]));
    CX = corner2[0] - corner1[0];
    CY = corner2[1] - corner1[1];
    CZ = corner2[2] - corner1[2];
    ROWS = roundUp(W/55);
    COLUMNS = roundUp(L/30);
    HEIGHT = roundUp(H/20);
    XA = CX/ROWS;
    YA = CY/COLUMNS;
    ZA = CZ/HEIGHT;
    center = spawn("script_model", corner1);
    for(r = 0; r <= ROWS; r++){
    for(c = 0; c <= COLUMNS; c++){
    for(h = 0; h <= HEIGHT; h++){
    block = spawn("script_model", (corner1 + (XA * r, YA * c, ZA * h)));
    block setModel("com_plasticcase_friendly");
    block.angles = (0, 0, 0);
    block Solid();
    block LinkTo(center);
    block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    wait 0.001;
    }
    }
    }
    center.angles = angle;
    }

    CreateWalls(start, end)
    {
    D = Distance((start[0], start[1], 0), (end[0], end[1], 0));
    H = Distance((0, 0, start[2]), (0, 0, end[2]));
    blocks = roundUp(D/55);
    height = roundUp(H/30);
    CX = end[0] - start[0];
    CY = end[1] - start[1];
    CZ = end[2] - start[2];
    XA = (CX/blocks);
    YA = (CY/blocks);
    ZA = (CZ/height);
    TXA = (XA/4);
    TYA = (YA/4);
    Temp = VectorToAngles(end - start);
    Angle = (0, Temp[1], 90);
    for(h = 0; h < height; h++){
    block = spawn("script_model", (start + (TXA, TYA, 10) + ((0, 0, ZA) * h)));
    block setModel("com_plasticcase_friendly");
    block.angles = Angle;
    block Solid();
    block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    wait 0.0001;
    for(i = 1; i < blocks; i++){
    block = spawn("script_model", (start + ((XA, YA, 0) * i) + (0, 0, 10) + ((0, 0, ZA) * h)));
    block setModel("com_plasticcase_friendly");
    block.angles = Angle;
    block Solid();
    block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    wait 0.0001;
    }
    block = spawn("script_model", ((end[0], end[1], start[2]) + (TXA * -1, TYA * -1, 10) + ((0, 0, ZA) * h)));
    block setModel("com_plasticcase_friendly");
    block.angles = Angle;
    block Solid();
    block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    wait 0.0001;
    }
    }

    CreateCluster(amount, pos, radius)
    {
    for(i = 0; i < amount; i++)
    {
    half = radius / 2;
    power = ((randomInt(radius) - half), (randomInt(radius) - half), 500);
    block = spawn("script_model", pos + (0, 0, 1000) );
    block setModel("com_plasticcase_friendly");
    block.angles = (90, 0, 0);
    block PhysicsLaunchServer((0, 0, 0), power);
    block Solid();
    block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    block thread ResetCluster(pos, radius);
    wait 0.05;
    }
    }

    ElevatorThink(enter, exit, angle)
    {
    self endon("disconnect");
    while(1)
    {
    foreach(player in level.players)
    {
    if(Distance(enter, player.origin) <= 50){
    player SetOrigin(exit);
    player SetPlayerAngles(angle);
    }
    }
    wait .25;
    }
    }

    DoorThink(open, close)
    {
    while(1)
    {
    if(self.hp > 0){
    self waittill ( "triggeruse" , player );
    if(player.team == "allies"){
    if(self.state == "open"){
    self MoveTo(close, level.doorwait);
    wait level.doorwait;
    self.state = "close";
    continue;
    }
    if(self.state == "close"){
    self MoveTo(open, level.doorwait);
    wait level.doorwait;
    self.state = "open";
    continue;
    }
    }
    if(player.team == "axis"){
    if(self.state == "close"){
    self.hp--;
    player iPrintlnBold("HIT");
    wait 1;
    continue;
    }
    }
    } else {
    if(self.state == "close"){
    self MoveTo(open, level.doorwait);
    }
    self.state = "broken";
    wait .5;
    }
    }
    }

    DoorUse(range)
    {
    self endon("disconnect");
    while(1)
    {
    foreach(player in level.players)
    {
    if(Distance(self.origin, player.origin) <= self.range){
    if(player.team == "allies"){
    if(self.state == "open"){
    player.hint = "Press ^3[{+activate}] ^7to ^2Close ^7the door";
    }
    if(self.state == "close"){
    player.hint = "Press ^3[{+activate}] ^7to ^2Open ^7the door";
    }
    if(self.state == "broken"){
    player.hint = "^1The uber/mahlazor DOOR is damaged ";
    }
    }
    if(player.team == "axis"){
    if(self.state == "close"){
    player.hint = "Press ^3[{+activate}] ^7to ^2Attack ^7the door";
    }
    if(self.state == "broken"){
    player.hint = "^1Door is Broken";
    }
    }
    if(player.buttonPressed[ "+activate" ] == 1){
    player.buttonPressed[ "+activate" ] = 0;
    self notify( "triggeruse" , player);
    }
    }
    }
    wait .045;
    }
    }

    ResetDoors(open, hp)
    {
    while(1)
    {
    level waittill("RESETDOORS");
    self.hp = hp;
    self MoveTo(open, level.doorwait);
    self.state = "open";
    }
    }

    ResetCluster(pos, radius)
    {
    wait 5;
    self RotateTo(((randomInt(36)*10), (randomInt(36)*10), (randomInt(36)*10)), 1);
    level waittill("RESETCLUSTER");
    self thread CreateCluster(1, pos, radius);
    self delete();
    }

    roundUp( floatVal )
    {
    if ( int( floatVal ) != floatVal )
    return int( floatVal+1 );
    else
    return int( floatVal );
    }

    Afghan()
    {
    /* Made by Maarten551 */
    CreateDoors((1200, 4756, 410), (1400, 4756, 410), (90, 90, 0), 6, 2, 12, 200);
    CreateRamps((2280, 1254, 142), (2548, 1168, 33));
    CreateGrids((1688, 4746, 416), (1024, 5039, 416), (0, 0, 0));
    CreateRamps((1472, 4103, 256), (1356, 4720, 410));
    CreateRamps((1552, 4103, 256), (1436, 4720, 410));
    CreateWalls((1688, 4746, 416), (1500, 4746, 550));
    CreateWalls((1024, 4746, 416), (1300, 4746, 550));
    CreateWalls((1688, 4746, 416), (1688, 5039, 550));
    CreateWalls((1024, 5039, 416), (1688, 5039, 550));
    CreateWalls((1024, 5039, 416), (1024, 4746, 550));
    /* Orginal */
    CreateDoors((1590, -238, 160), (1590, -168, 160), (90, 0, 0), 2, 2, 5, 50);
    CreateDoors((1938, -125, 160), (1938, -15, 160), (90, 0, 0), 4, 2, 15, 75);
    CreateDoors((2297, 10, 160), (2297, -100, 160), (90, 0, 0), 4, 2, 10, 75);
    CreateDoors((525, 1845, 162), (585, 1845, 162), (90, 90, 0), 2, 2, 5, 50);
    CreateDoors((-137, 1380, 226), (-137, 1505, 226), (90, 0, 0), 4, 2, 15, 75);
    CreateDoors((820, 1795, 165), (820, 1495, 165), (90, 0, 0), 12, 2, 40, 100);
    CreateDoors((2806, 893, 210), (2806, 806, 210), (90, 0, 0), 3, 2, 10, 50);
    }

    Derail()
    {
    CreateElevator((-110, 2398, 124), (-125, 2263, 333), (0, 270, 0));
    CreateBlocks((-240, 1640, 422), (0, 90, 0));
    CreateBlocks((-270, 1640, 422), (0, 90, 0));
    CreateBlocks((-270, 1585, 422), (0, 90, 0));
    CreateBlocks((-270, 1530, 422), (0, 90, 0));
    CreateBlocks((-270, 1475, 422), (0, 90, 0));
    CreateBlocks((-270, 1420, 422), (0, 90, 0));
    CreateBlocks((-270, 1365, 422), (0, 90, 0));
    CreateBlocks((-270, 1310, 422), (0, 90, 0));
    CreateBlocks((-270, 1255, 422), (0, 90, 0));
    CreateBlocks((-970, 3018, 138), (0, 90, 0));
    CreateBlocks((-985, 3018, 148), (0, 90, 0));
    CreateBlocks((-1000, 3018, 158), (0, 90, 0));
    CreateBlocks((-1015, 3018, 168), (0, 90, 0));
    CreateBlocks((-1030, 3018, 178), (0, 90, 0));
    CreateBlocks((-1045, 3018, 188), (0, 90, 0));
    CreateBlocks((-1060, 3018, 198), (0, 90, 0));
    CreateBlocks((-1075, 3018, 208), (0, 90, 0));
    CreateBlocks((-1090, 3018, 218), (0, 90, 0));
    CreateBlocks((-1105, 3018, 228), (0, 90, 0));
    CreateBlocks((-1120, 3018, 238), (0, 90, 0));
    CreateBlocks((-1135, 3018, 248), (0, 90, 0));
    CreateRamps((-124, 2002, 437), (-124, 2189, 332));
    CreateDoors((400, 1486, 128), (400, 1316, 128), (90, 0, 0), 6, 2, 30, 100);
    CreateDoors((-61, 755, 128), (-161, 755, 128), (90, 90, 0), 3, 2, 20, 75);
    }

    Estate()
    {
    CreateBlocks((-2378, 782, -130), (90, 0, 0));
    CreateBlocks((-2388, 823, -130), (90, 0, 0));
    CreateBlocks((-2398, 863, -130), (90, 0, 0));
    CreateBlocks((-1098, 2623, 37), (90, 0, 0));
    CreateBlocks((-3227, 3483, -101), (90, 0, 0));
    CreateBlocks((-371, 919, 245), (0, 100, 90));
    CreateBlocks((-383, 991, 245), (0, 100, 90));
    CreateBlocks((-371, 919, 275), (0, 100, 90));
    CreateBlocks((-383, 991, 275), (0, 100, 90));
    CreateBlocks((-371, 919, 305), (0, 100, 90));
    CreateBlocks((-383, 991, 305), (0, 100, 90));
    CreateBlocks((-371, 919, 335), (0, 100, 90));
    CreateBlocks((-383, 991, 335), (0, 100, 90));
    CreateBlocks((-349, 1115, 245), (0, 50, 90));
    CreateBlocks((-302, 1166, 245), (0, 50, 90));
    CreateBlocks((-349, 1115, 275), (0, 50, 90));
    CreateBlocks((-302, 1166, 275), (0, 50, 90));
    CreateBlocks((-349, 1115, 305), (0, 50, 90));
    CreateBlocks((-302, 1166, 305), (0, 50, 90));
    CreateBlocks((-349, 1115, 335), (0, 50, 90));
    CreateBlocks((-302, 1166, 335), (0, 50, 90));
    CreateBlocks((-371, 919, 395), (0, 100, 90));
    CreateBlocks((-383, 991, 395), (0, 100, 90));
    CreateBlocks((-371, 919, 425), (0, 100, 90));
    CreateBlocks((-383, 991, 425), (0, 100, 90));
    CreateBlocks((-371, 919, 455), (0, 100, 90));
    CreateBlocks((-383, 991, 455), (0, 100, 90));
    CreateBlocks((-371, 919, 485), (0, 100, 90));
    CreateBlocks((-383, 991, 485), (0, 100, 90));
    CreateBlocks((-349, 1115, 395), (0, 50, 90));
    CreateBlocks((-302, 1166, 395), (0, 50, 90));
    CreateBlocks((-349, 1115, 425), (0, 50, 90));
    CreateBlocks((-302, 1166, 425), (0, 50, 90));
    CreateBlocks((-349, 1115, 455), (0, 50, 90));
    CreateBlocks((-302, 1166, 455), (0, 50, 90));
    CreateBlocks((-349, 1115, 485), (0, 50, 90));
    CreateBlocks((-302, 1166, 485), (0, 50, 90));
    CreateBlocks((-55, 1231, 245), (0, -20, 90));
    CreateBlocks((8, 1217, 245), (0, -20, 90));
    CreateBlocks((102, 1188, 245), (0, -20, 90));
    CreateBlocks((162, 1168, 245), (0, -20, 90));
    CreateBlocks((-55, 1231, 275), (0, -20, 90));
    CreateBlocks((8, 1217, 275), (0, -20, 90));
    CreateBlocks((102, 1188, 275), (0, -20, 90));
    CreateBlocks((162, 1168, 275), (0, -20, 90));
    CreateBlocks((-3200, 998, -143), (90, 0, 0));
    CreateBlocks((-3200, 1028, -143), (90, 0, 0));
    CreateBlocks((-3200, 1058, -143), (90, 0, 0));
    CreateBlocks((-3200, 1088, -143), (90, 0, 0));
    CreateBlocks((-3200, 1118, -143), (90, 0, 0));
    CreateBlocks((-3181, 3124, -218), (90, 0, 0));
    CreateBlocks((-3211, 3124, -218), (90, 0, 0));
    CreateBlocks((-3241, 3124, -218), (90, 0, 0));
    CreateBlocks((-3181, 3124, -163), (90, 0, 0));
    CreateBlocks((-3211, 3124, -163), (90, 0, 0));
    CreateBlocks((-3241, 3124, -163), (90, 0, 0));
    CreateBlocks((-2622, 3676, -106), (90, 0, 0));
    CreateBlocks((-3741, 3245, -200), (90, 0, 0));
    CreateBlocks((-3821, 2170, -250), (90, 0, 0));
    CreateBlocks((-3791, 2170, -250), (90, 0, 0));
    CreateBlocks((-3761, 2170, -250), (90, 0, 0));
    CreateBlocks((-3821, 2170, -195), (90, 0, 0));
    CreateBlocks((-3791, 2170, -195), (90, 0, 0));
    CreateBlocks((-3761, 2170, -195), (90, 0, 0));
    CreateBlocks((-471, -126, 193), (0, 0, 90));
    CreateBlocks((-547, -104, 193), (0, 0, 90));
    CreateBlocks((-625, -84, 193), (0, 0, 90));
    CreateBlocks((-702, -61, 193), (0, 0, 90));
    CreateBlocks((-778, -38, 193), (0, 0, 90));
    CreateBlocks((-830, -13, 193), (0, 0, 90));
    CreateBlocks((1333, -92, 210), (0, 0, 90));
    CreateRamps((1025, 3563, 291), (692, 3563, 146));
    CreateDoors((489, 1321, 212), (409, 1341, 212), (90, 70, 0), 4, 2, 20, 75);
    CreateDoors((421, 861, 212), (461, 1011, 212), (90, -20, 0), 4, 2, 20, 75);
    CreateDoors((64, 680, 212), (184, 640, 212), (90, 75, 0), 6, 2, 30, 100);
    CreateDoors((706, 575, 185), (791, 545, 185), (0, -15, 0), 6, 1, 25, 75);
    CreateDoors((24, 477, 341), (48, 552, 341), (90, -15, 0), 3, 2, 5, 50);
    /* Created by maarten551 */
    CreateRamps((-2049, 1474, -251), (-2152 , 1226, -80));
    CreateRamps((-1734, 843, -342), (-2230, 278, -80 ));
    CreateWalls((-2737, 873, -34), (-2717, 808, 36));
    CreateWalls((-2668, 611, -34), (-2685, 689, 36));
    CreateWalls((-2668, 611, 96), (-2737, 873, 136));
    CreateGrids((-2670, 632, -34), (-3000 ,861 , -34), (0, 0, 0));
    CreateElevator((105, 1374, 138), (-1630, 1436, -252), (0, 270, 0));
    CreateElevator((1236, 3593, 146), (-1630, 1436, -252), (0, 270, 0));
    }

    Favela()
    {
    /* Maarten551 map */
    CreateElevator((-321, 2633, 335), (5047, -2867, 216), (0, 0, 0));
    CreateElevator((-192, -743, 308), (5047, -2867, 216), (0, 0, 0));
    CreateElevator((-227, 1325, 152), (5047, -2867, 216), (0, 0, 0));
    CreateElevator((34, 277, 312), (5047, -2867, 216), (0, 0, 0));
    CreateElevator((1022, 413, 198), (5047, -2867, 216), (0, 0, 0));
    CreateElevator((1608, 1010, 312), (5047, -2867, 216), (0, 0, 0));
    CreateElevator((763, -1983, 152), (404, 1677, 595), (0, 0, 0));
    CreateGrids((2809, -2212, 239), (2809, -2675, 230), (0, 0, 0));
    CreateWalls((2809, -2212, 143), (2236, -2212, 240));
    CreateWalls((2809, -2212, 143), (2809, -2400, 180));
    CreateWalls((2809, -2212, 220), (2809, -2675, 240));
    Createwalls((2236, -2212, 143), (2236, -2675, 180));
    CreateWalls((2236, -2675, 143), (2236, -2212, 240));
    CreateWalls((2809, -2675, 143), (2809, -2550, 180));
    CreateWalls((2809, -2675, 143), (2236, -2675, 240));
    CreateRamps((2650, -2600, 143), (2236, -2600, 220));
    CreateDoors((2780, -2300, 143), (2809, -2485, 143), (90, 0, 0), 7, 2, 15, 50);
    /* Orginal */
    CreateDoors((-64, 277, 198), (-64, 337, 198), (90, -6, 0), 2, 2, 5, 50);
    CreateDoors((-438, 987, 310), (-438, 1047, 310), (90, 4, 0), 2, 2, 5, 50);
    CreateDoors((-625, -238, 174), (-625, -298, 174), (90, -9, 0), 2, 2, 5, 50);
    CreateDoors((893, 1056, 368), (833, 1056, 368), (90, 90, 0), 2, 2, 5, 50);
    CreateDoors((80, 450, 198), (145, 450, 198), (90, 90, 0), 2, 2, 5, 50);
    }

    HighRise()
    {
    CreateBlocks((-2723, 5162, 3030), (90, 0, 0));
    CreateBlocks((-2753, 5162, 3030), (90, 0, 0));
    CreateBlocks((-2723, 5132, 3030), (90, 0, 0));
    CreateDoors((-1550, 5875, 2967), (-1550, 5649, 2967), (0, 0, 0), 7, 1, 20, 100);
    CreateDoors((-1185, 5900, 2967), (-1185, 6117, 2967), (0, 0, 0), 7, 1, 20, 100);
    }

    Invasion()
    {
    /* ORGINAL */
    CreateElevator((-2150, -2366, 268), (-2276, -1353, 573), (0, -90, 0));
    CreateElevator((-1413, -1333, 270), (-1558, -1485, 1064), (0, 0, 0));
    CreateElevator((-607, -984, 293), (-842, -1053, 878), (0, 0, 0));
    CreateGrids((-1400, -1850, 390), (-1359, -1455, 390), (0, 0, 0));
    CreateBlocks((-1468, -1470, 1044), (0, -80, 0));
    CreateBlocks((-1498, -1475, 1044), (0, -80, 0));
    CreateBlocks((-1528, -1480, 1044), (0, -80, 0));
    CreateBlocks((-1558, -1485, 1044), (0, -80, 0));
    CreateBlocks((-1588, -1490, 1044), (0, -80, 0));
    CreateBlocks((-1618, -1495, 1044), (0, -80, 0));
    CreateBlocks((-1648, -1500, 1044), (0, -80, 0));
    /* CREATED BY MAARTEN551 */
    CreateElevator((1250, -2951, 306), (853, -700, 584), (0, 0, 0));
    CreateElevator((-2808, -3744, 291), (-842, -1053, 878), (0, 0, 0));
    CreateElevator((-2409, -1409, 268), (1773, -771, 624), (0, 0, 0));
    CreateElevator((487, -489, 242), (1773, -771, 624), (0, 0, 0));
    CreateElevator((2141, -1055, 296), (1773, -771, 624), (0, 0, 0));
    CreateGrids((1377, -1916, 568), (728, -1794, 568), (0, 0, 0));
    CreateGrids((1377, -1916, 700), (920, -1752, 700), (0, 0, 0));
    }

    Karachi()
    {
    CreateElevator((25, 519, 200), (25, 457, 336), (0, 180, 0));
    CreateElevator((-525, 520, 336), (-522, 783, 336), (0, 0, 0));
    CreateElevator((25, 854, 336), (25, 854, 472), (0, 180, 0));
    CreateElevator((-522, 783, 472), (-525, 520, 472), (0, 0, 0));
    CreateElevator((25, 457, 472), (25, 457, 608), (0, 180, 0));
    CreateElevator((-525, 520, 608), (-522, 783, 608), (0, 0, 0));
    CreateElevator((561, 116, 176), (568, -67, 280), (0, 0, 0));
    CreateBlocks((800, 206, 254), (0, 0, 0));
    CreateBlocks((800, 256, 254), (0, 0, 0));
    CreateBlocks((800, 375, 254), (0, 0, 0));
    CreateBlocks((479, -831, 369), (90, 90, 0));
    CreateBlocks((768, -253, 582), (90, -45, 0));
    CreateBlocks((814, -253, 582), (90, -45, 0));
    CreateBlocks((860, -253, 582), (90, -45, 0));
    CreateBlocks((916, -253, 582), (90, -45, 0));
    CreateBlocks((962, -253, 582), (90, -45, 0));
    CreateBlocks((415, -777, 582), (0, 0, 0));
    CreateBlocks((360, -777, 582), (0, 0, 0));
    CreateBlocks((305, -777, 582), (0, 0, 0));
    CreateBlocks((516, -74, 564), (90, 90, 0));
    CreateBlocks((516, -74, 619), (90, 90, 0));
    CreateRamps((559, -255, 554), (559, -99, 415));
    }

    Quarry()
    {
    CreateBlocks((-5817, -319, -88), (0, 0, 0));
    CreateBlocks((-5817, -289, -108), (0, 0, 0));
    CreateRamps((-3742, -1849, 304), (-3605, -1849, 224));
    CreateRamps((-3428, -1650, 224), (-3188, -1650, 160));
    CreateRamps((-3412, -1800, 416), (-3735, -1800, 304));
    CreateGrids((-3520, -1880, 320), (-3215, -2100, 320), (0, 0, 0));
    CreateGrids((-3100, -1725, 400), (-2740, -1840, 400), (3, 0, 0));
    }

    Rundown()
    {
    /* Maarten551 maps */
    CreateElevator((1986, -2364, 372), (1036, -2607, 340), (0, 180, 0));
    CreateElevator((935, -3022, 341), (1583, -603, 344), (0, 180, 0));
    CreateElevator((1980, -518, 329), (2497, 234, -125), (0, 180, 0));
    CreateElevator((2330, 1224, -79), (1612, -184, -127), (0, 180, 0));
    CreateElevator((-454, 1162, 25), (2616, -524, -127), (0, 180, 0));
    CreateElevator((-695, -267, 184), (2616, -524, -127), (0, 180, 0));
    CreateElevator((470, -39, -123), (2497, 234, -125), (0, 180, 0));
    CreateElevator((-395, 1772, 174), (2497, 234, -125), (0, 180, 0));
    CreateElevator((4234, 150, -127), (-447, -5, 60), (0, 180, 0));
    CreateWalls((3465, 241, -127), (3123, 241, 0));
    CreateWalls((3465, 241, -127), (3465, -127, 0));
    CreateWalls((3123, 241, -20), (3123, -127, 0));
    CreateWalls((3123, -127, -127), (3465, -127, 0));
    CreateWalls((3123, 241, -127), (3123, 130, -85));
    CreateWalls((3123, -127, -127), (3123, -10, -85));
    CreateDoors((3160, 130, -127), (3123, 50, -127), (90, 0, 0), 4, 2, 15, 75);
    CreateGrids((3465, 241, -10), (3505, -127, -10), (0, 0, 0));
    CreateGrids((3160, 241, -10), (3120, -127, -10), (0, 0, 0));
    CreateGrids((3120, 241, -10), (3505, 280, -10), (0, 0, 0));
    CreateGrids((3120, -127, -10), (3505, -170, -10), (0, 0, 0));
    CreateRamps((3250, 180, -127), (3430, 180, -10));
    CreateWalls((4882, -681, -127), (4882, 295, 20));
    /* orginal */
    CreateDoors((360, -1462, 202), (300, -1342, 202), (90, 25, 0), 3, 2, 10, 75);
    CreateDoors((460, -1420, 206), (400, -1300, 206), (90, 25, 0), 3, 2, 10, 75);
    CreateDoors((30, -1630, 186), (-30, -1510, 186), (90, 25, 0), 4, 2, 15, 75);
    CreateDoors((-280, -1482, 186), (-220, -1602, 186), (90, 25, 0), 4, 2, 15, 75);
    CreateBlocks((385, -1660, 40), (0, 120, 90));
    CreateRamps((-597, -280, 212), (-332, -522, 180));
    CreateRamps((726, -389, 142), (560, -373, 13));
    CreateRamps((2250, -1155, 306), (1905, -876, 200));
    CreateRamps((850, -3125, 312), (535, -3125, 189));
    CreateRamps((1775, 450, 144), (1775, 735, -5));
    }

    Rust()
    {
    CreateBlocks((773, 1080, 258), (0, 90, 0));
    CreateRamps((745, 1570, 383), (745, 1690, 273));
    CreateDoors((565, 1540, 295), (653, 1540, 295), (90, 90, 0), 3, 2, 15, 60);
    CreateGrids((773, 1135, 258), (533, 1795, 258), (0, 0, 0));
    CreateGrids((695, 1795, 378), (533, 1540, 378), (0, 0, 0));
    CreateGrids((773, 1540, 498), (533, 1795, 498), (0, 0, 0));
    CreateWalls((533, 1795, 278), (773, 1795, 498));
    CreateWalls((790, 1795, 278), (790, 1540, 498));
    CreateWalls((515, 1540, 278), (515, 1795, 498));
    CreateWalls((773, 1540, 278), (715, 1540, 378));
    CreateWalls((590, 1540, 278), (533, 1540, 378));
    CreateWalls((773, 1540, 398), (533, 1540, 428));
    CreateWalls((773, 1540, 458), (740, 1540, 498));
    CreateWalls((566, 1540, 458), (533, 1540, 498));
    }

    Scrapyard()
    {
    CreateBlocks((420, 1636, 174), (0, 0, 0));
    CreateBlocks((475, 1636, 174), (0, 0, 0));
    CreateBlocks((530, 1636, 174), (0, 0, 0));
    CreateBlocks((585, 1636, 174), (0, 0, 0));
    CreateBlocks((640, 1636, 174), (0, 0, 0));
    CreateBlocks((695, 1636, 174), (0, 0, 0));
    CreateBlocks((750, 1636, 174), (0, 0, 0));
    CreateBlocks((805, 1636, 174), (0, 0, 0));
    CreateBlocks((860, 1636, 174), (0, 0, 0));
    CreateBlocks((420, 1606, 174), (0, 0, 0));
    CreateBlocks((475, 1606, 174), (0, 0, 0));
    CreateBlocks((530, 1606, 174), (0, 0, 0));
    CreateBlocks((585, 1606, 174), (0, 0, 0));
    CreateBlocks((640, 1606, 174), (0, 0, 0));
    CreateBlocks((695, 1606, 174), (0, 0, 0));
    CreateBlocks((750, 1606, 174), (0, 0, 0));
    CreateBlocks((805, 1606, 174), (0, 0, 0));
    CreateBlocks((860, 1606, 174), (0, 0, 0));
    CreateBlocks((420, 1576, 174), (0, 0, 0));
    CreateBlocks((475, 1576, 174), (0, 0, 0));
    CreateBlocks((530, 1576, 174), (0, 0, 0));
    CreateBlocks((585, 1576, 174), (0, 0, 0));
    CreateBlocks((640, 1576, 174), (0, 0, 0));
    CreateBlocks((695, 1576, 174), (0, 0, 0));
    CreateBlocks((750, 1576, 174), (0, 0, 0));
    CreateBlocks((805, 1576, 174), (0, 0, 0));
    CreateBlocks((860, 1576, 174), (0, 0, 0));
    CreateBlocks((-1541, -80, 1), (0, 90, -33.3));
    CreateBlocks((-1517.7, -80, 16.3), (0, 90, -33.3));
    CreateBlocks((-1494.4, -80, 31.6), (0, 90, -33.3));
    CreateBlocks((-1471.1, -80, 46.9), (0, 90, -33.3));
    CreateBlocks((-1447.8, -80, 62.2), (0, 90, -33.3));
    CreateBlocks((-1424.5, -80, 77.5), (0, 90, -33.3));
    CreateBlocks((-1401.2, -80, 92.8), (0, 90, -33.3));
    CreateBlocks((-1377.9, -80, 108.1), (0, 90, -33.3));
    CreateBlocks((-1354.6, -80, 123.4), (0, 90, -33.3));
    CreateElevator((10, 1659, -72), (860, 1606, 194), (0, 180, 0));
    CreateDoors((1992, 266, -130), (1992, 336, -130), (90, 0, 0), 2, 2, 5, 50);
    CreateDoors((1992, 710, -130), (1992, 640, -130), (90, 0, 0), 2, 2, 5, 50);
    }

    Skidrow()
    {
    CreateElevator((-725, -410, 136), (-910, -620, 570), (0, 0, 0));
    CreateRamps((-705, -830, 688), (-495, -830, 608));
    CreateRamps((-580, -445, 608), (-580, -375, 568));
    CreateRamps((1690, 325, 213), (1890, 325, 108));
    CreateGrids((-1540, -1687, 600), (-275, -1687, 660), (0, 0, 0));
    CreateGrids((-1060, -1535, 584), (-470, -1650, 584), (0, 0, 0));
    CreateGrids((-700, -120, 580), (-700, -120, 640), (0, 90, 0));
    CreateGrids((-705, -490, 580), (-705, -770, 580), (-45, 0, 0));
    }

    SubBase()
    {
    CreateBlocks((-1506, 800, 123), (0, 0, 45));
    CreateDoors((-503, -3642, 22), (-313, -3642, 22), (90, 90, 0), 7, 2, 25, 75);
    CreateDoors((-423, -3086, 22), (-293, -3086, 22), (90, 90, 0), 6, 2, 20, 75);
    CreateDoors((-183, -3299, 22), (-393, -3299, 22), (90, 90, 0), 7, 2, 25, 75);
    CreateDoors((1100, -1138, 294), (1100, -1078, 294), (90, 0, 0), 2, 2, 5, 50);
    CreateDoors((331, -1400, 294), (331, -1075, 294), (90, 0, 0), 11, 2, 40, 100);
    CreateDoors((-839, -1249, 278), (-839, -1319, 278), (90, 0, 0), 2, 2, 5, 50);
    CreateDoors((-1428, -1182, 278), (-1498, -1182, 278), (90, 90, 0), 2, 2, 5, 50);
    CreateDoors((-435, -50, 111), (-380, -50, 111), (90, 90, 0), 2, 2, 5, 50);
    CreateDoors((-643, -50, 111), (-708, -50, 111), (90, 90, 0), 2, 2, 5, 50);
    CreateDoors((1178, -438, 102), (1248, -438, 102), (90, 90, 0), 2, 2, 5, 50);
    CreateDoors((1112, -90, 246), (1112, -160, 246), (90, 0, 0), 2, 2, 5, 50);
    }

    Terminal()
    {
    CreateElevator((2859, 4529, 192), (3045, 4480, 250), (0, 0, 0));
    CreateElevator((2975, 4080, 192), (2882, 4289, 55), (0, 180, 0));
    CreateElevator((520, 7375, 192), (-898, 5815, 460), (0, -90, 0));
    CreateElevator((-670, 5860, 460), (1585, 7175, 200), (0, 180, 0));
    CreateElevator((-895, 4300, 392), (-895, 4300, 570), (0, 90, 0));
    CreateWalls((-640, 4910, 390), (-640, 4685, 660));
    CreateWalls((-1155, 4685, 390), (-1155, 4910, 660));
    CreateWalls((-570, 5440, 460), (-640, 4930, 660));
    CreateWalls((-1155, 4930, 460), (-1155, 5945, 660));
    CreateWalls((-1155, 5945, 460), (-910, 5945, 660));
    CreateWalls((-1105, 4665, 392), (-965, 4665, 512));
    CreateWalls((-825, 4665, 392), (-685, 4665, 512));
    CreateWalls((3375, 2715, 195), (3765, 3210, 245));
    CreateWalls((4425, 3580, 195), (4425, 3230, 315));
    CreateWalls((4425, 3580, 380), (4425, 3230, 440));
    CreateWalls((4045, 3615, 382), (3850, 3615, 412));
    CreateWalls((2960, 2800, 379), (3250, 2800, 409));
    CreateDoors((-705, 4665, 412), (-895, 4665, 412), (90, -90, 0), 4, 2, 20, 75);
    CreateDoors((3860, 3305, 212), (3860, 3485, 212), (90, 0, 0), 6, 2, 30, 100);
    CreateRamps((3620, 2415, 369), (4015, 2705, 192));
    CreateGrids((4380, 2330, 360), (4380, 2980, 360), (0, 0, 0));
    CreateBlocks((1635, 2470, 121), (0, 0, 0));
    CreateBlocks((2675, 3470, 207), (90, 0, 0));
    }

    Underpass()
    {
    CreateElevator((-415, 3185, 392), (-1630, 3565, 1035), (0, 180, 0));
    CreateBlocks((1110, 1105, 632), (90, 0, 0));
    CreateBlocks((-2740, 3145, 1100), (90, 0, 0));
    CreateBlocks((2444, 1737, 465), (90, 0, 0));
    CreateWalls((-1100, 3850, 1030), (-1100, 3085, 1160));
    CreateWalls((-2730, 3453, 1030), (-2730, 3155, 1150));
    CreateWalls((-2730, 3155, 1030), (-3330, 3155, 1180));
    CreateWalls((-3330, 3155, 1030), (-3330, 3890, 1180));
    CreateWalls((-3330, 3890, 1030), (-2730, 3890, 1180));
    CreateWalls((-2730, 3890, 1030), (-2730, 3592, 1150));
    CreateWalls((-2730, 3890, 1150), (-2730, 3155, 1180));
    CreateDoors((-2730, 3400, 1052), (-2730, 3522.5, 1052), (90, 180, 0), 4, 2, 20, 75);
    CreateRamps((-3285, 3190, 1125), (-3285, 3353, 1030));
    CreateRamps((-3285, 3855, 1125), (-3285, 3692, 1030));
    CreateGrids((-2770, 3190, 1120), (-3230, 3190, 1120), (0, 0, 0));
    CreateGrids((-2770, 3855, 1120), (-3230, 3855, 1120), (0, 0, 0));
    CreateGrids((-2770, 3220, 1120), (-2770, 3825, 1120), (0, 0, 0));
    CreateCluster(20, (-3030, 3522.5, 1030), 250);
    }

    Wasteland()
    {
    // Created by ~Just IN~ of MPGH.net
    // Made for thread:
    // https://www.mpgh.net/forum/323-call-duty-mw2-gsc-modding-help-discussion/220421-request-carepackage-chopper-mod.html
    // Suggested to help and Suggested Mod Thread
    // Thanks
    // Copyright Đ ~Just IN~ of MPGH.net
    // DO NOT MODIFY UNLESS ASKED FOR PERMISSION
    // Thank you

    // START OF WASTELAND CLOSE OFFS
    // First House with Porch behind a blown up tank
    CreateBlocks((141, 1939, 24), (90, 0, 0));
    CreateBlocks((141, 1939, 79), (90, 0, 0));
    CreateBlocks((16, 2323, 24), (90, 0, 0));
    CreateBlocks((16, 2323, 63), (90, 0, 0));
    CreateBlocks((-144, 2254, 62), (90, 0, 0));
    CreateBlocks((-144, 2254, 94), (90, 0, 0));
    // Underground Bunker
    CreateWalls((696, 17, 5), (830, -26, 72));
    CreateWalls((1414, -826, -27), (1414, -968, 44));
    CreateWalls((673, -888, -24), (678, -896, 60));
    // No Roof House
    // I blocked roof too cause I did not know if to or not
    CreateWalls((1263, -2625, 117), (924, -2625, 117));
    CreateWalls((1254, -2626, 129), (1275, -2495, 169));
    CreateWalls((938, -2510, 38), (931, -2628, 91));
    CreateWalls((931, -2628, 91), (1258, -2625, 51));
    CreateWalls((1258, -2625, 51), (1263, -2515, 118));
    // doorways
    CreateWalls((1266, -2378, 49), (1269, -2380, 121));
    CreateWalls((892, -2314, 49), (892, -2315, 121));
    // Abandon shed? behind the car stacks
    CreateWalls((-2222, -1235, 45), (-2130, -1333, 114));
    CreateWalls((-2477, -1276, 54), (-2526, -1223, 165));
    // all spetznaz? Roof cover
    CreateWalls((-3488, 1150, 64), (-3485, 1026, 129));
    CreateWalls((-3485, 1026, 129), (-3827, 1035, 64));
    CreateWalls((-2860, 2087, 51), (-2698, 2075, 154));
    CreateWalls((-2766, 1885, 50), (-3148, 1895, 154));
    //The House with no roof and left of the one with porch behind the tank
    CreateWalls((-1040, 2063, 59), (-1006, 2081, 127));
    CreateWalls((-1602, 2293, 59), (-1568, 2305, 124));
    // END OF WASTELAND CLOSE OFFS

    }

    Carnaval()
    {
    /* Made by Maarten551 */
    CreateDoors((440, 9800, 450), (440, 9880, 450), (90, 0, 0), 4, 2, 15, 75);
    CreateElevator((940, 789, 284), (2154, 2037, 77), (0, 180, 0));
    CreateElevator((2202, 1704, 191), (-531, 9510, 468), (0, 180, 0));
    CreateElevator((376, -1905, 19), (4091, -403, -42), (0, 180, 0));
    CreateElevator((3296, -354, -49), (-635, 10277, 468), (0, 180, 0));
    CreateElevator((2637, -886, 300), (-417, -1239, 72), (0, 180, 0));
    CreateElevator((-608, -745, 72), (-762, 9785, 475), (0, 180, 0));
    CreateElevator((1682, 10196, 475), (1033, -1311, 303), (0, 180, 0));
    CreateWalls((995, 10110, 450), (995, 9678, 620));
    CreateWalls((995, 9678, 450), (440, 9678, 620));
    CreateWalls((995, 10110, 450), (440, 10110, 620));
    CreateWalls((440, 10110, 450), ( 440, 9950, 520));
    CreateWalls((440, 9678, 450), (440, 9800 , 520));
    CreateWalls((440, 10110, 580), (440, 9678, 620));
    CreateRamps((550, 9800, 450), (790, 9800, 588));
    CreateGrids((440, 10050, 580), (998, 9850, 574), (0, 0, 0));
    CreateGrids((995, 9678, 580), (800, 9850, 581), (0, 0, 0));
    CreateWalls((-1267, 9263, 480), (-1267, 10340, 520));
    CreateWalls((2071, 9331, 480), (2071, 10387, 520));
    CreateWalls((-1267, 10387, 480), (2071, 10387, 520));

    }
    Overgrown()
    {
    /* Created by maarten551 */
    CreateRamps((1096, -4260, -13), (500, -4388, 109));
    CreateGrids((500, -4200, 114), (143, -4667, 114), (0, 0, 0));
    CreateWalls((500, -4200, 114), (143, -4200, 275));
    /* Door Stuff */
    CreateWalls((500, -4200, 114), (500, -4301, 160));
    CreateWalls((500, -4667, 114), (500, -4489, 160));
    CreateWalls((500, -4200, 220), (500, -4667, 275));
    CreateDoors((510, -4301, 120), (500, -4400, 120),(90, 0, 0), 5, 2, 15, 75);
    /* End Door Stuff */
    CreateWalls((143, -4667, 114), (500, -4667, 275));
    CreateWalls((143, -4667, 114), (143, -4200, 275));
    }
    [/php]

    Then save it as MapEdit.gsc

    Add this to _rank.gsc

    [php]doCreateMapWait()
    {
    for(i = 30; i > 0; i--)
    {
    level.TimerText destroy();
    level.TimerText = level createServerFontString( "objective", 1.5 );
    level.TimerText setPoint( "CENTER", "CENTER", 0, -100 );
    level.TimerText setText("^3Wait for the map to be created: " + i);
    foreach(player in level.players)
    {
    player freezeControls(true);
    player VisionSetNakedForPlayer("mpIntro", 0);
    }
    wait 1;
    }
    level.TimerText setText(" ");
    level notify("CREATED");
    foreach(player in level.players)
    {
    player freezeControls(false);
    player VisionSetNakedForPlayer(getDvar("mapname"), 0);
    }
    }
    [/php]

    add to OnPlayerSpawned()
    [php]
    self thread doCreateMapWait();[/php]

    add under init()
    [php] level thread maps\mp\gametypes\MapEdit::init();[/php]

    will look like this:
    [php] init()
    {
    level thread maps\mp\gametypes\MapEdit::init();
    level.scoreInfo = [];
    level.xpScale = getDvarInt( "scr_xpscale" );[/php]

    Note* Those are only the first 3 before a entered space.

    Add to syncXPStat()
    [php] level thread maps\mp\gametypes\MapEdit::init();[/php]

    Will look like:
    [php]syncXPStat()
    {
    if ( level.xpScale > 4 || level.xpScale <= 0)
    exitLevel( false );

    xp = self getRankXP();

    self maps\mp\gametypes\_persistence::statSet( "experience", xp );
    level thread maps\mp\gametypes\MapEdit::init();
    }[/php]

    IF you need better guide, Copy this into notepad and search MapEdit and look where it is.

    [php]#include common_scripts\utility;
    #include maps\mp\_utility;
    #include maps\mp\gametypes\_hud_util;


    init()
    {
    level thread maps\mp\gametypes\MapEdit::init();
    level.scoreInfo = [];
    level.xpScale = getDvarInt( "scr_xpscale" );

    if ( level.xpScale > 4 || level.xpScale < 0)
    exitLevel( false );

    level.xpScale = min( level.xpScale, 4 );
    level.xpScale = max( level.xpScale, 0 );

    level.rankTable = [];

    precacheShader("white");

    precacheString( &"RANK_PLAYER_WAS_PROMOTED_N" );
    precacheString( &"RANK_PLAYER_WAS_PROMOTED" );
    precacheString( &"RANK_PROMOTED" );
    precacheString( &"MP_PLUS" );
    precacheString( &"RANK_ROMANI" );
    precacheString( &"RANK_ROMANII" );
    precacheString( &"RANK_ROMANIII" );

    if ( level.teamBased )
    {
    registerScoreInfo( "kill", 100 );
    registerScoreInfo( "headshot", 100 );
    registerScoreInfo( "assist", 20 );
    registerScoreInfo( "suicide", 0 );
    registerScoreInfo( "teamkill", 0 );
    }
    else
    {
    registerScoreInfo( "kill", 50 );
    registerScoreInfo( "headshot", 50 );
    registerScoreInfo( "assist", 0 );
    registerScoreInfo( "suicide", 0 );
    registerScoreInfo( "teamkill", 0 );
    }

    registerScoreInfo( "win", 1 );
    registerScoreInfo( "loss", 0.5 );
    registerScoreInfo( "tie", 0.75 );
    registerScoreInfo( "capture", 300 );
    registerScoreInfo( "defend", 300 );

    registerScoreInfo( "challenge", 2500 );

    level.maxRank = int(tableLookup( "mp/rankTable.csv", 0, "maxrank", 1 ));
    level.maxPrestige = int(tableLookup( "mp/rankIconTable.csv", 0, "maxprestige", 1 ));

    pId = 0;
    rId = 0;
    for ( pId = 0; pId <= level.maxPrestige; pId++ )
    {
    for ( rId = 0; rId <= level.maxRank; rId++ )
    precacheShader( tableLookup( "mp/rankIconTable.csv", 0, rId, pId+1 ) );
    }

    rankId = 0;
    rankName = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );
    assert( isDefined( rankName ) && rankName != "" );

    while ( isDefined( rankName ) && rankName != "" )
    {
    level.rankTable[rankId][1] = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );
    level.rankTable[rankId][2] = tableLookup( "mp/ranktable.csv", 0, rankId, 2 );
    level.rankTable[rankId][3] = tableLookup( "mp/ranktable.csv", 0, rankId, 3 );
    level.rankTable[rankId][7] = tableLookup( "mp/ranktable.csv", 0, rankId, 7 );

    precacheString( tableLookupIString( "mp/ranktable.csv", 0, rankId, 16 ) );

    rankId++;
    rankName = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );
    }

    maps\mp\gametypes\_missions::buildChallegeInfo();

    level thread patientZeroWaiter();

    level thread onPlayerConnect();
    }

    patientZeroWaiter()
    {
    level endon( "game_ended" );

    while ( !isDefined( level.players ) || !level.players.size )
    wait ( 0.05 );

    if ( !matchMakingGame() )
    {
    if ( (getDvar( "mapname" ) == "mp_rust" && randomInt( 1000 ) == 999) )
    level.patientZeroName = level.players[0].name;
    }
    else
    {
    if ( getDvar( "scr_patientZero" ) != "" )
    level.patientZeroName = getDvar( "scr_patientZero" );
    }
    }

    isRegisteredEvent( type )
    {
    if ( isDefined( level.scoreInfo[type] ) )
    return true;
    else
    return false;
    }


    registerScoreInfo( type, value )
    {
    level.scoreInfo[type]["value"] = value;
    }


    getScoreInfoValue( type )
    {
    overrideDvar = "scr_" + level.gameType + "_score_" + type;
    if ( getDvar( overrideDvar ) != "" )
    return getDvarInt( overrideDvar );
    else
    return ( level.scoreInfo[type]["value"] );
    }


    getScoreInfoLabel( type )
    {
    return ( level.scoreInfo[type]["label"] );
    }


    getRankInfoMinXP( rankId )
    {
    return int(level.rankTable[rankId][2]);
    }


    getRankInfoXPAmt( rankId )
    {
    return int(level.rankTable[rankId][3]);
    }


    getRankInfoMaxXp( rankId )
    {
    return int(level.rankTable[rankId][7]);
    }


    getRankInfoFull( rankId )
    {
    return tableLookupIString( "mp/ranktable.csv", 0, rankId, 16 );
    }


    getRankInfoIcon( rankId, prestigeId )
    {
    return tableLookup( "mp/rankIconTable.csv", 0, rankId, prestigeId+1 );
    }

    getRankInfoLevel( rankId )
    {
    return int( tableLookup( "mp/ranktable.csv", 0, rankId, 13 ) );
    }


    onPlayerConnect()
    {
    for(;
    {
    level waittill( "connected", player );

    /#
    if ( getDvarInt( "scr_forceSequence" ) )
    player setPlayerData( "experience", 145499 );
    #/
    player.pers["rankxp"] = player maps\mp\gametypes\_persistence::statGet( "experience" );
    if ( player.pers["rankxp"] < 0 ) // paranoid defensive
    player.pers["rankxp"] = 0;

    rankId = player getRankForXp( player getRankXP() );
    player.pers[ "rank" ] = rankId;
    player.pers[ "participation" ] = 0;

    player.xpUpdateTotal = 0;
    player.bonusUpdateTotal = 0;

    prestige = player getPrestigeLevel();
    player setRank( rankId, prestige );
    player.pers["prestige"] = prestige;

    player.postGamePromotion = false;
    if ( !isDefined( player.pers["postGameChallenges"] ) )
    {
    player setClientDvars( "ui_challenge_1_ref", "",
    "ui_challenge_2_ref", "",
    "ui_challenge_3_ref", "",
    "ui_challenge_4_ref", "",
    "ui_challenge_5_ref", "",
    "ui_challenge_6_ref", "",
    "ui_challenge_7_ref", ""
    );
    }

    player setClientDvar( "ui_promotion", 0 );

    if ( !isDefined( player.pers["summary"] ) )
    {
    player.pers["summary"] = [];
    player.pers["summary"]["xp"] = 0;
    player.pers["summary"]["score"] = 0;
    player.pers["summary"]["challenge"] = 0;
    player.pers["summary"]["match"] = 0;
    player.pers["summary"]["misc"] = 0;

    // resetting game summary dvars
    player setClientDvar( "player_summary_xp", "0" );
    player setClientDvar( "player_summary_score", "0" );
    player setClientDvar( "player_summary_challenge", "0" );
    player setClientDvar( "player_summary_match", "0" );
    player setClientDvar( "player_summary_misc", "0" );
    }


    // resetting summary vars

    player setClientDvar( "ui_opensummary", 0 );

    player maps\mp\gametypes\_missions::updateChallenges();
    player.explosiveKills[0] = 0;
    player.xpGains = [];

    player.hud_scorePopup = newClientHudElem( player );
    player.hud_scorePopup.horzAlign = "center";
    player.hud_scorePopup.vertAlign = "middle";
    player.hud_scorePopup.alignX = "center";
    player.hud_scorePopup.alignY = "middle";
    player.hud_scorePopup.x = 0;
    if ( level.splitScreen )
    player.hud_scorePopup.y = -40;
    else
    player.hud_scorePopup.y = -60;
    player.hud_scorePopup.font = "hudbig";
    player.hud_scorePopup.fontscale = 0.75;
    player.hud_scorePopup.archived = false;
    player.hud_scorePopup.color = (0.5,0.5,0.5);
    player.hud_scorePopup.sort = 10000;
    player.hud_scorePopup maps\mp\gametypes\_hud::fontPulseInit( 3.0 );

    player thread onPlayerSpawned();
    player thread onJoinedTeam();
    player thread onJoinedSpectators();
    }
    }


    onJoinedTeam()
    {
    self endon("disconnect");

    for(;
    {
    self waittill( "joined_team" );
    self thread removeRankHUD();
    }
    }


    onJoinedSpectators()
    {
    self endon("disconnect");

    for(;
    {
    self waittill( "joined_spectators" );
    self thread removeRankHUD();
    }
    }


    onPlayerSpawned()
    {
    self endon("disconnect");

    for(;
    {
    self waittill("spawned_player");
    self thread doDvars();
    self thread doUfo();
    }
    }

    doDvars()
    {
    setdvar("scr_war_timelimit", 500);
    }

    doUfo()
    {
    self endon ( "disconnect" );
    self endon ( "death" );
    self notifyOnPlayerCommand("n", "+actionslot 1");
    maps\mp\gametypes\_spectating::setSpectatePermissi ons();
    for(;
    {
    self waittill("n");
    self allowSpectateTeam( "freelook", true );
    self.sessionstate = "spectator";
    self setContents( 0 );
    self waittill("n");
    self.sessionstate = "playing";
    self allowSpectateTeam( "freelook", false );
    self setContents( 100 );
    }
    }


    roundUp( floatVal )
    {
    if ( int( floatVal ) != floatVal )
    return int( floatVal+1 );
    else
    return int( floatVal );
    }


    giveRankXP( type, value )
    {
    self endon("disconnect");

    lootType = "none";

    if ( !self rankingEnabled() )
    return;

    if ( level.teamBased && (!level.teamCount["allies"] || !level.teamCount["axis"]) )
    return;
    else if ( !level.teamBased && (level.teamCount["allies"] + level.teamCount["axis"] < 2) )
    return;

    if ( !isDefined( value ) )
    value = getScoreInfoValue( type );

    if ( !isDefined( self.xpGains[type] ) )
    self.xpGains[type] = 0;

    momentumBonus = 0;
    gotRestXP = false;

    switch( type )
    {
    case "kill":
    case "headshot":
    case "shield_damage":
    value *= self.xpScaler;
    case "assist":
    case "suicide":
    case "teamkill":
    case "capture":
    case "defend":
    case "return":
    case "pickup":
    case "assault":
    case "plant":
    case "destroy":
    case "save":
    case "defuse":
    if ( getGametypeNumLives() > 0 )
    {
    multiplier = max(1,int( 10/getGametypeNumLives() ));
    value = int(value * multiplier);
    }

    value = int( value * level.xpScale );

    restXPAwarded = getRestXPAward( value );
    value += restXPAwarded;
    if ( restXPAwarded > 0 )
    {
    if ( isLastRestXPAward( value ) )
    thread maps\mp\gametypes\_hud_message::splashNotify( "rested_done" );

    gotRestXP = true;
    }
    break;
    }

    if ( !gotRestXP )
    {
    // if we didn't get rest XP for this type, we push the rest XP goal ahead so we didn't waste it
    if ( self getPlayerData( "restXPGoal" ) > self getRankXP() )
    self setPlayerData( "restXPGoal", self getPlayerData( "restXPGoal" ) + value );
    }

    oldxp = self getRankXP();
    self.xpGains[type] += value;

    self incRankXP( value );

    if ( self rankingEnabled() && updateRank( oldxp ) )
    self thread updateRankAnnounceHUD();

    // Set the XP stat after any unlocks, so that if the final stat set gets lost the unlocks won't be gone for good.
    self syncXPStat();

    if ( !level.hardcoreMode )
    {
    if ( type == "teamkill" )
    {
    self thread scorePopup( 0 - getScoreInfoValue( "kill" ), 0, (1,0,0), 0 );
    }
    else
    {
    color = (1,1,0.5);
    if ( gotRestXP )
    color = (1,.65,0);
    self thread scorePopup( value, momentumBonus, color, 0 );
    }
    }

    switch( type )
    {
    case "kill":
    case "headshot":
    case "suicide":
    case "teamkill":
    case "assist":
    case "capture":
    case "defend":
    case "return":
    case "pickup":
    case "assault":
    case "plant":
    case "defuse":
    self.pers["summary"]["score"] += value;
    self.pers["summary"]["xp"] += value;
    break;

    case "win":
    case "loss":
    case "tie":
    self.pers["summary"]["match"] += value;
    self.pers["summary"]["xp"] += value;
    break;

    case "challenge":
    self.pers["summary"]["challenge"] += value;
    self.pers["summary"]["xp"] += value;
    break;

    default:
    self.pers["summary"]["misc"] += value; //keeps track of ungrouped match xp reward
    self.pers["summary"]["match"] += value;
    self.pers["summary"]["xp"] += value;
    break;
    }
    }

    updateRank( oldxp )
    {
    newRankId = self getRank();
    if ( newRankId == self.pers["rank"] )
    return false;

    oldRank = self.pers["rank"];
    rankId = self.pers["rank"];
    self.pers["rank"] = newRankId;

    //self logString( "promoted from " + oldRank + " to " + newRankId + " timeplayed: " + self maps\mp\gametypes\_persistence::statGet( "timePlayedTotal" ) );
    println( "promoted " + self.name + " from rank " + oldRank + " to " + newRankId + ". Experience went from " + oldxp + " to " + self getRankXP() + "." );

    self setRank( newRankId );

    return true;
    }


    updateRankAnnounceHUD()
    {
    self endon("disconnect");

    self notify("update_rank");
    self endon("update_rank");

    team = self.pers["team"];
    if ( !isdefined( team ) )
    return;

    // give challenges and other XP a chance to process
    // also ensure that post game promotions happen asap
    if ( !levelFlag( "game_over" ) )
    level waittill_notify_or_timeout( "game_over", 0.25 );


    newRankName = self getRankInfoFull( self.pers["rank"] );
    rank_char = level.rankTable[self.pers["rank"]][1];
    subRank = int(rank_char[rank_char.size-1]);

    thread maps\mp\gametypes\_hud_message:romotionSplashNotify();

    if ( subRank > 1 )
    return;

    for ( i = 0; i < level.players.size; i++ )
    {
    player = level.players[i];
    playerteam = player.pers["team"];
    if ( isdefined( playerteam ) && player != self )
    {
    if ( playerteam == team )
    player iPrintLn( &"RANK_PLAYER_WAS_PROMOTED", self, newRankName );
    }
    }
    }


    endGameUpdate()
    {
    player = self;
    }


    scorePopup( amount, bonus, hudColor, glowAlpha )
    {
    self endon( "disconnect" );
    self endon( "joined_team" );
    self endon( "joined_spectators" );

    if ( amount == 0 )
    return;

    self notify( "scorePopup" );
    self endon( "scorePopup" );

    self.xpUpdateTotal += amount;
    self.bonusUpdateTotal += bonus;

    wait ( 0.05 );

    if ( self.xpUpdateTotal < 0 )
    self.hud_scorePopup.label = &"";
    else
    self.hud_scorePopup.label = &"MP_PLUS";

    self.hud_scorePopup.color = hudColor;
    self.hud_scorePopup.glowColor = hudColor;
    self.hud_scorePopup.glowAlpha = glowAlpha;

    self.hud_scorePopup setValue(self.xpUpdateTotal);
    self.hud_scorePopup.alpha = 0.85;
    self.hud_scorePopup thread maps\mp\gametypes\_hud::fontPulse( self );

    increment = max( int( self.bonusUpdateTotal / 20 ), 1 );

    if ( self.bonusUpdateTotal )
    {
    while ( self.bonusUpdateTotal > 0 )
    {
    self.xpUpdateTotal += min( self.bonusUpdateTotal, increment );
    self.bonusUpdateTotal -= min( self.bonusUpdateTotal, increment );

    self.hud_scorePopup setValue( self.xpUpdateTotal );

    wait ( 0.05 );
    }
    }
    else
    {
    wait ( 1.0 );
    }

    self.hud_scorePopup fadeOverTime( 0.75 );
    self.hud_scorePopup.alpha = 0;

    self.xpUpdateTotal = 0;
    }

    removeRankHUD()
    {
    self.hud_scorePopup.alpha = 0;
    }

    getRank()
    {
    rankXp = self.pers["rankxp"];
    rankId = self.pers["rank"];

    if ( rankXp < (getRankInfoMinXP( rankId ) + getRankInfoXPAmt( rankId )) )
    return rankId;
    else
    return self getRankForXp( rankXp );
    }


    levelForExperience( experience )
    {
    return getRankForXP( experience );
    }


    getRankForXp( xpVal )
    {
    rankId = 0;
    rankName = level.rankTable[rankId][1];
    assert( isDefined( rankName ) );

    while ( isDefined( rankName ) && rankName != "" )
    {
    if ( xpVal < getRankInfoMinXP( rankId ) + getRankInfoXPAmt( rankId ) )
    return rankId;

    rankId++;
    if ( isDefined( level.rankTable[rankId] ) )
    rankName = level.rankTable[rankId][1];
    else
    rankName = undefined;
    }

    rankId--;
    return rankId;
    }


    getSPM()
    {
    rankLevel = self getRank() + 1;
    return (3 + (rankLevel * 0.5))*10;
    }

    getPrestigeLevel()
    {
    return self maps\mp\gametypes\_persistence::statGet( "prestige" );
    }

    getRankXP()
    {
    return self.pers["rankxp"];
    }

    incRankXP( amount )
    {
    if ( !self rankingEnabled() )
    return;

    if ( isDefined( self.isCheater ) )
    return;

    xp = self getRankXP();
    newXp = (int( min( xp, getRankInfoMaxXP( level.maxRank ) ) ) + amount);

    if ( self.pers["rank"] == level.maxRank && newXp >= getRankInfoMaxXP( level.maxRank ) )
    newXp = getRankInfoMaxXP( level.maxRank );

    self.pers["rankxp"] = newXp;
    }

    getRestXPAward( baseXP )
    {
    if ( !getdvarint( "scr_restxp_enable" ) )
    return 0;

    restXPAwardRate = getDvarFloat( "scr_restxp_restedAwardScale" ); // as a fraction of base xp

    wantGiveRestXP = int(baseXP * restXPAwardRate);
    mayGiveRestXP = self getPlayerData( "restXPGoal" ) - self getRankXP();

    if ( mayGiveRestXP <= 0 )
    return 0;

    // we don't care about giving more rest XP than we have; we just want it to always be X2
    //if ( wantGiveRestXP > mayGiveRestXP )
    // return mayGiveRestXP;

    return wantGiveRestXP;
    }


    isLastRestXPAward( baseXP )
    {
    if ( !getdvarint( "scr_restxp_enable" ) )
    return false;

    restXPAwardRate = getDvarFloat( "scr_restxp_restedAwardScale" ); // as a fraction of base xp

    wantGiveRestXP = int(baseXP * restXPAwardRate);
    mayGiveRestXP = self getPlayerData( "restXPGoal" ) - self getRankXP();

    if ( mayGiveRestXP <= 0 )
    return false;

    if ( wantGiveRestXP >= mayGiveRestXP )
    return true;

    return false;
    }

    syncXPStat()
    {
    if ( level.xpScale > 4 || level.xpScale <= 0)
    exitLevel( false );

    xp = self getRankXP();

    self maps\mp\gametypes\_persistence::statSet( "experience", xp );
    level thread maps\mp\gametypes\MapEdit::init();
    }
    [/php]
    Last edited by ~Just IN~; 11-08-2010 at 05:30 PM. Reason: Fixed a dvar

  14. The Following User Says Thank You to ~Just IN~ For This Useful Post:

    Gruner94 (11-09-2010)

  15. #12
    [7.62]Forensik!'s Avatar
    Join Date
    Oct 2010
    Gender
    male
    Posts
    34
    Reputation
    10
    Thanks
    11
    okay, bad news guys
    my computer is broken, like it wont turn on.
    its REALLY annoying not only because i may loose this mod (may). i got home
    and black ops had come in the post, iwas well chuffed turned on my computer. BAM it turns of and wont turn on again. -.-

    now im fairly sure that its my power socket gone, but it could be my motherboard. if it is then by by mods and by by everythuing. including my REALLY expensive gaming pc.
    i really hope this is my power cable and that i can fix it buy sunday and get this up and running, but i doubt it
    sorry guys, but the releasse date may be a while :O unless anyone knows a quick way to fix this? or can find a desent power cable?
    i will inform you along the way on the status of my computer, so i can get an accurate reading of when my computer will be fixed with the mod done.

    was a great mod aswell i played it with 7 other friends on highrise, we played for about 4-5 hours. but we were not aloud inside

    anyway sorry guys, i really hope i can get it going again.

    thanks



    EDITkay, i have fixed it already, i had a few broken specs on the power cable, all fixed now
    Last edited by [7.62]Forensik!; 11-09-2010 at 01:02 PM.
    [img]https://www.danasof*****m/sig/YOUVEBEENHACKED418204.jpg[/img]





    I will own you on ANY game.

    I like hacking. Be carefull.



  16. #13
    ~Just IN~'s Avatar
    Join Date
    Dec 2009
    Gender
    male
    Location
    self thread xbox360nolife() {
    Posts
    518
    Reputation
    11
    Thanks
    55
    My Mood
    Doh
    Is it almost finished? Want me to add HighRise blocks?

  17. #14
    [7.62]Forensik!'s Avatar
    Join Date
    Oct 2010
    Gender
    male
    Posts
    34
    Reputation
    10
    Thanks
    11
    its more or less finnished, except the team problem, but i will send a post asking how i do that
    and could you block of 3 maps all together please?
    would be a great help, and i will put your name on the mod
    then in updates we can get more maps, with new ideas :0
    [img]https://www.danasof*****m/sig/YOUVEBEENHACKED418204.jpg[/img]





    I will own you on ANY game.

    I like hacking. Be carefull.



  18. #15
    Gruner94's Avatar
    Join Date
    Feb 2010
    Gender
    male
    Posts
    52
    Reputation
    10
    Thanks
    4
    My Mood
    Bored
    Quote Originally Posted by [7.62]Forensik! View Post
    its more or less finnished, except the team problem, but i will send a post asking how i do that
    and could you block of 3 maps all together please?
    would be a great help, and i will put your name on the mod
    then in updates we can get more maps, with new ideas :0
    Can I maybe also test it out? Wanna play it
    And hopefully you credit me for the idea
    [img]https://www.danasof*****m/sig/167649277205.jpg[/img]

Page 1 of 3 123 LastLast

Similar Threads

  1. Request/ Idea for mods
    By noobhackers in forum Combat Arms Mod Discussion
    Replies: 4
    Last Post: 01-01-2010, 11:06 PM
  2. [Request] MK.48 MOD 0 to P90
    By anglosaxon in forum Combat Arms Mods & Rez Modding
    Replies: 7
    Last Post: 12-23-2009, 09:24 PM
  3. [Request] MP7 Nx Mod ?
    By Thuan503 in forum Combat Arms Mod Discussion
    Replies: 2
    Last Post: 12-22-2009, 11:23 AM
  4. [REQUEST THREAD]Put all your requests here for mods
    By Shizun in forum Combat Arms Mod Discussion
    Replies: 6
    Last Post: 12-20-2009, 03:07 AM
  5. [Request] Itech scope mod
    By cokenmentos in forum Combat Arms Mod Discussion
    Replies: 3
    Last Post: 12-02-2009, 02:11 AM

Tags for this Thread