• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • 🏆 Hive's 6th HD Modeling Contest: Mechanical is now open! Design and model a mechanical creature, mechanized animal, a futuristic robotic being, or anything else your imagination can tinker with! 📅 Submissions close on June 30, 2024. Don't miss this opportunity to let your creativity shine! Enter now and show us your mechanical masterpiece! 🔗 Click here to enter!

new race

Status
Not open for further replies.
Level 22
Joined
Feb 4, 2005
Messages
3,971
If you know what to change in the .mpq filles, not just models or textures but also some coded files that have the info how many races you can select, what names they have, etc you could. But that's so advanced and I'm not sure anyone bothers to go that far. That's like making a new game or remaking war3, programming lol. You can modify an existing race as Chief-O said.
 
Level 15
Joined
Aug 11, 2009
Messages
1,606
Actually i do know how...but you need to work a lot.Let's start here are some triggers:
  • Melee Initialization
    • Events
      • Map initialization
    • Conditions
    • Actions
      • -------- Common Melee Script --------
      • Melee Game - Use melee time of day (for all players)
      • Melee Game - Limit Heroes to 1 per Hero-type (for all players)
      • Melee Game - Give trained Heroes a Scroll of Town Portal (for all players)
      • Melee Game - Set starting resources (for all players)
      • Melee Game - Remove creeps and critters from used start locations (for all players)
      • -------- Check Trigger Comments --------
      • Melee Game - Create starting units (for all players)
      • -------- This is to prevent the players to start before the others --------
      • Set AllUnits = (Units in (Playable map area))
      • Unit Group - Pick every unit in AllUnits and do (Unit - Pause (Picked unit))

  • Players
    • Events
      • Map initialization
    • Conditions
    • Actions
      • -------- Limit of custom heros and creates a group to show the dialog only to the Human Players --------
      • Player Group - Pick every player in (All players matching (((Matching player) controller) Equal to User)) and do (Actions)
        • Loop - Actions
          • Player Group - Add (Picked player) to PlayersUsers
          • Player - Limit training of Fathom-Lord to 1 for (Picked player)
          • Player - Limit training of Mur'gul Hydromancer to 1 for (Picked player)
          • Player - Limit training of ArchSummoner to 1 for (Picked player)
          • Player - Limit training of Naga Sea Witch to 1 for (Picked player)
      • -------- Check Trigger Comment --------
      • -------- 1.1 --------
      • If ((Player 1 (Red) slot status) Equal to Is unused) then do (Set DefeatPL1 = True) else do (Do nothing)
      • -------- 1.2 --------
      • If ((DefeatPL1 Equal to True) or ((Player 1 (Red) controller) Equal to Computer)) then do (Set ReadyPL1 = True) else do (Do nothing)
      • -------- Starts to repeat --------
      • If ((Player 2 (Blue) slot status) Equal to Is unused) then do (Set DefeatPL2 = True) else do (Do nothing)
      • If ((DefeatPL2 Equal to True) or ((Player 2 (Blue) controller) Equal to Computer)) then do (Set ReadyPL2 = True) else do (Do nothing)
      • If ((Player 3 (Teal) slot status) Equal to Is unused) then do (Set DefeatPL3 = True) else do (Do nothing)
      • If ((DefeatPL3 Equal to True) or ((Player 3 (Teal) controller) Equal to Computer)) then do (Set ReadyPL3 = True) else do (Do nothing)
      • If ((Player 4 (Purple) slot status) Equal to Is unused) then do (Set DefeatPL4 = True) else do (Do nothing)
      • If ((DefeatPL4 Equal to True) or ((Player 4 (Purple) controller) Equal to Computer)) then do (Set ReadyPL4 = True) else do (Do nothing)
      • If ((Player 5 (Yellow) slot status) Equal to Is unused) then do (Set DefeatPL5 = True) else do (Do nothing)
      • If ((DefeatPL5 Equal to True) or ((Player 5 (Yellow) controller) Equal to Computer)) then do (Set ReadyPL5 = True) else do (Do nothing)
      • -------- Starts to show the Dialog to decide the to use the Nagas or not --------
      • Trigger - Run Dialog Naga <gen> (checking conditions)

  • Start Game
    • Events
    • Conditions
    • Actions
      • -------- Checks if all the units are ready, it all are, then the game can start --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • And - All (Conditions) are true
            • Conditions
              • ReadyPL1 Equal to True
              • ReadyPL2 Equal to True
              • ReadyPL3 Equal to True
              • ReadyPL4 Equal to True
              • ReadyPL5 Equal to True
        • Then - Actions
          • -------- Tell everyone the game has started --------
          • Game - Display to (All players) the text: |c00ff0000WARNING|r...
          • Sound - Play Warning <gen>
          • Wait 5.00 seconds
          • -------- Unpause the units so the game can start --------
          • Game - Display to (All players) the text: |c00ff0000WARNING|r...
          • Sound - Play Warning <gen>
          • Unit Group - Pick every unit in AllUnits and do (Unit - Unpause (Picked unit))
          • -------- Run the AI for computer controlled units --------
          • Melee Game - Run melee AI scripts (for computer players)
        • Else - Actions

  • Dialog Naga
    • Events
    • Conditions
    • Actions
      • Wait 0.10 seconds
      • -------- Creates the Dialog and buttons --------
      • Dialog - Change the title of DialogNaga to Use Naga Race?
      • Dialog - Create a dialog button for DialogNaga labelled Yes
      • Set ButtonYes = (Last created dialog Button)
      • Dialog - Create a dialog button for DialogNaga labelled No
      • Set ButtonNo = (Last created dialog Button)
      • -------- Shows the dialog to all the human players --------
      • Player Group - Pick every player in (All players matching (((Matching player) controller) Equal to User)) and do (Actions)
        • Loop - Actions
          • Dialog - Show DialogNaga for (Picked player)
  • Naga Selected
    • Events
      • Dialog - A dialog button is clicked for DialogNaga
    • Conditions
    • Actions
      • -------- A player clics a button, so, the player is ready, check what player clicked and set him ready --------
      • If ((Triggering player) Equal to Player 1 (Red)) then do (Set ReadyPL1 = True) else do (Do nothing)
      • If ((Triggering player) Equal to Player 2 (Blue)) then do (Set ReadyPL2 = True) else do (Do nothing)
      • If ((Triggering player) Equal to Player 3 (Teal)) then do (Set ReadyPL3 = True) else do (Do nothing)
      • If ((Triggering player) Equal to Player 4 (Purple)) then do (Set ReadyPL4 = True) else do (Do nothing)
      • If ((Triggering player) Equal to Player 5 (Yellow)) then do (Set ReadyPL5 = True) else do (Do nothing)
      • -------- Someone decides to use the nagas, so the naga units are created for that player --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Clicked dialog button) Equal to ButtonYes
        • Then - Actions
          • -------- Replaces the units normal workers with naga workers --------
          • Set TempGroup = (Units owned by (Triggering player) matching (((Matching unit) is A peon-type unit) Equal to True))
          • Unit Group - Pick every unit in TempGroup and do (Unit - Replace (Picked unit) with a Mur'gul Slave using The new unit's default life and mana)
          • -------- Replaces the normal town-hall with naga town-hall --------
          • Set TempGroup = (Units owned by (Triggering player) matching (((Matching unit) is A town-hall-type unit) Equal to True))
          • Unit Group - Pick every unit in TempGroup and do (Unit - Replace (Picked unit) with a Temple of Tides using The new unit's default life and mana)
          • -------- Check Trigger Comment --------
          • -------- 1.1 --------
          • If ((Race of (Triggering player)) Equal to Undead) then do (Unit - Create 2 Mur'gul Slave for (Triggering player) at ((Triggering player) start location) facing Default building facing degrees) else do (Do nothing)
          • -------- 1.2 --------
          • Set TempGroup = (Units owned by (Triggering player) matching ((Unit-type of (Matching unit)) Equal to Ghoul))
          • Unit Group - Pick every unit in TempGroup and do (Unit - Remove (Picked unit) from the game)
          • Set TempGroup = (Units owned by (Triggering player) matching ((Unit-type of (Matching unit)) Equal to Haunted Gold Mine))
          • Unit Group - Pick every unit in TempGroup and do (Unit - Remove (Picked unit) from the game)
          • -------- 1.3 --------
          • Set AllUnits = (Units in (Playable map area))
          • Unit Group - Pick every unit in AllUnits and do (Unit - Pause (Picked unit))
        • Else - Actions
      • -------- Run the trigger that decides to start or not the game --------
      • Trigger - Run Start Game <gen> (checking conditions)

  • Defeat
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Owner of (Triggering unit)) Not equal to Neutral Hostile
    • Actions
      • Set TempPlayer = (Owner of (Triggering unit))
      • -------- Check Triggers Comment --------
      • -------- 1.1 --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Or - Any (Conditions) are true
            • Conditions
              • (DefeatPL1 Equal to True) and (Player 1 (Red) Equal to TempPlayer)
              • (DefeatPL2 Equal to True) and (Player 2 (Blue) Equal to TempPlayer)
              • (DefeatPL3 Equal to True) and (Player 3 (Teal) Equal to TempPlayer)
              • (DefeatPL4 Equal to True) and (Player 4 (Purple) Equal to TempPlayer)
              • (DefeatPL5 Equal to True) and (Player 5 (Yellow) Equal to TempPlayer)
        • Then - Actions
          • Skip remaining actions
        • Else - Actions
      • -------- Creates a group that checks buldings and workers --------
      • Set TempGroup = (Units owned by TempPlayer matching ((((Matching unit) is A structure) Equal to True) or (((Matching unit) is A peon-type unit) Equal to True)))
      • -------- If the units in the group last created are dead... --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (All units of TempGroup are dead) Equal to True
        • Then - Actions
          • -------- ...then the player will be defeated --------
          • Game - Defeat TempPlayer with the message: Defeat!
          • -------- Tells the other players the player was defeated --------
          • Game - Display to (All players) the text: ((Name of TempPlayer) + was defeated.)
          • Set TempGroup = (Units owned by TempPlayer)
          • Unit Group - Pick every unit in TempGroup and do (Actions)
            • Loop - Actions
              • Unit - Order (Picked unit) to Stop
          • -------- Checks who was the defeated player to set the variable "Defeat" to true for the correct player --------
          • If (TempPlayer Equal to Player 1 (Red)) then do (Set DefeatPL1 = True) else do (Do nothing)
          • If (TempPlayer Equal to Player 2 (Blue)) then do (Set DefeatPL2 = True) else do (Do nothing)
          • If (TempPlayer Equal to Player 3 (Teal)) then do (Set DefeatPL3 = True) else do (Do nothing)
          • If (TempPlayer Equal to Player 4 (Purple)) then do (Set DefeatPL4 = True) else do (Do nothing)
          • If (TempPlayer Equal to Player 5 (Yellow)) then do (Set DefeatPL5 = True) else do (Do nothing)
          • Trigger - Run Victory <gen> (checking conditions)
        • Else - Actions
  • Victory
    • Events
    • Conditions
    • Actions
      • -------- Check Trigger Comments --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • And - All (Conditions) are true
            • Conditions
              • DefeatPL1 Equal to False
              • DefeatPL2 Equal to True
              • DefeatPL3 Equal to True
              • DefeatPL4 Equal to True
              • DefeatPL5 Equal to True
        • Then - Actions
          • Game - Victory Player 1 (Red) (Show dialogs, Show scores)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • And - All (Conditions) are true
            • Conditions
              • DefeatPL1 Equal to True
              • DefeatPL2 Equal to False
              • DefeatPL3 Equal to True
              • DefeatPL4 Equal to True
              • DefeatPL5 Equal to True
        • Then - Actions
          • Game - Victory Player 2 (Blue) (Show dialogs, Show scores)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • And - All (Conditions) are true
            • Conditions
              • DefeatPL1 Equal to True
              • DefeatPL2 Equal to True
              • DefeatPL3 Equal to False
              • DefeatPL4 Equal to True
              • DefeatPL5 Equal to True
        • Then - Actions
          • Game - Victory Player 3 (Teal) (Show dialogs, Show scores)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • And - All (Conditions) are true
            • Conditions
              • DefeatPL1 Equal to True
              • DefeatPL2 Equal to True
              • DefeatPL3 Equal to True
              • DefeatPL4 Equal to False
              • DefeatPL5 Equal to True
        • Then - Actions
          • Game - Victory Player 4 (Purple) (Show dialogs, Show scores)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • And - All (Conditions) are true
            • Conditions
              • DefeatPL1 Equal to True
              • DefeatPL2 Equal to True
              • DefeatPL3 Equal to True
              • DefeatPL4 Equal to True
              • DefeatPL5 Equal to False
        • Then - Actions
          • Game - Victory Player 5 (Yellow) (Show dialogs, Show scores)
        • Else - Actions
 
Level 20
Joined
Oct 21, 2006
Messages
3,231
Editing them will not show your race names for other players when playing the first time. When joining second time, they see custom names. But this also fuck ups other maps, so for an example when you join to a normal game you can still see the custom names, but not the original race names. Resets upon restart.
 
Status
Not open for further replies.
Top