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.
[2026-10-31. : 3:18 am]
Symmetry -- Make maps for the memes :hurr:
[2026-10-30. : 8:19 pm]
Ultraviolet -- NudeRaider
NudeRaider shouted: damn, if that doesn't scream UV, I don't know what does. https://staredit.net/382067/
hah yeah in the past that might've been up my alley. haven't really been mapping lately, been too busy with everything else. and kinda lost interest too tbh. just not enough people left on SC to feel worth investing the time personally.
[2026-10-30. : 8:03 pm]
lil-Inferno -- u
[2026-10-30. : 7:38 am]
NudeRaider -- damn, if that doesn't scream UV, I don't know what does. https://staredit.net/382067/
[2026-10-30. : 6:55 am]
UndeadStar -- :wob:
[2026-10-30. : 2:28 am]
Symmetry -- :wob:
[2026-10-29. : 9:17 pm]
RIVE -- :wob:
[2026-10-29. : 7:03 pm]
CoCo( -- OK, click here if any1 is interested in this $ making opportunity https://staredit.net/topic/18952/
[2026-10-29. : 4:39 pm]
NudeRaider -- sure, make a post in ums assistance
[2026-10-29. : 6:44 am]
CoCo( -- anyone willing to help fix a few triggers on a new "impossible" map? Please
Please log in to shout.


Members Online: Butch, l)ark_ssj9kevin, City