17.09.2017, 09:24
Hello, I have a problem with my script, If I create a faction, she saved in the DB, but If I edit, the name for example, the modification does not occur in the DB
Code:
CMD:faction(playerid, params[]) { if (Player[playerid][AdminLevel] < 5) return SendClientMessage(playerid, COLOR_LIGHTRED, MSG_ERROR_PERMISSION), 1; static nom[24], scmd[128]; if (sscanf(params, "s[24]S()[128]", nom, scmd)) { SendClientMessage(playerid, COLOR_GREEN, "{FF6347}Usage: {FFFFFF}/faction [actions]"); SendClientMessage(playerid, COLOR_LIGHTRED, "Actions: {FFFFFF}creer, edit, supprimer"); return 1; } if (!strcmp(nom, "creer", true)) { static id = -1, type, name[32]; if (sscanf(scmd, "ds[32]", type, name)) { SendClientMessage(playerid, COLOR_GREEN, "{FF6347}Usage: {FFFFFF}/faction creer [type id] [nom de la faction]"); SendClientMessage(playerid, COLOR_LIGHTRED, "Types:{FFFFFF} 1: POLICE | 2: JOURNALISTE | 3: GOUVERNEMENT | 4: GANG | 5: MAFIA | 6: DOJ | 7: PRISON" ); return 1; } if (type < 1 || type > 7) return SendClientMessage(playerid, COLOR_LIGHTRED, "Type spйcifiй non valide. Les types factions vont de 1 а 7."); id = Faction_Create(name, type); if (id == -1) return SendClientMessage(playerid, COLOR_LIGHTRED, "Erreur: Le serveur a atteint la limite de faction."); SendClientMessageF(playerid, COLOR_LIGHTBLUE, "Vous avez crйй la faction ID: %d avec le nom: %s", id, name); } if (!strcmp(nom, "edit", true)) { static id, type[24], string[128]; if (sscanf(scmd, "ds[24]S()[128]", id, type, string)) { SendClientMessage(playerid, COLOR_LIGHTRED, "/faction edit <id> <options>"); SendClientMessage(playerid, COLOR_LIGHTRED, "OPTIONS: name, color, type, skins, locker, ranks, maxranks"); return 1; } if ((id < 0 || id >= MAX_FACTIONS)) return SendClientMessage(playerid, COLOR_LIGHTRED, "Vous avez specifiй un ID faction invalide."); if (!strcmp(type, "name", true)) { new name[32]; if (sscanf(string, "s[32]", name)) return SendClientMessage(playerid, COLOR_LIGHTRED, "/faction edit <FactionID> name <NouveauNom>"); format(FactionInfo[id][Namefaction], 32, name); FactionSave(id); //SendAdminAlert(COLOR_ADMINGROUP, "%s a ajustй le nom de faction ID: %d а \"%s\".", ReturnName(playerid), id, name); } else if (!strcmp(type, "type", true)) { new typeint; if (sscanf(string, "d", typeint)) { SendClientMessage(playerid, COLOR_LIGHTRED, "/faction edit <FactionID> type <FactionType>"); SendClientMessage(playerid, COLOR_LIGHTRED, "[TYPES]:{FFFFFF} 1: Police | 2: Journaliste | 3: Medical | 4: Gouvernement | 5: Gang | 6: Mafia"); return 1; } if (typeint < 1 || typeint > 7) return SendClientMessage(playerid, COLOR_LIGHTRED, "Type spйcifiй non valide. Les types vont de 1 а 6."); FactionInfo[id][Typefaction] = typeint; FactionSave(id); //SendAdminAlert(COLOR_ADMINGROUP, "%s a ajustй le type de la faction ID: %d а %d.", ReturnName(playerid), id, typeint); } } return 1; }
Code:
//factions //faction Faction_Create(name[], type) { //new query[128]; for (new i = 0; i != MAX_FACTIONS; i ++) /*if (!FactionInfo[i][Existfaction])*/ { format(FactionInfo[i][Namefaction], 32, name); //FactionInfo[i][Existfaction] = 1; FactionInfo[i][Typefaction] = type; FactionInfo[i][Argentfaction] = 100000; // mysql_query(dbhandle, "INSERT INTO `factions` (`Typefaction`) VALUES(0)", false, "OnFactionCreated", "d", i); new query[512]; mysql_format(dbhandle, query, sizeof query, "INSERT INTO `factions` (`namefaction`, `typefaction`, `argentfaction`) VALUES ('%s', '%d', '%d')", FactionInfo[i][Namefaction], FactionInfo[i][Typefaction], FactionInfo[i][Argentfaction]); mysql_tquery(dbhandle, query, "OnFactionCreated", "d", i); return i; } return -1; }
Code:
forward OnFactionCreated(factionid); public OnFactionCreated(factionid) { //if (factionid == -1 || !FactionInfo[factionid][Existfaction]) // return 0; FactionInfo[factionid][Sqlfaction] = cache_insert_id(); return 1; } FactionSave(factionid) { new query[700]; mysql_format(dbhandle, query, sizeof query, "UPDATE `factions` SET `namefaction` = %s, `typefaction` = %d, `argentfaction` = %d WHERE `sqlfaction` = %d LIMIT 1", FactionInfo[factionid][Namefaction], FactionInfo[factionid][Typefaction], FactionInfo[factionid][Argentfaction], FactionInfo[factionid][Sqlfaction]); mysql_tquery(dbhandle, query); return 1; }