Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
CoD Nowy

Klany Problem

cod nowy

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
14 odpowiedzi w tym temacie

#1 Piotrek1532

    Początkujący

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:17
  • Lokalizacja:Krosno
Offline

Napisano 25.12.2018 19:24

Witam,

 

Posiadam system klanów na zapis SQL i mam pewne problemy. Gdy założę klan to pojawia się wpis w bazie danych i jest wszystko tak jak ma być. Ale gdy usunę klan to wpis zostaje nie usuwa go, z poziomu serwera usuwa tzn usuwa hud klanu i że mogę założyć drugi, jednak po zmianie mapy wczytuje stary klan który założyłem. Po prostu problem polega na tym, że nie usuwa tego klanu z bazy danych.


  • +
  • -
  • 0

#2 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 25.12.2018 20:44


Po prostu problem polega na tym, że nie usuwa tego klanu z bazy danych.

 

No tak, dokładnie. Problem polega na tym, że nie usuwa tego klanu z bazy.

 

 

Ps. Jesteś z Krosna? Jeśli tak to pozdrawiam ;)


  • +
  • -
  • 1

#3 Piotrek1532

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:17
  • Lokalizacja:Krosno
Offline

Napisano 25.12.2018 21:03

Tak z Krosna, Może mógłbyś mi pomóc?:)
  • +
  • -
  • 0

#4 Robiin

    Godlike

  • Support Team

Reputacja: 1 106
Super Hero

  • Postów:2 048
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Napisano 25.12.2018 21:05

Pokaż cały kod, albo wycinek z poleceniem wysyłanym do sqla.


  • +
  • -
  • 0

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.


#5 Piotrek1532

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:17
  • Lokalizacja:Krosno
Offline

Napisano 25.12.2018 21:28

stock remove_clan(id)
{
	for (new player = 1; player <= MAX_PLAYERS; player++) {
		if (!is_user_connected(player) || is_user_hltv(player) || is_user_bot(id) || player == id) continue;

		if (clan[player] == clan[id]) {
			clan[player] = 0;

			cod_print_chat(player, "Twoj klan zostal rozwiazany.");
		}
	}

	ArrayDeleteItem(codClans, get_clan_id(clan[id]));

	clan[id] = 0;

	new queryData[128];

	formatex(queryData, charsmax(queryData), "DELETE FROM `cod_clans` WHERE id = '%i'", clan[id]);
	SQL_ThreadQuery(sql, "ignore_handle", queryData);

	formatex(queryData, charsmax(queryData), "UPDATE `cod_clans_members` SET flag = '%i', clan = '0' WHERE clan = '%i'", STATUS_NONE, clan[id]);
	SQL_ThreadQuery(sql, "ignore_handle", queryData);
}

  • +
  • -
  • 0

#6 tytusek

    Czempion

  • Power User

Reputacja: 229
Wszechwidzący

  • Postów:822
Offline

Napisano 25.12.2018 22:23

 

    formatex(queryData, charsmax(queryData), "UPDATE `cod_clans_members` SET flag = '%i', clan = '0' WHERE clan = '%i'", STATUS_NONE, clan[id]);
    SQL_ThreadQuery(sql, "ignore_handle", queryData);

 

    formatex(queryData, charsmax(queryData), "DELETE FROM `cod_clans` WHERE id = '%i'", clan[id]);

    SQL_ThreadQuery(sql, "ignore_handle", queryData);


 

podejrzewam ze nie masz wlaczonej kaskadowosci usuwania danych wiec, takie cos moze zalatwic sprawe, tzn usuwanie klanu na samym koncu musi byc


  • +
  • -
  • 1

#7 Piotrek1532

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:17
  • Lokalizacja:Krosno
Offline

Napisano 26.12.2018 11:17

Niestety nic to nie zmieniło ;/


  • +
  • -
  • 0

#8 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 26.12.2018 11:23

stock remove_clan(id)
{
	for (new player = 1; player <= MAX_PLAYERS; player++) {
		if (!is_user_connected(player) || is_user_hltv(player) || is_user_bot(id) || player == id) continue;

		if (clan[player] == clan[id]) {
			clan[player] = 0;

			cod_print_chat(player, "Twoj klan zostal rozwiazany.");
		}
	}

	ArrayDeleteItem(codClans, get_clan_id(clan[id]));

	new queryData[128];

	formatex(queryData, charsmax(queryData), "DELETE FROM `cod_clans` WHERE id = '%i'", clan[id]);
	SQL_ThreadQuery(sql, "ignore_handle", queryData);

	formatex(queryData, charsmax(queryData), "UPDATE `cod_clans_members` SET flag = '%i', clan = '0' WHERE clan = '%i'", STATUS_NONE, clan[id]);
	SQL_ThreadQuery(sql, "ignore_handle", queryData);

        clan[id] = 0;
}

zamien na to


  • +
  • -
  • 1

#9 Piotrek1532

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:17
  • Lokalizacja:Krosno
Offline

Napisano 26.12.2018 11:52

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;
}

  • +
  • -
  • 0

#10 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 26.12.2018 12:36

daj jeszcze to:

 

set_clan_info(clan[id], CLAN_NAME, _, clanName, charsmax(clanName));


  • +
  • -
  • 0

#11 Piotrek1532

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:17
  • Lokalizacja:Krosno
Offline

Napisano 26.12.2018 12:58

W której linijce mam to wkleić?
  • +
  • -
  • 0

#12 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 26.12.2018 13:53

W sensie podaj tą funckję co ona robi. Wklej ją tu

 

 

I nie pisac na PW -.- bo będę blokować, czy rozjeżdzać czołgiem, czy coś takiego


  • +
  • -
  • 0

#13 Piotrek1532

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:17
  • Lokalizacja:Krosno
Offline

Napisano 26.12.2018 14:07

stock set_clan_info(clan, info, value = 0, dataSet[] = "", dataLength = 0)
{
	static codClan[clanInfo];

	for (new i = 1; i < ArraySize(codClans); i++) {
		ArrayGetArray(codClans, i, codClan);

		if (codClan[CLAN_ID] != clan) continue;

		if (info == CLAN_NAME) formatex(codClan[info], dataLength, dataSet);
		else codClan[info] = value;

		ArraySetArray(codClans, i, codClan);

		if (info != CLAN_MEMBERS) save_clan(i);

		break;
	}
}

  • +
  • -
  • 0

#14 Piotrek1532

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:17
  • Lokalizacja:Krosno
Offline

Napisano 28.12.2018 11:18

Może mnie ktoś nakierować o co chodzi z tym błędem?

L 12/28/2018 - 10:44:34: Log file started (file "cstrike/addons/amxmodx/logs/cod_mod.log") (game "cstrike") (amx "1.9.0.5235")
L 12/28/2018 - 10:44:34: [CoD Clans] Threaded query failed. Error: Unknown column 'members' in 'field list' (1054)

  • +
  • -
  • 0

#15 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 28.12.2018 12:34

W jakimś zapytaniu sql odwołujesz się do kolumny members, której nie ma w tej tabeli :o
  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: cod nowy

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych