[Ajuda] MySQL nгo estб salvando corretamente
#1

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(playeridparams[])
{
    static
        
id,
        
type[24],
        
string[128];
    if (
PlayerData[playerid][pAdmin] < && !PlayerData[playerid][pFactionMod])
        return 
SendErrorMessage(playerid"Vocк nгo tem permissгo para usar este comando.");
    if (
sscanf(params"ds[24]S()[128]"idtypestring))
     {
         
SendSyntaxMessage(playerid"/editfaction [id] [name]");
        
SendClientMessage(playeridCOLOR_YELLOW"[NAMES]:{FFFFFF} name, color, type, models, locker, ranks, maxranks");
        return 
1;
    }
    if ((
id || 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], 32name);
        
Faction_Save(id);
        
SendFactionAlert(COLOR_LIGHTRED"[ADMIN]: %s has adjusted the name of faction ID: %d to \"%s\"."ReturnName(playerid0), idname);
    }
    else if (!
strcmp(type"maxranks"true))
    {
        new 
ranks;
        if (
sscanf(string"d"ranks))
            return 
SendSyntaxMessage(playerid"/editfaction [id] [maxranks] [maximum ranks]");
        if (
ranks || 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(playerid0), idranks);
    }
    else if (!
strcmp(type"ranks"true))
    {
        
Faction_ShowRanks(playeridid);
    }
    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(playerid0), color >>> 8id);
    }
    else if (!
strcmp(type"type"true))
    {
        new 
typeint;
        if (
sscanf(string"d"typeint))
         {
             
SendSyntaxMessage(playerid"/editfaction [id] [type] [faction type]");
            
SendClientMessage(playeridCOLOR_YELLOW"[TYPES]:{FFFFFF} 1: Police | 2: News | 3: Medical | 4: Government | 5: Gang");
            return 
1;
        }
        if (
typeint || 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(playerid0), idtypeint);
    }
    else if (!
strcmp(type"models"true))
    {
        static
            
skins[8];
        for (new 
0sizeof(skins); ++)
            
skins[i] = (FactionData[id][factionSkins][i]) ? (FactionData[id][factionSkins][i]) : (19300);
        
PlayerData[playerid][pFactionEdit] = id;
        
ShowModelSelectionMenu(playerid"Faction Skins"MODEL_SELECTION_SKINSskinssizeof(skins), -16.00.0, -55.0);
    }
    else if (!
strcmp(type"locker"true))
    {
        
PlayerData[playerid][pFactionEdit] = id;
        
Dialog_Show(playeridFactionLockerDIALOG_STYLE_LIST"Faction Locker""Set Location\nLocker Weapons""Select""Cancel");
    }
    return 
1;

Reply
#2

Posta a consulta.
Reply
#3

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(rank32FactionRanks[factionid][PlayerData[playerid][pFactionRank] - 1]);
    return 
rank;

PHP код:
forward Faction_Load();
public 
Faction_Load()
{
    static
        
rows,
        
fields,
        
str[32];
    
cache_get_data(rowsfieldsg_iHandle);
    for (new 
0rows++) if (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 
08++) {
            
format(strsizeof(str), "factionSkin%d"1);
            
FactionData[i][factionSkins][j] = cache_get_field_int(istr);
        }
        for (new 
010++) {
            
format(strsizeof(str), "factionWeapon%d"1);
            
FactionData[i][factionWeapons][j] = cache_get_field_int(istr);
            
format(strsizeof(str), "factionAmmo%d"1);
            
FactionData[i][factionAmmo][j] = cache_get_field_int(istr);
        }
        for (new 
017++) {
            
format(strsizeof(str), "factionRank%d"1);
            
cache_get_field_content(istrFactionRanks[i][j], g_iHandle);
        }
        
Faction_Refresh(i);
    }
    return 
1;

PHP код:
Faction_Save(factionid)
{
    static
        
query[2048];
    
format(querysizeof(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 
010++)
    {
        if (
8)
            
format(querysizeof(query), "%s, `factionSkin%d` = '%d', `factionWeapon%d` = '%d', `factionAmmo%d` = '%d'"query1FactionData[factionid][factionSkins][i], 1FactionData[factionid][factionWeapons][i], 1FactionData[factionid][factionAmmo][i]);
        else
            
format(querysizeof(query), "%s, `factionWeapon%d` = '%d', `factionAmmo%d` = '%d'"query1FactionData[factionid][factionWeapons][i], 1FactionData[factionid][factionAmmo][i]);
    }
    
format(querysizeof(query), "%s WHERE `factionID` = '%d'",
        
query,
        
FactionData[factionid][factionID]
    );
    return 
mysql_function_query(g_iHandlequeryfalse"""");
}
stock Faction_SaveRanks(factionid)
{
    static
        
query[768];
    
format(querysizeof(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_iHandlequeryfalse"""");

Reply
#4

Tem certeza que estбs carregando a FactionID das facзхes corretamente?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)