diff --git a/bot/bot.vcproj b/bot/bot.vcproj
index 195d779..4be15ce 100644
--- a/bot/bot.vcproj
+++ b/bot/bot.vcproj
@@ -131,6 +131,12 @@
+
+
+
+
diff --git a/bot/main.h b/bot/main.h
index 19aebfc..9066dfb 100644
--- a/bot/main.h
+++ b/bot/main.h
@@ -37,6 +37,7 @@ typedef struct _GAME_SETTINGS {
#include "net/playerpool.h"
#include "net/vehiclepool.h"
#include "net/netgame.h"
+#include "net/scriptrpc.h"
void logprintf(char* format, ...);
diff --git a/bot/net/scriptrpc.cpp b/bot/net/scriptrpc.cpp
new file mode 100644
index 0000000..8846a54
--- /dev/null
+++ b/bot/net/scriptrpc.cpp
@@ -0,0 +1,248 @@
+
+#include "../main.h"
+
+void ScrUnk44(RPCParameters *rpcParams)
+{
+ // TODO: ScrUnk44
+}
+
+void ScrUnk45(RPCParameters *rpcParams) {}
+void ScrUnk99(RPCParameters *rpcParams) {}
+void ScrUnk0B(RPCParameters *rpcParams) {}
+
+void ScrUnk0C(RPCParameters *rpcParams)
+{
+ // TODO: ScrUnk0C
+}
+
+void ScrUnk0D(RPCParameters *rpcParams) {}
+void ScrUnk0E(RPCParameters *rpcParams) {}
+
+void ScrUnk46(RPCParameters *rpcParams)
+{
+ // TODO: ScrUnk46
+}
+
+void ScrUnk47(RPCParameters *rpcParams)
+{
+ // TODO: ScrUnk47
+}
+
+void ScrUnk48(RPCParameters *rpcParams) {}
+
+void ScrUnk49(RPCParameters *rpcParams)
+{
+ // TODO: ScrUnk49
+}
+
+void ScrUnk9C(RPCParameters *rpcParams) {}
+void ScrUnk9D(RPCParameters *rpcParams) {}
+void ScrUnk9E(RPCParameters *rpcParams) {}
+void ScrUnk9F(RPCParameters *rpcParams) {}
+void ScrUnkA0(RPCParameters *rpcParams) {}
+void ScrUnkA1(RPCParameters *rpcParams) {}
+void ScrUnkA2(RPCParameters *rpcParams) {}
+void ScrUnk0F(RPCParameters *rpcParams) {}
+void ScrUnk10(RPCParameters *rpcParams) {}
+void ScrUnk11(RPCParameters *rpcParams) {}
+void ScrUnk12(RPCParameters *rpcParams) {}
+
+void ScrUnk13(RPCParameters *rpcParams)
+{
+ // TODO: ScrUnk13
+}
+
+void ScrUnk14(RPCParameters *rpcParams) {}
+void ScrUnk15(RPCParameters *rpcParams) {}
+void ScrUnk16(RPCParameters *rpcParams) {}
+void ScrUnk40(RPCParameters *rpcParams) {}
+void ScrUnk41(RPCParameters *rpcParams) {}
+void ScrUnk42(RPCParameters *rpcParams) {}
+void ScrUnk37(RPCParameters *rpcParams) {}
+void ScrUnk38(RPCParameters *rpcParams) {}
+void ScrUnk90(RPCParameters *rpcParams) {}
+void ScrUnk91(RPCParameters *rpcParams) {}
+void ScrUnk92(RPCParameters *rpcParams) {}
+void ScrUnk93(RPCParameters *rpcParams) {}
+void ScrUnk94(RPCParameters *rpcParams) {}
+void ScrUnk95(RPCParameters *rpcParams) {}
+void ScrUnk2C(RPCParameters *rpcParams) {}
+void ScrUnk2D(RPCParameters *rpcParams) {}
+void ScrUnk2E(RPCParameters *rpcParams) {}
+void ScrUnk2F(RPCParameters *rpcParams) {}
+void ScrUnk30(RPCParameters *rpcParams) {}
+void ScrUnk31(RPCParameters *rpcParams) {}
+void ScrUnk4F(RPCParameters *rpcParams) {}
+void ScrUnk50(RPCParameters *rpcParams) {}
+void ScrUnk63(RPCParameters *rpcParams) {}
+void ScrUnk7A(RPCParameters *rpcParams) {}
+void ScrUnk7B(RPCParameters *rpcParams) {}
+void ScrUnk7C(RPCParameters *rpcParams) {}
+void ScrUnk7D(RPCParameters *rpcParams) {}
+void ScrUnk7E(RPCParameters *rpcParams) {}
+void ScrUnk7F(RPCParameters *rpcParams) {}
+void ScrUnk39(RPCParameters *rpcParams) {}
+void ScrUnk4A(RPCParameters *rpcParams) {}
+void ScrUnk4B(RPCParameters *rpcParams) {}
+void ScrUnk4C(RPCParameters *rpcParams) {}
+void ScrUnk4D(RPCParameters *rpcParams) {}
+void ScrUnk4E(RPCParameters *rpcParams) {}
+void ScrUnk85(RPCParameters *rpcParams) {}
+void ScrUnk86(RPCParameters *rpcParams) {}
+void ScrUnk87(RPCParameters *rpcParams) {}
+void ScrUnk6C(RPCParameters *rpcParams) {}
+void ScrUnk78(RPCParameters *rpcParams) {}
+void ScrUnk79(RPCParameters *rpcParams) {}
+void ScrUnk55(RPCParameters *rpcParams) {}
+void ScrUnk56(RPCParameters *rpcParams) {}
+void ScrUnk57(RPCParameters *rpcParams) {}
+void ScrUnk58(RPCParameters *rpcParams) {}
+
+//----------------------------------------------------
+
+void RegisterScriptRPCs(RakClientInterface* pRakClient)
+{
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk44);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk45);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk99);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk0B);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk0C);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk0D);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk0E);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk46);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk47);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk48);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk49);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk9C);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk9D);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk9E);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk9F);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnkA0);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnkA1);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnkA2);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk0F);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk10);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk11);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk12);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk13);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk14);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk15);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk16);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk40);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk41);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk42);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk37);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk38);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk90);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk91);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk92);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk93);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk94);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk95);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk2C);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk2D);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk2E);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk2F);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk30);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk31);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk4F);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk50);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk63);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk7A);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk7B);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk7C);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk7D);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk7E);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk7F);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk39);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk4A);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk4B);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk4C);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk4D);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk4E);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk85);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk86);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk87);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk6C);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk78);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk79);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk55);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk56);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk57);
+ REGISTER_STATIC_RPC(pRakClient, ScrUnk58);
+}
+
+//----------------------------------------------------
+
+void UnRegisterScriptRPCs(RakClientInterface* pRakClient)
+{
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk44);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk45);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk0B);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk99);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk0C);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk0D);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk0E);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk46);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk47);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk48);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk49);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk9C);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk9D);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk9E);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk9F);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnkA0);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnkA1);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnkA2);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk0F);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk10);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk11);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk12);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk13);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk14);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk15);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk16);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk40);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk41);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk37);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk38);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk90);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk91);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk92);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk93);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk94);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk95);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk2C);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk2D);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk2E);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk2F);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk30);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk31);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk4F);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk50);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk63);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk7A);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk7B);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk7C);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk7D);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk7E);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk7F);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk39);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk4A);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk4B);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk4C);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk4D);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk4E);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk85);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk86);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk87);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk6C);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk78);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk79);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk55);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk56);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk57);
+ UNREGISTER_STATIC_RPC(pRakClient, ScrUnk58);
+}
+
+//----------------------------------------------------
diff --git a/bot/net/scriptrpc.h b/bot/net/scriptrpc.h
new file mode 100644
index 0000000..a0348d0
--- /dev/null
+++ b/bot/net/scriptrpc.h
@@ -0,0 +1,13 @@
+
+#pragma once
+#ifndef SAMPCLI_SCRIPTRPC_H
+#define SAMPCLI_SCRIPTRPC_H
+
+//----------------------------------------------------
+
+void RegisterScriptRPCs(RakClientInterface* pRakClient);
+void UnRegisterScriptRPCs(RakClientInterface* pRakClient);
+
+//----------------------------------------------------
+
+#endif
\ No newline at end of file