[MM]IKKE's Map Making Tutorial
#1
[MM]IKKE's Map Making Tutorial

This tutorial will help you with the entire process of making a Sumo map. It's not as hard as it looks like in RDL's thread, and pretty much anyone can do it with a little bit of knowledge and some spatial visualization ability.

We will save everything in the folder of your SAMP Server in this tutorial. The folder that contains this server will be called \SAMP Server\ throughout the whole tutorial. Subfolders will be mentioned accordingly (eg: \SAMP Server\scriptfiles\)
  • Setting up your server

    First, we start off with downloading and configuring your server. You should download the Server .zip file which is located here (click). Extract the .zip file anywhere on your computer.

    Now, open up "server.cfg", which is in the main folder you extracted it to (\SAMP Server\). You can open this file with notepad.

    You will see on the third line "rcon_password changeme". No shit, you need to change this. Choose anything you'll easily remember. As long as your server isn't public (which it will never be in the process of map making), you shouldn't worry about how safe it is. You will most likely not even need to use rcon. If you make a public server, make sure it is secure enough.

    Now open up "samp-server.exe" (\SAMP Server\). If you have done everything correctly according to the tutorial, a command box will appear and stay there. As long as this command box is open, your server is online. It will look like this (with default configuration):
    [Image: Mapmaking1.png]

    If it disappears, something went wrong with the server configuration. Open "server_log.txt" (\SAMP Server\) to see what went wrong. Scroll down to the newest logs & read the error there. Most of the times, it should clearly tell you what went wrong & how to fix it. If you don't know how to, reply here.

    If your server is online, you should open sa-mp. Add "127.0.0.1:7777"(this is your localhost IP, which means you're connecting your computer to istself) to your favourites and you should see your own server information. If not, make sure the command box (samp-server.exe) is opened. You can connect to it if you want, but with default gamemode, no includes, no other people, it will be pretty boring.

  • Loading the jS mapping files

    Now, we will try correctly loading the map making files made by RDL on your server. Luckily, you only need one file to do so: rdlMap.amx. Save this file in "\SAMP Server\filterscripts".

    Now, open "server.cfg" again (\SAMP Server\), and change the default line
    Code:
    filterscripts baseaf gl_actions gl_property gl_realtime gl_mapicon ls_elevator
    to
    Code:
    filterscripts rdlMap

    Open "samp-server.exe" (\SAMP Server\) and connect to your server using your samp client (IP: 127.0.0.1:7777). You have now correctly set up the map maker.

  • Map creation

    If you have joined your server - with default configuration -, the spawning screen will look like this:
    [Image: sa-mp-141.png]

    This is the default Gamemode, created by Kalcor. It doesn't really matter what it does, because you won't need it. It also doesn't matter where you spawn, but Los Santos would be the easiest one, as there is an open sea close to it which is useful for most maps. You can use /v (spawn a vehicle) to get to the location where you want to make a map. Eg "/v Hydra" will spawn a hydra.

    We will now explain how to make an entirely custom map, meaning you don't use the default GTA SA map. If you do use the default building of GTA SA, the map making is similar and even easier - you don't need much decoration.

    The best location to make a new map is in the middle south. It has a big sea and you can fly that much southwards you don't see anything of the default map anymore (but remember not to get too much to the south, the map has its limits too). Here's a picture of the location on the map:
    [Image: Mapmaking3.jpg]

    If you arrived on the place you want to make your map, type "/create 13607". This will create a Sumo ring. Congratulations, you have made your first object! This is where your map starts and where the people will spawn - at least that's how I do it, to make the vehicle spawning easier. If you don't want a Sumo Ring, use any of the other objects you find suitable

    Here are the command available for you to use (copied from RDL's thread):
    • /help - See a list of these commands in game
    • /create [ID] - Create An Object
    • /destroy - Delete the selected object
    • /osave - Save the selected object
    • /sel [id] - Edit an already created object (Select)
    • /wipe - Reset and wipe everything
    • /savemap [name] - Save the map to the scriptfiles folder of the server (\SAMP Server\scriptfiles\). If you do not specify a name, it will use 'default'. The file will be called mapname.txt and will have your objects in CreateObject format, all pre-formatted and ready to copy-paste into your script. Make sure to do this regularly!
    • /v [vehiclename] Spawn a vehicle - The name can be partial or full name. (Tur, or Turismo, both will spawn a Turismo). Removes previous vehicle for your ID, if any
    • /clone [ID] - this will clone the object specified. If you didn't /osave the previous object, it will clone the object you were editing (and save that object)
    • /warpto [X] [Y] [Z] - This will warp you to your current position + (x,y,z). To go 5 units up, do /warpto 0 0 5
    • /spawnloc - this will set your spawn location to your current location
    • /oid - Display all model ids and the objectids on current objects in the game.

    Object Position:
    • /x [amt]
    • /y [amt]
    • /z [amt]
    Leave amount blank to edit it by 1 unit.

    Object Rotation:
    • /rx [amt]
    • /ry [amt]
    • /rz [amt]
    Leave amount blank to edit it by 1 unit

    In this topic (click), you can find common objects which a lot of maps use.

    This is my person object list:
    Code:
    // Important Objects
    Sumo Ring = 13607
    Sumo Ring Fence = 13623
    Airport road 8171
    7017 = the grid fence
    970 = other fence?

    // Roads
    3458, 8558 Wooden Thin Path (used in Owls)
    18450 Generic Road (Used in Triple The Fun, Oasis, etc..)
    12857 Countryside Wooden River Crossing Road

    //counter strike
    3095 - platform
    14387 - stairs
    7191 - wall
    6959 - base
    944 - crates

    // Army vs Terrorists
    16054 - buildings
    16051 - old wooden shed
    16053 - buildings
    16689 - buildings
    16690 - church
    16410 - graveyard
    16052 - graveyard entrance
    16108 - snake farm

    //stuff for No Exit and Desert Storm
    Giant road loop 18801
    18844 Water cage
    9683 bridge
    11484 Dam stuff
    12856 bridge
    17695 bridge

    Buildings

    LV
    8499
    8498
    8489
    8480
    7584
    6873

    LS
    4602
    4564
    4563 + 4715
    4550
    4585
    4586
    4825 + 4826 - castle
    4828 - airport futuristic building
    10755 - SF airport

    SF
    10945 (11410)
    10871 (11411)
    9900
    9907

    //solid lights
    7315 (casino sign)
    3437 (blue light)
    8393 (casino escalator)
    8397 (pilar egypt)
    4985 (pilar light - airport)

    //unsolid lights
    18647-18652 (neon)
    7230 (clown light)
    9123 (blue light above escalator)
    7892 (neon lights from building)
    3872 (white light)
    18656-18658 (strobe lights)
    19281-19298 (lights in air + flashing - 19295-19298 are big bulbs)
    19299 (moon)
    1559 arrow

    //cool stuff like ND
    8480 - buildings
    3873 - futuristic building
    10945 + 11410 building
    10755 - SFAP
    4828 - airport futuristic building


    7916 - water

    //stones
    7588  (casino)
    17299
    17030
    17033
    18228

    //desert plates (grey)
    16209
    16208
    16261
    16202
    16204
    16210
    16684 (AA)
    16685 (AA2)

    //Desert mountains
    16258
    16197
    16195
    16192
    16253 (penis mt)
    16097
    16201

    //Desert stones
    16122
    16675
    16104
    16131
    16133

    //Desert attributes
    16335 (TV distr)
    16613 (big ear)
    3673 (oil refinery)
    3426 (oil pump)
    11540 (Sherman Dam)
    16376 (Power station Dam)

    // Trees
    727
    731
    733
    771
    767
    884
    693
    622
    697
    691
    617
    (There are alot more trees, but these are the most often used)

    //roadblocks
    1424 - old metal roadblock (smallfence BREAKABLE)
    4504 - cuntw_roadblockld (bigger, 4 fences)
    4505 - cuntw_roadblock01ld (concrete fence)
    4506 - cuntw_roadblock02ld (2 concrete fences)
    4507 - cuntw_roadblock03ld (smaller, 2 fences)
    4508 - cuntw_roadblock04ld (bigger, 4 fences)
    4509 - cuntw_roadblock05ld (bigger, 4 fences)
    4516 - roadblock (bigger, 3 fences, lots of stuff)
    4524 - big roadblock (very big, 6 fances, diagionally)
    4527 - small roadblock (3 fences, no signs)
    1422 - breakable small roadblock
    981 - cool roadblock with flares

    //Los Desperados
    1413, 1412 - fence
    3625 & 3573 - containers
    5007 - airport fence
    3567 - airport car
    3593 & 3594 - car wreck

    // Other stuff
    2918 The orange sea mines that bounce larger vehicles off them
    1683 Large Boeing Model Plane
    1681 Shamal Model
    10757 Rustler Model
    3425 Old Wooden Windmill
    16533 Pipes (Used in Oil Field Capers)
    16086 Pipes (Used in Oil Field Capers)
    1245 Wooden Ramp
    1660 Ramp
    1283 Traffic Lights
    1307 Generic Telegraph Pole 1 (Used in LS & Countryside)
    3875 Generic Telegraph Pole 2 (Used in SF)
    3459 Generic Telegraph Pole 3 (Used in LV)
    1306 Square telegraph pole
    1297 Lampost
    3173 Caravan with Awning
    3170 Caravan
    3171 Nice looking Caravan
    3175 Ugly Caravan
    3174 Ugly Caravan 2
    3168 Caravan
    3244 Electriciy Pylon
    1278 Tall Floodlight
    1412 Chain Link Fence
    3276 Wooden Side Fence
    1447 Chain Link Fence with Metal shit attached
    1454 Bale of Hay
    3851 Wang Auto Windows [BREAKABLE GLASS]
    3284 Nice little house
    3283 Nice little house 2
    3374 Big square bales of hay, breaks if hit enough times.
    Try to keep track of the object IDs you use the most. Do like I do, save them in a file. It is very useful to sort them by theme if you like making themed maps. You can also separate them in different topics, such as "roads", "trees", "fences", ...

    You can find the desired objects using a map viewer. The most common one around SAMP is JernejL's map editor (click).

    Create an object using /create [objectid]. Now edit the object position using /x, /y or /z. You can set object rotation using /rx, /ry and /rz.

    This is how rotation works:
    The pillar is the default orientation. The wooden thin path will be rotated, each time by 45°

    This is how it looks with the same orientation - pillar aiming for the north
    [Image: sa-mp-142.png]

    /rx
    [Image: sa-mp-143.png]

    /ry
    [Image: sa-mp-144.png]

    /rz
    [Image: sa-mp-145.png]

    When you correctly finished your object, use /osave (= objectsave). Then, /create a new object and continue making your map. If you want to edit an already existing object, use /sel [ID] (= select). If you want to make a nice area with one single object, use /clone [ID]. It will save you a lot of time.

    If you clone a some objects but they still overlap each other slightly, you will see that both objects there are z-fighting. This looks very ugly & may cause lag on some older PCs. You can simply fix this by moving the object almost unnoticably lower: "/z 0.001"

    When you have finished your map, type /savemap [Map name]. This will save all the objects you have created. Make sure to also regularly use /savemap while making your map: you don't want to lose your progress!

    Now, scan your map for some nice place. The place for the spawn screen. If you have found one, Type "/save playerpos". Go to the place you want to look at and type "/save lookat". Then go to the lowest place on your map on which vehicles are supposed to drive and type "/save z-falloff". This will be useful for the map generator. Note that this is a client-side command (NOT a server command), thus this location will be saved into "GTA San Andreas User Files\SAMP\savedpositions.txt", with format:
    Code:
    AddPlayerClass(skin id,X,Y,Z,Angle, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo); // comment
    Example:
    Code:
    AddPlayerClass(101,775.1478,-3714.3743,21.4015,0.0000,0,0,0,0,0,0); // playerpos
    AddPlayerClass(101,754.4209,-3738.9980,14.7499,125.9612,0,0,0,0,0,0); // lookat
    You only need X, Y and Z. So in this case, playerpos will be: "775.1478,-3714.3743,21.4015".

    You will find more about the positions further in the tutorial, under Map Generating.

    NOTE: If you accidentally closed your gta_sa.exe during map creation or if you lost connection to your server, don't panic. The objects have been saved to your server, not to your client. Open your client again and then type /savemap.The objects will be saved the same way we have already described before. Do not close your comand box (samp-server.exe) if you are not 100% sure you have saved your map.

  • Vehicle generating

    There are currently 3 possibilities to generate vehicles. You can make vehicle spawns with an automated server file, or you can manually add them in-game. The automated server file requires you to have at least 2 unobstructed sumo rings (object ID: 13607). Manually adding vehicles will require you to already make the map playable before creating the spawns. More about that in the appropriate section.
    • Using 2 or more (almost) unobstructed Sumo rings

      We will now generate the vehicle spawn places, assuming you have made at least 2 Sumo rings without any objects on the outer part of it. Some smaller objects on the middle won't affect it. It's the easiest way to spawn stuff, but make sure you test it correctly afterwards.
    • Automated Generation by Map Generator

      This is by far the simplest way of spawning vehicles. It's done all in one go, and automaticlaly. When you are generating your map, with at least 2 unobstructed sumo rings, select the 'Auto Generate Spawns' option at the bottom. The map generator will then automatically create viable spawns and add them to the outputted map file. Done!
    • Manual Automation Script

      A slightly more complex way of auto-generation. Unlike above, this lets you select how many spawns you want per ring, whereas the above option will automatically balance the amount of vehicles per ring.

      First off, you need to download the Vehicle Creation files. You can find these here (click). Save it to "\SAMP Server\Sumo" to keep it easy to find. Notice how the other server files are there as well. The file we need is "VEHGENERATOR.pwn". Copy-paste this file to the directory "\SAMP Server\gamemodes".

      We will now need to find the right position of those rings. If you have correctly saved your map, the objects you made will be under "\SAMP Server\scriptfiles\MapName.txt". You will see the objects you created in the format:
      Code:
      CreateObject(ObjectID,X,Y,Z,X-rotation, Y-rot, Z-rot)
      You need the X, Y and Z - notice that these spawning rings shouldn't have any rotation set (0,0,0)!

      Open VEHGENERATOR.pwn (using "pawno.exe" under "\SAMP Server\pawno") in the gamemode directory and you will see close to the start of the file:
      Code:
      SaveSumoPlatformVehicles(437,X,Y,Z, 25, 33.63, 1); // 1
      The format is:
      Code:
      SaveSumoPlatformVehicles(437,X,Y,Z, AMOUNT OF VEHICLES, radius, 1); // 1

      Replace X,Y,Z with the position of your own platforms & edit the amount of vehicles accordingly. Do not edit the radius. Now, press F5 - this will compile it which means your pawn editor will make a .amx file. You don't need to know the technical difference between .amx files & .pwn files, but to put it simple: You can read .pwn files, your computer can read. amx files.

      This picture shows everything:
      [Image: Mapmaking2.png]
      1. The file in which your created objects are. Look for 13607 - the Sumo rings. If you made those first, it's easy to find.
      2. The VEHGENERATOR.pwn with edited positions
      3. The compile window. Ignore the warnings if there are any (this picture was taken with an old version of VEHGENERATOR). If you get ERRORS, please reply in this topic with a screenshot of them

      Now, open "server.cfg" again (\SAMP Server\) and change
      Code:
      gamemode0 grandlarc 1
      to
      Code:
      gamemode0 VEHGENERATOR
      This means you are changing the gamemode of your server. This is necessary, because your server has to run VEHGENERATOR.amx in order to create the vehicle files.

      Open "samp-server.exe" (\SAMP Server\. You do not have to join the game nor open your client. You'll notice you have created a file "vehicles_1.txt" in "\SAMP Server\scriptfiles\". These are the correct spawn positions of the vehicles.

    • Manually adding the vehicles

      If you don't have 2 unobstructed Sumo rings, there is still a way to create your vehicles. However, note that this method will be a lot slower than the previous generator file.

      The file you need here is VehCreator.amx (click). This is a filterscript, just like rdlMap.amx. This means you have to put it in "\SAMP Server\filterscripts", the same folder in which rdlMapshould be in.

      There are a few things we need to address before generating your vehicles this way. First of all, you have to make sure you already saved your objects (/savemap). If you followed this tutorial entirely, this should already have been done. If you haven't done this, you may lose your objects.

      Secondly, is your server still running with the objects in it? In other words, can you join your server now & see the map you have created? If the answer is yes, continue with the tutorial & add the vehicle spawns. If the answer is no, you will need to skip this part of the tutorial & generate the map already. There will be instructions about how to do this without adding your spawns in the appropriate parts. When it mentions that you need to create vehicle spawns, return to this section. It is recommended to let your server run during the entire process of map making, but this may not be possible due to circumstances.

      Lastly, there may be an issue if you decide to run the 2 filterscripts (rdlMap& VehCreator) at the same time. Namely, they both use the command /help. This may cause issues for you. You can fix this by unloading rdlMapas a filterscript. If you unload rdlMap, you will need to make sure your objects are already saved somewhere! rdlMap is the file that saves your objects, so unloading it without saving means you have lost all your progress. Unloading rdlMap will also make all your objects disappear. In this case, you will also have to skip to generating the map file & return when you are told to.

      If you are familiar with the commands to generate spawns (you don't need /help anymore) & your server is still running, the easiest way to manually spawn vehicles is to keep jSMap loaded & load VehCreator on top of it.

      So, to continue making the map, we'll have to generate spawns. We will save our map first (/savemap) in order not to lose progress. Now, we have to load the VehCreator filterscript. We can do this by first logging in on the RCON: use "/rcon login <password>. You can find this password in your server.cfg (\SAMP Server\). This is where the tutorial started (if you remember, it was "changeme" by default). Now, load the filterscript by typing "/rcon loadfs VehCreator". You can now use the Vehicle Creation commands on your own map. These commands are listed under the following paragraphs.

      RETURN HERE TO ADD YOUR SPAWNS AFTER GENERATING YOUR MAP. Ignore the following paragraphs if you were following the tutorial above (using rdlMap & VehCreator at the same time). Skip to the "available commands" part.

      Now you have generated your map file, you still have to manually add your vehicle spawns. We do this by loading your map on your server. Open "server.cfg" again (\SAMP Server\) and change
      Code:
      gamemode0 grandlarc 1
      to
      Code:
      gamemode0 MapName
      You are changing the gamemode of your server. MapName is the way you have saved your map after getting the map files from sumoserv.com/map. Your map already has to be compiled, meaning "MapName.amx" needs to be present in your \SAMP Server\gamemodes\ folder.

      You also have to load the filterscript VehCreator (\SAMP Server\filterscripts\) on your server in order to use the commands. You do this by changing
      Code:
      filterscripts rdlMap
      to
      Code:
      filterscripts VehCreator
      You can now run your server with your map loaded & with the Vehicle Creation files loaded. Use the commands listed below to add your spawns.

      The available commands are:
      • /savesumo - Manually save a vehicle location. You have to be in a vehicle when using this command.
      • /csave - Create a small circle of five vehicles - suitable for smaller loadouts (when no dumpers spawn, for instance).
      • /bcsave - create a larger circle of five vehicles - suitable for larger loadouts (when you use NORMAL as vehicle loadout)

      Add all 50 spawn places using these commands. Make sure there's enough place for the biggest available vehicles to spawn (on NORMAL, this is Dumper, Combine and Coach) and that two spawns don't obstruct each other. They are saved automatically.

      After successfully adding all vehicles, you should have all spawns in a file named "spawns.txt" (which is under "\SAMP Server\scriptfiles\").

      If you have already generated your map, use this section to add the spawns to your map files. If you haven't done that, skip to the Map Generating section

      Open your gamemode MapName.pwn (\SAMP Server\gamemodes\) and paste these lines (spawns.txt in \SAMP Server\scriptfiles\) to the place you previously didn't add the vehicles. This would be at the bottom of your map file, under "SetupDynamicSpawns()"
      Code:
      SetupDynamicSpawns(){
      //this needs to be added
      }

      Paste the contents of your spawns.txt file (\SAMP Server\scriptfiles\) there. It should look like
      Code:
      SetupDynamicSpawns(){
          AddDynamicSpawn(630.754150, -3816.739013, 25.270000, 194.000000);
          AddDynamicSpawn(623.101684, -3819.676513, 25.270000, 208.000000);
          AddDynamicSpawn(616.387145, -3824.378173, 25.270000, 222.000000);
          AddDynamicSpawn(611.009460, -3830.564453, 25.270000, 236.000000);
          AddDynamicSpawn(607.288146, -3837.867919, 25.270000, 250.000000);
          AddDynamicSpawn(605.444213, -3845.854736, 25.270000, 264.000000);
          AddDynamicSpawn(605.587280, -3854.050537, 25.270000, 278.000000);
          AddDynamicSpawn(607.708801, -3861.968017, 25.270000, 292.000000);
          AddDynamicSpawn(611.682800, -3869.137451, 25.270000, 306.000000);
          AddDynamicSpawn(617.273071, -3875.132080, 25.270000, 320.000000);
          AddDynamicSpawn(624.147583, -3879.596679, 25.270000, 334.000000);
          AddDynamicSpawn(631.897949, -3882.265136, 25.270000, 348.000000);
          AddDynamicSpawn(640.063659, -3882.979736, 25.270000, 362.000000);
          AddDynamicSpawn(648.159729, -3881.697265, 25.270000, 376.000000);
          AddDynamicSpawn(655.705017, -3878.494628, 25.270000, 390.000000);
          AddDynamicSpawn(662.251403, -3873.561523, 25.270000, 404.000000);
          AddDynamicSpawn(667.409851, -3867.191406, 25.270000, 418.000000);
          AddDynamicSpawn(670.874023, -3859.762451, 25.270000, 432.000000);
          AddDynamicSpawn(672.438110, -3851.716064, 25.270000, 446.000000);
          AddDynamicSpawn(672.009094, -3843.530273, 25.270000, 460.000000);
          AddDynamicSpawn(669.612548, -3835.691650, 25.270000, 474.000000);
          AddDynamicSpawn(665.390808, -3828.665527, 25.270000, 488.000000);
          AddDynamicSpawn(659.594726, -3822.869384, 25.270000, 502.000000);
          AddDynamicSpawn(652.568542, -3818.647460, 25.270000, 516.000000);
          AddDynamicSpawn(644.729797, -3816.250976, 25.270000, 530.000000);
          AddDynamicSpawn(409.144165, -3793.638916, 24.280000, 194.000000);
          AddDynamicSpawn(401.491668, -3796.576416, 24.280000, 208.000000);
          AddDynamicSpawn(394.777130, -3801.278076, 24.280000, 222.000000);
          AddDynamicSpawn(389.399475, -3807.464355, 24.280000, 236.000000);
          AddDynamicSpawn(385.678131, -3814.767822, 24.280000, 250.000000);
          AddDynamicSpawn(383.834228, -3822.754638, 24.280000, 264.000000);
          AddDynamicSpawn(383.977294, -3830.950439, 24.280000, 278.000000);
          AddDynamicSpawn(386.098815, -3838.867919, 24.280000, 292.000000);
          AddDynamicSpawn(390.072753, -3846.037353, 24.280000, 306.000000);
          AddDynamicSpawn(395.663055, -3852.031982, 24.280000, 320.000000);
          AddDynamicSpawn(402.537567, -3856.496582, 24.280000, 334.000000);
          AddDynamicSpawn(410.287933, -3859.165039, 24.280000, 348.000000);
          AddDynamicSpawn(418.453674, -3859.879638, 24.280000, 362.000000);
          AddDynamicSpawn(426.549682, -3858.597167, 24.280000, 376.000000);
          AddDynamicSpawn(434.095001, -3855.394531, 24.280000, 390.000000);
          AddDynamicSpawn(440.641357, -3850.461425, 24.280000, 404.000000);
          AddDynamicSpawn(445.799865, -3844.091308, 24.280000, 418.000000);
          AddDynamicSpawn(449.264038, -3836.662353, 24.280000, 432.000000);
          AddDynamicSpawn(450.828063, -3828.615966, 24.280000, 446.000000);
          AddDynamicSpawn(450.399078, -3820.430175, 24.280000, 460.000000);
          AddDynamicSpawn(448.002532, -3812.591552, 24.280000, 474.000000);
          AddDynamicSpawn(443.780792, -3805.565429, 24.280000, 488.000000);
          AddDynamicSpawn(437.984680, -3799.769287, 24.280000, 502.000000);
          AddDynamicSpawn(430.958557, -3795.547363, 24.280000, 516.000000);
          AddDynamicSpawn(423.119781, -3793.150878, 24.280000, 530.000000);
      }
      Compile your map (F5). It shouldn't give you any errors or warnings. If it does, reply in this topic.

      After doing this, you can go to the Map Testing section.

  • Map generating

    We will now generate your map. Go to http://sumoserv.com/map and login with your Sumo account. Here's a list with all settings:
    • Map Name: the name of your map
    • Author: who made it - your server name by default
    • SetPlayerPos: the position you saved when finished the map. Under ""GTA San Andreas User Files\SAMP\savedpositions.txt" with comment //playerpos
    • SetPlayerCameraPos: the position the camera should be set on. Use the same as SetPlayerPos, but do Z + 5 - this is the easy way.Click for picture!
    • SetPlayerCameraLookAt: the place you want to look at, also in the same file (with comment //lookat) This and the before is used to create a nice overview on map load.
    • Vehicle Loadout: Choose the loadout of your vehicles. This will change the type of vehicles that spawn on your map. You can make a custom one. If you need help with that, ask in thread.
    • Z_Falloff: Also in the savedpositions file, with comment //z-falloff. You only need the Z (see note).
    • The other settings speak for themselves and have a description next to it
    • The first textbox is where you need to paste your "CreateObject" lines. Get these from "\SAMP Server\scriptfiles\MapName.txt".
    • The second textbox are the spawning locations. Get these from "\SAMP Server\scriptfiles\vehicles_1.txt" if you have generated them with VEHGENERATOR.pwn. If you manually added the spawns, they will be in "\SAMp Server\scriptfiles\spawns.txt". If you don't have the vehicle loadout yet, type "//this needs to be added". That will add a comment in your final map file.
    • The third textbox is used for RemoveBuildingForPlayer. This allows you to remove objects from the default map world, this is how maps like Roadways are made. JernejLs map editor is the quickest for deleting objects.

    NOTE: When we refer to the position saved in "savedpositions.txt", we mean only the 3 numbers which specify the position. In case of "AddPlayerClass' (which is when you /save while being on foot), it is:
    Code:
    AddPlayerClass(skin,x,y,z,z_angle (camera),weapon stuff);
    Example:
    Code:
    AddPlayerClass(281,600.5926,-2544.6016,31.6848,93.6639,0,0,0,0,0,0);
    YOU ONLY NEED "X,Y,Z". Which is, in the case of the example: "600.5926,-2544.6016,31.6848"

    Naturally, you only need the Z for Z_FALLOFF

    Please tick the advanced box if any of the following apply, or any of the settings mentioned interest you. Note that after checking the box, the settings for them need manually editing after it has generated the map. This only adds the extra data to the map for later editing currently.
    • The map includes weapons, then set MAP_INCLUDES_WEAPONS to 1. Failing to do this will trigger the anti-cheat on innocent players!
    • The map alters your health, then set AC_DISABLE_HEALTH_DETECTION to 1. Failing to do this will trigger the anti-cheat on innocent players!
    • The map alters your speed, through any method, then set MAP_USES_SPEED_ALTERATION to 1.Failing to do this will trigger the anti-cheat on innocent players!
    • The map can allow vehicles to go abnormally fast, then set MAX_SPEED_ALLOWED to the max allowed speed in MPH (default is 125). Failing to do this will trigger the anti-cheat on innocent players!
    • If you want Sumo to not actually use 'fall off', then enable and set DISABLE_Z_DETECTION to 1.
    • FIRE_TRUCK_RESCUE_AMT: This is the amount by which being saved from fire by a S.W.A.T or water based Firetruck will heal you by. They only heal you if you're on fire, else they have no effect. This only works if you have ENABLE_FIRE_TRUCK_RESCUE enabled.
    • DISABLE_ACHIEVEMENTS: Just like the normal map generator. If set to 0, it will NOT disable achievements - they are enabled. If set to 1, achievements will not be rewarded. Use this when you have a map where you can achieve something fairly easy. For instance, a huge map including repairs: Evasive Action shouldn't be rewarded here!
    • FORCE_DUEL_CARS: To...force which car duels should use. If someone decides to duel on your map, then it will always give this car. You need to specify: FORCE_DUEL_CARS = MODEL_ID of the vehicle you want. You can find the IDs here (click) (model names would work as well, but are much more likely to bug (~case sensitive)). Do not use this to spawn trams or trains, they work different!
    • DISABLE_DEJAVU: Disable the achievement DeJaVu being winable on this map. Set this to 1 if you use any vehicle loadout that is not standard to Sumo
    • DISALLOW_RTD: Prevent roll the dice / chance being used on this map. 0 Means it is ENABLED (RTD is usable), 1 means it is DISABLED (RTD is never allowed).
    • DISABLE_VRATING: Prevent vehicle ratings from being altered or used on this map. 0 is VR ENABLED 1 is VR DISABLED. This also prevents extra bad or good vehicles for thos who already have a bad/good rating, everyone is treated as having 5/10 rating.

    Generate your map after filling in all the needed information. A new web page will load. Note: Do not submit your map file if you're not planning to finish your map any time soon.

  • Map Testing

    You will now see it says "Map Generation: Files Generated". And two other buttons.

    Click on "View Map File", open pawno.exe ("\SAMP Server\pawno\pawno.exe"), open a new file. Remove everything that's already written in this new file. Now copy-paste the Map File from the website. Save it as "MapName.pwn" (without blanks) under "\SAMP Server\gamemodes\". Hide the Map File.

    You have now saved the game mode itself, this is the file The Sumo Server uses. You still need to test your map though before it gets added to the server. In order to make your file usable on YOUR computer, we need to add another file: the Test Include

    Click on "View Test File" and again open pawno.exe, create a new file and save it as "jSSumoTestMapName.inc". This is without any blanks. Notice how the extension of the file is .inc instead of .pwn. You have to type this manually yourself! Save this under "\SAMP Server\pawno\include\". We're aware it says "Save it as jSSumoTest.inc", but if you add the Map Name, it will be easier to test other maps if you make more than one. You do not have to compile this file (do not use F5).

    You will also need the files which contain the vehicle loadouts. You can find those here (click). You only need to download this file ONCE. Thus don't download it if you already used this file on a previous map - it's the same for any map. Extract it to "\SAMP Server\pawno\include\".

    Open your Map File (\SAMP Server\gamemodes\) and go to one of the first lines. This line will say "#include <SumoCore2_upd>" (or something similar to that). Change this to "#include <jSSumoTestMapName>". This refers to the include you've made. If you do it RDL's way, you'll need to change the include file name each time you load another map since you didn't include the MapName in jSSumoTest.inc.

    Hit F5 - compile. You should not get any errors; although there might be some warnings. If you do get errors or warnings, reply in this topic. Check if there's a file "\SAMp Server\gamemodes\MapName.amx": this is the compiled file you need in order to run the server. Your files are now ready to run on your server

    Open "server.cfg" (\SAMP Server\) and replace
    Code:
    gamemode0 VEHGENERATOR
    or
    gamemode0 grandlarc 1
    by
    Code:
    gamemode0 MapName
    . You've loaded your map into your server. Hit "samp-server.exe" (\SAMP Server\), open your samp client and join your own server. You should now be able to properly play your map. If the command box of your server closed right after starting it, read your "server-log.txt" (\SAMP Server\) & reply here. Notice how rdlMap is still loaded as a filterscript here!

    NOTE: If you haven't created your vehicles yet, return to "Manually adding the vehicles". rdlMap needs to be unloaded in this case. It is explained how to do so in that section. Then return here & continue testing your map.

    The commands available here are:
    • /unf: unfreezes you
    • /kill: respawns you to your spawn location
    • /spawnall: spawns random vehicles on every spawn place
    • /spawnbig: spawns buses
    • /spawnsmall: spawns landstalkers
    • /spawnhuge: spawns dumpers, harvesters, ... we only use this one - if this one works, all the rest will work as well
    • /destroyall: destroys all vehicles
    • /zcheck: check if you'd be eliminated at the place you're currently at
    • As you've still loaded rdlMap, you can still use "/v <vehicle>"

    First, test your spawns. Type /spawnhuge & see if none of the vehicles are stuck or in any way not usable.

    Secondly, drive around your map, do /zcheck on low places (and high ones if you set MAX_Z) to check for possible errors. If it says that you're below the Z_CHECK on a place where it shouldn't be, edit your gamemode file accordingly. Make sure all your settings are correct

    Thirdly, try finding some "escape places", places where the players can get out of the map. You'll need to add fences here if this is the case. Make sure your map is solid everywhere, because some objects aren't (if you don't know what solid means: check "Deception"). Also, the other way around, some objects are invisible yet solid (eg the downside of an airport road is invisible but you can take damage if you drive into it). And don't make too much objects on one place, it increases the chance of crashing the player or making his FPS drop.

    Eventually, you need to check if your map is playable with every vehicle. Make sure bikes can't go to any place unreachable for cars. Remember that packers might also spawn, helping people to reach roofs. Big vehicles should be able to reach everything on the map (or at least a big part of it). Test if the coach can take all the turns, because it's a very bad vehicle for this. Lame vehicles, like "tug" should also be able to reach most of the map, referring to highly angled roads. And the other way around, try avoiding areas where these small vehicles can go but no others. You can fix these problems either by changing the vehicle spawning options (eg NO_BIKE).

    If you didn't find any bugs or flaws, skip the Map Editing section and Spam RDL's ass right away. If there are mistakes in your map, go to Map Editing. If you want to add more objects to your map or if you need to create fences that block off possible escape routes, go to Map Editing

  • Additional: Map editing

    This part is when something went wrong with your map, or some setting has to be changed. Look at "Default Map" if you doubt about how you should edit it.

    If the Z_Falloff is too high (= it says you'd be eliminated in an accessible part of the map), you should edit the value manually. Open your gamemode (\SAMP Server\gamemodes\mapname.pwn) and you'll see at the start of the file "Z_FALLOFF = value". Lower the value (or increase it if necessary). Compile and restart your server. If you don't close your gta_sa.exe, it'll reconnect automatically (saves some time). Test it again.

    Assuming there are some places you need to protect, or you just want to edit your map or add objects, you probably don't want to re-create your map entirely. You can do this easily by loading your game mode AND loading the rdlMap filterscript. If you followed this tutorial entirely, you won't need to change anything. Use the rdlMap commands to add fences or other new objects. If you want to add a block without making your map ugly, use an airport road (object ID: 8171). The downside of this object is invisible.

    When you're done doing this, type "/savemap MapName". This will - again - create a file with the "CreateObject" lines, under "\SAMP Server\scriptfiles\". Copy all these CreateObject lines, and paste them behind the already existing CreateObject lines in your gamemode (\SAMP Server\gamemodes\MapName.pwn). Hit compile (F5) again and restart your server.The new objects should now appear.

    Editing already existing objects is harder. You need to open your gamemode file (\SAMP Server\gamemodes\MapName.pwn), look for the object you want to edit and delete the line. Then do the same process as adding new objects. It is hard to find already existing objects in the pawn editor so try to avoid the need of doing this.

    If you want any other setting to be edited, you can easily do it manually. Most of the settings are quite obvious (eg ENABLE_REPAIR). If you really don't see a way out, reply in this topic.

    You also do not need to download a new test file (the include) after editing your map.

    Keep doing the above steps until your map is flawless. If you overlooked a flaw in your map & it was reported on the forums, return to this section of the tutorial & adjust it accordingly.

    When you have finished completin your map, it is time to remove some unnecessary files. Your server only needs "MapName.amx", however, it is STRONGLY recommended to keep "jSSumoTestMapName.inc" (\SAMP Server\pawno\include\) and "MapName.pwn" (\SAMP Server\gamemodes\). This way, you can still edit your map if necessary. ".amx" files are encoded and it is not easy to revert it back, so keep the readable .pwn files! On the contrary, you are advised to delete/rename/wipe the "vehicles_1.txt" file or the "spawns.txt" file (both in "\SAMP Server\filterscripts"), and the client-side "savedpositions.txt" (GTA San Andreas User Files\SAMP). Otherwise, when making another map, the new spawns will be added to the current ones, which might make you copy too much spawns upon creating. You can delete "MapName.txt" (with the objects), but you are not obliged to. I personally don't keep these, as the CreateObject lines are already in my "MapName.pwn".

    To summarize: keep MapName.pwn, MapName.amx & jSSumoTestMapName.inc. The other files (vehicles_1.txt, spawns.txt, savedpositions.txt & MapName.txt) are not necessary to keep.

    Your map should now be entirely finished and working. Time to get it on Sumo, isn't it?

  • Spamming RDL's ass

    You should now re-upload your map to the website. Either your map has already been stored correctly on the server if your map didn't have any flaws, either you still need to edit it a bit, which you can do using the "Edit" button on the map maker page. Just overwrite the already existing Map File there. IMPORTANT: When testing your map, you changed the include your map uses to "jSSumoTestMapName". The server cannot use this. Change it back to the original one (eg #include SumoCore2_upd)

    Use this link (click to send your map. You don't need to make an entire well-composed message to RDL, just say you've made a map. Include the unique ID linked to your map. He'll reply when it'll be released on the server, or call you a "stupid twat" if you messed up something trivial. You can also use IRC.

  • Making another map

    You can easily make other maps after making your first map. Edit the "gamemode0" line in "server.cfg" to "grandlarc" again, the default map. Make sure "rdlMap" is still loaded as a filterscript.

    Create objects, save the map, use the vehicle generator, generate file. Then save the map file again, also the test file ("jSSumoTestMapName") - don't download VARRAYS.zip anymore. Compile the map, change the "gamemode0" line and you can test it again.

    Pluspoint of following this tutorial is that you should only change the gamemode0 line in "server.cfg" to play previous maps or make a new one. No need to do anything else.

  • Mapping Files
    • SAMP Server Package: This contains the SAMP Server. You only need to download this once unless SAMP updates (eg 0.3x to 0.3z)
    • rdlMap.amx: The file needed to create your objects.
    • JernejL's Map Editor: You can use this to look for object IDs
    • VEHGENERATOR.pwn: This one allows you to generate spawns on unobstructed Sumo Rings
    • VehCreator.amx: The file you need to manually add objects to your map
    • VARRAYS.ZIP: These are the includes contains the spawn info of the different vehicle loadouts.

  • Default Map

    This is how your map file SHOULD look like. The map used in the example is "Desert Storm". If you get errors in pawno, it shows up as "\SAMP Server \gamemodes\MapName.pwn(line) error <error message>". Reading the error and skipping to the line can be VERY enlightening! If you don't know how to fix it, reply in this topic.

    We've added comments. Comments are behind 2 backslashes (//). You do not need to follow the comment format. Comments are to be ignored. Comment in your own script (at the end of a line, or a new one) if you want to remember stuff etc.

    Code:
    //////////DO NOT EDIT THE BELOW THREE LINES - IT IS USED BY SUMO TO DETECT IF THIS MAP IS COMPATIBLE////////
    // This file was generated using v1.0.2 of the generator.
    // This file was generated at Sunday 29th of April 2012 07:42:51 PM.
    // This file is valid for Sumo 3.7.2 and higher. It will work on no earlier versions.
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // BEGIN YOUR MAP DATA - THIS IS A FULL FILE. IT CONTAINS CORE SUMO / SA:MP DATA AS WELL AS YOUR MAP DATA //

    #define MAPMAKER "This map is 'Desert Storm' and made by [MM]IKKE"
    #define AUTHOR "[MM]IKKE" //Your nickname
    #define MAP "Desert Storm" //Map Name, if you screw this up, you're officially a retard
    #include <a_samp> // SA:MP Include. Don't touch this
    #include <NORMAL> // This is your vehicle loadout. It's an include file in an arrayed format. This can also be "NO_BIKES", eg.
    #include <jSSumoTestDesertStorm> // Include the current version of the Sumo core. CHANGE THIS LINE FROM THE DEFAULT CORE LINE. On your SUBMITTED MAP, it needs to go back to whatever it was before!



    // Begin bulk map data.
    public OnGameModeInit() //This is a function when you start your Gamemode (basically upon starting your server)
    {
        SendRconCommand("mapname Desert Storm"); // update server info with new map. This will change the mapname as shown in your SAMP client
        // Load a skin, at the co-ords you set for SetPlayerPos.
        AddPlayerClass(SKIN_ID,775.1478,-3714.3743,21.4015,0.0,0,0,0,0,0,0); //AddPlayerClass(SKIN_ID,x,y,z,camera angle,weapon stuff set to 0); Follow the format.

        // Begin your settings - they align properly when copy pasted into Pawno.exe
        Z_FALLOFF                    = 19.5; //just a number! The Z position
        GAME_MODE_TYPE                = NORMAL; //Should always be this
        WIN_TIME                    = 400; //Win time, in seconds
        MAX_MAP_PLAYERS                = 50; //This is likely to be 50. Depending on how much spawn positions you made
        MapTime                        = 12; //The time of the map, in hours
        Weather                        = SUNNY; //The weather, don't change this to "TORNADO" or whatever you'd like to see. It won't work.
        RED_IDENTIFY_TYPE            = 1; //This is explained in the Map Generator
        RESPAWN_DELAY                 = 8; //The time you need to wait after dieing. In Seconds
        GIVE_NITRO                    = 0; //0 to disable, 1 to enable. For all the following stuff the same. Explanation in map generator
        RANDOM_MODDED_VEHICLES        = 1;
        MOD_ALL_VEHICLES            = 0;
        ELIMINATE_FLIP                = 0;
        FLIP_FLIPPED                = 0;
        ALLOW_SUICIDE_RUN            = 1;
        ENABLE_TRAILER_SPAWNING        = 0;
        ENABLE_NOT_MOVE_LOSE        = 0;
        NOT_MOVE_WARNINGS            = 3; //If you set the map with Not_moving enabled (people need to keep moving), how much warnings should a player get before he dies? Even if you didn't enable it, this setting will still appear
        ENABLE_REPAIR                 = 0; //1 for enabling, 0 for disabling
        REPAIR_INTERVAL             = 60; //How much time between each repair? In seconds
        REPAIR_AMOUNT                 = 160; //How much health should a repair increase? A vehicle's health is 1000, but it will burn at 200. So 80 = 10% of you health.
        MAX_ALLOWED_HEALTH            = 2500; //What is the maximum health a user can get, using repairs?
        ENABLE_FIRE_TRUCK_RESCUE    = 1; //0 for disabling. Enabled, it allows firetrucks to spray water over someone in order to repair him
        LIMIT_TOTAL_DUMPERS            = 1; //What's the maximum of Dumpers which can spawn at one moment on the map?
        LIMIT_TOTAL_HARVESTERS        = 2; //same for harvesters
        LIMIT_TOTAL_DOZERS            = 1; //dozers
        LIMIT_TOTAL_BIKES            = 3; //Bikes. Motorbikes are also bikes!


        // Load your objects
        CreateObject(16209,605.51,-3817.78,13.89,0.00,0.00,0.00); //These are the objects you created. The map itself. CreateObject(object id, x, y, z, x_rotation, y_rot, z_rot). If you need the positions for the Vehicle Generator, only copy the X, Y and Z (look for 13607 object)
        CreateObject(16208,363.50,-3826.91,22.27,0.00,0.00,0.00); //decoration start
        //Note that we've added a comment here. This makes it easier for me to edit the map if something went wrong.    

        //More objects

        // Finished custom settings. Now lets tell Sumo to begin the game, map is finalized. DO NOT TOUCH THIS STUFF OK
        FinalizeLoading();
        return 1;
    }

    // Begin other required functions.

    public OnPlayerRequestClass(playerid, classid) //This is when you open your server. The class selection.
    {

        SetPlayerPos(playerid,775.1478,-3714.3743,21.4015); //Where is the player position? Explained in the tutorial and here: http://i737.photobucket.com/albums/xx17/_MM_IKKE/HowToDoCameraPos.png
        SetPlayerCameraPos(playerid,775.1478,-3714.3743,23.4015);
        SetPlayerCameraLookAt(playerid,619.6276,-3741.3704,44.4844);
        SendClientMessage(playerid,COLOR_GREY,"Press Shift to play"); // Cause people are stupid if we don't add this line. This will show up "Press Shift to play" upon joining

        return 1;
    }

    // Extra OnPlayerConnect function - the real OnPlayerConnect is part of the SumoCore.
    // The below is called at the same time though, so you can add code here as desired.
    stock OnPlayerConEx(playerid) //Don't touch this stuff.
    {
        SendClientMessage(playerid,COLOR_AQUA,MAPMAKER);
        SendClientMessage(playerid,COLOR_AQUA," "); // blank line for effect.

        return 1;
    }

    // The main spawning. The below is called upon spawning for players. This is where you specified the vehicle spawn locations
    public OnPlayerSpawn(playerid)
    {

        SetPlayerPos(playerid,775.1478,-3714.3743,21.4015);//Note that the position is the same as the SetPlayerPos in class selection.
        // Lets do some miscellaneous stuff before we finalise the spawning. This is all required by the Sumo Core, or at least removing it will break things.
        TogglePlayerControllable(playerid,0); // Reset to 1 by the sumo core when it says you're ready, and not before. This will make you unable to move.
        new veid = random(sizeof(vehiclearray)); // Get random vehicle from the allowed array you specified in loadout. Don't touch
        if(!IsVehicleValidForSettings(vehiclearray[veid][vehid])) //server check. Don't touch
        {
            vehiclearray[veid][vehid] = 402; return 1; // Default if your chosen vehicle isn't allowed for some reason. (Max harvesters / dumpers or similar)
        }
        AccountInfo[playerid][UserVehicle] = vehiclearray[veid][vehid]; // Internal stuff. Just so Sumo can track your vehicle.

        DynamicallySpawnPlayer(playerid,vehiclearray[veid][vehid]); //this is the spawn code & refers to your spawn locations at the bottom of the file

        SpawnedFunction(playerid); // Let sumo core take control again, we're done with them here.
        return 1;
    }

    SetupDynamicSpawns(){
        AddDynamicSpawn(630.754150, -3816.739013, 25.270000, 194.000000); //spawns in the correct syntax: AddDynamicSpawn(X,Y,Z,rotation)

        // more spawns (50 total)
    }

    // End of file.

  • Change Log
    • 2nd March 2012:
      • Added change log
      • Added more information about debugging: Testing different types of vehicles and general flaws in the map
      • Added a note about high maps
      • Added some more information about rdlMap.amx
      • Added information about the new part of map generating: edit'ing your map manually using the file + how the test file works
      • Added information about sending the actual map to RDL - new map generator

    • 3rd March 2012:
      • Added a part about invisible objects
      • Added info about map location: not too near to the main map
      • Added more testing info: small locations

    • 8th March 2012:
      • Added info about "Advanced" under map generating. Click

    • 20th May 2012:
      • Removed references to jSMap1.amx: it has been deleted off the servers.
      • Edited references to jSMap.amx: This is now the only available filterscript to map. Also, added a new command: /spawnloc

    • 22nd May 2012:
      • Added info about compiling the script (no errors, warnings may occur) and the correctly place .amx file

    • 28th May 2012:
      • Added info about using ONLY the positions when creating your map. Not using the entire AddPlayerClass.
      • Added info about how a map file should look
      • Added camera position picture. Click!
      • More advanced options: Click! Also added a reference to MAX_Z when debugging your map (/zcheck)
      • Removed MAP_TIMEOUT out of the Default Map file.
      • Added a reference to the "Useful Objects list" topic
      • Added custom vehicle generating
      • Added something about removing files

    • 1st August 2012
      • Updated credits
      • Highlighted a line about using the VEHGENERATOR
      • Updated my personal object list


    • 2nd August 2012
      • Updated Advanced Settings under Map Generating: Added FORCE_DUEL_CAR and DISABLE_ACHIEVEMENTS
      • Did a minor change in the Advanced Settings list - moved the "false ban" warning into the list itself.
    • 17th September 2012
      • Added the fact you have to be in a vehicle when using /savesumo (VehCreator.amx)
      • VehCreator.amx has been updated, you can download the new one here
      • jSMap itself has also been updated, you can download the new one here
      • Info: jSMap will now destroy your previous vehicle if you use /v again - if any
      • new command added for jSMap: /oid. Toggles information tags

    • 18th September 2012
      • Fixed /spawnloc info
      • Fixed /kill info
      • Added info about VEHGENERATOR: the inner part of the ring may contain objects

    • 2nd February 2014
      • Added some directories to parts of the tutorial so people will find their files more easily (eg: \SAMP Server\)
      • Expanded explanation on a lot of topics in order to help out people who have never done anything like this before. Userfriendliness++
      • Added a complete file list at the bottom of the post
      • Removed note about objects not appearing high in the air. This issue was fixed in a previous SAMP release
      • Updated my object list
      • Added information about z-fighting
      • Included a small amount of information about the difference between .amx & .pwn files
      • Added a small introduction to vehicle spawning
      • Entirely rewrote the manually adding vehicles section
      • Rewrote parts of the map generation
      • Rewrote parts of the map testing

    • 14th March 2015 - by RDL
      • Changed all links to SumoServ.com instead of jServers.info
      • Added details for automatic vehicle generation by map generator.
      • Updated important settings
      • Detailed new advanced settings since last update by IKKE
      • General updates and rewording

    • 19th July 2015 - by RDL
      • Updated references for the renamed jSMap, its now rdlMap.

  • Credits
    • [MM]IKKE - Tutorial creator
    • Redirect_Left - Sumo Creator, Scripter (.pwn, .amx and map generator files), topic maker and helping me out with making maps
    • Confucius - Correcting and adding stuff
    • Kye - SA:MP
    • Rockstar - GTA SA
    • Sumo Administration
    • Entire Sumo Community - giving me a lot of fun since some years
Reply
#2
Also to clarify, jSMap.amx is the original editor. I accidentally lost this file, jSMap1 is a test file of a rewritten one with better features, the most obvious being /clone. Which can be used to rapidly create fences in very neat rows. (See Town Chaos 1 fences, The Grid, Dumper Dodgers, they were all made in about 5 minutes using clone)

jSMap1 works fine, with no critical glitches. I'd personally recommend using that primarily.

Up to IKKE if he edits his post with this information and deletes this or not.

Few other things i wil also note later, i'm being forced outside (ONOES) for half an hour.
[Image: sEUTTDLR.png]
[17:42:17] <@SugarMommy> *aaah daddy~ .. spank me.. HArd~*
Reply
#3
jSMap1's funniest bug is, when you /create an object, is says "Create objected". Tell that to God :3
Reply
#4
Okay, few things to note. Would suggest IKKE merges this into his article.
  • When your map is done. Test it using many vehicle types.
    • Large Vehicles (Dumper / Dozer) - Ensure it can get to most places. Smaller roads/paths can make it impossible for these to traverse.
    • Long Vehicles (Bus/Coach) - Ensure its large turning circle can still do all the turns you need it to do.
    • Slow Vehicles (Tug/Caddy) - Ensure it can get up any hills. Try forward, if that fails, try reversing up it, some vehicles get more power in reverse.
    • Low Vehicles (Turismo) - Ensure objects are aligned correctly, turismo is a low vehicle, and easily damaged by misaligned or poorly put together objects. (Where unavoidable, common use of the repair system can be used to negate effects of this)
  • Test the map for the following
    • Ill constructed roads - Can easily rapidly damage vehicles, or even cause someone to lose control of a vehicle.
    • Non-Collision Objects - If you're Confucius, ignore this line. Some objects may look solid, but if you drive on them, may not be solid. Falling through them, make sure you've not used any of them without realising.
    • Too many objects near to each other - Can cause severe FPS lag to some players. This is actually present in default GTA: SA, namely in Ganton & Idlewood. This mainly affects placing lots of trees together or near each other

Something else to note, try not to build too high in the sky. It can cause object invisible issues (Seen on Got Luck and Twister a lot), although sumo can fix this using /load. It's best to not to build too high at all. Try building just above sea level somewhere. Building too high can also increase the chance of client crashing (Skyride was removed from cycle due to this).

Also, IKKE might want to see if any part of your article needs revising to include new editing map stuff on the generator.
[Image: sEUTTDLR.png]
[17:42:17] <@SugarMommy> *aaah daddy~ .. spank me.. HArd~*
Reply
#5
Updated.
Reply
#6
(05-02-2012, 08:21 PM)Redirect Left Wrote:
  • Non-Collision Objects - If you're Confucius, ignore this line.
You love Deception, I know it. Try remaking it using your map generator to see if the silly bug will kindly fuck off.

In addition to the above, I'd also advise:
Testing:
  • Invisible-Collision Objects - The opposite of Non-Collision, many objects (typically larger land pieces) have invisible yet solid sections of land on them, leading to the ability to drive where you hadn't planned. Got Luck has this issue with the raised carpark object.
  • Jumping - For an entirely custom map, I'd suggest moving a fair distance from the default GTA land, otherwise users may take a leap of faith and survive. Similarly, when constructing walls, test trying to escape using a packer as a ramp, unless you specifically exclude them from your loadout.
  • Little shitty areas only small vehicles or bikes can camp on - I'm looking at you Ikke.
General:
  • Uniquity - I like to make my maps as unique as possible, with some varied results. Try to include something to make your map stand out and attract players, and not merely be another RDL-esque filler map (remember Quadruple the Fun and Up & Down?)
Much to RDL's annoyance, I use MTA to create my custom maps. If anyone needs assistance in converting its output into a Sumo map, PM me.
Lead Administrator
Sumo Scripter
Sumo Map Creator
First Player to reach 100, 200, 250 and 300 recorded wins
First Player to reach 100 recorded duel wins

[Image: sig.php?name=Confucius]
Reply
#7
Heyhey. Some of my maps have been unique. Low Water is currently 3rd most voted, i'll have you know.
[Image: sEUTTDLR.png]
[17:42:17] <@SugarMommy> *aaah daddy~ .. spank me.. HArd~*
Reply
#8
what are the first two :p i bet A51 and got luck XDDD
[Image: sig.php?name=Viggo]
Reply
#9
Updated

(05-03-2012, 08:30 AM)Confucius Wrote:
  • Little shitty areas only small vehicles or bikes can camp on - I'm looking at you Ikke.
Sad Most of them are gone though. In Quarry fight, there are some which you can raech with a tug, but you suck at Sumo if you can't kill it until it's there... Inception: Dream Collapse is the one map on which it sucks having a dumper Smile Nightlife has a camping area on the rocks but it isn't hard to get there. Most vehicles can. And I'll re-do Sumo Challenge some time.

Didn't add the part about uniqueness, because in my opinion it's not part of the map making itself.
Reply
#10
Nightlife also has another ring in the far end of the map, which if a larger vehicle spawns on, its hard to go down the ramp and around the tight corner onto the main track, i'd recommend making the path off that ring go to the double width path from the ring below.
[Image: sEUTTDLR.png]
[17:42:17] <@SugarMommy> *aaah daddy~ .. spank me.. HArd~*
Reply
#11
Why would a larger vehicle spawn there? It's not a spawn place Smile

It does take some skills to get up to that ring, but to be honest, the map wasn't really made for big vehicles like these - you should just camp with them.

Also, /destroyall crashes your client with this code. No mods or anything. jSMap1.
Code:
SA-MP 0.3d-R2
Exception At Address: 0x007F190F

Registers:
EAX: 0x00020000    EBX: 0x00000000    ECX: 0x00000178    EDX: 0x051F6880
ESI: 0x143CBF78    EDI: 0x00B63A4C    EBP: 0x01586080    ESP: 0x0028FCCC
EFLAGS: 0x00210202

Stack:
+0000: 0x00B63A4C   0x051F68EC   0x00000000   0x0000010E
+0010: 0x004AA8EB   0x0028FCFC   0x051F6880   0x143CBF78
+0020: 0x004DCF8D   0x0028FCFC   0x00B63AA8   0x00B63A4C
+0030: 0x00000000   0x00000000   0x00000280   0x00000000
+0040: 0x80000000   0x707328CD   0x00000280   0x70763A87
+0050: 0x00000028   0x05186D80   0x00B62D10   0x00B62CB4
+0060: 0x00000000   0x00000000   0x004F100C   0x0F25C42C
+0070: 0x004EFFAB   0x00B63A4C   0x000001EE   0x00B62CB0
+0080: 0x004F0404   0x000001EE   0x0001C2D9   0x00B6BC90
+0090: 0x76CC6C30   0x00000000   0x00000017   0x00B6B708
+00A0: 0x00000000   0x00000000   0x00B6BC90   0x0001C2D9
+00B0: 0x00B6BC90   0x3F800000   0x00000000   0x00000000
+00C0: 0x00507899   0x0000001A   0xA35714FC   0x0053E990
+00D0: 0x00000001   0xA3D1766F   0x00000003   0x0053ECC2
+00E0: 0x00000001   0x00619B71   0x0000001A   0x00000001
+00F0: 0x00000001   0x0000000A   0x00748DF0   0x0000001A
+0100: 0x00000001   0x75161245   0x00000000   0x0028FF88
+0110: 0x7EFDE000   0x01828CFE   0x4F23570E   0x05181F40
+0120: 0x00000008   0x00000100   0x00000008   0x00000102
+0130: 0x442AC000   0x43C00000   0x00000000   0x00000000
+0140: 0x00000556   0x00000300   0x00000000   0x00000001
+0150: 0x000D0544   0x00000113   0x00000001   0x00000000
+0160: 0x007A6807   0x000002AB   0x00000180   0x0000002C
+0170: 0x0028FE2C   0x00825EE4   0x75161245   0x00000000
+0180: 0x7EFDE000   0xFFFFFFFF   0x00821D57   0x00000000
+0190: 0x00000000   0x0028FF88   0x00824731   0x00400000
+01A0: 0x00000000   0x01814669   0x0000000A   0x00000094
+01B0: 0x00000004   0x0000000A   0x040A08AE   0x00000001
+01C0: 0x76726500   0x20656369   0x6B636150   0x00003120
+01D0: 0x00000000   0x00000000   0x00000000   0x00000000
+01E0: 0x00000000   0x00000000   0x00000000   0x00000000
+01F0: 0x00000000   0x00000000   0x00000000   0x00000000
+0200: 0x00000000   0x00000000   0x00000000   0x00000000
+0210: 0x00000000   0x00000000   0x00000000   0x00000000
+0220: 0x00000000   0x00000000   0x00000000   0x00000000
+0230: 0x00000000   0x00000000   0x00000000   0x008245C8
+0240: 0x00000000   0x00000000   0x7EFDE000   0xC0000005
+0250: 0x00000000   0x01814669   0x00000044   0x017D11B0
+0260: 0x0182F2D0   0x0182F5D0   0x00000000   0x00000000
+0270: 0x00000000   0x00000000   0x00000000   0x00000000

SCM Op: 0x470, lDbg: 0

Game Version: EU 1.0

State Information: Ped Context: 0
Reply
#12
[MM]IKKE: Hm. It's worked fine for me. Does it always generate that error, or just occasionally?
[Image: sEUTTDLR.png]
[17:42:17] <@SugarMommy> *aaah daddy~ .. spank me.. HArd~*
Reply
#13
Occassionally (but it does always return "Unknown Cmd" -> because I loaded jSMap1 with it? It appeared to bug after doing "/v nrg", then "/spawnhuge" right after spawn, so a random ID 0 car got loaded. And within the stream rate of every vehicle. Couldn't reproduce it always, though.

-If you spawn all vehicles twice, /destroyall doesn't remove the first vehicle on id 49
-/spawnall spawns the previously spawned vehicles (if you did /spawnhuge, /spawnall will also spawn the dumpers)
-if you spawn all vehicles three times, /destroyall doesn't remove any of the firstly spawned vehicles (and also not the second vehicle on id 49)
Reply
#14
Some things about the advanced button on map generator;

Please tick the advanced box if any of the following apply;
  • The Z_FALLOFF is under 0.0, or is 0.0, then set DISABLE_BC5_CHECK to 1.
  • The map includes weapons, then set MAP_INCLUDES_WEAPONS to 1.
  • The map alters your health, then set AC_DISABLE_HEALTH_DETECTION to 1.
  • The map alters your speed, through any method, then set MAP_USES_SPEED_ALTERATION to 1.
  • The map can allow vehicles to go abnormally fast, then set MAX_SPEED_ALLOWED to the max allowed speed in MPH. (default is 125)
  • If you want Sumo to not actually use 'fall off', then enable and set DISABLE_Z_DETECTION to 1.

Failing to do this may trigger the anti-cheat on innocent players!

[Image: sEUTTDLR.png]
[17:42:17] <@SugarMommy> *aaah daddy~ .. spank me.. HArd~*
Reply
#15
Updated
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)