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]
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.
Ill make the wasteland bunker blocked off.
Post later today or tomorrow.
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 =)
Thank you Maybe you could also close the houses on the map, you know?
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]
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.
Gruner94 (11-08-2010)
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
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.
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
Gruner94 (11-09-2010)
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.
Is it almost finished? Want me to add HighRise blocks?
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.