News: Welcome back to Bullworth! If you haven't already, you will need to reset your password..


Author Topic: MEGA Tutorial *WARNING: not a dialup friendly topic*  (Read 15411 times)

0 Members and 1 Guest are viewing this topic.

Offline MadmaN

  • Bully-Board Admin Team
  • Moderator
  • Newbie
  • *****
  • Posts: 0
  • Gender: Male
  • Biblio-Techa Mods (retired)
    • View Profile
MEGA Tutorial *WARNING: not a dialup friendly topic*
« on: October 30, 2011, 10:55:00 PM »
MEGA Tutorial




Here is a MEGA Tutorial for spawning custom item pickups, peds, vehicles and custom doors within Bully.

First step:
Open Pickups.dat - This file is located inside your ide.img file so it is best to extract the entire ide.img to a directory, desktop is fine for this since you will be editing this file and simply making a brand new ide.img from all the extracted files including the one you are editing here is actually a cleaner way to rebuild the .img files for bully.

Next what we will do is change the spawned items in one of the areas of the world map. The school football field is what we will edit in this example.

So without further ado, search for POINTNAME "SCH_Pickups"

This section is the school pickups. You can change any of these pickups to weapons, props etc and even change the coords where they spawn.

The first pickup is a baseball bat as shown here: POINTPICKUPNAME "bat"

only thing you need to change is the name of the pickup if you just want to change the pickup itself and not the location it spawns at. This is good for beginning modders that just want somthing simple they can learn to edit without fear of messing their game up.

For our example we will change this to Norton's sledgehammer. So change "bat" to say "sledgehammer" and save it. As you go down the list you will see other pickups which always are listed in the POINTPICKUPNAME " " parts of the file and if the POINTPICKUPNAME doesnt have anything between the "" then don't bother editing it since it will not be a prop or weapon you can change the spawn of.

Here is the areas in pickups.dat and their names:
POINTNAME "SCH_Pickups"
POINTNAME "RCH_Pickups"
POINTNAME "PR_Pickups"
POINTNAME "IND_Pickups"
POINTNAME "SCH_FRISBEE_PICKUPS"
POINTNAME "RCH_FRISBEE_PICKUPS"
POINTNAME "SCH_Weapon_Pickups"
POINTNAME "BDIST_WEAPONS"
POINTNAME "RCH_Weapon_Pickups"
POINTNAME "PR_Weapon_Pickups"
POINTNAME "IND_Weapon_Pickups"
POINTNAME "BIKEPARK_Pickups"
POINTNAME "Floating_Carnival"
POINTNAME "POOL_GYM_PICKUPS"
POINTNAME "Jock_Hideout_Pickups"


To add Custom spawns for weapons you need to do the following:

open pickups.dat and look at the beginning of the file. It will look like this:

  • NPATHS 0
  • NPOINTS 16
  • NPERIMETERS 0
  • NTRIGGERS 0
  • NPOIS 0
Every .dat file in the trigger.img has this in the beginning. This just tells bully how to read the files in order to spawn objects in the world map file. For editing custom props...etc you only need to know what one line in the header does and this line is the NPOINTS line. The number is the total NPOINTS that are in this file and the NPOINTS this refers to is each section's name which I have listed above this section of the tutorial. Anytime you add a brand new section to the file you need to increase this number by 1 or you most likely will end up with bully crashing or not loading your custom areas. Due to how the file is laid out you won't need to change this setting at all...instead you will need to change the NPOINTPOINTS each section has. For the NPOINTPOINTS the number needs to be the total number of prop spawn points that are listed for that section. Here is how each section is laid out:

For this example we will use the school  pickups section which is the following code:
Code: [Select]
POINT
    BEGIN
        POINTNAME "SCH_Pickups"
        AREACODE 0
        NPOINTPOINTS 15
        POINTPOINT 45.924999, -83.224503, 5.116360
        POINTYAWPITCHROLL 0.000000, 0.000000, 0.000000
        POINTLABEL ""
        POINTPICKUPNAME "bat"
        POINTSFXID ""
        POINTSOUNDBANKID ""
        POINTSFXVOLUME 1.000000
        STREAMFADEINTIME 0
        STREAMFADEOUTTIME 0
        POINTSML 0
        STARTHOUR 0
        ENDHOUR 0
        WEATHERMASK ""
        USEOCCLUSION FALSE
        POINTMISSIONSPEC FALSE
        MISSIONNAME ""
        POINTPERMANENT FALSE
        POINTTAG 0
        PICKUPBUTES "Permanent2MinRespawn"
        POINTPOINT 205.477997, -140.712006, 7.618010
        POINTYAWPITCHROLL 0.000000, 0.000000, 0.000000
        POINTLABEL ""
        POINTPICKUPNAME "yardstick"
        POINTSFXID ""
        POINTSOUNDBANKID ""
        POINTSFXVOLUME 1.000000
        STREAMFADEINTIME 0
        STREAMFADEOUTTIME 0
        POINTSML 0
        STARTHOUR 0
        ENDHOUR 0
        WEATHERMASK ""
        USEOCCLUSION FALSE
        POINTMISSIONSPEC FALSE
        MISSIONNAME ""
        POINTPERMANENT FALSE
        POINTTAG 0
        PICKUPBUTES "Permanent2MinRespawn"
        POINTPOINT 232.481995, -25.061600, 8.106600
        POINTYAWPITCHROLL 0.000000, 0.000000, 0.000000
        POINTLABEL ""
        POINTPICKUPNAME "apple"
        POINTSFXID ""
        POINTSOUNDBANKID ""
        POINTSFXVOLUME 1.000000
        STREAMFADEINTIME 0
        STREAMFADEOUTTIME 0
        POINTSML 0
        STARTHOUR 0
        ENDHOUR 0
        WEATHERMASK ""
        USEOCCLUSION FALSE
        POINTMISSIONSPEC FALSE
        MISSIONNAME ""
        POINTPERMANENT FALSE
        POINTTAG 0
        PICKUPBUTES "Permanent2MinRespawn"
        POINTPOINT -12.486000, -26.265200, 1.815360
        POINTYAWPITCHROLL 0.000000, 0.000000, 0.000000
        POINTLABEL ""
        POINTPICKUPNAME "apple"
        POINTSFXID ""
        POINTSOUNDBANKID ""
        POINTSFXVOLUME 1.000000
        STREAMFADEINTIME 0
        STREAMFADEOUTTIME 0
        POINTSML 0
        STARTHOUR 0
        ENDHOUR 0
        WEATHERMASK ""
        USEOCCLUSION FALSE
        POINTMISSIONSPEC FALSE
        MISSIONNAME ""
        POINTPERMANENT FALSE
        POINTTAG 0
        PICKUPBUTES "Permanent2MinRespawn"
        POINTPOINT -9.021850, -28.041800, 1.658470
        POINTYAWPITCHROLL 0.000000, 0.000000, 0.000000
        POINTLABEL ""
        POINTPICKUPNAME "apple"
        POINTSFXID ""
        POINTSOUNDBANKID ""
        POINTSFXVOLUME 1.000000
        STREAMFADEINTIME 0
        STREAMFADEOUTTIME 0
        POINTSML 0
        STARTHOUR 0
        ENDHOUR 0
        WEATHERMASK ""
        USEOCCLUSION FALSE
        POINTMISSIONSPEC FALSE
        MISSIONNAME ""
        POINTPERMANENT FALSE
        POINTTAG 0
        PICKUPBUTES "Permanent2MinRespawn"
        POINTPOINT -42.474300, -30.025200, 1.695000
        POINTYAWPITCHROLL 0.000000, 0.000000, 0.000000
        POINTLABEL ""
        POINTPICKUPNAME "apple"
        POINTSFXID ""
        POINTSOUNDBANKID ""
        POINTSFXVOLUME 1.000000
        STREAMFADEINTIME 0
        STREAMFADEOUTTIME 0
        POINTSML 0
        STARTHOUR 0
        ENDHOUR 0
        WEATHERMASK ""
        USEOCCLUSION FALSE
        POINTMISSIONSPEC FALSE
        MISSIONNAME ""
        POINTPERMANENT FALSE
        POINTTAG 0
        PICKUPBUTES "Permanent2MinRespawn"
        POINTPOINT -44.658100, -29.855400, 1.714030
        POINTYAWPITCHROLL 0.000000, 0.000000, 0.000000
        POINTLABEL ""
        POINTPICKUPNAME "apple"
        POINTSFXID ""
        POINTSOUNDBANKID ""
        POINTSFXVOLUME 1.000000
        STREAMFADEINTIME 0
        STREAMFADEOUTTIME 0
        POINTSML 0
        STARTHOUR 0
        ENDHOUR 0
        WEATHERMASK ""
        USEOCCLUSION FALSE
        POINTMISSIONSPEC FALSE
        MISSIONNAME ""
        POINTPERMANENT FALSE
        POINTTAG 0
        PICKUPBUTES "Permanent2MinRespawn"
        POINTPOINT -35.291199, -118.501999, 1.378120
        POINTYAWPITCHROLL 0.000000, 0.000000, 0.000000
        POINTLABEL ""
        POINTPICKUPNAME "apple"
        POINTSFXID ""
        POINTSOUNDBANKID ""
        POINTSFXVOLUME 1.000000
        STREAMFADEINTIME 0
        STREAMFADEOUTTIME 0
        POINTSML 0
        STARTHOUR 0
        ENDHOUR 0
        WEATHERMASK ""
        USEOCCLUSION FALSE
        POINTMISSIONSPEC FALSE
        MISSIONNAME ""
        POINTPERMANENT FALSE
        POINTTAG 0
        PICKUPBUTES "Permanent2MinRespawn"
        POINTPOINT -32.799702, -117.856003, 1.397500
        POINTYAWPITCHROLL 0.000000, 0.000000, 0.000000
        POINTLABEL ""
        POINTPICKUPNAME "apple"
        POINTSFXID ""
        POINTSOUNDBANKID ""
        POINTSFXVOLUME 1.000000
        STREAMFADEINTIME 0
        STREAMFADEOUTTIME 0
        POINTSML 0
        STARTHOUR 0
        ENDHOUR 0
        WEATHERMASK ""
        USEOCCLUSION FALSE
        POINTMISSIONSPEC FALSE
        MISSIONNAME ""
        POINTPERMANENT FALSE
        POINTTAG 0
        PICKUPBUTES "Permanent2MinRespawn"
        POINTPOINT -2.951950, -114.064003, 1.451190
        POINTYAWPITCHROLL 0.000000, 0.000000, 0.000000
        POINTLABEL ""
        POINTPICKUPNAME "apple"
        POINTSFXID ""
        POINTSOUNDBANKID ""
        POINTSFXVOLUME 1.000000
        STREAMFADEINTIME 0
        STREAMFADEOUTTIME 0
        POINTSML 0
        STARTHOUR 0
        ENDHOUR 0
        WEATHERMASK ""
        USEOCCLUSION FALSE
        POINTMISSIONSPEC FALSE
        MISSIONNAME ""
        POINTPERMANENT FALSE
        POINTTAG 0
        PICKUPBUTES "Permanent2MinRespawn"
        POINTPOINT 6.109730, -104.480003, 0.944090
        POINTYAWPITCHROLL 0.000000, 0.000000, 0.000000
        POINTLABEL ""
        POINTPICKUPNAME "bat"
        POINTSFXID ""
        POINTSOUNDBANKID ""
        POINTSFXVOLUME 1.000000
        STREAMFADEINTIME 0
        STREAMFADEOUTTIME 0
        POINTSML 0
        STARTHOUR 0
        ENDHOUR 0
        WEATHERMASK ""
        USEOCCLUSION FALSE
        POINTMISSIONSPEC FALSE
        MISSIONNAME ""
        POINTPERMANENT FALSE
        POINTTAG 0
        PICKUPBUTES "Permanent2MinRespawn"
        POINTPOINT -0.900707, -110.898003, 1.331540
        POINTYAWPITCHROLL 0.000000, 0.000000, 0.000000
        POINTLABEL ""
        POINTPICKUPNAME "apple"
        POINTSFXID ""
        POINTSOUNDBANKID ""
        POINTSFXVOLUME 1.000000
        STREAMFADEINTIME 0
        STREAMFADEOUTTIME 0
        POINTSML 0
        STARTHOUR 0
        ENDHOUR 0
        WEATHERMASK ""
        USEOCCLUSION FALSE
        POINTMISSIONSPEC FALSE
        MISSIONNAME ""
        POINTPERMANENT FALSE
        POINTTAG 0
        PICKUPBUTES "Permanent2MinRespawn"
        POINTPOINT 159.404999, -150.720993, 7.605920
        POINTYAWPITCHROLL 12.831600, 0.000000, 0.000000
        POINTLABEL ""
        POINTPICKUPNAME "yardstick"
        POINTSFXID ""
        POINTSOUNDBANKID ""
        POINTSFXVOLUME 1.000000
        STREAMFADEINTIME 0
        STREAMFADEOUTTIME 0
        POINTSML 0
        STARTHOUR 0
        ENDHOUR 0
        WEATHERMASK ""
        USEOCCLUSION FALSE
        POINTMISSIONSPEC FALSE
        MISSIONNAME ""
        POINTPERMANENT FALSE
        POINTTAG 0
        PICKUPBUTES "Permanent2MinRespawn"
        POINTPOINT 230.054993, -29.134701, 7.977550
        POINTYAWPITCHROLL 0.000000, 0.000000, 0.000000
        POINTLABEL ""
        POINTPICKUPNAME "apple"
        POINTSFXID ""
        POINTSOUNDBANKID ""
        POINTSFXVOLUME 1.000000
        STREAMFADEINTIME 0
        STREAMFADEOUTTIME 0
        POINTSML 0
        STARTHOUR 0
        ENDHOUR 0
        WEATHERMASK ""
        USEOCCLUSION FALSE
        POINTMISSIONSPEC FALSE
        MISSIONNAME ""
        POINTPERMANENT FALSE
        POINTTAG 0
        PICKUPBUTES "Permanent2MinRespawn"
        POINTPOINT -52.535801, -79.860497, 1.561080
        POINTYAWPITCHROLL 0.000000, 0.000000, 0.000000
        POINTLABEL ""
        POINTPICKUPNAME "bat"
        POINTSFXID ""
        POINTSOUNDBANKID ""
        POINTSFXVOLUME 1.000000
        STREAMFADEINTIME 0
        STREAMFADEOUTTIME 0
        POINTSML 0
        STARTHOUR 0
        ENDHOUR 0
        WEATHERMASK ""
        USEOCCLUSION FALSE
        POINTMISSIONSPEC FALSE
        MISSIONNAME ""
        POINTPERMANENT FALSE
        POINTTAG 0
        PICKUPBUTES "Permanent2MinRespawn"
    END

Each item spawn for the sections is defined with this syntax:

Code: [Select]
POINTPOINT 45.924999, -83.224503, 5.116360
POINTYAWPITCHROLL 0.000000, 0.000000, 0.000000
POINTLABEL ""
POINTPICKUPNAME "bat"
POINTSFXID ""
POINTSOUNDBANKID ""
POINTSFXVOLUME 1.000000
STREAMFADEINTIME 0
STREAMFADEOUTTIME 0
POINTSML 0
STARTHOUR 0
ENDHOUR 0
WEATHERMASK ""
USEOCCLUSION FALSE
POINTMISSIONSPEC FALSE
MISSIONNAME ""
POINTPERMANENT FALSE
POINTTAG 0
PICKUPBUTES "Permanent2MinRespawn"

To add a new spawn for a weapon or other prop use the following template and just fill in the values that I specify keeping the rest as its shown.

Code: [Select]
POINTPOINT 45.924999, -83.224503, 5.116360 - Change this to the coordinates you want this to spawn at.
POINTYAWPITCHROLL 0.000000, 0.000000, 0.000000 - do not change.
POINTLABEL "" - do not change.
POINTPICKUPNAME "bat" - change this to the prop or weapon you want to spawn
POINTSFXID "" - do not change.
POINTSOUNDBANKID "" - do not change.
POINTSFXVOLUME 1.000000 - do not change.
STREAMFADEINTIME 0 - do not change.
STREAMFADEOUTTIME 0 - do not change.
POINTSML 0 - do not change.
STARTHOUR 0 - do not change.
ENDHOUR 0 - do not change.
WEATHERMASK "" - do not change.
USEOCCLUSION FALSE - do not change.
POINTMISSIONSPEC FALSE - do not change.
MISSIONNAME "" - do not change.
POINTPERMANENT FALSE - do not change.
POINTTAG 0 - do not change.
PICKUPBUTES "Permanent2MinRespawn" - do not change.

To add your new custom weapon spawn to the file you need to add this to the section and best place is to add it at the end of the section. Look for this at the end of the section and add your new spawn points between the    PICKUPBUTES "Permanent2MinRespawn" line and the   END line and for each new spawn you add ..don't forget to change the NPOINTPOINTS number to include your new section, for example if NPOINTPOINTS is 15 then change it to 16 if you just added one weapon/prop spawn to that particular section.
NOTE: Failure to do this will result in the modification not working.

The following is a listing of all the props/weapons that I have found to work and this list may not be complete:

Sports Props

  • Wfrisbee
  • Wtennis
  • WBball
  • Wftball
  • anifooty
  • SocBall
  • anibball
Misc Props

  • DeadRat - same as w_deadrat
  • WCamera - camera
  • kickme - a kickme sign that you can plant on a person's back for a laugh
  • pvase_proj - I think this is one of the larger vases you can pickup and smash over someone's head
  • w_deadrat - a dead rat...just a dead rat
  • Wbrush - not sure what this is
  • W_Candy - this is one of the candy boxes you can give as a gift to a girl
Food Items (can be eaten or used as a weapon)

  • Banana - a bananna that you can either eat, throw or eat and drop the peel to trip someone up for a laugh
  • apple - a apple that you can throw at someone or eat for to gain health
Weapons

  • WPCannon - Don't remember what this is
  • RBandBall - The rubberband ball that you normally have to collect all the hidden rubberbands to get
  • NerdBooksE -books
  • NerdBooks - books
  • NerdBooksB - books
  • NerdBooksC - books
  • NerdBooksD - books
  • leadpipe - one of the many lead pipes you can use as a weapon
  • supersling - super slingshot that you win after completing the candidate
  • slingshot - normal slingshot
  • cherryb - this is the firecrackers Jimmy can make in his room on his chemistry set
  • spudg - normal spud gun
  • SuperSpudG - super spud gun which is buggy when spawning it as a pickup
  • brocketlauncher - nerd bottle rocket launcher
  • eggproj - eggs that you can throw
  • stinkbomb - stinkbomb used by the nerds
  • spraycan - paint spray can
  • W_PGun - I think this is the poison gun used for killing the giant flytrap plant in the one mission
  • bat - baseball bat
  • cricket - a cricket bat used by the preppies and found laying around in the preppies hangout and the harrington house
  • Polo - polo stick found in the hangouts the preppies use
  • twobyfour - two by four
  • Wmallet - mallet
  • Billyclb - billy club (not sure if this works actually)
  • W_Crutch - a crutch (I think this is the one used by one of the students dressed up as a pirate during halloween)
  • poolcue - pool cue stick
  • JBroom - janitor's broom
  • brick - a brick
  • chshielda - one of the many scrap iron shields you can use
  • chshieldb - one of the many scrap iron shields you can use
  • chshieldc - one of the many scrap iron shields you can use
  • lid - trashcan lid
  • Wtray - lunch tray
  • Psheild - one of the many scrap iron shields you can use
  • newsroll - newspaper
  • snowball - a snowball
  • monkeywrench - not sure if this works
  • yardstick - yardstick commonly carried by the nerds
  • 2handstick - two handed stick (similar to the two by four i think)
  • fireexting - fire extinguisher
  • sledgehammer - self explanatory
  • Wdish - dish
  • bagmrbls - bag of marbles
  • dec_plate - deck plate
  • plantpot - generic plant pot
  • snowshwl - snow shovel
  • wftbomb - exploding football bomb
  • wtrpipe - one of the many leadpipes laying around that can be used as a weapon
  • wtrpipeB - one of the many leadpipes laying around that can be used as a weapon
  • wtrpipeC - one of the many leadpipes laying around that can be used as a weapon
  • wtrpipeD - one of the many leadpipes laying around that can be used as a weapon
  • W_Itch - itching powder
  • WBALLOON - water balloon
  • W_Fountain - Volcano 4000 firecracker



In this section I will show you how to spawn peds in any location around bully. You will need coordinate lists to do most of this and some patience to try other coordinates to figure out which coord is best for your mod. First off...open population.dat which is located inside trigger.img and open it with notepad++ or whatever notepad app you prefer.

First step is to look at the beginning of population.dat and you should see the following:
  • NPATHS 0
  • NPOINTS 0
  • NPERIMETERS 37
  • NTRIGGERS 34
  • NPOIS 0
This part of population.dat is very very important unlike what is in the pickups.dat file we did in the section above this. NPERIMETERS and NTRIGGERS are the two parts of the beginning you need to be very careful on because like the other dat files in trigger.img...the beginning is crucial to getting any modifications to these files to work. I will explain what both these lines do in population.dat and what areas they refer to so you can make a note of this when you start modding this file.

NPERIMETERS is the total count of PERIMETERS that are listed in this file. Each PEREMETER begins with the following code:

Code: [Select]
PERIMETER
    BEGIN

NTRIGGERS is the total spawn triggers that is in this file. Each NTRIGGERS section starts with the following code:

Code: [Select]
TRIGGER
    BEGIN

What we are going to do is just add more peds to the world map so we will not be changing any of the trigger or perimeter codes for this. For each section you will see the following:

Code: [Select]
POPULATIONDATA
            BEGIN
                POPULATION_DAY
                    BEGIN
                        TOTAL 6
                        PREFECT 0
                        NERD 0
                        JOCK 0
                        DROPOUT 0
                        GREASER 0
                        PREPPY 1
                        STUDENT 0
                        COP 0
                        TEACHER 0
                        TOWNPERSON 5
                        SHOPKEEP 0
                        BULLY 0
                    END
                POPULATION_CLASS
                    BEGIN
                        TOTAL 6
                        PREFECT 0
                        NERD 0
                        JOCK 0
                        DROPOUT 0
                        GREASER 0
                        PREPPY 0
                        STUDENT 0
                        COP 0
                        TEACHER 0
                        TOWNPERSON 6
                        SHOPKEEP 0
                        BULLY 0
                    END
                POPULATION_NIGHT
                    BEGIN
                        TOTAL 5
                        PREFECT 0
                        NERD 0
                        JOCK 0
                        DROPOUT 0
                        GREASER 0
                        PREPPY 1
                        STUDENT 0
                        COP 1
                        TEACHER 0
                        TOWNPERSON 3
                        SHOPKEEP 0
                        BULLY 0
                    END
                POPULATION_CURFEW
                    BEGIN
                        TOTAL 3
                        PREFECT 0
                        NERD 0
                        JOCK 0
                        DROPOUT 0
                        GREASER 0
                        PREPPY 0
                        STUDENT 0
                        COP 1
                        TEACHER 0
                        TOWNPERSON 2
                        SHOPKEEP 0
                        BULLY 0
                    END
            END

Changing the ped spawns is easy. To edit them change the values in the following:

  • TOTAL 60
  • PREFECT 5
  • NERD 5
  • JOCK 5
  • DROPOUT 5
  • GREASER 5
  • PREPPY 5
  • STUDENT 5
  • COP 5
  • TEACHER 5
  • TOWNPERSON 5
  • SHOPKEEP 5
  • BULLY 5
In the example I provided above I edited it so there is 5 of every ped which is a total of 60 peds for that area. You can use any number you want for each ped but remember to add them up and put the total you get in the total line or you will experience a crash or other unstable behavior. Some of the areas in bully have ped information thats listed elsewhere and not in the population.dat. I will list every file you need to edit for peds in every available area in bully a bit lower down in this section of the tutorial. The following areas are available in population.dat for changing ped spawns:

  • RichArea
  • DownTown
  • PoorArea
  • IndustrialArea_DropOutEnclave
  • DT_GASSTATION
  • POOR_TENEMENTS
  • Rich_Area_Corner_Courtyard
  • Industrial_Sawmill
  • Carnival
  • Industrial_Docks
  • SchoolArea
  • RichArea_DownTown
  • DT_ComicShop
  • DT_DropOutAlley
  • DT_GreaserAlley
  • Rich_GreaserAlley
  • Poor_DropTurf1
  • GraveYard
  • Jocks
  • Nerds
  • Preps
  • Greasers
  • FieldOverride
  • Jocks_FootballField
  • PopRoads1
  • BullyTurf
  • BadPlaceTrigger
  • OutsideSchool1
  • SchoolBikeTrig - This doesn't control ped population data. This controls how many bikes spawn and where around the school
The following files have population spawn data that can be changed in the same exact way as I have shown you in this tutorial:
 They are in this format: filename - sections in that file

  • 1_03.dat - 1_03_AutoShopArea
  • 1_04.dat - 1_04_SuppressFieldPop, 1_04_SuppressParkingPop
  • 2_S04.dat - 2_S04_AutoShopArea
  • 3_06.dat - 3_08_SchoolPop
  • 3_S03T.dat - 3_S03T_Test_1, 3_S03T_Test_3, 3_S03T_Test_4, 3_S03T_Test_5, 3_S03T_Test_6
  • 4_02.dat - 4_02_NERDS, 4_02_PREFECT1, 4_02_PREFECT2
  • 5_02.dat - 5_02_DepopulateDocks, 5_02_DepopRichArea
  • 6_02.dat - SchoolTrig, 6_03_GymPop
  • Chapt5Trans.dat - C5T_POP
  • eventsSchoolHalls.dat - CafTrigger
  • GarbPickDowntown.dat - gd_GameArea
  • GarbPickPoor.dat - pa_GameArea
  • GarbPickSchool.dat - gs_GameArea
  • Gdorm.dat - GDorm_GirlsOnly, GDorm_PopOverride
  • GoKart_Outdoor.dat - DePopBeachAreaRace, DePopRichAreaRace, DePopIndustrialAreaRace
  • GraffitiPunishment.dat - SchoolDepop, dowtownDepop, PoorDepop, GC1A_GameArea
  • isc_pool.dat - GymPool_PopOverride
  • LawnMowing.dat - LM3_Depop
  • P_Snow1.dat - ST1_dePopSnowArea
  • P_Snow2.dat - ST2_dePopSnowArea
  • P_Snow3.dat - ST3_dePopSnowArea
  • P_Snow4.dat - ST4_dePopSnowArea
  • P_Snow5.dat - ST5_dePopSnowArea
  • P_Snow6.dat - ST6_dePopSnowArea
  • Store.dat - ComicPopTrig
To create a custom spawn point for peds you will have to do a bit of coding. For some ppl this should be pretty easy but for those not used to coding and proper syntax this will be hard to grasp but I will try to explain as best as I can.

To add a custom spawn point to a file that has no ped spawn points, for example you want to add preps to harrington house...you will have to do the following:

In this example I will edit harrington house and add preps there.

Open SP_Prep_House.dat in notepad++ or similar and look for the following code:


Code: [Select]
TRIGGER
    BEGIN
        TRIGGERNAME "PrepHouse_MainRoom"
        AREACODE 32
        POSITION -540.947998, 132.498001, 46.199902
        YAWPITCHROLL 0.000000, 0.000000, 0.000000
        YAW 0.000000
        ZHEIGHT 1.000000
        ISMISSIONSPECIFIC FALSE
        ISLOCKED FALSE
        AMBIENT 0, 0, 0
        USETIMECYCLE FALSE
        HASPOPULATIONDATA 0
        FORCEPOPREAD FALSE
        HASAMBIENTVEHICLEDATA 0
        FORCEVEHREAD FALSE
    END


In this example we will be editing the main room in harrington house. To add the rest of the code you need to spawn preps or any other ped add the following code under USETIMECYCLE FALSE :

Code: [Select]
FORCEPOPREAD FALSE
        POPULATIONDATA
            BEGIN
                POPULATION_DAY
                    BEGIN
                        TOTAL 5
                        PREFECT 0
                        NERD 0
                        JOCK 0
                        DROPOUT 0
                        GREASER 0
                        PREPPY 5
                        STUDENT 0
                        COP 0
                        TEACHER 0
                        TOWNPERSON 0
                        SHOPKEEP 0
                        BULLY 0
                    END
                POPULATION_CLASS
                    BEGIN
                        TOTAL 5
                        PREFECT 0
                        NERD 0
                        JOCK 0
                        DROPOUT 0
                        GREASER 0
                        PREPPY 5
                        STUDENT 0
                        COP 0
                        TEACHER 0
                        TOWNPERSON 0
                        SHOPKEEP 0
                        BULLY 0
                    END
                POPULATION_NIGHT
                    BEGIN
                        TOTAL 5
                        PREFECT 0
                        NERD 0
                        JOCK 0
                        DROPOUT 0
                        GREASER 0
                        PREPPY 5
                        STUDENT 0
                        COP 0
                        TEACHER 0
                        TOWNPERSON 0
                        SHOPKEEP 0
                        BULLY 0
                    END
                POPULATION_CURFEW
                    BEGIN
                        TOTAL 5
                        PREFECT 0
                        NERD 0
                        JOCK 0
                        DROPOUT 0
                        GREASER 0
                        PREPPY 5
                        STUDENT 0
                        COP 0
                        TEACHER 0
                        TOWNPERSON 0
                        SHOPKEEP 0
                        BULLY 0
                    END
            END

The fully modified code should look like this:

Code: [Select]
TRIGGER
    BEGIN
        TRIGGERNAME "PrepHouse_MainRoom"
        AREACODE 32
        POSITION -540.947998, 132.498001, 46.199902
        YAWPITCHROLL 0.000000, 0.000000, 0.000000
        YAW 0.000000
        ZHEIGHT 1.000000
        ISMISSIONSPECIFIC FALSE
        ISLOCKED FALSE
        AMBIENT 0, 0, 0
        USETIMECYCLE FALSE
        HASPOPULATIONDATA 1
        FORCEPOPREAD FALSE
        POPULATIONDATA
            BEGIN
                POPULATION_DAY
                    BEGIN
                        TOTAL 5
                        PREFECT 0
                        NERD 0
                        JOCK 0
                        DROPOUT 0
                        GREASER 0
                        PREPPY 5
                        STUDENT 0
                        COP 0
                        TEACHER 0
                        TOWNPERSON 0
                        SHOPKEEP 0
                        BULLY 0
                    END
                POPULATION_CLASS
                    BEGIN
                        TOTAL 5
                        PREFECT 0
                        NERD 0
                        JOCK 0
                        DROPOUT 0
                        GREASER 0
                        PREPPY 5
                        STUDENT 0
                        COP 0
                        TEACHER 0
                        TOWNPERSON 0
                        SHOPKEEP 0
                        BULLY 0
                    END
                POPULATION_NIGHT
                    BEGIN
                        TOTAL 5
                        PREFECT 0
                        NERD 0
                        JOCK 0
                        DROPOUT 0
                        GREASER 0
                        PREPPY 5
                        STUDENT 0
                        COP 0
                        TEACHER 0
                        TOWNPERSON 0
                        SHOPKEEP 0
                        BULLY 0
                    END
                POPULATION_CURFEW
                    BEGIN
                        TOTAL 5
                        PREFECT 0
                        NERD 0
                        JOCK 0
                        DROPOUT 0
                        GREASER 0
                        PREPPY 5
                        STUDENT 0
                        COP 0
                        TEACHER 0
                        TOWNPERSON 0
                        SHOPKEEP 0
                        BULLY 0
                    END
            END
        HASAMBIENTVEHICLEDATA 0
        FORCEVEHREAD FALSE
    END



NOTE: Don't forget to change HASPOPULATIONDATA  so it has 1 instead of 0 if it had that. Failure to do this will result in a crash.

Congragulations! you now have preps spawning in the prep house in its main room. This is a simple example that you can learn from and apply to almost any area in the game providing you read this tutorial completely and apply what you have learned here. Some files however may not be able to be modified like this but I have changed several files in my testing and can confirm that this indeed works quite well.







Now we will be changing the spawning of the vehicles you see in the game from the cop cars...normal cars to the bikes. This area will not spawn the lawnmower nor will it spawn the gokarts. Those I will explain how to spawn in my next mega tutorial.

First look for the following in population.dat:

Code: [Select]
AMBIENTVEHICLEDATA
            BEGIN
                AMBIENTVEHICLES_DAY

This will show up several times in this file and also in some other files in trigger.img. I will list the proper files that have vehicle data a bit later on due to this mega tutorial being possibly too mega...lol

to change the vehicles just simply edit the vehicle data in the same way you edited the data for the ped spawning. You should see vehicle data similar to this scattered throughout this file and others:

Code: [Select]
        AMBIENTVEHICLEDATA
            BEGIN
                AMBIENTVEHICLES_DAY
                    BEGIN
                        TOTAL 30
                        CAR 10
                        BIKE 20
                        POLICECAR 0
                    END
                AMBIENTVEHICLES_CLASS
                    BEGIN
                        TOTAL 30
                        CAR 10
                        BIKE 20
                        POLICECAR 0
                    END
                AMBIENTVEHICLES_NIGHT
                    BEGIN
                        TOTAL 30
                        CAR 10
                        BIKE 20
                        POLICECAR 0
                    END
                AMBIENTVEHICLES_CURFEW
                    BEGIN
                        TOTAL 30
                        CAR 10
                        BIKE 20
                        POLICECAR 0
                    END
            END

Simply put the number for each vehicle type you want and add all those up for your total for each time of the day and night just like with the ped population modding and you are good to go. I wouldn't put more then 5 to 10 for each vehicle since otherwise you would likely experience game lag so only put large amounts if your pc can handle it.




Ok, here we will cover doors and markers which is the last section of this massive tutorial. Please note that while you can spawn custom doors and markers, I have not yet managed to get existing locked doors to unlock and show their respective marker allowing you to interact with them. I can show you how to remove the doors however or change them around so this section will be considered under construction for the time being.

First you need to open a .dat file from trigger.img in notepad++ that has door relevent data. In this case we will use the school and I will in this example remove all of the doors so you can explore what is behind them. Due to most of the interiors being in a unfinished state in the school part of the map, the only way to make them work proper is to delete the existing door and put a new one in its place with a marker that teleports you to the proper interior for exploration such as a classroom or the auditorium...etc you get the idea. I will complete this section fully once I finish my rounds of testing and update everything here regarding doors and interiors as it happens. For now we will proceed with my demonstration so that some of you can at least play around with this and see more of the game that you were not meant to see...lol

in our example we will use ischool_doors.dat so open that up in notepad++.


When editing the doors it will require a lot more coding then the mods listed above this in the tutorial and this requires a lot of patience and the need to be very exact in what you type and where. I will try to explain this in a easy way.

Please understand that when editing doors...you have door trigger spawns which spawn the door type and then you have the actual spawnpoints the doors spawn at complete with their markers which are built into the door depending on what type of door you spawn.

So that said...take your ischool_doors.dat that you just opened and look at the beginning. You should see the following:

Code: [Select]
NPATHS 0
NPOINTS 53
NPERIMETERS 10
NTRIGGERS 36
NPOIS 0

I will explain these when I update this tutorial later in the week. So watch this space for updates.

For now ignore the small part above since it will not apply to the edits we will do here.

Look for the following in the school_doors.dat file:

Code: [Select]
PERIMETER
    BEGIN
        PLACEMENT "HallWind"
        ISDOOR FALSE
        HEIGHT 1.000000
        DEPTH 0.000000
        NPERIMETERPOINTS 0
    END

What this is is a door type that is spawned for a section in this file. There is one door type that is spawned for certain sections of a interior or exterior and the door type can be changed to any other door type that is in the game. Each door type does different things.

What tells us wether this is a door is ISDOOR which in this example is set to FALSE. If it is changed to say TRUE then that will tell bully to make this a door and every section under this door spawn will have this spawn in their relevent spots in the game. In order for said door type to spawn as a door the sections listed under each door spawn will have to be edited in a certain way.

This particular spawn is a window which is usually set in a hallway in the building itself so naturally it is set to FALSE on the ISDOOR part. So for this spawn do not change that or you will be surprised on the problems that can happen in the game by doing so.

Instead we will change another part of the ischool_doors.dat file. So search for the following code:

Code: [Select]
PERIMETER
    BEGIN
        PLACEMENT "SCDoor"
        ISDOOR TRUE
        HEIGHT 1.000000
        DEPTH 0.000000
        NPERIMETERPOINTS 4
        PERIMETERPOINTX 0.000000
        PERIMETERPOINTY 2.500000
        PERIMETERPOINTX 1.500000
        PERIMETERPOINTY 2.500000
        PERIMETERPOINTX 1.500000
        PERIMETERPOINTY -1.500000
        PERIMETERPOINTX 0.000000
        PERIMETERPOINTY -1.500000
    END

This is the first door spawn type that we will look at in this example. If you look at PLACEMENT you will see that is is SCDOOR which is a school door and a rather common one used in many areas in the world map not just in the school itself and you will notice this a lot with the other door types. The door types that you can change PLACEMENT to in this file are as follows:


  • BdrDoorL
  • ESCDoorL
  • ESCDoorR
  • BRDOOR
  • NLock01A
  • NLock01B
  • NLock02A
  • NLock02B
  • NLock03B
  • NLockR
  • LckrGymA
  • LckrGymB
  • LckrGymM
  • FDOORB
  • SCGRDOOR
  • BUSDOORS
  • ASYDOORS
  • EXTWIND
  • SCOBSDR
  • CellDoor
  • OBSDR
  • StalDoor
  • PrepDoor
  • DoorStr1
  • RSGrDoor
  • IndDoor
  • SecDoorL
  • SecDoorR
  • GrDoorR
  • FMDoor
  • TadDoorL
  • TadDoorR
  • DRPDoor
  • TadGates
  • RideGate
  • MotelDor
Feel free to experiment on the door spawn types and see what all happens. There is a possability some of these doors may crash your game but its a slim chance.

Now that we have the door spawn types out of the way, Lets get to changing some things around. In this case we will be removing some door in the school. To do this you simply look at each door type spawn and look for ISDOOR TRUE and if you see that then that means it is a door. To remove the door so you can walk through just change PLACEMENT "SCDoor" to PLACEMENT "" and save. Test out your edit and if you were successful you will see some doors were removed in the school. Try this out in different areas and see what you get. If you remove the doors in the boys dorm...please note that while you can see what is in the rooms which is quite a lot...you will not be able to explore them because you simply teleport to your room when you walk into a dorm room. I am working on a way to circumvent this and will post that info here as soon as I get it figured out. In the meantime this will conclude our tutorial session and I will expand the door tut here with more info in the comming days as I get some time to rest due to how exhausting this tutorial was to type up.

I wll also add screenshots of the examples in this tutorial sometime during the week if I get some time to make them but for now the screenshots graphic in this post will serve as a placeholder.









TO BE ADDED SOON!
« Last Edit: October 30, 2011, 11:55:41 PM by |XF|-MadmaN[AR] »

Offline Rise

  • Jr. Member
  • **
  • Posts: 95
    • View Profile
Re: MEGA Tutorial *WARNING: not a dialup friendly topic*
« Reply #1 on: October 30, 2011, 11:32:44 PM »
Awesome work Madman :)

Offline Carlosvc92

  • Full Member
  • ***
  • Posts: 132
    • View Profile
Re: MEGA Tutorial *WARNING: not a dialup friendly topic*
« Reply #2 on: October 31, 2011, 12:16:55 AM »
I really appreciate this bro, thanks a lot.

Offline MadmaN

  • Bully-Board Admin Team
  • Moderator
  • Newbie
  • *****
  • Posts: 0
  • Gender: Male
  • Biblio-Techa Mods (retired)
    • View Profile
Re: MEGA Tutorial *WARNING: not a dialup friendly topic*
« Reply #3 on: October 31, 2011, 12:47:50 AM »
No problem. It is just hard making the time to put a lot out like this at once due to what Steman and I have been doing lately which takes up a lot of my other time to do this. I will be updating the tutorial near the end here soon in a day or two most likely. Right now I am currently working on a ultra high res picture for hayley that will eventually become a high res texture for bully.

Offline Carlosvc92

  • Full Member
  • ***
  • Posts: 132
    • View Profile
Re: MEGA Tutorial *WARNING: not a dialup friendly topic*
« Reply #4 on: October 31, 2011, 02:03:29 AM »
Lol, I spawned a ped and the schoolbus as pickup items!!

Offline MadmaN

  • Bully-Board Admin Team
  • Moderator
  • Newbie
  • *****
  • Posts: 0
  • Gender: Male
  • Biblio-Techa Mods (retired)
    • View Profile
Re: MEGA Tutorial *WARNING: not a dialup friendly topic*
« Reply #5 on: October 31, 2011, 02:32:28 AM »
hehe...yeah some things that normally are not pickups will end up being such if you spawn them in place of a pickup. It is quite funny tho to play around with it to see what works and what doesnt.

Offline |CallMeBob|

  • Jr. Member
  • **
  • Posts: 20
    • View Profile
Re: MEGA Tutorial *WARNING: not a dialup friendly topic*
« Reply #6 on: October 31, 2011, 03:52:54 AM »
Another amazing tutorial! I needed it alot. Very appreciated! Keep up the good work!

Offline Red Blaster

  • The BB Arab
  • More Than Halfway There
  • *****
  • Posts: 5,649
  • Gender: Male
  • Hi
    • View Profile
Re: MEGA Tutorial *WARNING: not a dialup friendly topic*
« Reply #7 on: October 31, 2011, 04:48:57 AM »
Amazing work, buddy.

Offline MadmaN

  • Bully-Board Admin Team
  • Moderator
  • Newbie
  • *****
  • Posts: 0
  • Gender: Male
  • Biblio-Techa Mods (retired)
    • View Profile
Re: MEGA Tutorial *WARNING: not a dialup friendly topic*
« Reply #8 on: October 31, 2011, 12:28:04 PM »
thx.. :laugh: ..glad both of you liked it. It will be expanded upon as I get time to create screenshots of some the examples plus editing screenshots too to help. If anyone has a question, don't hesitate to ask and I will do what I can to answer.

Offline Prosecute

  • Moderator
  • Full Member
  • *****
  • Posts: 244
  • Gender: Male
    • View Profile
    • NewDayStudios
Re: MEGA Tutorial *WARNING: not a dialup friendly topic*
« Reply #9 on: October 31, 2011, 12:58:48 PM »
excellent work mad, youve outdone yourself here :happy:

Offline Red Blaster

  • The BB Arab
  • More Than Halfway There
  • *****
  • Posts: 5,649
  • Gender: Male
  • Hi
    • View Profile
Re: MEGA Tutorial *WARNING: not a dialup friendly topic*
« Reply #10 on: October 31, 2011, 01:15:34 PM »
I will get around to tooling with this as soon as possible. Specifically the ped spawning.

Now that there's less of a load on your hands (unless you're still hard at work with cracking the door markers completely), could you possibly look into Derby's boss style and see how to spawn it with the evade and without having a character using BoxingPlayer for the block (Jimmy's boxing style)?

There are a couple of people who know how to do it, but I'd like to see a complete tutorial on this, so I can figure it out myself.
« Last Edit: October 31, 2011, 01:57:39 PM by Red Blaster »

Offline MadmaN

  • Bully-Board Admin Team
  • Moderator
  • Newbie
  • *****
  • Posts: 0
  • Gender: Male
  • Biblio-Techa Mods (retired)
    • View Profile
Re: MEGA Tutorial *WARNING: not a dialup friendly topic*
« Reply #11 on: October 31, 2011, 01:34:26 PM »
I can try taking a look but I need to finish with the door markers and doors first plus finish helping Steman with the projects he and I been working together on. Once I do that i can take a look at your request and write up a complete tutorial for it.

Offline Red Blaster

  • The BB Arab
  • More Than Halfway There
  • *****
  • Posts: 5,649
  • Gender: Male
  • Hi
    • View Profile
Re: MEGA Tutorial *WARNING: not a dialup friendly topic*
« Reply #12 on: October 31, 2011, 01:44:24 PM »
No rush, whenever you're ready.

But just a couple of notes when you decide to look for it: Supposedly, the trick to fixing it lies within Trigger mainly, though there is some lua scripting needed too (presumably in Scripts, 2_B?).

Offline MadmaN

  • Bully-Board Admin Team
  • Moderator
  • Newbie
  • *****
  • Posts: 0
  • Gender: Male
  • Biblio-Techa Mods (retired)
    • View Profile
Re: MEGA Tutorial *WARNING: not a dialup friendly topic*
« Reply #13 on: October 31, 2011, 01:54:38 PM »
k I will keep that in mind since I have found fighting references in trigger anyways. I will add tho that bullyimod123 is working on a trainer to possibly make switching fighting styles as simple as pressing a hotkey so if hes successful in this then we wont need to edit the fighting styles using hex anymore. I would be tackling that project myself but I am already stretching myself thin here with all the work I have been doing for the community.

Offline Red Blaster

  • The BB Arab
  • More Than Halfway There
  • *****
  • Posts: 5,649
  • Gender: Male
  • Hi
    • View Profile
Re: MEGA Tutorial *WARNING: not a dialup friendly topic*
« Reply #14 on: October 31, 2011, 01:58:13 PM »
Hmm...that sounds good. Alright then, I'll be waiting.