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:24 pm]
Oh_Man -- da real donwano
da real donwano shouted: Who can crack into an old protected map & remove the trigger for insta-defeat for playing solo?
me
[12:48 am]
RIVE -- j
[2024-11-08. : 10:41 pm]
lil-Inferno -- p
[2024-11-07. : 7:38 pm]
Zoan -- M
[2024-11-07. : 11:26 am]
Zycorax -- F
[2024-11-06. : 7:31 pm]
O)FaRTy1billion[MM] -- L
[2024-11-06. : 9:45 am]
TF- -- Blumph win :wob:
[2024-11-06. : 3:43 am]
da real donwano -- Who can crack into an old protected map & remove the trigger for insta-defeat for playing solo?
[2024-11-04. : 3:21 am]
Ultraviolet -- surprised it runs at all anymore
[2024-11-04. : 3:21 am]
Ultraviolet -- DLDB is fucked
Please log in to shout.


Members Online: Roy, IlyaSnopchenko, jjf28