• 0

    posted a message on *Reqest* Script that changes all units size

    Ok, size I'll just let you use Sweetzombie's (I didn't review if his works, but I'll assume as much)

    First, the 2 "typical" ways to modify a unit is using behavior - buff or effect - modify unit. For fun I did catalog edits.
    Caveats of catalog edits: This modifies all units who share the same ID owned by the specified player. So as the example map shows, 2 friendly marines will be edited with the new stats, while the enemy Marine retains it's normal stats.
    Comments show that minimap radius hacking returns an error, as does separation radius. I'm not sure the best course of action to edit these fields. If it's an option inside Behaviors, try that.
    It should also be noted that many of these features could be done with Behavior - Buffs so it only occurs on one unit instead of all owned by player.

    Rawr
        Events
            Game - Player Any Player types a chat message containing "change", matching Exactly
        Local Variables
        Conditions
        Actions
            ------- You said "Movement", and "Speed Stat", but since i'm not sure what fields you're asking specifically here's just your Speed
            Catalog - Set value of Units "Marine" "Speed" for player (Triggering player) to "3"
            ------- Movement Radius
            Catalog - Set value of Units "Marine" "Radius" for player (Triggering player) to "1"
            ------- Separation Radius - Gives a write error
            Catalog - Set value of Units "Marine" "SeparationRadius" for player (Triggering player) to "1"
            ------- Sight Radius
            Catalog - Set value of Units "Marine" "Sight" for player (Triggering player) to "12"
            ------- Minimap Radius - Gives a write error
            Catalog - Set value of Units "Marine" "MinimapRadius" for player (Triggering player) to "5"

    Rundown of Catalog action:
    Set value of <Units>: This is where in the catalog the data is found. Use the data editor to know what to put here.
    "Marine": This is the ID of the catalog entry. Double clicking an entry in the data editor and looking at the ID: field (right near Suggest Name) is what is placed here.
    "MinimapRadius": This is the field you want to edit. You can find this by selecting an item you want to modify and change it to "View Raw Data" (It's the binary with the helix button on the top center of screen). Find the field and usually take out the catalog name (e.g. CUnit_TechAliasArray becomes TechAliasArray in this data). Doing array fields can be confusing so I'll leave you to figure it out later.
    for Player (Triggering player): This is who's game data will be modified. It will be a player-wide modification, not just unit.
    to "5": This is the new value you want to set. Obviously converts to integer/reals as needed can be helpful.

    Posted in: Galaxy Scripting
  • 0

    posted a message on SC2 Galaxy Editor - Discussion of Problems / Rant

    WC3 and SC2's editors have a ton in common.
    But, SC2's editor is much more advanced than WC3's, so obviously due to the number of features and options to set there are some issues here or there.
    Even with it's impressive and more advanced features, there's still plenty that it cannot do. But, I am much happier making things in SC2 than I was in WC3, just because I can create things without having to bust out JASS. For customization I prefer SC2's, and feel it's easier in the long run.

    I bet others share your pain, but others are like me.

    I laugh at how many people complain about the previewer not working, like it's some gigantic flaw in design or something... To do a quick preview, by the way, change the view to Tree View and hover your mouse in the world. Then use up/down arrows to get a quick preview of the object in game.

    Posted in: Off-Topic
  • 0

    posted a message on Forward Sight Only

    I haven't tried this, but it may create the effect you want.

    Make the marine have 0 sight visibility.
    Create a region of the given sight requirements (using negative regions to cancel out areas you don't want, if you don't want it a square/circle), and attach it to the marine with an offset. Then, create a revealer inside the region created.

    Potential folleys: I don't know if attached regions done with an offset update according to current angle of unit.

    Another potential solution:
    Attach an invul/untargetable invisible unit with the sight wanted onto the marine, using an absurd attachment point (away from his model).

    Posted in: Miscellaneous Development
  • 0

    posted a message on XX% Damage Buff

    Look at Combat - Damage Response + inside a behavior buff
    That's probably what you are looking for.

    Posted in: Miscellaneous Development
  • 0

    posted a message on Want to make "vampire bullet" skill.

    I don't feel like testing this to see if it works, but my idea is this..

    Launch Missile's effect -> impact effect: Do effect (persistent)

    Inside effect (persistent), the initial effect is the effect (damage).
    Period set to like 0.1 seconds. Period count 1.
    the final effect is effect (apply buff)

    Inside the (apply buff) effect is a validator that checks if target is dead.

    So then rocket is fired, it lands, causes the persistent effect to trigger (initially dealing damage, and then doing the final effect to apply buff to caster, but buff portion only applies if validator (target is dead) is true.

    Posted in: Miscellaneous Development
  • 0

    posted a message on Dealing with behaviors in trigger editor

    I'm not sure there's a built in trigger for behaviors. A periodic event may be used for this situation.
    If that's done, just write in the condition field of the trigger each specific unit and a behavior count.
    If all are true, it'll finish the code (the defeat).

    Some units explode on death, throwing gibblets all over. This is usually why there is a seperate model for the death.

    Posted in: Miscellaneous Development
  • 0

    posted a message on How to make Launch Missile effects connect with units?

    I misread what you wrote originally. Ignore.

    Posted in: Miscellaneous Development
  • 0

    posted a message on how to create a cannibalize ability

    I played around with this.. Seems they took out the old "revive" action trigger in WC3, so it made the issue of reviving a unit a bit annoying. (There is a revive ability, but it does a food check along with being a generic placeholder icon, not a "real" resurrect). So I resorted to writing a trigger to recreate the unit.

    This isn't perfect, but it should be enough for most scenarios (I would think applying an incap behavior with an end effect of destroying the unit can be used to emulate death so you can revive a unit safer, but I didn't feel like recreating that).

    http://video.xfire.com/3352ed-4.jpg Vid of it in action.

    Posted in: Miscellaneous Development
  • 0

    posted a message on how to create a cannibalize ability

    You can use an Effect - Target solution instead. I only did the Effect - Instant to emulate the cannibalize system of Warcraft 3 (Where you press the button and the ghoul runs to a nearby corpse and starts eating). I was originally going to make it so the unit walks over and starts "eating" corpse, but couldn't see an easy way to force the unit casting to face the point it searched for. (I'd probably use a issue order command in triggers if I were to start this, when it aquires a target)

    There's a field in the unit type data editor section called Stats - Death duration or something that shows how long a corpse stays after the unit dies.

    Add in a death event to the unit's actor to stop the animation sequence prematurely when it's still fleshy to cause an illusion of a live meaty corpse on ground.

    @ Ressurection you can likely use an Effect target combined with a validator to ensure the target it's casted on is dead, then cause a revive effect. Maybe write a trigger to handle the revive action.

    Posted in: Miscellaneous Development
  • 0

    posted a message on Everyones favorite subject.. Leaderboards!

    Even with dialogs I would imagine you'd be ending up doing something like I did to a certain degree. :) Good luck.

    Posted in: Miscellaneous Development
  • 0

    posted a message on Duplicating Effects.

    Go to each of the original effects of blink, and look at the bottom left corner. you'll see a list of actors that the effect uses. Select each actor listed and go into their Events+ section. Look for any events related to effect (or perhaps behavior) and copy/paste those events, changing the effect to your incremented versions.

    Posted in: Miscellaneous Development
  • 0

    posted a message on Anti-camping Region

    You should write what anti-camping involves, as this word can be taken in many different contexts. I would imagine having an array of points representing the last known location of every player, and a periodic timer that sees if that point has changed, and if so reset a timer for each player, could yield a tracking system of a player's movements and do what you're after. There's also an idle event to show slacking players, but that triggers the moment a unit is not doing anything (like SCV icon pop up status).

    Posted in: Miscellaneous Development
  • 0

    posted a message on Where can I see all the animations available?

    Also numpad + cycles through each animation. I tend to use that when I'm perusing the previewer.

    Posted in: Miscellaneous Development
  • 0

    posted a message on Everyones favorite subject.. Leaderboards!

    Here's what I did (My leaderboard is kinda complex, but here's at least snippets in relations to what you seem to be asking)

    I created a global variable called PlayerBoard[], it's an integer with an array size of 16. This variable stores which row on the leaderboard the player is residing in. I wrote this function:
    GetBoardIndex
        Options: Function
        Return Type: Integer
        Parameters
            PlayerIndex = 0 <Integer>
        Grammar Text: GetBoardIndex(PlayerIndex)
        Hint Text: (None)
        Custom Script Code
        Local Variables
            x = 0 <Integer>
        Actions
            General - For each integer x from 0 to 16 with increment 1, do (Actions)
                Actions
                    General - If (Conditions) then do (Actions) else do (Actions)
                        If
                            PlayerBoard[x] == PlayerIndex
                        Then
                            General - Return (x + 2)
                        Else
            General - Return -1

    My leaderboard is set up where the first two rows show information, and the rest is populated with player related info.

    Why do I do this method? Because if Player slot 2 and 4 are used, but not 3, you get visual issues of blank slots if you don't create an "array stack" so to speak.

    Then, whenever I want to update a player's information, I do this:
                            Leaderboard - Set Leaderboard item text at column 4 and row (GetBoardIndex(x)) to "0"

    x in this case is the Player Number.

    When the map is initiated, I write a check like this.

    I loop through each player via variable PlayerIndex and have a local variable called BoardIndex (int), and inside the loop:
                            Variable - Set PlayerBoard[BoardIndex] = PlayerIndex
                            Variable - Modify BoardIndex: + 1

    This sets up the player's slot on the leaderboard.

    In your case, you'd likely want to make the setting of where on the board each player resides in dynamic, which is doable with my system if you do some logic checking on where each player resides and shift them accordingly.

    Posted in: Miscellaneous Development
  • 0

    posted a message on Items spawn randomly across the map

    Items should have a unit representing them so they can be picked up.
    You can create units via triggers, with the "Create Unit" action. This action requires a point. If you go to functions and find Random Point in Region, this is what you want. Click red region, change it to Function -> entire map.

    There you go.

    Posted in: Miscellaneous Development
  • To post a comment, please or register a new account.