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.
[01:56 am]
Oh_Man -- cool bit of history, spellsword creator talking about the history of EUD ^
[09:24 pm]
Moose -- denis
[05:00 pm]
lil-Inferno -- benis
[10:41 am]
v9bettel -- Nice
[2024-4-19. : 1:39 am]
Ultraviolet -- no u elky skeleton guy, I'll use em better
[2024-4-18. : 10:50 pm]
Vrael -- Ultraviolet
Ultraviolet shouted: How about you all send me your minerals instead of washing them into the gambling void? I'm saving up for a new name color and/or glow
hey cut it out I'm getting all the minerals
[2024-4-18. : 10:11 pm]
Ultraviolet -- :P
[2024-4-18. : 10:11 pm]
Ultraviolet -- How about you all send me your minerals instead of washing them into the gambling void? I'm saving up for a new name color and/or glow
[2024-4-17. : 11:50 pm]
O)FaRTy1billion[MM] -- nice, now i have more than enough
Please log in to shout.


Members Online: Oh_Man, NudeRaider