Issue on creating DynamicObject using y_hooks - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Issue on creating DynamicObject using y_hooks (
/showthread.php?tid=673450)
Issue on creating DynamicObject using y_hooks -
pollo97 - 27.03.2020
Hi to everyone!
I'm programming using modules and in a first try I separeted my maps in three different files, hooking those to OnGameModeInit callback, but I noticed that only 1000 out of 1300 objects were created.
I tried to move all the maps under OnGameModeInitEx, that is the first OnGameModeInit being called and it worked!
In the 'main.pwn' I've got this code:
Code:
#include <a_samp>
public OnGameModeInit()
{
OnGameModeInitEx();
#if defined main_OnGameModeInit
return main_OnGameModeInit();
#else
return 1;
#endif
}
#if defined _ALS_OnGameModeInit
#undef OnGameModeInit
#else
#define _ALS_OnGameModeInit
#endif
#define OnGameModeInit main_OnGameModeInit
#if defined main_OnGameModeInit
forward main_OnGameModeInit();
#endif
// includes and definitions
OnGameModeInitEx()
{
// maps here works
}
Instead, in one of the map file where I hook OnGameModeInit, the code is:
Code:
#include <YSI_Coding\y_hooks>
hook OnGameModeInit()
{
// CreateDynamicObject
return 1;
}
I want to understand if there are some problems related with streamer and hooks or if is due to my inexperience in hooking callbacks.
Re: Issue on creating DynamicObject using y_hooks -
Symon - 27.03.2020
You don't have to hook anything if you're just adding objects (AFAIK).
All you have to do is create a map file which contains all objets (i'd call maps.pwn).
In that file create a function like
CreateServerObjects() and put all your objects there.
Then include
maps.pwn in your main game using:
After add
CreateServerObjects() in
OnGameModeInit on your main gamemode as well.
Note the include code i posted retrieves the maps.pwn file from inside gamemodes folder. You might want to change it based on your needs.
Re: Issue on creating DynamicObject using y_hooks -
pollo97 - 27.03.2020
Quote:
Originally Posted by Symon
You don't have to hook anything if you're just adding objects (AFAIK).
All you have to do is create a map file which contains all objets (i'd call maps.pwn).
In that file create a function like CreateServerObjects() and put all your objects there.
Then include maps.pwn in your main game using:
After add CreateServerObjects() in OnGameModeInit on your main gamemode as well.
Note the include code i posted retrieves the maps.pwn file from inside gamemodes folder. You might want to change it based on your needs.
|
I made as you said in my second attempt but I'd like to know why write the map under the hook of OnGameModeInit doesn't work. There is something I don't know about the hooks?
(Btw thank you for respond! I'll use this method for sure, but as I said, I want to know if I'm missing something)
UPDATE:
Solved, my mistake.