Se seu interesse for organizar a gamemode de forma a colocar comandos e funções administrativas em outro arquivo, diferente do main.pwn, faça uma programação modular. A maneira mais comum é criar uma nova pasta na principal do servidor chamada "modules" e criar subpastas dentro dela, como "admin", "veiculos", "casas". Cada pasta conterá um sistema diferente. (Lembre-se, somente códigos, com a intenção de organizar seus scripts. Não serve como forma de salvamento)
Para fazer a integração entre os dois arquivos, no main.pwn você deve incluir o caminho do arquivo, pois sem ele, nenhum código dentro de comandos.pwn será lido.
É recomendado também utilizar y_hooks caso queira utilizar módulos em sua gamemode. Dê uma lida:
https://www.burgershot.gg/showthread.php?tid=625
Já falando sobre os actors, como você já usa MySQL, recomendo que salve as posições e skin do actor em uma tabela no seu banco de dados. Para ler os arquivos e criar o actor no servidor, é simples:
Para fazer a integração entre os dois arquivos, no main.pwn você deve incluir o caminho do arquivo, pois sem ele, nenhum código dentro de comandos.pwn será lido.
Código PHP:
#include "./modules/admin/comandos.pwn"
É recomendado também utilizar y_hooks caso queira utilizar módulos em sua gamemode. Dê uma lida:
https://www.burgershot.gg/showthread.php?tid=625
Já falando sobre os actors, como você já usa MySQL, recomendo que salve as posições e skin do actor em uma tabela no seu banco de dados. Para ler os arquivos e criar o actor no servidor, é simples:
Código PHP:
public OnGameModeInit()
{
CriarActors();
return 1;
}
public CriarActors()
{
new Float:X, Float:Y, Float:Z, Float:A, skin, actorscreated = 0;
new Cache:result = mysql_query(connection, "SELECT * FROM actors", true), rows = cache_num_rows();
if(rows > 0)
{
for(new i; i < rows; i++)
{
cache_get_value_float(i, "posX", X);
cache_get_value_float(i, "posY", Y);
cache_get_value_float(i, "posZ", Z);
cache_get_value_float(i, "posA", A);
cache_get_value_int(i, "skin", skin);
CreateActor(skin, X, Y, Z, A);
actorscreated++;
}
}
printf("Um total de %d actors foram lidos e %d foram criados no servidor.", rows, actorscreated);
return 1;
}