Skip to content

Commit d1c817a

Browse files
committed
Add FCNPC_OnInit callback (#200, #296)
1 parent 4fa8fe4 commit d1c817a

File tree

5 files changed

+10
-0
lines changed

5 files changed

+10
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ Constants
109109
Callbacks
110110
---------
111111
```Pawn
112+
forward FCNPC_OnInit();
112113
forward FCNPC_OnCreate(npcid);
113114
forward FCNPC_OnDestroy(npcid);
114115
forward FCNPC_OnSpawn(npcid);

sampsvr_files/FCNPC.inc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ public FCNPC_IncludeVersion = FCNPC_INCLUDE_VERSION;
6767
#define FCNPC_INVALID_RECORD_ID (-1)
6868
6969
// Callbacks
70+
forward FCNPC_OnInit();
7071
forward FCNPC_OnCreate(npcid);
7172
forward FCNPC_OnDestroy(npcid);
7273
forward FCNPC_OnSpawn(npcid);

src/CCallbackManager.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ std::vector<AMX *> CCallbackManager::m_vAmx;
1515
std::map<AMX *, std::vector<int>> CCallbackManager::m_mapCallbacks;
1616
std::queue<AMX *> CCallbackManager::m_vAmxLoadQueue;
1717
std::array<char *, CCallbackManager::Callbacks::CallbacksCount> CCallbackManager::m_aCallbackNames = {
18+
(char *)"FCNPC_OnInit",
1819
(char *)"FCNPC_OnCreate",
1920
(char *)"FCNPC_OnDestroy",
2021
(char *)"FCNPC_OnSpawn",
@@ -56,6 +57,11 @@ void CCallbackManager::Init()
5657

5758
if (vIndexes.size() > 0) {
5859
m_mapCallbacks[pAmx] = vIndexes;
60+
61+
int iIndex = vIndexes.at(FCNPC_OnInit);
62+
if (iIndex != 0) {
63+
amx_Exec(pAmx, NULL, iIndex);
64+
}
5965
}
6066
m_vAmxLoadQueue.pop();
6167
}

src/CCallbackManager.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ class CCallbackManager
4848
static std::queue<AMX *> m_vAmxLoadQueue;
4949

5050
enum Callbacks {
51+
FCNPC_OnInit,
5152
FCNPC_OnCreate,
5253
FCNPC_OnDestroy,
5354
FCNPC_OnSpawn,

src/FCNPC.inc.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ public FCNPC_IncludeVersion = FCNPC_INCLUDE_VERSION;
6767
#define FCNPC_INVALID_RECORD_ID (-1)
6868

6969
// Callbacks
70+
forward FCNPC_OnInit();
7071
forward FCNPC_OnCreate(npcid);
7172
forward FCNPC_OnDestroy(npcid);
7273
forward FCNPC_OnSpawn(npcid);

0 commit comments

Comments
 (0)