Vasya_Pupkin
12.02.2018, 11:21
Всем привет.
Хочу узнать кое что.
Возможно все stock и некоторые public
убрать в includ
То как тогда вызывать его в OnGameModeInit()
или в конец мода
#include "test.inc"
и так же команды на DC_CMD, чтобы убрать их в инклуд как сделать? просто создать строчку и в папке инклуде сам инклуд с этими командами и в моде подключить в конце #include "test.inc"
или как то перехваты делать или что то еще нужно будет дописывать?
Возможно все stock и некоторые public убрать в includ
Возможно. Просто создаёшь отдельный файл и помещаешь туда нужный код.
Если это отдельные функции, подключение инклуда должно происходить вне остальных функций.
//Инклуд "test.inc"
stock SomeFunc()
{
print("test");
return 1;
}
//Мод
public OnGameModeInit()
{
return 1;
}
#unclude <test>
/*
Вначале ты подключишь инклуд или в конце - не так важно, если в инклуде нет зависимостей от каких-то глобальных переменных/функций
Если же, например, в моде есть переменная "variable" и она используется в функциях, кто убраны в инклуд, то инклуд нужно подключать после этой переменной
*/
Если это часть кода функции, то уже инклуд подключается в ту функцию, откуда этот код был взят
//Мод
public OnGameModeInit()
{
new test = 1;
printf("test == %d", test);
return 1;
}
//Инклуд "test.inc"
new test = 1;
printf("test == %d", test);
//Мод
public OnGameModeInit()
{
#include <test>
return 1;
}
То как тогда вызывать его в OnGameModeInit()
Можно по разному. Либо как я показал во втором примере, либо создать дополнительную функцию и уже её вызвать в нужном месте
//Мод
public OnGameModeInit()
{
new test = 1;
printf("test == %d", test);
return 1;
}
//Инклуд "test.inc"
stock SomeFunc()
{
new test = 1;
printf("test == %d", test);
return 1;
}
//Мод
#include <test>
public OnGameModeInit()
{
SomeFunc();
return 1;
}
и так же команды на DC_CMD, чтобы убрать их в инклуд как сделать? просто создать строчку и в папке инклуде сам инклуд с этими командами и в моде подключить в конце #include "test.inc"
Команды убираются так, как я показал в первом примере.
Вообще просто стоит понять, что помещая код в инклуд и подключая его, ты не делаешь чего-то необычного. Просто весь код из инклуда поместится на место подключения инклуда при компиляции. И поместится он туда в том виде, в каком он есть в инклуде.
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot