MySQL nгo estб salvando corretamente -
druiida159 - 01.12.2015
Quando eu edito uma facзгo em meu servidor, somente a de ID 0 estб salvando os cargos, as demais nгo estгo guardando os dados, a fac 0 й a Los Angeles Police Department, ela salva todos os cargos, mais as demais nгo, as demais estгo ficando com NULL no nome, jб tentei de tudo.
PHP код:
CMD:editfaction(playerid, params[])
{
static
id,
type[24],
string[128];
if (PlayerData[playerid][pAdmin] < 5 && !PlayerData[playerid][pFactionMod])
return SendErrorMessage(playerid, "Vocк nгo tem permissгo para usar este comando.");
if (sscanf(params, "ds[24]S()[128]", id, type, string))
{
SendSyntaxMessage(playerid, "/editfaction [id] [name]");
SendClientMessage(playerid, COLOR_YELLOW, "[NAMES]:{FFFFFF} name, color, type, models, locker, ranks, maxranks");
return 1;
}
if ((id < 0 || id >= MAX_FACTIONS) || !FactionData[id][factionExists])
return SendErrorMessage(playerid, "You have specified an invalid faction ID.");
if (!strcmp(type, "name", true))
{
new name[32];
if (sscanf(string, "s[32]", name))
return SendSyntaxMessage(playerid, "/editfaction [id] [name] [new name]");
format(FactionData[id][factionName], 32, name);
Faction_Save(id);
SendFactionAlert(COLOR_LIGHTRED, "[ADMIN]: %s has adjusted the name of faction ID: %d to \"%s\".", ReturnName(playerid, 0), id, name);
}
else if (!strcmp(type, "maxranks", true))
{
new ranks;
if (sscanf(string, "d", ranks))
return SendSyntaxMessage(playerid, "/editfaction [id] [maxranks] [maximum ranks]");
if (ranks < 1 || ranks > 17)
return SendErrorMessage(playerid, "The specified ranks can't be below 1 or above 17.");
FactionData[id][factionRanks] = ranks;
Faction_Save(id);
SendFactionAlert(COLOR_LIGHTRED, "[ADMIN]: %s has adjusted the maximum ranks of faction ID: %d to %d.", ReturnName(playerid, 0), id, ranks);
}
else if (!strcmp(type, "ranks", true))
{
Faction_ShowRanks(playerid, id);
}
else if (!strcmp(type, "color", true))
{
new color;
if (sscanf(string, "h", color))
return SendSyntaxMessage(playerid, "/editfaction [id] [color] [hex color]");
FactionData[id][factionColor] = color;
Faction_Update(id);
Faction_Save(id);
SendFactionAlert(COLOR_LIGHTRED, "[ADMIN]: %s has adjusted the {%06x}color{41FEFF} of faction ID: %d.", ReturnName(playerid, 0), color >>> 8, id);
}
else if (!strcmp(type, "type", true))
{
new typeint;
if (sscanf(string, "d", typeint))
{
SendSyntaxMessage(playerid, "/editfaction [id] [type] [faction type]");
SendClientMessage(playerid, COLOR_YELLOW, "[TYPES]:{FFFFFF} 1: Police | 2: News | 3: Medical | 4: Government | 5: Gang");
return 1;
}
if (typeint < 1 || typeint > 5)
return SendErrorMessage(playerid, "Invalid type specified. Types range from 1 to 5.");
FactionData[id][factionType] = typeint;
Faction_Save(id);
SendFactionAlert(COLOR_LIGHTRED, "[ADMIN]: %s has adjusted the type of faction ID: %d to %d.", ReturnName(playerid, 0), id, typeint);
}
else if (!strcmp(type, "models", true))
{
static
skins[8];
for (new i = 0; i < sizeof(skins); i ++)
skins[i] = (FactionData[id][factionSkins][i]) ? (FactionData[id][factionSkins][i]) : (19300);
PlayerData[playerid][pFactionEdit] = id;
ShowModelSelectionMenu(playerid, "Faction Skins", MODEL_SELECTION_SKINS, skins, sizeof(skins), -16.0, 0.0, -55.0);
}
else if (!strcmp(type, "locker", true))
{
PlayerData[playerid][pFactionEdit] = id;
Dialog_Show(playerid, FactionLocker, DIALOG_STYLE_LIST, "Faction Locker", "Set Location\nLocker Weapons", "Select", "Cancel");
}
return 1;
}
Re: MySQL nгo estб salvando corretamente -
arakuta - 01.12.2015
Posta a consulta.
Re: MySQL nгo estб salvando corretamente -
druiida159 - 02.12.2015
PHP код:
enum factionData {
factionID,
factionExists,
factionName[32],
factionColor,
factionType,
factionRanks,
Float:factionLockerPos[3],
factionLockerInt,
factionLockerWorld,
factionSkins[8],
factionWeapons[10],
factionAmmo[10],
Text3D:factionText3D,
factionPickup,
Float:SpawnX,
Float:SpawnY,
Float:SpawnZ,
SpawnInterior,
SpawnVW
};
PHP код:
new FactionData[MAX_FACTIONS][factionData];
new FactionRanks[MAX_FACTIONS][17][32];
PHP код:
Faction_GetRank(playerid)
{
new
factionid = PlayerData[playerid][pFaction],
rank[32] = "None";
if (factionid == -1)
return rank;
format(rank, 32, FactionRanks[factionid][PlayerData[playerid][pFactionRank] - 1]);
return rank;
}
PHP код:
forward Faction_Load();
public Faction_Load()
{
static
rows,
fields,
str[32];
cache_get_data(rows, fields, g_iHandle);
for (new i = 0; i < rows; i ++) if (i < MAX_FACTIONS)
{
FactionData[i][factionExists] = true;
FactionData[i][factionID] = cache_get_field_int(i, "factionID");
cache_get_field_content(i, "factionName", FactionData[i][factionName], g_iHandle);
FactionData[i][factionColor] = cache_get_field_int(i, "factionColor");
FactionData[i][factionType] = cache_get_field_int(i, "factionType");
FactionData[i][factionRanks] = cache_get_field_int(i, "factionRanks");
FactionData[i][factionLockerPos][0] = cache_get_field_float(i, "factionLockerX");
FactionData[i][factionLockerPos][1] = cache_get_field_float(i, "factionLockerY");
FactionData[i][factionLockerPos][2] = cache_get_field_float(i, "factionLockerZ");
FactionData[i][factionLockerInt] = cache_get_field_int(i, "factionLockerInt");
FactionData[i][factionLockerWorld] = cache_get_field_int(i, "factionLockerWorld");
//Spawning
FactionData[i][SpawnX] = cache_get_field_float(i, "SpawnX");
FactionData[i][SpawnY] = cache_get_field_float(i, "SpawnY");
FactionData[i][SpawnZ] = cache_get_field_float(i, "SpawnZ");
FactionData[i][SpawnInterior] = cache_get_field_int(i, "SpawnInterior");
FactionData[i][SpawnVW] = cache_get_field_int(i, "SpawnVW");
for (new j = 0; j < 8; j ++) {
format(str, sizeof(str), "factionSkin%d", j + 1);
FactionData[i][factionSkins][j] = cache_get_field_int(i, str);
}
for (new j = 0; j < 10; j ++) {
format(str, sizeof(str), "factionWeapon%d", j + 1);
FactionData[i][factionWeapons][j] = cache_get_field_int(i, str);
format(str, sizeof(str), "factionAmmo%d", j + 1);
FactionData[i][factionAmmo][j] = cache_get_field_int(i, str);
}
for (new j = 0; j < 17; j ++) {
format(str, sizeof(str), "factionRank%d", j + 1);
cache_get_field_content(i, str, FactionRanks[i][j], g_iHandle);
}
Faction_Refresh(i);
}
return 1;
}
PHP код:
Faction_Save(factionid)
{
static
query[2048];
format(query, sizeof(query), "UPDATE `factions` SET `factionName` = '%s', `factionColor` = '%d', `factionType` = '%d', `factionRanks` = '%d', `factionLockerX` = '%.4f', `factionLockerY` = '%.4f', `factionLockerZ` = '%.4f', `factionLockerInt` = '%d', `factionLockerWorld` = '%d', `SpawnX` = '%f', `SpawnY` = '%f', `SpawnZ` = '%f', `SpawnInterior` = '%d', `SpawnVW` = '%d'",
SQL_ReturnEscaped(FactionData[factionid][factionName]),
FactionData[factionid][factionColor],
FactionData[factionid][factionType],
FactionData[factionid][factionRanks],
FactionData[factionid][factionLockerPos][0],
FactionData[factionid][factionLockerPos][1],
FactionData[factionid][factionLockerPos][2],
FactionData[factionid][factionLockerInt],
FactionData[factionid][factionLockerWorld],
FactionData[factionid][SpawnX],
FactionData[factionid][SpawnY],
FactionData[factionid][SpawnZ],
FactionData[factionid][SpawnInterior],
FactionData[factionid][SpawnVW]
);
for (new i = 0; i < 10; i ++)
{
if (i < 8)
format(query, sizeof(query), "%s, `factionSkin%d` = '%d', `factionWeapon%d` = '%d', `factionAmmo%d` = '%d'", query, i + 1, FactionData[factionid][factionSkins][i], i + 1, FactionData[factionid][factionWeapons][i], i + 1, FactionData[factionid][factionAmmo][i]);
else
format(query, sizeof(query), "%s, `factionWeapon%d` = '%d', `factionAmmo%d` = '%d'", query, i + 1, FactionData[factionid][factionWeapons][i], i + 1, FactionData[factionid][factionAmmo][i]);
}
format(query, sizeof(query), "%s WHERE `factionID` = '%d'",
query,
FactionData[factionid][factionID]
);
return mysql_function_query(g_iHandle, query, false, "", "");
}
stock Faction_SaveRanks(factionid)
{
static
query[768];
format(query, sizeof(query), "UPDATE `factions` SET `factionRank1` = '%s', `factionRank2` = '%s', `factionRank3` = '%s', `factionRank4` = '%s', `factionRank5` = '%s', `factionRank6` = '%s', `factionRank7` = '%s', `factionRank8` = '%s', `factionRank9` = '%s', `factionRank10` = '%s', `factionRank11` = '%s', `factionRank12` = '%s', `factionRank13` = '%s', `factionRank14` = '%s', `factionRank15` = '%s', `factionRank16` = '%s', `factionRank17` = '%s' WHERE `factionID` = '%d'",
FactionRanks[factionid][0],
FactionRanks[factionid][1],
FactionRanks[factionid][2],
FactionRanks[factionid][3],
FactionRanks[factionid][4],
FactionRanks[factionid][5],
FactionRanks[factionid][6],
FactionRanks[factionid][7],
FactionRanks[factionid][8],
FactionRanks[factionid][9],
FactionRanks[factionid][10],
FactionRanks[factionid][11],
FactionRanks[factionid][12],
FactionRanks[factionid][13],
FactionRanks[factionid][14],
FactionRanks[factionid][15],
FactionRanks[factionid][16],
FactionData[factionid][factionID]
);
return mysql_function_query(g_iHandle, query, false, "", "");
}
Re: MySQL nгo estб salvando corretamente -
arakuta - 02.12.2015
Tem certeza que estбs carregando a FactionID das facзхes corretamente?