10.10.2018, 01:26
Sim, porйm ficaria uma GM gigantesca, por exemplo, o DOF2 usa funзхes do propio SA-MP para fazer o salvamento, sу que ele meio que otimiza isso por exemplo, vou explicar em forma de cуdigo, vou usar meu comando criar casa:
em vez de eu usar esse cуdigo que estб na stock toda vez que uma funзгo cria uma casa, eu crio um stock e apenas chamo ela quando quero criar uma casa, й basicamente isso que includes fazem, elas pega um cуdigo enorme e colocam em um public, ai vocк sу chama essa public em vez de colocar um cуdigo enorme em suas funзхes, ou seja, sua GM й mais otimizada com inlude, do que sem (aos crнticos peguem leve se falei merda, e nгo sei se й bom este meu sistema de criar casa)
PHP код:
CMD:criarcasa(playerid, params[])
{
new precoc, interior, Float:pX, Float:pY, Float:pZ, String[40];
if(sscanf(params,"dd",precoc,interior)) return SCM(playerid, INFOA, "[ERRO] Comando incorreto! Use: /criarcasa [preзo] [interior]");
GetPlayerPos(playerid, pX, pY, pZ);
format(String, sizeof(String), "Interiores/%d.txt",interior);
if(PlayerInfo[playerid][pAdmin] >= 4)
{
CriarCasa(playerid, precoc, DOF2_GetInt(String, "mundo"), Float:pX, Float:pY, Float:pZ, DOF2_GetFloat(String, "x"), DOF2_GetFloat(String, "y"), DOF2_GetFloat(String, "z"));
}
return precoc;
}
stock CriarCasa(playerid, preco, iInt, Float:CX, Float:CY, Float:CZ, Float:ICasaX, Float:ICasaY, Float:ICasaZ)
{
new String[150], INFOC[130];
for(new i = 0; i < MAX_CASAS; i++)
{
format(String, sizeof(String), "Casas/Casa %d.txt", i);
if(!DOF2_FileExists(String))
{
DOF2_CreateFile(String);
DOF2_SetInt(String, "Id", i);
DOF2_SetInt(String, "Preco", preco);
DOF2_SetInt(String, "Nivel", 0);
DOF2_SetInt(String, "Mundo", iInt);
DOF2_SetInt(String, "PickU", 1273);
DOF2_SetInt(String, "tDono", 0);
DOF2_SetInt(String, "Trancada", 0);
DOF2_SetFloat(String, "IX", ICasaX);
DOF2_SetFloat(String, "IY", ICasaY);
DOF2_SetFloat(String, "IZ", ICasaZ);
DOF2_SetFloat(String, "PX", CX);
DOF2_SetFloat(String, "PY", CY);
DOF2_SetFloat(String, "PZ", CZ);
DOF2_SetString(String, "Dono", "Ninguem");
DOF2_SetString(String, "Comprar", "/comprarcasa");
DOF2_SaveFile();
format(INFOC, sizeof(INFOC), "{87CEFA}Dono: {FFFF00}%s\n{87CEFA}Preзo: {FFFF00}%d\n{87CEFA}Nivel: {FFFF00}%d\n\n{87CEFA}Use:{FFFFFF} /comprarcasa", DOF2_GetString(String, "Dono"), DOF2_GetInt(String, "Preco"), DOF2_GetInt(String, "Nivel"));
Ctexto[i] = CreateDynamic3DTextLabel(INFOC, -1, CX, CY, CZ, 30.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, -1, -1, -1, 200.0);
piCasa[i] = CreateDynamicPickup(DOF2_GetInt(String, "PickU"), 1, CX, CY, CZ, -1, -1, -1, 200.0);
SCM(playerid, INFOA, "[SERVER] Vocк criou uma casa!");
break;
}
}
return 1;
}