Działa bardzo dziękuje
. Jednak pojawił się kolejny problem ze zmianą nazwy klanu. Identyczny problem, nie zapisuje nowej nazwy klanu w bazie jedynie po stronie serwera a po zmianie mapy wraca stara nazwa klanu.
stock check_clan_name(const clanName[])
{
new queryData[192], safeClanName[MAX_SAFE_NAME], error[128], errorNum, bool:foundClan;
cod_sql_string(clanName, safeClanName, charsmax(safeClanName));
formatex(queryData, charsmax(queryData), "SELECT * FROM `cod_clans` WHERE `name` = ^"%s^"", safeClanName);
new Handle:connectHandle = SQL_Connect(sql, errorNum, error, charsmax(error));
if (errorNum) {
cod_log_error(PLUGIN, "SQL Error: %s", error);
return false;
}
new Handle:query = SQL_PrepareQuery(connectHandle, queryData);
SQL_Execute(query);
if (SQL_NumResults(query)) foundClan = true;
SQL_FreeHandle(query);
SQL_FreeHandle(connectHandle);
return foundClan;
}
Drugi skrawek kodu
public save_clan(clan)
{
static queryData[512], safeClanName[MAX_SAFE_NAME], codClan[clanInfo];
ArrayGetArray(codClans, clan, codClan);
cod_sql_string(codClan[CLAN_NAME], safeClanName, charsmax(safeClanName));
formatex(queryData, charsmax(queryData), "UPDATE `cod_clans` SET level = '%i', honor = '%i', kills = '%i', health = '%i', gravity = '%i', weapondrop = '%i', damage = '%i' WHERE name = ^"%s^"",
codClan[CLAN_LEVEL], codClan[CLAN_HONOR], codClan[CLAN_KILLS], codClan[CLAN_HEALTH], codClan[CLAN_GRAVITY], codClan[CLAN_DROP], codClan[CLAN_DAMAGE], safeClanName);
SQL_ThreadQuery(sql, "ignore_handle", queryData);
}
a tutaj cały public ze zmianą nazwy klanu
public change_name_handle(id)
{
if (!is_user_connected(id) || !cod_check_account(id) || mapEnd || get_user_status(id) != STATUS_LEADER) return PLUGIN_HANDLED;
client_cmd(id, "spk %s", codSounds[SOUND_EXIT]);
new clanName[MAX_NAME];
read_args(clanName, charsmax(clanName));
remove_quotes(clanName);
trim(clanName);
if (equal(clanName, "")) {
cod_print_chat(id, "Nie wpisano nowej nazwy klanu.");
show_clan_menu(id, 1);
return PLUGIN_HANDLED;
}
if (strlen(clanName) < 3) {
cod_print_chat(id, "Nazwa klanu musi miec co najmniej 3 znaki.");
show_clan_menu(id, 1);
return PLUGIN_HANDLED;
}
if (check_clan_name(clanName)) {
cod_print_chat(id, "Klan z taka nazwa juz istnieje.");
show_clan_menu(id, 1);
return PLUGIN_HANDLED;
}
set_clan_info(clan[id], CLAN_NAME, _, clanName, charsmax(clanName));
cod_print_chat(id, "Zmieniles nazwe klanu na^x03 %s^x01.", clanName);
return PLUGIN_CONTINUE;
}