• 0

    posted a message on Netstorm: Islands at War

    @depthofchaos:

    This is where encryption comes into play. Every game tries to have some sort of encryption to prevent obvious hacks. Just develop, or have someone develop (it's rather easy to find someone who knows his stuff) an encrypted save and load system for the map. Even WarCraft III RPGs had generated strings for saving and loading of characters, and to hack it, you had to tweak the system, rather than tweak the code.

    You can try processing a simple checksum along with the data, that will stop most of the attempts to hack the stats. With a checksum, the data doesn't even have to be encoded at all, because the checksum can do whatever, add bytes, flip values, reverse everything, etc. It will take some time for anybody to figure it out.

    If you also port this into a mod, you can then link the mod to multiple maps. This is truly a great project to be working on compared to most of the other things that cannot be extended. I mean, what other map can already be envisioned as a mod and be linked to other maps? Nothing.

    Posted in: Project Workplace
  • 0

    posted a message on Netstorm: Islands at War

    Wow that's amazing!

    I'm just wondering how you made bridges work. It's got to be something with dynamic pathing, right?

    Posted in: Project Workplace
  • 0

    posted a message on Ability Buttons per Level

    <Unit.Marine.MaxHealth>

    Or something like that. I'll look into it right now.

    EDIT:

    Button/Tooltip/Blink=Teleports the Stalker to a nearby target location. Ability can only be used once every <d ref="Abil,Blink,Cost[0].Cooldown.TimeUse"/> seconds.

    Looks like <d> for data, remember that.
    ref for reference.

    <d ref=" [DataType] , [Entry] , [Element] . [Attribute/Element]+ "/>

    Now keep in mind that if lots of things are nested, you're going to have a lot of periods.

    Stim pack life cost?

    <d ref="Abil,StimPack,Cost[0].Vital.Life"/>

    Stim pack attack speed increase? I'm not sure how to access this.

    <d ref="Behavior,StimPack,Modification[0].AttackSpeedModifier"/>

    It supports multiplication too!

    Quote:

    <d ref="Effect,250mmStrikeCannonsCreatePersistent,PeriodCount * Effect,250mmStrikeCannonsDamage,Amount"/>
    <d ref="Effect,250mmStrikeCannonsCreatePersistent,PeriodCount * Effect,250mmStrikeCannonsCreatePersistent,PeriodicPeriodArray[0]"/>

    These are all indexed in the XML data files, so ones without indexes are going to be accessed through number-based index and brackets.

    Here is a search for all <d> in a GameStrings file.

    <<quote>> Line 2291: Button/Tooltip/250mmStrikeCannons=Fires at a single unit or structure, stunning the target and dealing <d ref="Effect,250mmStrikeCannonsCreatePersistent,PeriodCount * Effect,250mmStrikeCannonsDamage,Amount"/> damage over <d ref="Effect,250mmStrikeCannonsCreatePersistent,PeriodCount * Effect,250mmStrikeCannonsCreatePersistent,PeriodicPeriodArray[0]"/> seconds.<n/><n/><c val="#ColorAttackInfo">Can target ground units.</c>

    Line 2291: Button/Tooltip/250mmStrikeCannons=Fires at a single unit or structure, stunning the target and dealing <d ref="Effect,250mmStrikeCannonsCreatePersistent,PeriodCount * Effect,250mmStrikeCannonsDamage,Amount"/> damage over <d ref="Effect,250mmStrikeCannonsCreatePersistent,PeriodCount * Effect,250mmStrikeCannonsCreatePersistent,PeriodicPeriodArray[0]"/> seconds.<n/><n/><c val="#ColorAttackInfo">Can target ground units.</c>

    Line 2304: Button/Tooltip/AutoTurret=Automated defensive turret. Times out after <d ref="Behavior,AutoTurretTimedLife,Duration"/> seconds.<n/><n/><c val="#ColorAttackInfo">Can attack ground and air units.</c>

    Line 2313: Button/Tooltip/Blink=Teleports the Stalker to a nearby target location. Ability can only be used once every <d ref="Abil,Blink,Cost[0].Cooldown.TimeUse"/> seconds.

    Line 2321: Button/Tooltip/Bunker=Defensive structure able to protect up to <d ref="Abil,BunkerTransport,TotalCargoSpace"/> cargo spaces of infantry units. Bunker can be salvaged.<n/><n/><c val="#ColorAttackInfo">Bonus: +1 range to units inside.</c>

    Line 2331: Button/Tooltip/Charge=Allows Zealots to intercept nearby enemies. Also increases the movement speed of Zealots. Ability can only be used once every <d ref="Abil,Charge,Cost.Cooldown.TimeUse"/> seconds.

    Line 2336: Button/Tooltip/CloakOnBanshee=Cloaks the unit, preventing enemy units from seeing or attacking it. A cloaked unit will only be revealed by detector units or effects.<n/><n/><c val="f078ff">Drains <d ref="-1 * (Behavior,BansheeCloak,Modification.VitalRegenArray[2] + Unit,Banshee,EnergyRegenRate)" precision="1"/> energy per second.</c>

    Line 2337: Button/Tooltip/CloakOnGhost=Cloaks the unit, preventing enemy units from seeing or attacking it. A cloaked unit will only be revealed by detector units or effects.<n/><n/><c val="f078ff">Drains <d ref="-1 * (Behavior,PersonalCloaking,Modification.VitalRegenArray[2] + Unit,Ghost,EnergyRegenRate)" precision="1"/> energy per second.</c>

    Line 2351: Button/Tooltip/D8Charge=D-8 Charges are thrown into the target area and explode after a short delay. Ability can only be used once every <d ref="Abil,D8Charge,Cost[0].Cooldown.TimeUse"/> seconds.

    Line 2405: Button/Tooltip/Hallucination=Creates hallucinations that cannot deal damage and die more easily. Hallucinations last <d ref="Behavior,HallucinationTimedLife,Duration"/> seconds. Enemy detectors reveal hallucinations.

    Line 2415: Button/Tooltip/HunterSeekerMissile=Missile that chases its target. Missile has enough fuel for <d ref="Behavior,HunterSeekerMissileTimeout,Duration"/> seconds. Missile deals up to <d ref="Effect,HunterSeekerDamage,Amount"/> area damage.

    Line 2415: Button/Tooltip/HunterSeekerMissile=Missile that chases its target. Missile has enough fuel for <d ref="Behavior,HunterSeekerMissileTimeout,Duration"/> seconds. Missile deals up to <d ref="Effect,HunterSeekerDamage,Amount"/> area damage.

    Line 2421: Button/Tooltip/InfestedTerrans=Spawn 4 Infested Terrans at the target area. Infested Terrans last <d ref="Behavior,SwarmlingFate,Duration"/> seconds.

    Line 2424: Button/Tooltip/InfestorTerran=Infested Terran does moderate damage and lasts for <d ref="Behavior,SwarmlingFate,Duration"/> seconds.<n/><n/><c val="FFFF8A">Can attack ground and air units.</c>

    Line 2443: Button/Tooltip/MorphMorphalisk=Target Hatchery, Lair, or Hive spawns 4 Larva in <d ref="Behavior,SpawnMutantLarvaTimer,Duration"/> seconds. If Hatchery, Lair or Hive has more than 3 Larva at one time, regular larva production will stop until there is less than 3 larva.

    Line 2450: Button/Tooltip/NeuralParasite=Target unit is controlled by the Zerg for <d ref="Behavior,NeuralParasite,Duration"/> seconds.<n/><n/><c val="#ColorAttackInfo">Can only target Biological units.</c>

    Line 2472: Button/Tooltip/PhaseShift=Causes the targeted unit to phase out for <d ref="Behavior,Ethereal,Duration"/> seconds. Phased units are immune to all damage and most effects, but are unable to attack or use abilities.

    Line 2480: Button/Tooltip/PointDefenseDrone=Uses a laser to shoot down enemy missiles. Cannot target special attacks. Times out after <d ref="Behavior,PointDefenseDroneTimedLife,Duration"/> seconds.<n/><n/><c val="f078ff">Each shot consumes <d ref="Weapon,PointDefenseLaser,Cost.Vital[2]"/> energy.</c>

    Line 2480: Button/Tooltip/PointDefenseDrone=Uses a laser to shoot down enemy missiles. Cannot target special attacks. Times out after <d ref="Behavior,PointDefenseDroneTimedLife,Duration"/> seconds.<n/><n/><c val="f078ff">Each shot consumes <d ref="Weapon,PointDefenseLaser,Cost.Vital[2]"/> energy.</c>

    Line 2501: Button/Tooltip/PsiStorm=Creates a storm of psionic energy that lasts 4 seconds, causing up to 80 damage to all units in the target area. Ability can only be used once every <d ref="Abil,PsiStorm,Cost[0].Cooldown.TimeUse"/> seconds.

    Line 2516: Button/Tooltip/ResearchBattlecruiserEnergyUpgrade=Increases the starting energy of Battlecruisers by <d ref="Upgrade,BattlecruiserBehemothReactor,EffectArray[0].Value"/>.

    Line 2522: Button/Tooltip/ResearchGhostEnergyUpgrade=Increases the starting energy of Ghosts by <d ref="Upgrade,GhostMoebiusReactor,EffectArray[0].Value"/>.

    Line 2525: Button/Tooltip/ResearchHallucination=Allows Sentries to use Hallucination.<n/><n/>Hallucination creates copies of the selected unit. These copies function like the original unit, but cannot deal damage and die more easily. Hallucinations last <d ref="Behavior,HallucinationTimedLife,Duration"/> seconds before they disappear. Enemy detectors are able to distinguish between hallucinated Protoss units, and real Protoss units.

    Line 2528: Button/Tooltip/ResearchHighTemplarEnergyUpgrade=Increases the starting energy of High Templar by <d ref="Upgrade,HighTemplarKhaydarinAmulet,EffectArray[0].Value"/>.

    Line 2531: Button/Tooltip/ResearchMedivacEnergyUpgrade=Increases the starting energy of Medivacs by <d ref="Upgrade,MedivacCaduceusReactor,EffectArray[0].Value"/>.

    Line 2536: Button/Tooltip/ResearchRavenEnergyUpgrade=Increases the starting energy of Ravens by <d ref="Upgrade,RavenCorvidReactor,EffectArray[0].Value"/>.

    Line 2537: Button/Tooltip/ResearchSeekerMissile=Enables Ravens to use the Seeker Missile ability. This missile chases its target. Missile has enough fuel for <d ref="Behavior,HunterSeekerMissileTimeout,Duration"/> seconds. Missile deals up to <d ref="Effect,HunterSeekerDamage,Amount"/> damage.

    Line 2537: Button/Tooltip/ResearchSeekerMissile=Enables Ravens to use the Seeker Missile ability. This missile chases its target. Missile has enough fuel for <d ref="Behavior,HunterSeekerMissileTimeout,Duration"/> seconds. Missile deals up to <d ref="Effect,HunterSeekerDamage,Amount"/> damage.

    Line 2550: Button/Tooltip/SapStructure=Deals <d ref="Effect,BanelingU2,Amount"/> damage to structures. Right click to cause the Baneling to auto-attack enemy structures.<n/><n/><c val="#ColorAttackInfo">Can target enemy structures.</c>

    Line 2585: Button/Tooltip/SupplyDrop=Drops additional supplies, permanently increasing the supply output of the target Supply Depot by <d ref="Behavior,SupplyDrop,Modification.Food"/>.<</quote>>

    Posted in: Miscellaneous Development
  • 0

    posted a message on "Phoenix Fire" Ability

    Okay so basically it's an ability that will automatically shoot any enemy, it has its own attack. This was prevalent in battleships and battletanks maps in WarCraft III.

    How can I implement this in StarCraft II? Anyone found out how yet?

    Posted in: Miscellaneous Development
  • 0

    posted a message on Multi Harvesters?

    @ohmusama: Go

    Wow. Okay then.

    Posted in: Miscellaneous Development
  • 0

    posted a message on Multi Harvesters?

    Mules cannot work on the same minerals as other mules.

    Posted in: Miscellaneous Development
  • 0

    posted a message on WASD Movement: Order/Ability Events vs Key Events

    So I'm thinking that binding events to abilities being used or a certain unit being ordered to stop or hold position (left and right), would cause less delay than using a key event directly. Is this true? Has anyone done any experiments? Of course, it is more limited because you always have to be selecting that unit.

    Also, are mouse events faster than keyboard events?

    It worked in WarCraft III, pretty well, and the lag was noticeable with arrow keys but it's not as bad as SC2 is, currently. I hope Blizzard fixes this anyway.

    Posted in: Miscellaneous Development
  • 0

    posted a message on Best way to code WASD

    @s3rius: Go

    Yes, but orders trigger AI and path algorithms. I've tried just a simple "move unit instantly" and have gotten almost no lag at all in changing directions.

    Posted in: Miscellaneous Development
  • 0

    posted a message on Attaching Working Lights To Units

    Bump.

    Posted in: Miscellaneous Development
  • 0

    posted a message on TriggerAddEventUnitRange still triggers when unit is removed

    Hi, I had to do a workaround for this bug in my frogger remake map. It's a pain in the ass. All I did was create a dummy, fake a death and then hide/move the original unit.

    Posted in: Miscellaneous Development
  • 0

    posted a message on Attaching Working Lights To Units

    I know how to attach light models to units (Attach Model (doodad) To Unit), but then no light "effect" is shown. I need help.

    Posted in: Miscellaneous Development
  • 0

    posted a message on Upload error; Header is corrupt

    I get the same thing. I also get SC2MAPERROR when trying to play it through the main game.

    Posted in: Miscellaneous Development
  • 0

    posted a message on Best way to code WASD

    I've do game programming and you can't really fix the current way they have it. The best things to note is as few if statements as possible. I figured that I could just use a custom Vector2 record (x and y) to keep track, then having 4 WASD triggers to capture movement, and 4 more to stop it. This also allows for more fluid movement if 2+ move-keys are pressed.

    W Key Down
        Events
            UI - Player Any Player presses W key Down with shift Allow, control Allow, alt Allow
        Local Variables
        Conditions
            Direction[(Triggering player)].Y <= Move Speed Pos
        Actions
            Variable - Set Direction[(Triggering player)].Y = Move Speed Pos

    A Key Down
        Events
            UI - Player Any Player presses A key Down with shift Allow, control Allow, alt Allow
        Local Variables
        Conditions
            Direction[(Triggering player)].X >= Move Speed Neg
        Actions
            Variable - Set Direction[(Triggering player)].X = Move Speed Neg

    W Key Up
        Events
            UI - Player Any Player presses W key Up with shift Allow, control Allow, alt Allow
        Local Variables
        Conditions
        Actions
            Variable - Set Direction[(Triggering player)].Y = 0.0

    Also guys, the events are nothing. What's bogging it down is actually issuing orders that fast.

    Posted in: Miscellaneous Development
  • 0

    posted a message on Map Publishing: Getting Players In Game

    Read. I'll try stuff out and see how it goes.

    Quote from xenrathe:
    @Iggyhopper:

    You probably won't get players because of how maps are sorted. There's no list of games that are "up"; there's only a list of maps available, which includes EVERY MAP published, and these are sorted by popularity. Popularity is calculated by the number of games... created? played? something like that in the last hour or so. So if your map is newly published, you're going to be on the very bottom of the list, and no one is going to scroll down that far. At least that's how I understand it.

    If I'm right, I consider that a very poor system; makes it very difficult to play any maps but the most "popular."
    ----

    Actually it's only poor right now because there are maps that are horrible but are good enough to have a great time with. There is a huge margin between terri-good and terri-bad maps right now. Maybe people already know what they like and do go too far off. Also, once there are tons of players there is more chance that your map might get played.

    Overall, the system is bad and i agree. The list should have 3 recent maps at the top, marked as NEW. Epic mistake by Blizzard to promote exploration of new maps. If that is too limiting of popular maps, I think Blizzard should have a new list called "New" for maps less then 3 days old. This is the default list to be displayed and if people want to go mainstream, they will have to actually click over to the popular maps.

    Posted in: Miscellaneous Development
  • 0

    posted a message on Map Publishing: Getting Players In Game

    @s3rius:

    Yes, it does! It works now!

    Also, when I load up a match the teams are way off. I expected a 5v5 which was a 4v4 + 2 computer, but I got a team of 7 and a team of 3. :\ Does anybody know how to fix this?

    If someone wants to test and see if I can host my map and you be able to see it, that would be awesome. I could do the same.

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