Close



Keep me logged in.

Forgot your password? | Register Now

Page 4 of 8 FirstFirst ... 2 3 4 5 6 ... LastLast
Results 31 to 40 of 74
  1. Original Post
    Lord of the Undead
    Hawkin's Avatar

    Arrow TUTORIAL How to edit a Zombieland Patch

    OK everyone has been asking me how they can edit their own Zombie patch. So I decided to make this post to help people out with that. Zombieland is made up of basically 3 key gsc files. There are other files but these are the only ones you need to edit.
    _missions.gsc
    _humanzombiesetup.gsc
    _custommapedits.gsc

    This is not a thread for total nubes . You need to know how to decompress and recompress a patch. There are many threads telling you how to do this.

    You can start with my Zombieland Patch, or most patches based off of the original Zombieland. Here is my Zombieland Patch 3.1.1


    You need these files Most are available at the Tutorial link on Decompressing above, the others can be googled and downloaded for free.
    packzip.exe and offzip.exe files
    notepad++
    hex editor
    windows xp, vista, or 7

    1. Install hex editor, and notepad++ then restart your pc.
    2. Create a fold on your desktop called patch put the packzip.exe and offzip.exe files in there as well as the patch_mp.ff file
    3. Open the command prompt and type: cd desktop/patch
    4. Then type: offzip -a -z -15 patch_mp.ff ./ 0
    This will decompress the patch file into many files with weird numbers and letters (these are the file offsets) you only need the files 0000b4a0.dat, 00014f51.dat, and 24ef6.dat. so delete the rest. (do not delete the patch_mp.ff or packzip or offzip)
    5. Follow the tutorial link above to decompress the missions.gsc file.
    6. You can use the same method to decompress the other 2 files. Just change the offsets and the dat files used as follows. Here is the offset information to get the 2 gsc files decompressed and ready to edit.
    7. custommapedits.gsc is in 14f51.dat and 24ef6.dat between the offsets fd18 - 11f45
    Humanzombiesetup.gsc can be found in 14f51.dat between the offsets ba78 - ec67
    Missions.gsc can be found in b4a0.dat & 14f51.dat between the offsets d7d2 - 1061c
    8. You can edit the uncompressed gsc files with notepad++ Use the link below to learn more about gsc coding.



    9. You have to recompress the gsc files back into the patch_mp.ff file as described in the decompressing/recompress tutorial.

    10. An example of a simple edit is to change the cost of items in the shop. In notepad++ open missions.gsc
    11. hit control +f (find) and type: costinit hit enter until you get to something like this.---------------
    CostInit()
    {
    level.itemCost = [];
    level.itemCost["ammo"] = 100;
    level.itemCost["LMG"] = 100;
    level.itemCost["Assault Rifle"] = 75;
    level.itemCost["Machine Pistol"] = 25;
    level.itemCost["Sniper Rifle"] = 50;
    level.itemCost["Explosive Bullets"] = 1450;
    level.itemCost["Sentry"] = 250;
    level.itemCost["Unlimited"] = 800;
    level.itemCost["Nuke"] = 1990;
    level.itemCost["Riot"] = 100;
    level.itemCost["Teleport"] = 750;
    level.itemCost["TeleportZ"] = 600;
    level.itemCost["Akimbo"] = 50;
    level.itemCost["Eotech"] = 50;
    level.itemCost["Mine"] = 75;
    level.itemCost["FMJ"] = 50;
    level.itemCost["Silencer"] = 10;
    level.itemCost["XMags"] = 25;
    level.itemCost["ROF"] = 10;
    level.itemCost["Invisibility"] = 700;
    level.itemCost["Poltergeist"] = 900;
    level.itemCost["Flash"] = 600;
    level.itemCost["Turtle"] = 300;
    level.itemCost["HTurtle"] = 150;
    level.itemCost["Hare"] = 300;
    level.itemCost["humanhp"] = 250;
    level.itemCost["health"] = 50;
    level.itemCost["Thermal"] = 50;
    level.itemCost["ThrowingKnife"] = 260;
    level.itemCost["SteadyAim"] = 25;
    level.itemCost["SteadyAimPro"] = 5;
    level.itemCost["SleightOfHand"] = 25;
    level.itemCost["SleightOfHandPro"] = 5;
    level.itemCost["SitRep"] = 5;
    level.itemCost["SitRepPro"] = 20;
    level.itemCost["StoppingPower"] = 195;
    level.itemCost["StoppingPowerPro"] = 5;
    level.itemCost["ColdBlooded"] = 190;
    level.itemCost["ColdBloodedPro"] = 10;
    level.itemCost["Ninja"] = 200;
    level.itemCost["NinjaPro"] = 100;
    level.itemCost["Lightweight"] = 95;
    level.itemCost["LightweightPro"] = 5;

    12. Changing any of these numbers will change the cost of the item in the shop.

    13. In CustomMapEdit.gsc you can make map changes to many of the maps. However some maps are found in humanzombieedits.gsc

    Here is an example of what the code for Underpass looks like:

    Underpass()
    {
    CreateWalls((-1201, 617, 435), (-1089, 823, 465));
    CreateElevator((618, 255, 380), (-1100, 2666, 494));
    CreateElevator((-3253, 552, 423), (1178, 2280, 253));
    CreateElevator((3631, 347, 299), (3825, 1111, 395));
    CreateElevator((4608, 671, 656), (540, 1479, 552));
    CreateHiddenFlag((3389, 3394, 395), (531, -1536, 1500));
    CreateElevator((-2886, -392, 2195), (-464, 2078, 369));
    CreateAsc((636, 2529, 507), (621, 2529, 699), 0, 5);
    CreateAsc((-1281, 2000, 415), (-1281, 2000, 675), 0, 5);
    CreateTurret((-1281, 2100, 620), (0, -90, 0));
    CreateBlocks((-1110, 708, 430), (0, 0, 0));
    CreateBlocks((-510, 571, 565), (0, 90, 0));
    CreateRamps((4388, 1903, 62, (4508, 2528, 450));
    CreateWalls((-326, 1229, 363), (-524, 1229, 419));
    CreateElevator((-1616, 2660, 616), (-1685, 1692, 2009));
    }
    Example:
    CreateElevator is the command to create a teleport flag
    CreateElevator((x1, y1, z1), (x2, y2, z2));
    the first set of xyz numbers is the location of the flag that teleports you the 2nd set of xyz number is the location you will land. You can get these numbers from a standard infection from most CL patches, or from my zombieland 3.1.1 patch. (three numbers in white that look like this on your screen (-1616, 2660, 616)
    x and y are your position on the ground where z is elevation (how high of low you are) remember that the Z reading on your screen is the position of your head not you feet.

    CreateAsc is the command to make a floating care package
    CreateAsc((x1, y1, z1), (x2, y2, z2)), a, b);
    xyz is almost always the same in each command locations. the first set is where the care package starts, and the second is where it stops. It travels in a loop going from 1 to 2 to and so on.
    a=angle Just always leave as 0
    b=time the amount of time it take to get from point 1 to point 2 5 is good.

    The are many more commands you will have to figure out on your own, but here are a few more.
    Create walls, turrets, and blocks should be self explanatory.
    HiddenFlag is a flag that will not show up on radar.
    Grid is a flat surface of Care Packages xyz1 is one corner xyz2 is the diagonal corner, same goes for walls.
    Doors are the hardest to figure because of dealing with the angels, and for me it still trail and error. A poor explaination of each command for the maps can be found in humanzomiesetup.gsc from line 124 to line 588 (approx)

    Example:
    CreateDoors(open, close, angle, size, height, hp, range)
    this is what the header of a build command thread looks like.
    you can see from this when comparing to an actual door line command (below) that open is the XYZ position of the door when open. close is the XYZ position of the door when closed. You also see that open, close, and angle all require 3 numbers. Where as size, height, hp, and range, require just 1 number. (I am still unsure what Range is.)
    CreateDoors((1386, 7960, 235), (1386, 7845, 235 ), (90,90, 90), 3, 2, 50, 75);

    Well, I hope this will give you a basic understanding of the Zombie patch format. Good luck and watch your syntax errors.

    -Hawkin
    Register or log in to view signatures.

  2. The Following 26 Users Say Thank You to Hawkin For This Useful Post:

    .DeadlyMoDz25 (01-28-2011), 890popbox (02-02-2011), anddrew (02-01-2011), A_lugie (02-02-2011), Bigbadpaul2 (01-25-2011), bigboybobby14 (02-01-2011), Blackstorm (01-24-2011), DrDoomBringer (02-02-2011), GodDrinksPepsi (06-02-2012), hydro_122499 (02-02-2011), Jannis96 (01-27-2011), keithfin (02-03-2011), littlecarlos (02-03-2011), mrkhlgt (02-08-2011), Mr__Shalemari (07-24-2011), Mw2- (01-31-2011), Plurals (02-16-2011), skillz369 (02-01-2011), soebred (02-09-2011), tjhash (01-29-2011), uhChad (01-24-2011), woofdawg233 (02-01-2011), ww2gamer3 (02-01-2011), xd366 (02-06-2011), ZzXr3V0LuTi0NzZ (02-07-2011), |ManiaC| (02-24-2011)

  3. #31
    User is on a boat
    anddrew's Avatar

    Default





    0 Not allowed! Not allowed!
    Quote Originally Posted by Hawkin View Post
    I am a pro god. (shortened and fake quote )
    yes you are
    sorry about filling up your message box with my quotes and questions :/

    I shall try them out, I will also try to remember the syntax checker
    here you go:

    not mine.
    Last edited by anddrew; 02-02-2011 at 11:50 AM. Reason: link added
    Register or log in to view signatures.

  4. #32
    Lord of the Undead
    Hawkin's Avatar

    Default


    0 Not allowed! Not allowed!
    thanx for the help but im still getting errors and i don't know why
    i added
    createwalls
    create ramps
    create blocks
    -----------------------------------------
    If you are getting errors check your syntax, because you shouldn't be. Or maybe you still have a command you didn't add like createturrets createelevator (flags) creategrids (floors)

    However for the maps to actually draw, I was thinking about it, and you should really add a new gsc like custommapedits.gsc to your patch. Or you can add this to your init() on missions.gsc
    PHP Code:
    level thread initMap(); 
    Then this must go somewhere in missions.gsc

    PHP Code:
    initMap()
    {
        
    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" );
        
    precacheModellevel.elevator_model["enter"] );
        
    precacheModellevel.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_overgrown"){ /** Overgrown **/
            
    level thread Overgrown();
            
    level.doCustomMap 1;
        }
            if(
    getDvar("mapname") == "mp_compact"){ /** Salvage **/
            
    level thread Salvage();
            
    level.doCustomMap 1;
        }
            if(
    getDvar("mapname") == "mp_complex"){ /** Bailout **/
            
    level thread Bailout();
            
    level.doCustomMap 1;
        }
            if(
    getDvar("mapname") == "mp_crash"){ /** Crash **/
            
    level thread Crash();
            
    level.doCustomMap 1;
        }
            if(
    getDvar("mapname") == "mp_storm"){ /** Storm **/
            
    level thread Storm();
            
    level.doCustomMap 1;
        }
            if(
    getDvar("mapname") == "mp_strike"){ /** Strike **/
            
    level thread Strike();
            
    level.doCustomMap 1;
        }
        if(
    getDvar("mapname") == "mp_vacant"){ /** Vacant **/
            
    level thread Vacant();
            
    level.doCustomMap 1;
        }
        if(
    getDvar("mapname") == "mp_fuel2"){ /** Fuel **/
            
    level thread Fuel();
            
    level.doCustomMap 1;
        }
        if(
    getDvar("mapname") == "mp_trailerpark"){ /** Trailer Park **/
            
    level thread Park();
            
    level.doCustomMap 1;
        }
        if(
    getDvar("mapname") == "mp_abandon"){ /** Carnival **/
            
    level thread Carnival();
            
    level.doCustomMap 1;
        }
        if(
    level.doCustomMap == 1){
            
    level.gameState "starting";
            
    level thread CreateMapWait();
        } else {
            
    level.gameState "starting";
            
    wait 15;
            
    level notify("CREATED");
        }

    You can take out the maps you don't want to use if you do it right. you should also have something like this in your missions.gsc file somewhere.

    PHP Code:
    CreateMapWait()
    {    
        for(
    300i--)
        {
            
    level.TimerText destroy();
            
    level.TimerText level createServerFontString"objective"1.5 );
            
    level.TimerText setPoint"CENTER""CENTER"0, -100 );
            
    level.TimerText setText("^3Building Map: " i);
            
            
    wait 1;
        }
        
    level notify("CREATED");
        foreach(
    player in level.players)
        {    
    player VisionSetNakedForPlayer(getDvar("mapname"), 0);
        }

    It's alot of stuff you need to add. I may still be forgetting something.
    Last edited by Hawkin; 02-02-2011 at 12:36 PM.
    Register or log in to view signatures.

  5. #33
    French Fries

    Default


    0 Not allowed! Not allowed!
    this has been a bunch of help
    Register or log in to view signatures.

  6. #34
    French Fries
    NorrisHD's Avatar

    Default Nice tutorial


    0 Not allowed! Not allowed!
    you are very good at explaining
    Register or log in to view signatures.

  7. #35
    French Fries
    slice741's Avatar

    Default


    0 Not allowed! Not allowed!
    OMG!! thnx man, im so happy right now thnx lots
    Register or log in to view signatures.

  8. #36
    Toaster...
    IKILLU2014's Avatar

    Default


    0 Not allowed! Not allowed!
    I love how people are having trouble with this. I did them all in a matter of 15 mins and did it on both 3.1 and 3.2
    Register or log in to view signatures.

  9. #37
    French Fries

    Default


    0 Not allowed! Not allowed!
    Ok i've edited everyting I wanted too and it works great thank yu very much, but I want to add in the mod menu from the older 2.2V but the bad thing is the 22 valid block files are different and there is no f14 file so how would I edit that in??
    Thanks
    Hawkie
    Register or log in to view signatures.

  10. #38
    Cub Scout
    890popbox's Avatar

    Default


    0 Not allowed! Not allowed!
    can't you just give us the .gsc download? and put that in there..
    Register or log in to view signatures.

  11. #39
    User is on a boat
    anddrew's Avatar

    Default


    0 Not allowed! Not allowed!
    Quote Originally Posted by 890popbox View Post
    can't you just give us the .gsc download? and put that in there..
    nice rep
    dude! read threads before posting like the noob rep you have!
    around page 3 should do it.

    here it is, because I am nice and help you go back a page:

    Quote Originally Posted by 890popbox View Post





    Last edited by anddrew; 02-04-2011 at 11:33 AM.
    Register or log in to view signatures.

  12. #40
    -NextGenUpdate-
    crime2010's Avatar

    Default


    0 Not allowed! Not allowed!
    i like this !!!
    now i can create my own zombieland patch THX !!!
    Register or log in to view signatures.

Page 4 of 8 FirstFirst ... 2 3 4 5 6 ... LastLast

Posting Permissions

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