Staredit Network > Forums > Modding Assistance > Topic: Regeneration plugin
Regeneration plugin
Jul 13 2012, 5:36 pm
By: iquare  

Jul 13 2012, 5:36 pm iquare Post #1



How to write plugin, which gain 5hp/second regeneration ability for zergling? (I try make it, using GPTP, but it cause error during compilation



None.

Jul 13 2012, 5:39 pm Biophysicist Post #2



Copy-paste your game.h file here and I'll debug it.

EDIT: At least, I think it's game.h. The one you edit when using GPTP.



None.

Jul 14 2012, 6:26 am iquare Post #3



/*
* This is where the magic happens. However, there are other things
* that you can change. In "Definitions/definitions.h", you can
* remove the DEBUG defintion for a final release of your plugin.
* You can likewise change the version that the plguin is for.
* Supported versions are given in "Definitions/definitions.h".
*
* Oh, and you can also change the plugin's ID in that file as well,
* just in case it conflicts with other plugin IDs.
*/

//the asm functions don't seem to work for some reason. probably the offsets I have are wrong, if anyone knows them, contact me asap!
#include "asm.cpp"


#ifdef DEBUG
#include <fstream>
std::ofstream myfile;
#endif

// Any code in nextFrame() will be run every frame. On Fastest game speed, this is equal to 24 times per second.
bool nextFrame()
{
return true;
}

// Any code in gameOn() will be run once, when the map starts.
bool gameOn()
{
return true;
}

// Any code in gameEnd() will be run once, at the end of the game.
bool gameEnd()
{
return true;
}

void nextFrame()
{
int hitpoints = 35;
for (int i=0;i<1700;i++) {
UNIT* zergling;
zergling = &unitTable[i];
if (zergling->unitId == 37) {
if (zergling->healthPoints < 256*hitpoints) {
for (int j=0;j<1700;j++) {
if (zergling->healthPoints < 256) {
zergling->healthPoints = zergling->healthPoints + 32;
}
}
}
}
}
}



None.

Jul 14 2012, 2:45 pm Biophysicist Post #4



Try this:

Code
#include "asm.cpp"

#ifdef DEBUG
#include <fstream>
std::ofstream myfile;
#endif

// Any code in nextFrame() will be run every frame. On Fastest game speed, this is equal to 24 times per second.
bool nextFrame()
{
    int hitpoints = 35;
    for (int i=0;i<1700;i++) {
        UNIT* zergling = &unitTable[i];
        if (zergling->unitId == 37 && zergling->healthPoints < 256*hitpoints)
                zergling->healthPoints += 32;
    }
    return true;
}

// Any code in gameOn() will be run once, when the map starts.
bool gameOn()
{
    return true;
}

// Any code in gameEnd() will be run once, at the end of the game.
bool gameEnd()
{
    return true;
}




None.

Jul 15 2012, 10:36 am iquare Post #5



Thanks, plugin works.



None.

Jul 15 2012, 7:02 pm Pr0nogo Post #6



Huh. Not much different from Python coding. I could probably learn this easily.




Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[04:37 am]
Ultraviolet -- 80% of statistics are made up on the spot
[08:05 pm]
Symmetry -- 50% of strings in starcraft are references
[2026-6-07. : 1:59 am]
RIVE -- Lots of fun little nods to different works of others in the cheats too.
[2026-6-06. : 5:17 pm]
Oh_Man -- so i was today years old wen i learned rebel yell starcraft mission is named after a billy idol song. makes me wonder wat other missions are named after songs
[2026-6-04. : 3:42 am]
RIVE -- Hellooooo, Nurse
[2026-6-03. : 4:19 pm]
NudeRaider -- Hello World!
[2026-6-01. : 4:03 pm]
IskatuMesk -- no Hello World? No Hello . jpeg? Not even ddosing some government website? smh my head
[2026-5-31. : 10:02 pm]
Symmetry -- I was really just figuring out how to compile
[2026-5-31. : 10:02 pm]
Symmetry -- I didn't make it do anything
[2026-5-31. : 9:17 pm]
Ultraviolet -- hell yeah. did you have trouble making the button functional, or just haven't gotten there yet?
Please log in to shout.


Members Online: UndeadStar