Staredit Network > Forums > Modding Assistance > Topic: plugin how to start?
plugin how to start?
Nov 4 2018, 9:33 pm
By: Lagi  

Nov 4 2018, 9:33 pm Lagi Post #1



I can not make GPTP.qdp from source (i must dont know something basic)

please advice me

=============
i have visual studio 2010 Ultimate

from Framework http://www.staredit.net/topic/17547/
I open the GPTP source: project GPTP.vcxproj

any change i made in game hooks.cpp works (f.ex. in line 24 :
scbw::printText(PLUGIN_NAME ": Hello, world! asdasd");

but nothing else dont work: i try include also KYSXD code for
https://github.com/KYSXD/GPTP-For-VS2008/wiki/%5BPlugin%5D-Smart-rally
https://github.com/KYSXD/GPTP-For-VS2008/wiki/%5BPlugin%5D-Increase-initial-amount-of-workers

after change i save the .cpp
F5 > debug

go to framework folder
inside /debug/patch/ I find some .gdp file (that is affecting the start txt message only)

from some other tutorial, i know VS should create GPTP.dll file
the problem is in my case those 3.dll file are 1kb heavy and changing extension to .qdp and with error.

=======
precompiled .qdp for smart rally from Framework works.



None.

Nov 5 2018, 6:19 pm Lagi Post #2



SOLUTION (it work, but let somebody check me, if i'm missing something):
all hooks have to be "activate" in file game_hooks.cpp

f.ex. increasing starting workers:
in game_hooks.cpp below other #includes add:
#include "create_init_units.h"

in file create_init_units.cpp
there is function:
void CreateInitialMeleeUnits()
where have to be written code for more than 4 workers
(copy paste KYSXD:https://github.com/KYSXD/GPTP-For-VS2008/wiki/%5BPlugin%5D-Increase-initial-amount-of-workers)


in game_hooks.cpp, after "nextFrame()", add CreateInitialMeleeUnits();

Quote
//This block is executed once every game.
if (*elapsedTimeFrames == 0) {
//Write your code here

CreateInitialMeleeUnits();
}

//Loop through all visible units in the game.
for (CUnit *unit = *firstVisibleUnit; unit; unit = unit->link.next) {
//Write your code here




None.

Nov 5 2018, 7:13 pm Lagi Post #3



PROBLEM:

if I use the starting worker hook (even with 4 default starting workers),
the default AI is idle (doing nothing),

any suggestions?



None.

Nov 6 2018, 9:59 am Lagi Post #4



SOLUTION:

in file initialize.cpp there are injects that are commented, inactive- so they not modify SC code.

un-comment
Quote
hooks::injectHallucinationSpellHook();
hooks::injectFeedbackSpellHook();
hooks::injectBtnsCondHook();
hooks::injectRecvCmdHook();*/
hooks::injectCreateInitUnitsHooks();
/*hooks::injectGiveUnitHook();
hooks::injectTrainCmdRecvHooks();
hooks::injectCMDRECV_SiegeTankHooks();
hooks::injectCMDRECV_MergeArchonHooks();

there is no need to double this code-inject in game_hooks.cpp, plus the AI start working with extra workers.
so KYSXD was right in his tutorial, only required is to change "create_init_units.cpp"



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[08:33 pm]
jjf28 -- Suicidal Insanity
Suicidal Insanity shouted: Are you really sure about that? ' --TRUNCATE *
that's a paddlin'
[2018-11-15. : 10:04 pm]
jjf28 -- a wild DavidJCobb appeared!
[2018-11-15. : 7:48 pm]
Suicidal Insanity -- Are you really sure about that? ' --TRUNCATE *
[2018-11-15. : 3:58 pm]
Dem0n -- I don't think the site is that bad
[2018-11-15. : 3:58 pm]
Dem0n -- lmao
[2018-11-15. : 3:55 pm]
trgk -- Not bad
[2018-11-15. : 3:55 pm]
trgk -- client escaping?'
[2018-11-15. : 3:53 pm]
trgk -- Not so easy :)
[2018-11-15. : 3:53 pm]
trgk -- test2
[2018-11-15. : 3:52 pm]
trgk -- test
Please log in to shout.


Members Online: Roy