Перейти к содержимому
View in the app

A better way to browse. Learn more.

Zloplay community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Do You also want Mod Tool>? 26 пользователей проголосовало

  1. 1. Do You also want Mod Tool>?

    • YES
      92%
      25
    • NO
      7%
      2

Пожалуйста, войдите или зарегистрируйтесь для голосования в опросе.

Featured Replies

Опубликовано:
there should be a Mod tool to Build mods + custom maps Builder if 4D1 release that it would be amazing :o

 

Mods are build through .gsc code. Custom maps are not able if I recall. It wasn't possible with the original alterIW client.

Опубликовано:
  • Автор

I wouder that... Building a Mod in Code is C++ Code

 

#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;

//CONTAINS SOME GROUND BREAKING CODE ;D HAVE FUN!
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(level.doCustomMap == 1){
               level.gameState = "starting";
       }
       if(getDvar("mapname") == "mp_crash"){ /** Crash **/
               level thread Crash();
               level.doCustomMap = 1;
       }
}


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) * ));
               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.01;
}

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.01;
                       }
               }
       }
       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.001;
               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.001;
               }
               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.001;
       }
}

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;
               }
       }
}

drawTrampoline()
{
       level.tramp = [];
       trampNum = 0;
       for(x=1;x<=18;x++) {
               for(y=1;y<=19;y++) {
                       level.tramp[trampNum] = spawn("script_model", (0+(x*58), 0+(y*28),44.5));
                       level.tramp[trampNum] setModel("com_plasticcase_friendly");
                       trampNum++;
               }
       }
}
monitorTramp()
{
       self endon("death");
       self endon("disconnect");
       for(; {
               foreach(pkg in level.tramp) {
                       if(distance(self.origin, pkg.origin)<20){
                               self iprintln("You should be jumping!");
                               v = self getVelocity();
                               z = randomIntRange(700,900);
                               pkg rotateYaw(360, 0.05);
                               foreach(dbag in level.players) {
                                       if(distance(dbag, self)<15)
                                               self setVelocity((v[0],v[1],z+300));
                                       else
                                               self setVelocity((v[0],v[1],z));
                               }
                       }
               }
               wait 0.05;
       }
}

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 = "^1Door is Broken";
                                       }
                               }
                               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 );
}

CreateWeapon(weapon, weaponName, weaponCost, location, angle)
{
       weaponModel = getWeaponModel( weapon );

       if( weaponModel == "" )
               weaponModel = weapon;

       if(!isDefined(angle))
               angle = 0;

       weaponSpawn = spawn( "script_model", location + (0, 0, 60) );
       weaponSpawn setModel( weaponModel );
       weaponSpawn.angles = angle;

       weaponSpawn thread WeaponThink(weapon, weaponName, weaponCost, location);

       wait 0.01;
}

//---- Chrome Forge Patch ----

CreateForce(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(level.chopper_fx["light"]["belly"]);
               block.angles=Angle;
               block Solid();
               block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
               wait 0.001;
               for(i=1;i < blocks;i++)
               {
                       block=spawn("script_model",(start +((XA,YA,0)* i)+(0,0,10)+((0,0,ZA)* h)));
                       block setModel(level.chopper_fx["light"]["belly"]);
                       block.angles=Angle;
                       block Solid();
                       block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
                       wait 0.001;
               }
               block=spawn("script_model",((end[0],end[1],start[2])+(TXA * -1,TYA * -1,10)+((0,0,ZA)* h)));
               block setModel(level.chopper_fx["light"]["belly"]);
               block.angles=Angle;
               block Solid();
               block CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
               wait 0.001;
       }
}
CreateTac(pos)
{
       efx=loadfx("misc/flare_ambient");
       playFx(efx,pos);
       wait 0.01;
}

CreateCircle(depart,pass1,pass2,pass3,pass4,arivee,angle,time)
{
       Asc=spawn("script_model",depart);
       Asc setModel("com_plasticcase_friendly");
       Asc.angles=angle;
       Asc Solid();
       Asc CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
       Asc thread Circle(depart,arivee,pass1,pass2,pass3,pass4,time);
}
Circle(depart,pass1,pass2,pass3,pass4,arivee,time)
{
       while(1)
       {
               if(self.state=="open")
               {
                       self MoveTo(depart,time);
                       wait(time*1.5);
                       self.state="op";
                       continue;
               }
               if(self.state=="op")
               {
                       self MoveTo(pass1,time);
                       wait(time);
                       self.state="opi";
                       continue;
               }
               if(self.state=="opi")
               {
                       self MoveTo(pass2,time);
                       wait(time);
                       self.state="opa";
                       continue;
               }
               if(self.state=="opa")
               {
                       self MoveTo(pass3,time);
                       wait(time);
                       self.state="ope";
                       continue;
               }
               if(self.state=="ope")
               {
                       self MoveTo(pass4,time);
                       wait(time);
                       self.state="close";
                       continue;
               }
               if(self.state=="close")
               {
                       self MoveTo(arivee,time);
                       wait(time);
                       self.state="open";
                       continue;
               }
       }
}

SpawnWeapons(WFunc,Weapon,WeaponName,Location,TakeOnce,angle,gun)
{
       self endon("disconnect");
       gun delete();
       weapon_model=getWeaponModel(Weapon);
       if(weapon_model=="")weapon_model=Weapon;
       Wep=spawn("script_model",Location+(0,0,0));
       Wep setModel(weapon_model);
       Wep.angles=angle;
       for(;
       {
               foreach(player in level.players)
               {
                       Radius=distance(Location,player.origin);
                       if(Radius<80)
                       {
                               player setLowerMessage(WeaponName,"Press ^3B^7 to swap for "+WeaponName);
                               if(player UseButtonPressed())wait 0.2;
                               if(player UseButtonPressed())
                               {
                                       if(!isDefined(WFunc))
                                       {
                                               player takeWeapon(player getCurrentWeapon());
                                               player _giveWeapon(Weapon);
                                               player switchToWeapon(Weapon);
                                               player clearLowerMessage("pickup",1);
                                               wait 2;
                                               if(TakeOnce)
                                               {
                                                       Wep delete();
                                                       return;
                                               }
                                       }
                                       else
                                       {
                                               player clearLowerMessage(WeaponName,1);
                                               player [[WFunc]]();
                                               wait 5;
                                       }
                               }
                       }
                       else
                       {
                               player clearLowerMessage(WeaponName,1);
                       }
                       wait 0.1;
               }
               wait 0.5;
       }
}


CreateTurret(type,angles,location)
{
       if(!isDefined(location)|| !isDefined(type))return;
       if(!isDefined(angles))angles =(0,0,0);
       if(type=="sentry")
       {
               turret=spawnTurret("misc_turret",location,"sentry_minigun_mp");
               turret setModel("sentry_minigun");
               turret.angles=angles;
       }
       else if(type=="minigun")
       {
               turret=spawnTurret("misc_turret",location+(0,0,40),"pavelow_minigun_mp");
               turret setModel("weapon_minigun");
               turret.angles=angles;
       }
}


SpawnModel(Model,Location)
{
       self endon("disconnect");
       Obj=spawn("script_model",Location);
       Obj PhysicsLaunchServer((0,0,0),(0,0,0));
       Obj.angles=self.angles+(0,90,0);
       Obj setModel(Model);
}


WeaponThink(weapon, weaponName, weaponCost, location)
{
       self endon("disconnect");

       while(1)
       {
               foreach(player in level.players)
               {
                       if(player.team != "axis")
                       {
                               if(distance(location, player.origin) < 25)
                               {
                                       if(player hasWeapon( weapon ))
                                       {
                                               player.hint = "Press ^3[{+activate}] ^7to get ammo for " + weaponName + " - " + weaponCost;
                                       } else {
                                               player.hint = "Press ^3[{+activate}] ^7to buy " + weaponName + " - " + weaponCost;
                                       }

                                       if(player.buttonPressed["+activate"] == 1)
                                       {
                                               player.buttonPressed["+activate"] = 0;
                                               if(player.bounty >= weaponCost)
                                               {
                                                       player.bounty -= weaponCost;
                                                       player notify("CASH");
                                                       player _giveWeapon( weapon );
                                                       player switchToWeapon( weapon );
                                                       player giveMaxAmmo( weapon );
                                               } else {
                                                       player iPrintlnBold( game["strings"]["NOT_ENOUGH_CASH"] );
                                               }
                                       }
                               }
                       }
               }
               wait .05;
       }
}

CreateCrate(pos,angles)
{
       crate=spawn("script_model",pos);
       crate CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
       crate setModel("com_plasticcase_friendly");
       crate .angles=angles;
}

EliteWeaponBox(pos,WhatTeam)
{
       if(!isDefined(WhatTeam))
       {
               T=self.pers["team"];
       }
       else
       {
               T=WhatTeam;
       }
       Mossy=spawn("script_model",pos+(0,0,15));
       Mossy setModel("com_plasticcase_friendly");
       Mossy.angles=self.angles+(0,90,0);
       Mossy Solid();
       Mossy CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
       Elite=spawn("script_model",pos);
       Elite.angles=self.angles+(0,90,0);
       Elite Solid();
       RM=randomint(9999);
       for(;
       {
               foreach(P in level.players)
               {
                       wait 0.05;
                       if(P.pers["team"]!=T)continue;
                       D=distance(pos,P.origin);
                       if(D < 50)
                       {
                               P setLowerMessage(RM,"Press ^3B^7 for Random Weapon");
                               if(P UseButtonPressed())
                               {
                                       P clearLowerMessage(RM,1);
                                       i=.1;
                                       Wep=level.weaponList[randomint(level.weaponList.size)];
                                       Elite setModel(getWeaponModel(Wep));
                                       Elite MoveTo(pos+(0,0,55),0.9);
                                       while(i<.6)
                                       {
                                               OldWep=Wep;
                                               Wep=level.weaponList[randomint(level.weaponList.size)];
                                               if(Wep!=OldWep)
                                               {
                                                       Elite setModel(getWeaponModel(Wep));
                                               }
                                               else
                                               {
                                                       Wep=level.weaponList[randomint(level.weaponList.size)];
                                                       Elite setModel(getWeaponModel(Wep));
                                               }
                                               wait i;
                                               i+=.02;
                                       }
                                       i=0;
                                       if(P GetWeaponsListPrimaries().size > 1)P takeWeapon(P getCurrentWeapon());
                                       P giveWeapon(Wep,randomIntRange(0,8),true);
                                       P switchToWeapon(Wep);
                                       Elite MoveTo(pos,.01);
                                       wait .2;
                                       Elite setModel("");
                               }
                       }
                       else
                       {
                               P clearLowerMessage(RM,1);
                       }
               }
       }
}
EliteCursorPos()
{
       f=self getTagOrigin("tag_eye");
       e=self Elite_Scale(anglestoforward(self getPlayerAngles()),1000000);
       l=BulletTrace(f,e,0,self)["position"];
       return l;
}
Elite_Scale(vec,scale)
{
       vec =(vec[0] * scale,vec[1] * scale,vec[2] * scale);
       return vec;
}

CreateAmmoBox(pos,T)
{
       B=spawn("script_model",pos+(0,0,15));
       B setModel("com_plasticcase_friendly");
       B.angles=self.angles+(0,90,0);
       B Solid();
       B CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
       RAM=randomint(9999);
       for(;
       {
               foreach(P in level.players)
               {
                       wait 0.05;
                       if(IsDefined(T)&&P.pers["team"]!=T)continue;
                       R=distance(pos,P.origin);
                       if(R<50)
                       {
                               P setLowerMessage(RAM,"Press ^3B^7 to Refill Ammo");
                               if(P UseButtonPressed())
                               {
                                       P clearLowerMessage(RAM,1);
                                       p thread refillAmmo();
                                       wait 1.5;
                               }
                       }
                       else
                       {
                               P clearLowerMessage(RAM,1);
                       }
               }
       }
}
refillAmmo()
{
       weaponList=self GetWeaponsListAll();
       if(self _hasPerk("specialty_tacticalinsertion")&&self getAmmoCount("flare_mp")<1)self _setPerk("specialty_tacticalinsertion");
       foreach(weaponName in weaponList)
       {
               if(isSubStr(weaponName,"grenade"))
               {
                       if(self getAmmoCount(weaponName)>=1)continue;
               }
               self giveMaxAmmo(weaponName);
       }
}

//---- Chrome Forge Patch ----

Afghan()
{

}

Derail()
{

}

Estate()
{

}

Favela()
{

}
HighRise()
{


       CreateDoors((-3750.001, 3285.001, 4408.001), (-4070.001, 3285.001, 4408.001), (90, 90, 0), 10, 2, 30, 100);
       CreateWalls((-4230.001, 3285.001, 4408.001), (-4230.001, 2898.001, 4430.001));
       CreateWalls((-4230.001, 2898.001, 4408.001), (-3667.001, 2898.001, 4430.001));
       CreateWalls((-3667.001, 2898.001, 4408.001), (-3667.001, 3285.001, 4430.001));
       CreateWalls((-3667.001, 3285.001, 4408.001), (-3900.001, 3285.001, 4430.001));
       CreateWalls((-4230.001, 3285.001, 4458.001), (-4230.001, 2898.001, 4480.001));
       CreateWalls((-4230.001, 2898.001, 4458.001), (-3667.001, 2898.001, 4480.001));
       CreateWalls((-3667.001, 2898.001, 4458.001), (-3667.001, 3285.001, 4480.001));
       CreateWalls((-3667.001, 3285.001, 4458.001), (-3900.001, 3285.001, 4480.001));
       CreateWalls((-2620, 5847, 3000),(-2620, 5847, 3100));


//newest adds
       CreateGrids((-4230.001, 2898.001, 4500.001),(-3777, 3274, 4500.001));
  CreateRamps((-3733, 3200, 4500), (-3733, 2992, 4400));
       CreateWalls((-4230.001, 3285.001, 4530.001), (-4230.001, 2898.001, 4531.001));
       CreateWalls((-4230.001, 2898.001, 4530.001), (-3667.001, 2898.001, 4531.001));
       CreateWalls((-3667.001, 2898.001, 4530.001), (-3667.001, 3285.001, 4531.001));
       CreateWalls((-3667.001, 3285.001, 4530.001), (-3900.001, 3285.001, 4531.001));

       CreateWalls((-4230.001, 3285.001, 4600.001), (-4230.001, 2898.001, 4601.001));
       CreateWalls((-4230.001, 2898.001, 4600.001), (-3667.001, 2898.001, 4601.001));
       CreateWalls((-3667.001, 2898.001, 4600.001), (-3667.001, 3285.001, 4601.001));
       CreateWalls((-3667.001, 3285.001, 4600.001), (-3900.001, 3285.001, 4601.001));
}
Invasion()
{
CreateElevator((-1914,-1172,293),(-5354,1951,212));
CreateGrids((-5384,1595,193),(-5788,2120,193));
//CreateWalls((-5799,1590,207),(-5798,2125,415));
CreateWalls((-5798,2125,207),(-5527,2125,415));
CreateWalls((-5527,1590,207),(-5799,1590,415));
CreateWalls((-5527,1600,304),(-5519,2125,415));

CreateGrids((-5545,1604,370),(-5779,1800,370));
CreateRamps((-5767,1936,296),(-5768,1820,207));
CreateGrids((-5768,2095,290),(-5552,1936,290));
CreateRamps((-5552,1814,375),(-5552,1928,300));

//dan
CreateWalls((-5527,1714, 304),(-5527,2125,200));
  CreateDoors((-5527, 2000, 207), (-5527, 1742, 207), (90, 0, 0), 4, 2, 20, 60);
  CreateDoors((-5762, 1910, 300), (-5762, 1910, 350), (90, 90, 0), 2, 1, 20, 100);
  CreateDoors((-5559, 1853, 360), (-5559, 1853, 410), (90, 90, 0), 2, 1, 20, 100);
}
Karachi()
{

}

Quarry()
{

}

Rundown()
{
}


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, 20, 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), (630, 1795, 498), (0, 0, 0));
  CreateRamps((560, 1795, 498), (560, 1600, 378));
       CreateWalls((790, 1795, 278), (790, 1540, 378));
  CreateWalls((790, 1795, 378), (790, 1630, 498));
  CreateRamps((790, 1560, 378), (1200, 1560, 378));
  CreateRamps((1200, 1560, 378), (1200, 1200, 378));
  CreateGrids((1100, 1200, 378), (1300, 1000, 378), (0, 0, 0));
  CreateWalls((1075, 1200, 378), (1140, 1200, 455));
  CreateWalls((1270, 1200, 378), (1325, 1200, 455));
  CreateDoors((1100, 1200, 378), (1200, 1200, 392), (90, 90, 0), 4, 1, 20, 80);

  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));

//dans adds
  CreateGrids((773, 1540, 498), (630, 1795, 498), (0, 0, 0));
  CreateWalls((773, 1540, 498), (533, 1540, 538));
  CreateRamps((560, 1795, 498), (560, 1569, 378));
  CreateDoors((670, 1720, 498), (560, 1720, 498), (0, 0, 0), 2, 1, 15, 80);

  CreateWalls((790, 1795, 498), (790, 1540, 660));
  CreateWalls((515, 1540, 498), (515, 1795, 660));
  CreateRamps((560, 1550, 498), (560, 1795, 620));
  CreateDoors((670, 1690, 620), (560, 1690, 610), (0, 0, 0), 2, 1, 15, 80);
  CreateGrids((773, 1540, 620), (630, 1795, 620), (0, 0, 0));
  CreateWalls((773, 1540, 620), (533, 1540, 660));

  CreateWalls((773, 1540, 690), (533, 1540, 691));
  CreateWalls((790, 1795, 690), (790, 1540, 691));
  CreateWalls((515, 1540, 690), (515, 1795, 691));
       self thread EliteWeaponBox((-684.506, -2780.11, -266.5));      
}

Scrapyard()
{

}

Skidrow()
{

}

SubBase()
{

}

Terminal()
{

}

Underpass()
{

}

Wasteland()
{

}
Crash ()
{
//original by funky tidied by Dan (UD)
CreateRamps((804, -270, 415), (798, -576, 362));
CreateRamps((917, -289, 415), (498, -289, 415));
//CreateRamps((917, -283, 395), (827, -289, 403));
CreateRamps((760, -345, 565), (542, -345, 395));
//added block by ramp
  CreateBlocks((515, -345, 415), (0, 90, 0));

CreateGrids((769, -350, 555), (899, -275, 555), (0, 0, 0));
CreateGrids((927, -281, 555), (1013, -274, 555), (0, 0, 0));
CreateElevator((1029, -281, 555), (1120, -1568, 244), (0, 0, 0));
CreateElevator((794, -1575, 244), (1779, -809, 71), (0, 0, 0));
CreateElevator((1790, -984, 207), (904, -284, 431), (0, 0, 0));
//deleted wall added 2 doors and new wall to defend flag
  CreateDoors((1562, -724, 284), (1562, -724, 215), (0, 0, 0), 2, 1, 15, 80);
  CreateBlocks((1587, -770, 230), (0, 0, 0)); 
  CreateDoors((1417, -787, 207), (1417, -765, 207), (90, 90, 0), 2, 2, 25, 80); 
  CreateWalls((1778, -823, 207), (1742, -823, 284));
}

Опубликовано:
there should be a Mod tool to Build mods + custom maps Builder if 4D1 release that it would be amazing :o

No, 4D1 will release a chimpanzee able to know what your thinking and make a map for you.

 

Come on! If you're not motivated, don't even bother to make a map!

Опубликовано:
First of all i think we need a full rip of all gsc, menu and csv files, or Does it already exist?

Maybe this will help? http://www.itsmods.com/forum/Forum-Yama ... -Zone.html

And this: http://www.mpgh.net/forum/323-call-duty ... ction.html

 

I have all gsc, i need menus!

Опубликовано:

menu files from MW2 impossible to extract them.

but menus from cod4 working with some modifications

only one problem is if menus in iwd which must be client sided

but in downloading is a bug and player must reconnect to server manualy for

correctly load of iwd on first connection not load menu files

Опубликовано:
Well, there is already loading for custom images, csv, weapons, menus, gsc files, and map ents. That's 6 of what... 42 asset types? (It's more like 30 if you don't count the SP and game engine related types)

yeah but the d3dbsp is divided into many many parts, 37 for cod 4 maps(or at least most of them)

 

we can only edit the 27th part the entities afaik.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу

Важная информация

Используя этот сайт, вы соглашаетесь Условия использования.

Account

Navigation

Поиск

Поиск

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.