Various Questions, some involving Plugins
Post #1
Sand Wraith
Jul 24 2012, 10:11 pm
Post #2
IskatuMesk
Jul 25 2012, 12:44 am
|
1 Define control. If you mean music events, you'll be looking at reverse engineering their sound system. Shadowflare has a playlist plugin for memgraft, but it's not likely to be as sophisticated as what you desire.
2 Define sterilization. 3 Like I said to the other guy, anything is possible through reverse engineering. But you'll most likely be doing that yourself. |
Post #3
Sand Wraith
Jul 25 2012, 2:07 am
|
WWWWWWWW WWWWWWWW WWWWWWWW WWWWWWWW WWWWWWWW WWWWWWWW WWWWWWWW
|
1) Can you stop sounds played through the trigger system?
2) Does IceCC clean up blocks that aren't used anywhere at all? a) There are a bunch of entries in orders.dat that are marked as unused, but I am dubious - 12 Attack Ground, 13 Hover, 16 Nothing 1, 17 Power Up, 24 Nothing 3, 104 Guardian Aspect, 174 Warp In are all marked as unused, but 12, 104, and 174 look pretty sketchy. Are they actually unused anywhere? EDIT: b) Can the successful activation of a spell be detected? This post was edited 1 time, last edit by Sand Wraith: Jul 25 2012, 2:17 am. ![]() ![]() ![]() ![]() ![]() ![]() |
Post #4
IskatuMesk
Jul 25 2012, 2:28 am
|
1 - Don't know anything about triggers. But you could probably reprogram their sound system to handle stop commands.
2 - Icecc most definitely does optimization related stuff, some of which can cause problems otherwise not present in compiled scripts. I think it's safe to assume it removes unused blocks, because it definitely merges locals. Orders.dat is very hardcodey. A lot of orders issued through iscript don't do something or are only functional when they are expected. It is safe to assume a lot of unused stuff either has no code associated with it or is totally inaccessible. As for spells, not that I know of without coding or through iscript on the overlays themselves (which is not very powerful). |
Post #5
Sand Wraith
Jul 25 2012, 4:26 am
|
WWWWWWWW WWWWWWWW WWWWWWWW WWWWWWWW WWWWWWWW WWWWWWWW WWWWWWWW
|
1) Plugins: Is it possible to set shield value (99% certain, just double checking) for a unit that has shields enabled? Does shield value have to be both non-zero and enabled, just non-zero, or just enabled?
2) Is it possible to change a unit's weapons without resorting to unit ID changes? 3) What are /all/ effects of unit ID swapping? EDIT: 4) Does anyone have Quantum's contact info? (Developer of MPQDraft and ThunderGraft.) I figure he probably knows how to work some sinister sorcery. I already see some sort of sound stopping function in ThunderGraft's source code. EDIT2: 5) Is it possible to remove a unit with plugins (without the death animation, so that the removal is like the trigger action)? EDIT3: 6) Is it possible to set, decrease, or increase an upgrade or tech with a plugin? (Maybe BWAPI can do this?) EDIT4: 7) How do you use the upgrade and tech namespaces and enumerations? EDIT5: INCREDIBLE. CURRENT HP CAN BE OVER MAXIMUM HP BUT CURRENT SHIELDS CANNOT BE OVER MAXIMUM SHIELDS. THIS IS SOME RETARDED BULLSHIT. This post was edited 6 times, last edit by Sand Wraith: Jul 26 2012, 2:02 am. ![]() ![]() ![]() ![]() ![]() ![]() |
Post #6
MC˛Voyager7456
Jul 26 2012, 3:24 am
|
Answering this off the top of my head, because I used to do a lot of shit with it. A value of > 255 means the technology has been researched. Otherwise it is unresearched. Research adds 256 to the value. All the addresses are between 580000 and 590000. Find Stim Packs and they go in a pattern from there, except for the Brood War techs. Basically look at the ID list. PLAYER ONE: 0058CF2B = Stim Packs Researched - P1 0058CF2C = Lockdown Researched - P1 0058CF2D = EMP Shockwave Researched - P1 0058CF2E = Spider Mines Researched - P1 0058CF2F = Scanner Sweep Researched? - P1 0058CF30 = Siege Mode Researched - P1 0058CF31 = Defense Matrix Researched? - P1 0058CF32 = Irradiate Researched - P1 0058CF33 = Yamato Gun Researched - P1 0058CF34 = Cloaking Field Researched? - P1 0058CF35 = Personnel Cloaking Researched - P1 0058CF36//0058CF37 = Burrow Researched - P1 0058CF38 = Spawn Broodling Researched - P1 0058CF39 = Dark Swarm Researched? - P1 0058CF3A = Plague Researched - P1 0058CF3B = Consume Researched - P1 0058CF3C = Ensnare Researched - P1 0058CF3D = Parasite Researched? - P1 0058CF3E = Psionic Storm Researched - P1 0058CF3F = Hallucination Researched - P1 0058CF40 = Recall Researched - P1 0058CF41 = Stasis Researched - P1 0058CF42 = Archon Warp Researched? - P1 0058F127 = Restoration Researched - P1 0058F128 = Disruption Web Researched - P1 0058F12A = Mind Control Researched - P1 0058F12B = Dark Archon Meld Researched? - P1 0058F12C = Feedback Researched - P1 0058F12D = Optical Flare Researched - P1 0058F12E = Maelstrom Researched - P1 0058F130 = Lurker Aspect Researched - P1 PLAYER TWO: 0058CF43 = Stim 0058CF44 = Lockdown 0058CF45 = EMP 0058CF46 = Spider Mines 0058CF47 = Scanner Sweep 0058CF48 = Siege Mode 0058CF49 = Defense Matrix 0058CF4A = Irradiate 0058CF4B = Yamato Gun 0058CF4C = Cloaking Field 0058CF4D = Personnel Cloaking 0058CF4E/0058CF4F = Burrow 0058CF50 = Spawn Broodling Researched - P2 0058CF52 = Plague Researched - P2 0058CF53 = Consume Researched - P2 0058CF54 = Ensnare Researched - P2 0058CF55 = Parasite 0058CF56 = Psionic Storm 0058CF57 = Hallucination 0058CF58 = Recall 0058CF59 = Stasis 0058CF5A = Archon Warp 0058F13B - Restoration 0058F13C - Disruption Web 0058F13E - Mind Control 0058F13F - Dark Archon Meld 00581140 - Feedback 0058F141 - Optical Flare 0058F142 - Maelstrom 0058F143 - Lurker Aspect PLAYER THREE: 0058CF5B = Stim 0058CF5C = Lockdown 0058CF5D = EMP 0058CF5E = Spider Mines 0058CF5F = Scanner Sweep 0058CF60 = Siege Mode 0058CF61 = Defense Matrix 0058CF62 = Irradiate 0058CF63 = Yamato Gun PLAYER FOUR: 0058CF7B = Yamato Gun PLAYER FIVE: 0058CF93 = Yamato Gun PLAYER SIX: 0058CFAB = Yamato Gun PLAYER SEVEN: 0058CFC3 = Yamato Gun PLAYER EIGHT: 0058CFDB = Yamato Gun ![]() ![]() ![]() ![]() ![]() ![]() Grayza: You are so self-righteous! I have used all my skills, all my resources, for one perfect chance at peace. And because of you, it is gone! And I am...
Crichton: Frelled? Screwed? Raped? Welcome to the universe, Commandant. |
Post #7
Sand Wraith
Jul 26 2012, 4:19 am
Post #8
MC˛Voyager7456
Jul 26 2012, 4:21 am
|
Oh right, sorry. These are for 1.15.1. I believe they stay relatively in the same positions between versions, but you might need to look around again if you're using another version. I don't think they'd move out of the 580000-590000 range though.
![]() ![]() ![]() ![]() ![]() ![]() Grayza: You are so self-righteous! I have used all my skills, all my resources, for one perfect chance at peace. And because of you, it is gone! And I am...
Crichton: Frelled? Screwed? Raped? Welcome to the universe, Commandant. |
Post #9
Sand Wraith
Jul 26 2012, 4:30 am
|
WWWWWWWW WWWWWWWW WWWWWWWW WWWWWWWW WWWWWWWW WWWWWWWW WWWWWWWW
|
I'm probably just going to look through BWAPI tomorrow or something. I'm almost certain it has the addresses, otherwise, it wouldn't be able to order the computer to research them.
1) How do I use the deathTable for GPTP? (If it's the same thing as EUDs/EPDs, I could really make use of it.) ![]() ![]() ![]() ![]() ![]() ![]() |
Post #10
Sand Wraith
Jul 26 2012, 3:53 pm
|
WWWWWWWW WWWWWWWW WWWWWWWW WWWWWWWW WWWWWWWW WWWWWWWW WWWWWWWW
|
AWWW YEAH I GOT IT TO WORK (after much trial and error)
I'll write this down here so other people don't have to figure it out (unless they already did, in which case, fuck you for not telling me) Codebool nextFrame(){ BOOL* Game_Is_Paused = (BOOL*) 0x006509C4; //0x006509AC for 1.15.1; if (!*Game_Is_Paused)//If the game is not paused { int unitTypeId = 1; // ID can be taken from DatEdit. 1 == Ghost int PlayerWithDeaths = 0; // 0 == player 1 UNITDEATHS* unit_deaths; UNITDEATHS* deathTable; deathTable = (UNITDEATHS*)(VERSION::UnitDeaths); unit_deaths = &deathTable[unitTypeId]; resources->playermin[PlayerWithDeaths] = unit_deaths->player[PlayerWithDeaths]; } curFrame += 1; return true; } ![]() ![]() ![]() ![]() ![]() ![]() |
Post #11
Sand Wraith
Jul 27 2012, 12:51 am
|
WWWWWWWW WWWWWWWW WWWWWWWW WWWWWWWW WWWWWWWW WWWWWWWW WWWWWWWW
|
Voy, I need your help (or if anyone else can help, that would be great).
I've found the primary address for the tech and upgrades from BWAPI: https://code.google.com/p/bwapi/source/browse/branches/bwapi4/bwapi/BWAPI/Source/BW/Offsets.h#602 I've even used the addresses with ArtMoney to manually research Stim Packs and Lurker Aspect. However, I am at the point where I need to actually implement this address into GPTP's code. Can anyone help with this? How are the structures supposed to look like? How do I set everything up? ![]() ![]() ![]() ![]() ![]() ![]() |
Post #12
MC˛Voyager7456
Jul 27 2012, 2:21 am
Post #13
Sand Wraith
Jul 27 2012, 6:12 pm
Post #14
Sand Wraith
Jul 31 2012, 12:16 am
Post #15
IskatuMesk
Jul 31 2012, 12:40 am
Post #16
Sand Wraith
Jul 31 2012, 1:49 am
Post #17
xAngelSpiritx
Jul 31 2012, 5:56 pm
Post #18
IskatuMesk
Jul 31 2012, 6:08 pm
Post #19
Sand Wraith
Jul 31 2012, 11:43 pm
Post #20
Sand Wraith
Aug 1 2012, 5:32 pm
|
WWWWWWWW WWWWWWWW WWWWWWWW WWWWWWWW WWWWWWWW WWWWWWWW WWWWWWWW
|
2) Does anyone know what the unknown techs do? Or anything at all about them.
I'm specifically looking for a tech or method to call an iscript block that does not require clicking somewhere. Instant cast, if you will. I've already salvaged Stim Pack. 3) Can units research/upgrade? ![]() ![]() ![]() ![]() ![]() ![]() |
0 members in this topic (italic members are currently writing a reply): None
+ guest(s)
+ guest(s)
[09:50 pm]
[09:05 pm]
[08:50 pm]
[07:47 pm]
[07:32 pm]
[07:23 pm]
[07:21 pm]







![[close]](/images/up.gif)