Okay guys, after having to answer the same question over and OVER again (cause people don't search the forum for the answer) I decided to create this topic.
Q: How do I make my own bunkers? (For example, Zombie mod)
A:
1.Open up your mod
2.locate to the mapedit file (maps > mp > gametypes)
3. Open it
4. Take a look at this tutorial: https://www.mpgh.net/forum/323-call-d...e-bunkers.html
5.Now for example, you want to add a teleporter flag in Rust,
Search for Rust until you find somenthing like this:
Code:
Rust()
{
//Codes should be added here
}
It should look somenthing like this
Code:
Rust()
{
CreateElevator((511, 360, -239), (13011, -13493, -239), (0, 90, 0));
}
Q: How do I add mapedit to my own mod?
A:
1. Open the mod (IWD file with Winrar or somenthing related to that if you're using Alteriw)
2. Find _rank.gsc (should be located in maps > mp > gametypes) and open it
3. Search for Init() and put this under/in it:
Code:
level thread maps\mp\gametypes\MapEdit::init();
4.Find a mapedit.gsc file, and put it in the same folder where the _rank.gsc file is.
Your init should look somenthing like this by now:
Code:
init()
{
level.scoreInfo = [];
level.xpScale = getDvarInt( "scr_xpscale" );
level thread maps\mp\gametypes\MapEdit::init();
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();
}
Q: How do I change to windowed mode?
A:
Press alt + enter
Q: How do I combine two mods together?
A:
A few notes before we begin
================================================== ========
Combining two mods means that you'll have to combine all the codes that's changed in them from the regular .GSC files
This is really complicated if you don't know how to make mods, recommended that you atleast know the basics of modding first.
If you open both mods, you'll see that there's filles with the same names in them, if there aren't then you can just drag them to the other mod and you'll have it mixed.
================================================== ========
Let's say, you wanna mix "Isnipe Final" and "MatrixMod" mod?
1. Open up both mods, and locate to the end of the folders.
It should look somenthing like this:
As you see, Isnipe has more files while MatrixMod only got one, _rank.gsc
But Isnipe has a _rank.gsc file too, that's the problem :3
2. Decide which mod you would like to move the codes to, (I'll go with Isnipe for this cause it's more complicated)
3. Open up Isnipe's and Matrixmod's version of _rank.gsc
See what's the difference.
4. Copy the difference from one mod to the other one.
In this case,
Matrixmod have a code:
Code:
doBulletTime() {
self endon( "disconnect" );
if(self isHost())
while(1) {
self.SlowMo = 0;
wait 18;
setDvar("timescale", .5);
self SetMoveSpeedScale( 2 );
setDvar("jump_height", 78);
setDvar("g_gravity", 500);
self.SlowMo = 1;
wait 10;
setDvar("timescale", 1);
self SetMoveSpeedScale( 1 );
setDvar("jump_height", 39);
setDvar("g_gravity", 800);
self.SlowMo = 0;
}
}
Which is threaded from OnplayerConnect
Code:
player thread doBulletTime();
Now copy that and paste it in Isnipe's version of _rank.gsc and you should be done.
This is my first tutorial so yeah :]