• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Lhs 2.01

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
LHS2

LHS (Last Hero Standing) version 2

Gameplay

Heroes rise from all walks of life. They gather in this arena to fight for glory. You are one among them. Be the last hero standing in this astounding battle for good.

Game Modes

This map has only two modes: Normal mode and Death Match Mode

Normal Mode

In this mode, you will be killing enemy heroes and survive for the number of deaths chosen.

KILLS TO WIN

Choose your hero from the Monument of Heroes and fight other heroes until all of your enemies die.

Options to chose:
death on three - You will only be revived for 3 times.
death on six - For six times, you will be revived.
death on ten - For ten times, you will be revived.
death on fifteen - For fifteen times, you will be revived.
death on twenty - For twenty times, you will be revived.

Death Match Mode

In Death Match Mode you may choose the number of heroes you will use to battle with other players. If all of your heroes die you will lose. You can only win if all of your opponents heroes are dead.
------------------------

Choose the number heroes you will use. Your hero will not be revived, so be careful.

Game Commands

music, kill, endgame, hero, ally
music - you can choose a music to be played in game.
kill - this command will kill your hero. You will be prompted if you want to do so.
endgame - this command will end the game.
hero - you can choose a hero to use to replace your selected hero.
ally - selects a player to be your ally. The player that you want to be your ally must agree and type the same that conforms to you. Once you type ally, all commands pertaining to being an ally will be dispayed.

Screenshots

attachment.php
attachment.php
attachment.php

Credits

THANKS TO THE FOLLOWING:
The Wc3 Tools of these people helped me in shaping up this map:
-David-TheProphet and Marcelo-KDEWolf
-Dmitri s. (Shadow Daemon)
-DJBnJack
-SDRyoko for the Hero Revival trigger
For Models:Tarrasque, Dojo

Change Logs

In this version, I have checked some leaks and fixed some known bugs. (2012)













Keywords:
last, hero, standing, eubz
Contents

LHS 2.01 (Map)

Reviews
Vengeancekael - [Contact] Date: 2012/May/27 12:12:17 Comment: [Rejected] Those villagers at the center of the map are floating above the seats No custom items No custom spells Overall this is just a way too simple arena map with 2 basic...

Moderator

M

Moderator

Vengeancekael - [Contact]
Date: 2012/May/27 12:12:17

Comment: [Rejected]
  • Those villagers at the center of the map are floating above the seats
  • No custom items
  • No custom spells

Overall this is just a way too simple arena map with 2 basic modes and it really isn't fun to play the old warcraft 3 heroes. Please do some more hero designing and add some originality to this.

Resource Moderation - Rules
 
You can replace all your silly triggers related to ally settings with this simple script:
JASS:
library AllyLib initializer init

    /*
         AllyLib by -Kobas- 
         version 1.0.0.0
    */


        globals
            private string        CHAT_STRING = "ally_p"
            private integer       I_START     = 6 //Default: StringLength(CHAT_STRING)
            private integer       I_END       = 8 //Default: I_START + 2
           
            private boolean SHARE_NORMAL      = true
            private boolean SHARE_UNITS       = false
            private boolean SHARE_VISION      = true
            private boolean SHARE_RESOURCES   = false
            
            private boolean array B
            private trigger       T           = CreateTrigger()
        endglobals
    
    /* Recommended Functions that you should use */
    function EnableAllyLib takes nothing returns nothing
        call EnableTrigger(T)
    endfunction

    function DisableAllyLib takes nothing returns nothing
        call DisableTrigger(T)
    endfunction
    
    function EnableAllyLibForPlayer takes player p returns nothing
        set B[GetPlayerId(p)] = false
    endfunction
    
    function DisableAllyLibForPlayer takes player p returns nothing
        set B[GetPlayerId(p)] = true
    endfunction
    
    function CheckAllyLibForPlayer takes player p returns boolean
        return B[GetPlayerId(p)]
    endfunction
    /* End Recommended Functions that you should use */
    
        private function Run takes nothing returns nothing
            local integer i = S2I(SubString(GetEventPlayerChatString(), I_START, I_END))
            local player  p = GetTriggerPlayer()
            
            if not (i>0 and i<13) then
                return
            endif
            
            if B[GetPlayerId(p)] then
                return
            endif
            
            //Normal ally conditions
            call SetPlayerAlliance(p, Player(i), ALLIANCE_PASSIVE,       SHARE_NORMAL)
            call SetPlayerAlliance(p, Player(i), ALLIANCE_HELP_REQUEST,  SHARE_NORMAL)
            call SetPlayerAlliance(p, Player(i), ALLIANCE_HELP_RESPONSE, SHARE_NORMAL)
            call SetPlayerAlliance(p, Player(i), ALLIANCE_SHARED_XP,     SHARE_NORMAL)
            call SetPlayerAlliance(p, Player(i), ALLIANCE_SHARED_SPELLS, SHARE_NORMAL)
            //Shared Vision
            call SetPlayerAlliance(p, Player(i), ALLIANCE_SHARED_VISION, SHARE_VISION)
            //Shared Units
            call SetPlayerAlliance(p, Player(i), ALLIANCE_SHARED_CONTROL, SHARE_UNITS)
            //Shared Units and Resources
            call SetPlayerAlliance(p, Player(i), ALLIANCE_SHARED_ADVANCED_CONTROL, SHARE_RESOURCES)
            
            set p = null
        endfunction

        private function init takes nothing returns nothing
            local integer i = 0
            loop
                exitwhen i>12
                call TriggerRegisterPlayerChatEvent( T, Player(i), CHAT_STRING, false )
                set B[i] = false
                set i=i+1
            endloop
            call TriggerAddAction( T, function Run )
        endfunction
endlibrary

It will work on default, but I added few functions for you so you can handle it later if needed.

For example like this:
  • Untitled Trigger 002
    • Events
      • Player - Player 1 (Red) skips a cinematic sequence
    • Conditions
    • Actions
      • Custom script: call DisableAllyLibForPlayer(GetTriggerPlayer())
Other game commands are silly really.

Also this trigger is interesting:
  • unhide units
    • Events
      • Time - Elapsed game time is 0.05 seconds
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Player 1 (Red) slot status) Equal to Is playing
        • Then - Actions
          • Unit - Unhide healer[1]
          • Unit - Unhide circles[1]
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Player 2 (Blue) slot status) Equal to Is playing
        • Then - Actions
          • Unit - Unhide healer[2]
          • Unit - Unhide circles[2]
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Player 3 (Teal) slot status) Equal to Is playing
        • Then - Actions
          • Unit - Unhide healer[3]
          • Unit - Unhide circles[3]
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Player 4 (Purple) slot status) Equal to Is playing
        • Then - Actions
          • Unit - Unhide healer[4]
          • Unit - Unhide circles[4]
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Player 5 (Yellow) slot status) Equal to Is playing
        • Then - Actions
          • Unit - Unhide healer[5]
          • Unit - Unhide circles[5]
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Player 6 (Orange) slot status) Equal to Is playing
        • Then - Actions
          • Unit - Unhide healer[6]
          • Unit - Unhide circles[6]
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Player 7 (Green) slot status) Equal to Is playing
        • Then - Actions
          • Unit - Unhide healer[7]
          • Unit - Unhide circles[7]
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Player 8 (Pink) slot status) Equal to Is playing
        • Then - Actions
          • Unit - Unhide healer[8]
          • Unit - Unhide circles[8]
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Player 9 (Gray) slot status) Equal to Is playing
        • Then - Actions
          • Unit - Unhide healer[9]
          • Unit - Unhide circles[9]
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Player 10 (Light Blue) slot status) Equal to Is playing
        • Then - Actions
          • Unit - Unhide healer[10]
          • Unit - Unhide circles[10]
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Player 11 (Dark Green) slot status) Equal to Is playing
        • Then - Actions
          • Unit - Unhide healer[11]
          • Unit - Unhide circles[11]
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Player 12 (Brown) slot status) Equal to Is playing
        • Then - Actions
          • Unit - Unhide healer[12]
          • Unit - Unhide circles[12]
        • Else - Actions
      • Custom script: call DestroyTrigger(GetTriggeringTrigger())
Can be:

  • unhide units
    • Events
      • Time - Elapsed game time is 0.00 seconds
    • Conditions
    • Actions
      • For each (Integer A) from 1 to 12, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Player((Integer A))) slot status) Equal to Is playing
            • Then - Actions
              • Unit - Unhide healer[(Integer A)]
              • Unit - Unhide circles[(Integer A)]
            • Else - Actions
      • Custom script: call DestroyTrigger(GetTriggeringTrigger())
Well that would be all for now.
 
Top