Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <amxmisc>
- #include <hamsandwich>
- #include <celltrie>
- #include <sqlx>
- #include <jailbreak>
- #include <colorchat>
- #define PLUGIN "Jail Gangi"
- #define VERSION "1.0"
- #define AUTHOR "Cypis & Mrufka."
- #define MAX_PEOPLE 25
- #define MIN_ZYCZENIA 10
- enum GANG_FLAGS
- {
- USER = 0,
- ADMINS,
- ASSIST
- }
- new const user_ranga[][] = {"", " (Zalozyciel)", " (Zastepca)"};
- new GANG_FLAGS:user_flags[33];
- new user_gang[33];
- new bool:user_wczytalo[33];
- new bool:create_gang[33];
- new nazwa_gracza[33][35];
- new Handle:info;
- new gszQuery[512+256];
- new Trie:gnGangName
- new Trie:gnGangIle;
- new user_zyczenia[33];
- new user_bunty[33];
- new bool:nielicz;
- new msgid_sayText;
- new const test[] = "80.72.41.214:27515";
- public plugin_init()
- {
- register_plugin(PLUGIN, VERSION, AUTHOR);
- RegisterHam(Ham_Killed, "player", "SmiercGraczaPost", 1);
- register_clcmd("say /rankg", "RankStats");
- register_clcmd("say /topg", "Top15");
- register_clcmd("say /gang", "MenuGang");
- register_clcmd("say /gangi", "MenuGang");
- register_clcmd("nazwa_gangu", "CreateNameGang");
- register_clcmd("say_team", "cmdSayGang");
- msgid_sayText = get_user_msgid("SayText");
- register_message(msgid_sayText,"handleSayText");
- set_task(400.0, "ShowAdv",.flags = "b");
- new g_IP[33];
- get_user_ip(0, g_IP, charsmax(g_IP));
- if(equal(g_IP, test)){
- server_print("IP prawidlowe");
- }
- public ShowAdv(){
- ColorChat(0, NORMAL, "[Info]^x04 Zeby pisac na czacie gangowym wpisz ^x01wykrzyknik^x04 na czacie teamu.");
- }
- public plugin_cfg()
- {
- new pcvar_host, pcvar_user, pcvar_pass, pcvar_db;
- new szHost[32], szUser[32], szPass[32], szDb[32];
- pcvar_host = register_cvar("jail_gang_host", "80.72.41.210");
- pcvar_user = register_cvar("jail_gang_user", "srv23741");
- pcvar_pass = register_cvar("jail_gang_pass", "0SwtFZ0UUf");
- pcvar_db = register_cvar("jail_gang_db", "srv23741");
- get_pcvar_string(pcvar_host, szHost, 31);
- get_pcvar_string(pcvar_user, szUser, 31);
- get_pcvar_string(pcvar_pass, szPass, 31);
- get_pcvar_string(pcvar_db, szDb, 31);
- info = SQL_MakeDbTuple(szHost, szUser, szPass, szDb);
- new error, szError[128];
- new Handle:hConn = SQL_Connect(info, error, szError, 127);
- if(error){
- log_amx("[Gangi] Error: %s", szError);
- return;
- }
- gnGangName = TrieCreate();
- gnGangIle = TrieCreate();
- new Handle:query;
- SQL_FormatQuery("CREATE TABLE IF NOT EXISTS `GangName` (`id` int(10) NOT NULL AUTO_INCREMENT, `Name` varchar(32) NOT NULL, `Ilosc` int(10) NOT NULL DEFAULT '1', PRIMARY KEY (`id`));")
- query = SQL_PrepareQuery(hConn, gszQuery)
- SQL_Execute(query)
- SQL_FreeHandle(query);
- SQL_FormatQuery("CREATE TABLE IF NOT EXISTS `GangUser` (`id` int(10) NOT NULL DEFAULT '0', `Name` varchar(32) NOT NULL, `Zabicia` int(10) NOT NULL DEFAULT '0', `Zyczenia` int(10) NOT NULL DEFAULT '0', `Flaga` int(5) NOT NULL DEFAULT '0', PRIMARY KEY (`Name`));");
- query = SQL_PrepareQuery(hConn, gszQuery);
- SQL_Execute(query)
- SQL_FreeHandle(query);
- query = SQL_PrepareQuery(hConn,"SELECT * FROM `GangName` WHERE 1");
- if(!SQL_Execute(query))
- {
- SQL_QueryError(query, szError, 127);
- log_amx("[Gangi] Nie mozna zaladowac gangow (%s)", szError);
- }
- else if(SQL_NumResults(query))
- {
- new szNazwa[32], szInt[10];
- while(SQL_MoreResults(query))
- {
- num_to_str(SQL_ReadResult(query, 0), szInt, 9);
- SQL_ReadResult(query, 1, szNazwa, 31);
- TrieSetCell(gnGangIle, szInt, SQL_ReadResult(query, 2)); // numer gangu przypisany do ilosci ludzi w nim
- TrieSetString(gnGangName, szInt, szNazwa); // numeru gangu przypisana do nazwy gangu
- SQL_NextRow(query);
- }
- SQL_FreeHandle(query);
- }
- SQL_FreeHandle(hConn);
- }
- //RANK STATS
- public RankStats(id)
- {
- new menu = menu_create("\wRank Stats:", "Handel_RankStats");
- menu_additem(menu, "\yTwoj rank Buntow");
- menu_additem(menu, "\yTwoj rank Zyczen");
- menu_setprop(menu, MPROP_EXITNAME, "\wWyjdz");
- menu_display(id, menu);
- }
- public Handel_RankStats(id, menu, item)
- {
- if(item == MENU_EXIT)
- return;
- new data[2];
- data[0] = id;
- data[1] = item;
- SQL_FormatQuery("SELECT COUNT(*) FROM `GangUser` WHERE `%s` >= %d;", item? "Zyczenia": "Zabicia", item? user_zyczenia[id]: user_bunty[id]);
- SQL_ThreadQuery(info, "PobierzRank", gszQuery, data, 2);
- }
- public PobierzRank(failstate, Handle:query, error[], errnum, data[], size){
- if(failstate != TQUERY_SUCCESS){
- log_amx("<Query> Error: %s", error);
- return;
- }
- new id = data[0];
- if(!is_user_connected(id) && !is_user_connecting(id))
- return;
- ColorChat(id, TEAM_COLOR, "^x04[RANK]^x01 Masz ^x03%i^x01 %s zajmujesz miejsce ^x03%i", data[1]? user_zyczenia[id]: user_bunty[id], data[1]? "zyczen": "buntow", SQL_ReadResult(query, 0));
- }
- //TOP 15
- public Top15(id)
- {
- new menu = menu_create("\wTop 15:", "Handel_Top");
- menu_additem(menu, "\yTop 15 Buntow");
- menu_additem(menu, "\yTop 15 Zyczen");
- menu_setprop(menu, MPROP_EXITNAME, "\wWyjdz");
- menu_display(id, menu);
- }
- public Handel_Top(id, menu, item)
- {
- if(item == MENU_EXIT)
- return;
- new data[2];
- data[0] = id;
- data[1] = item;
- SQL_FormatQuery("SELECT * FROM `GangUser` ORDER BY `%s` DESC LIMIT 15", item? "Zyczenia": "Zabicia");
- SQL_ThreadQuery(info, "PobierzTop", gszQuery, data, 2);
- }
- public PobierzTop(failstate, Handle:query, error[], errnum, data[], size){
- if(failstate != TQUERY_SUCCESS){
- log_amx("<Query> Error: %s", error);
- return;
- }
- new id = data[0];
- if(!is_user_connected(id) && !is_user_connecting(id))
- return;
- if(SQL_NumRows(query))
- {
- new buffer[2048], szName[41], iLen=0, i=0;
- iLen = copy(buffer[iLen], 2047-iLen, "<body bgcolor=#FFFFFF><table width=100%% cellpadding=2 cellspacing=0 border=0>");
- iLen += formatex(buffer[iLen], 2047-iLen, "<tr align=center bgcolor=#9564b7><th width=5%%> # <th width=35%% align=left> Gracz: <th width=20%%> Najwiecej %s", (data[1]? "Zyczen": "Buntow"));
- while(SQL_MoreResults(query))
- {
- SQL_ReadResult(query, 1, szName, 40);
- replace_all(szName, 40, "<", "<");
- replace_all(szName, 40, ">", ">");
- iLen += formatex(buffer[iLen], 2047-iLen, "<tr align=center%s><td> %i. <td align=left> %s <td> %i", ((i%2)==0)? "" :" bgcolor=#cccccc", i+1, szName, SQL_ReadResult(query, (data[1]? 3: 2)));
- i++;
- SQL_NextRow(query);
- }
- iLen += copy(buffer[iLen], 2047-iLen, "</table></body>");
- show_motd(id, buffer, "Top 15")
- }
- }
- //MENU GANGU
- public MenuGang(id)
- {
- if(!user_wczytalo[id] || create_gang[id])
- return;
- new menu = menu_create("\wMenu Gangu:", "Handel_Gang");
- if(!user_gang[id])
- {
- menu_additem(menu, "Stworz Gang \y(10+ Zyczen)", "0");
- }
- else
- {
- if(user_flags[id] == ADMINS)
- {
- menu_additem(menu, "\yDodaj czlonka do swojego Gangu", "2");
- menu_additem(menu, "\yUsun czlonka Gangu^n", "3");
- menu_additem(menu, "\yCzlonkowie Gangu", "5");
- menu_additem(menu, "\yUstaw range dla czlonka^n", "7");
- menu_additem(menu, "\rUsun swoj Gang", "4");
- }
- else
- {
- menu_additem(menu, "\rOpusc Gang^n", "1");
- if(user_flags[id] == ASSIST)
- {
- menu_additem(menu, "\yDodaj czlonka do swojego Gangu", "2");
- menu_additem(menu, "\yUsun czlonka Gangu^n", "3");
- }
- menu_additem(menu, "\wCzlonkowie Gangu", "5");
- }
- }
- menu_setprop(menu, MPROP_EXITNAME, "\wWyjdz");
- menu_display(id, menu);
- }
- public Handel_Gang(id, menu, item)
- {
- if(item == MENU_EXIT)
- return;
- new szItem[3], id2;
- menu_item_getinfo(menu, item, id2, szItem, 2, _, _, id2);
- switch(str_to_num(szItem))
- {
- case 0:{
- if(!WymaganiaDoGangu(id))
- return;
- client_cmd(id, "messagemode nazwa_gangu");
- }
- case 1:
- {
- new menu2 = menu_create("Czy napewno chcesz opuscic swoj Gang?", "Handel_OpuscGang");
- menu_additem(menu2, "\yTak");
- menu_additem(menu2, "\rNie");
- menu_display(id, menu2);
- }
- case 2:
- {
- new szInt[3], menu2 = menu_create("\yWyslij zaproszenie do Gangu:", "Handel_ZaproszenieDoGangu");
- for(new i=1; i<=32; i++)
- {
- if(!is_user_connected(i) || user_gang[i] || is_user_hltv(i))
- continue;
- num_to_str(i, szInt, 2);
- menu_additem(menu2, nazwa_gracza[i], szInt);
- }
- menu_setprop(menu2, MPROP_EXITNAME, "\rWyjdz");
- menu_display(id, menu2);
- }
- case 3:
- {
- new data[1];
- data[0] = id;
- SQL_FormatQuery("SELECT `Name` FROM `GangUser` WHERE `id` = '%i' AND NOT `Flaga` = '%d'", user_gang[id], _:ADMINS);
- SQL_ThreadQuery(info, "UsunCzlonkaGangu", gszQuery, data, 1);
- }
- case 4:
- {
- new menu2 = menu_create("Czy napewno chcesz usunac swoj Gang?", "Handel_UsunGang");
- menu_additem(menu2, "\yTak");
- menu_additem(menu2, "\rNie");
- menu_display(id, menu2);
- }
- case 5:
- {
- new data[1];
- data[0] = id;
- SQL_FormatQuery("SELECT `Name`,`Flaga` FROM `GangUser` WHERE `id` = '%i';", user_gang[id]);
- SQL_ThreadQuery(info, "PokazCzlonkaGangu", gszQuery, data, 1);
- }
- case 7:
- {
- new data[1];
- data[0] = id;
- SQL_FormatQuery("SELECT `Name`,`Flaga` FROM `GangUser` WHERE `id` = '%i' AND NOT `Flaga` = '%d';", user_gang[id], _:ADMINS);
- SQL_ThreadQuery(info, "UstawRangCzlonka", gszQuery, data, 1);
- }
- }
- }
- //ODEJSCIE OD GANGU
- public Handel_OpuscGang(id, menu, item)
- {
- if(item == MENU_EXIT || item == 1)
- return;
- UstawIloscGangu(user_gang[id], -1);
- user_gang[id] = 0;
- user_flags[id] = USER;
- SQL_FormatQuery("UPDATE `GangUser` SET `id` = '0', `Flaga` = '0' WHERE `Name` = '%s';", nazwa_gracza[id]);
- SQL_ThreadQuery(info, "ZapiszDane", gszQuery);
- ColorChat(id, GREEN, "[GANG]^x01 Opusciles swoj Gang.");
- //OldPlayerName(id);
- }
- //USUWANIE CALKOWICIE GANGU
- public Handel_UsunGang(id, menu, item)
- {
- if(item == MENU_EXIT || item == 1)
- return;
- for(new i=1; i<=32; i++)
- {
- if(user_gang[id] == user_gang[i] && id != i)
- {
- user_gang[i] = 0;
- user_flags[i] = USER;
- //OldPlayerName(i);
- }
- }
- SQL_FormatQuery("UPDATE `GangUser` SET `id` = '0', `Flaga` = '0' WHERE `id` = '%i';", user_gang[id]);
- SQL_ThreadQuery(info, "ZapiszDane", gszQuery);
- SQL_FormatQuery("DELETE FROM `GangName` WHERE `id` = '%i';", user_gang[id]);
- SQL_ThreadQuery(info, "ZapiszDane", gszQuery);
- new StrItem[10];
- num_to_str(user_gang[id], StrItem, 9);
- TrieDeleteKey(gnGangIle, StrItem); //USUNIECIE ILOSCI LUDZI Z GANGU
- user_gang[id] = 0;
- user_flags[id] = USER;
- ColorChat(id, GREEN, "[GANG]^x01 Usuneles swoj Gang.");
- //OldPlayerName(id);
- }
- //ZAPROSZENIE DO GANGU
- public Handel_ZaproszenieDoGangu(id, menu, item)
- {
- if(item == MENU_EXIT)
- return;
- if(PobierzIloscGangu(user_gang[id]) >= MAX_PEOPLE)
- {
- client_print(id, 3, "[GANG] Masz za duzo czlonkow w Gangu (%d)", MAX_PEOPLE);
- return;
- }
- new szInt[3], id2;
- menu_item_getinfo(menu, item, id2, szInt, 2, _, _, id2);
- id2 = str_to_num(szInt);
- ColorChat(id, GREEN, "[GANG]^x01 Wyslales zaproszenie %s do swojego Gangu", nazwa_gracza[id2]);
- new szTemp[128], menu2;
- formatex(szTemp, 127, "%s zaprosil cie, abys dolaczyl do Gangu", nazwa_gracza[id]);
- menu2 = menu_create(szTemp, "Handel_DostalZaproszenie");
- num_to_str(id, szInt, 2);
- menu_additem(menu2, "Akceptuj", szInt);
- menu_additem(menu2, "Odrzuc", szInt);
- menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz");
- menu_display(id2, menu2);
- ColorChat(id2, GREEN, "[GANG]^x01 %s wyslal tobie zaproszenie do swojego Gangu", nazwa_gracza[id]);
- }
- public Handel_DostalZaproszenie(id, menu, item)
- {
- if(item == MENU_EXIT)
- return;
- new szInt[3], id2;
- menu_item_getinfo(menu, item, id2, szInt, 2, _, _, id2);
- id2 = str_to_num(szInt);
- if(PobierzIloscGangu(user_gang[id2]) >= MAX_PEOPLE)
- return;
- ColorChat(id2, GREEN, "[GANG]^x01 %s%s przyja twojego zaproszenia do Gangu", nazwa_gracza[id], item? " nie": "");
- if(item == 1)
- return;
- UstawIloscGangu(user_gang[id2], 1);
- SQL_FormatQuery("UPDATE `GangUser` SET `id` = '%i' WHERE `Name` = '%s';", user_gang[id2], nazwa_gracza[id]);
- SQL_ThreadQuery(info, "ZapiszDane", gszQuery);
- user_gang[id] = user_gang[id2];
- //NewPlayerName(id);
- }
- //CZLONKOWIE GANGU
- public PokazCzlonkaGangu(failstate, Handle:query, error[], errnum, data[], size){
- if(failstate != TQUERY_SUCCESS){
- log_amx("<Query> Error: %s", error);
- return;
- }
- new id = data[0];
- if(!is_user_connected(id) && !is_user_connecting(id))
- return;
- if(SQL_NumRows(query))
- {
- new szName[64], menu = menu_create("Czlonkowie Gangu:", "Handel_CzlonkowieGangu");
- while(SQL_MoreResults(query))
- {
- SQL_ReadResult(query, 0, szName, 63);
- add(szName, 63, user_ranga[SQL_ReadResult(query, 1)]);
- menu_additem(menu, szName);
- SQL_NextRow(query);
- }
- menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
- menu_display(id, menu);
- }
- }
- public Handel_CzlonkowieGangu(id, menu, item)
- {
- if(item == MENU_EXIT)
- return;
- menu_display(id, menu, item/7);
- }
- //USUWANIE LUDZI Z GANGU
- public UsunCzlonkaGangu(failstate, Handle:query, error[], errnum, data[], size){
- if(failstate != TQUERY_SUCCESS){
- log_amx("<Query> Error: %s", error);
- return;
- }
- new id = data[0];
- if(!is_user_connected(id) && !is_user_connecting(id))
- return;
- if(SQL_NumRows(query))
- {
- new szName[32], menu = menu_create("Usun z Gangu:", "Handel_UsunZGangu");
- while(SQL_MoreResults(query))
- {
- SQL_ReadResult(query, 0, szName, 31);
- menu_additem(menu, szName, szName);////
- SQL_NextRow(query);
- }
- menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
- menu_display(id, menu);
- }
- }
- public Handel_UsunZGangu(id, menu, item)
- {
- if(item == MENU_EXIT)
- return;
- new szName[32], id2;
- menu_item_getinfo(menu, item, id2, szName, 32, _, _, id2);
- SQL_FormatQuery("UPDATE `GangUser` SET `id` = '0', `Flaga` = '%d' WHERE `Name` = '%s';", _:USER, szName);////
- SQL_ThreadQuery(info, "ZapiszDane", gszQuery);
- UstawIloscGangu(user_gang[id], -1);
- id2 = get_user_index(szName);////
- if(is_user_connected(id2))
- {
- user_gang[id2] = 0;
- user_flags[id2] = USER;
- //OldPlayerName(id2);
- }
- ColorChat(id, GREEN, "[GANG]^x01 Usuneles %s z Gangu", szName);
- }
- ////USTAWIANIE RANGI
- public UstawRangCzlonka(failstate, Handle:query, error[], errnum, data[], size){
- if(failstate != TQUERY_SUCCESS){
- log_amx("<Query> Error: %s", error);
- return;
- }
- new id = data[0];
- if(!is_user_connected(id) && !is_user_connecting(id))
- return;
- if(SQL_NumRows(query))
- {
- new szName[2][64], menu = menu_create("Ustaw range:", "Handel_UstawRangeCzlonka");
- while(SQL_MoreResults(query))
- {
- SQL_ReadResult(query, 0, szName[0], 63);
- formatex(szName[1], 63, "%s%s", szName[0], user_ranga[SQL_ReadResult(query, 1)]);
- menu_additem(menu, szName[1], szName[0]);
- SQL_NextRow(query);
- }
- menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
- menu_display(id, menu);
- }
- }
- public Handel_UstawRangeCzlonka(id, menu, item)
- {
- if(item == MENU_EXIT)
- return;
- new szName[32], id2;
- menu_item_getinfo(menu, item, id2, szName, 31, _, _, id2);
- new szTemp[128], menu2;
- format(szTemp, 127, "Ustaw range dla %s", szName);
- menu2 = menu_create(szTemp, "Handel_UstawRangeCzlonkaGangu");
- menu_additem(menu2, "Zadna", szName);
- menu_additem(menu2, "Zastepca", szName);
- menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz");
- menu_display(id, menu2);
- }
- public Handel_UstawRangeCzlonkaGangu(id, menu, item)
- {
- if(item == MENU_EXIT)
- return;
- new szName[32], id2;
- menu_item_getinfo(menu, item, id2, szName, 32, _, _, id2);
- item = _:(item? ASSIST: USER);
- SQL_FormatQuery("UPDATE `GangUser` SET `Flaga` = '%d' WHERE `Name` = '%s';", item, szName);////
- SQL_ThreadQuery(info, "ZapiszDane", gszQuery);
- id2 = get_user_index(szName);////
- if(is_user_connected(id2))
- {
- user_flags[id2] = GANG_FLAGS:item;
- ColorChat(id2, GREEN, "[GANG]^x01 %s ustawil ci range%s", nazwa_gracza[id], user_ranga[item]);
- }
- ColorChat(id, GREEN, "[GANG]^x01 Ustawiles range%s czlonkowi %s", user_ranga[item], szName);
- }
- //CZAT GANGU
- public cmdSayGang(id)
- {
- new said[3];
- read_argv(1, said, 2);
- if(said[0] == '!')
- {
- if(!user_gang[id])
- return PLUGIN_CONTINUE;
- if(!is_user_alive(id)){
- ColorChat(id, GREEN,"[Czat gangowy]^x01 Zeby pisac na czacie gangu musisz byc zywy!")
- return PLUGIN_CONTINUE
- }
- new message[192];
- read_args(message, 191);
- remove_quotes(message);
- for(new i=1; i<=32; i++)
- {
- if(is_user_connected(i) && user_gang[id] == user_gang[i])
- ColorChat(i, GREEN, "(Czat gangowy) %s : %s", nazwa_gracza[id], message[2]);
- }
- return PLUGIN_HANDLED;
- }
- return PLUGIN_CONTINUE;
- }
- /*public client_infochanged(id)
- {
- if(!is_user_connected(id) || !user_gang[id])
- return PLUGIN_CONTINUE;
- new NewName[32], OldName[32];
- get_user_name(id, OldName, 31);
- get_user_info(id, "name", NewName, 31);
- if(!equal(NewName, OldName))
- NewPlayerName(id, true);
- return PLUGIN_CONTINUE;
- }*/
- public client_putinserver(id)
- {
- if(is_user_hltv(id))
- return;
- create_gang[id] = false;
- user_wczytalo[id] = false;
- user_gang[id] = 0;
- user_flags[id] = USER;
- user_bunty[id] = 0;
- user_zyczenia[id] = 0;
- get_user_name(id, nazwa_gracza[id], 34);
- replace_all(nazwa_gracza[id], 34, "'", "\'");
- replace_all(nazwa_gracza[id], 34, "`", "\`");
- new data[1];
- data[0] = id;
- SQL_FormatQuery("SELECT * FROM `GangUser` WHERE `Name` = '%s';", nazwa_gracza[id]);
- SQL_ThreadQuery(info, "PobierzGang", gszQuery, data, 1);
- }
- public PobierzGang(failstate, Handle:query, error[], errnum, data[], size){
- if(failstate != TQUERY_SUCCESS){
- log_amx("<Query> Error: %s", error);
- return;
- }
- new id = data[0];
- if(!is_user_connected(id) && !is_user_connecting(id))
- return;
- if(SQL_NumRows(query))
- {
- user_gang[id] = SQL_ReadResult(query, 0);//id_gangu
- user_bunty[id] += SQL_ReadResult(query, 2);//zabicia
- user_zyczenia[id] += SQL_ReadResult(query, 3);//zyczenia
- user_flags[id] = GANG_FLAGS:SQL_ReadResult(query, 4);//flaga
- //if(user_gang[id])
- // NewPlayerName(id);
- }
- else
- {
- SQL_FormatQuery("INSERT INTO `GangUser` (`Name`) VALUES ('%s');", nazwa_gracza[id]);
- SQL_ThreadQuery(info, "ZapiszDane", gszQuery);
- }
- user_wczytalo[id] = true;
- }
- ///TWORZENIE GANGU
- public CreateNameGang(id)
- {
- if(get_user_team(id) != 1 || !user_wczytalo[id])
- return PLUGIN_HANDLED;
- if(!WymaganiaDoGangu(id))
- return PLUGIN_HANDLED;
- if(create_gang[id])
- {
- ColorChat(id, GREEN, "[GANG]^x01 Poczekaj trwa tworzenie twojego gangu");
- return PLUGIN_HANDLED;
- }
- new szArgs[32];
- read_args(szArgs, charsmax(szArgs));
- remove_quotes(szArgs);
- if(strlen(szArgs) > 10)
- {
- ColorChat(id, GREEN, "[GANG]^x01 Za dluga nazwa gangu! Maksymalnie 10 liter");
- return PLUGIN_HANDLED;
- }
- if(strfind(szArgs, "'") != -1 || strfind(szArgs, "`") != -1 || strfind(szArgs, "%") != -1)
- {
- ColorChat(id, GREEN, "[GANG]^x01 Nie mozesz uzyc niedozwolonych znakow");
- return PLUGIN_HANDLED;
- }
- new data[11];
- copy(data[1], 10, szArgs);
- data[0] = id;
- SQL_FormatQuery("SELECT `id` FROM `GangName` WHERE `Name` = '%s';", szArgs);
- SQL_ThreadQuery(info, "SprawdzenieDostepnosci", gszQuery, data, 11);
- create_gang[id] = true;
- return PLUGIN_HANDLED;
- }
- public SprawdzenieDostepnosci(failstate, Handle:query, error[], errnum, data[], size){
- if(failstate != TQUERY_SUCCESS){
- log_amx("<Query> Error: %s", error);
- return;
- }
- new id = data[0]
- if(SQL_NumRows(query))
- {
- ColorChat(id, GREEN, "[GANG]^x01 Gang z taka nazwa juz istnieje.");
- create_gang[id] = false;
- return;
- }
- ColorChat(id, GREEN, "[GANG]^x01 Stworzyles gang^x03 %s", data[1]);
- SQL_FormatQuery("INSERT INTO `GangName` (`Name`) VALUES ('%s');", data[1]);
- SQL_ThreadQuery(info, "ZapiszDaneGang", gszQuery, data, 32);
- }
- public ZapiszDaneGang(failstate, Handle:query, error[], errnum, data[], size){
- if(failstate != TQUERY_SUCCESS){
- log_amx("<Query> Error: %s", error);
- return;
- }
- SQL_FormatQuery("SELECT `id` FROM `GangName` WHERE `Name` = '%s';", data[1]);
- SQL_ThreadQuery(info, "PobierzGangID", gszQuery, data, 32);
- }
- public PobierzGangID(failstate, Handle:query, error[], errnum, data[], size){
- if(failstate != TQUERY_SUCCESS){
- log_amx("<Query> Error: %s", error);
- return;
- }
- new id = data[0];
- if(SQL_NumRows(query))
- {
- user_gang[id] = SQL_ReadResult(query, 0);
- user_flags[id] = ADMINS;
- new szInt[10];
- num_to_str(user_gang[id], szInt, 9);
- TrieSetCell(gnGangIle, szInt, 1);
- TrieSetString(gnGangName, szInt, data[1]);
- //NewPlayerName(id);
- //log_amx("[Gangi] Stworzono gang %s (%i) przez %s", szDane, user_gang[id], nazwa_gracza[id]);
- SQL_FormatQuery("UPDATE `GangUser` SET `id` = '%i', `Flaga` = '%d' WHERE `Name` = '%s';", user_gang[id], _:ADMINS, nazwa_gracza[id]);
- SQL_ThreadQuery(info, "ZapiszDane", gszQuery);
- }
- create_gang[id] = false;
- }
- //inne
- public ZapiszDane(failstate, Handle:query, error[], errnum, data[], size){
- if(failstate != TQUERY_SUCCESS){
- log_amx("<Query> Error: %s", error);
- return;
- }
- }
- stock SQL_FormatQuery(const szQuery[], ...){
- vformat(gszQuery, charsmax(gszQuery), szQuery, 2);
- }
- //inne
- stock PobierzIloscGangu(gang)
- {
- new StrItem[10], ile;
- num_to_str(gang, StrItem, 9);
- TrieGetCell(gnGangIle, StrItem, ile);
- return ile;
- }
- stock UstawIloscGangu(gang, dodaj)
- {
- new StrItem[10], ile;
- num_to_str(gang, StrItem, 9);
- TrieGetCell(gnGangIle, StrItem, ile);
- TrieSetCell(gnGangIle, StrItem, ile+dodaj);
- SQL_FormatQuery("UPDATE `GangName` SET `Ilosc` = (`Ilosc` + %d) WHERE `id` = '%d';", dodaj, gang);
- SQL_ThreadQuery(info, "ZapiszDane", gszQuery);
- }
- stock bool:WymaganiaDoGangu(id)
- {
- if(!access(id, ADMIN_IMMUNITY))
- {
- if(user_zyczenia[id] < MIN_ZYCZENIA)
- {
- client_print(id, 3, "[GANG] Masz za malo Zyczen, aby stworzyc swoj gang!");
- return false;
- }
- }
- if(user_gang[id])
- {
- client_print(id, 3, "[GANG] Masz juz gang");
- return false;
- }
- return true;
- }
- /*stock NewPlayerName(id, bool:info=false)
- {
- set_msg_block(msgid_sayText, BLOCK_ONCE);
- new szInt[10], szName[32], szPrefix[12];
- num_to_str(user_gang[id], szInt, 9);
- TrieGetString(gnGangName, szInt, szPrefix, 11);
- info? get_user_info(id, "name", szName, 31): get_user_name(id, szName, 31);
- format(szName, 31, "%s | %s", szPrefix, szName);
- set_user_info(id, "name", szName);
- //set_pev(id, pev_netname, szNewName)
- }
- stock OldPlayerName(id)
- {
- set_msg_block(msgid_sayText, BLOCK_ONCE);
- set_user_info(id, "name", nazwa_gracza[id]);
- }*/
- public handleSayText(msgId, msgDest, msgEnt)
- {
- new id = get_msg_arg_int(1);
- if(!is_user_connected(id) || !user_gang[id])
- return PLUGIN_CONTINUE;
- new szTmp[192], szTmp2[192];
- get_msg_arg_string(2, szTmp, charsmax(szTmp));
- new szInt[10], szPrefix[64];
- num_to_str(user_gang[id], szInt, 9);
- TrieGetString(gnGangName, szInt, szPrefix, 11);
- if(!equal(szTmp,"#Cstrike_Chat_All")){
- add(szTmp2, charsmax(szTmp2), "^x01");
- add(szTmp2, charsmax(szTmp2), szPrefix);
- add(szTmp2, charsmax(szTmp2), " ");
- add(szTmp2, charsmax(szTmp2), szTmp);
- }
- else{
- new szPlayerName[64];
- get_user_name(id, szPlayerName, charsmax(szPlayerName));
- get_msg_arg_string(4, szTmp, charsmax(szTmp)); //4. argument zawiera tresc wyslanej wiadomosci
- set_msg_arg_string(4, ""); //Musimy go wyzerowac, gdyz gra wykorzysta wiadomosc podwójnie co moze skutkowac crash'em 191+ znaków.
- add(szTmp2, charsmax(szTmp2), "^x04[");
- add(szTmp2, charsmax(szTmp2), szPrefix);
- add(szTmp2, charsmax(szTmp2), "]^x03 ");
- add(szTmp2, charsmax(szTmp2), szPlayerName);
- add(szTmp2, charsmax(szTmp2), "^x01 : ");
- add(szTmp2, charsmax(szTmp2), szTmp)
- }
- set_msg_arg_string(2, szTmp2);
- return PLUGIN_CONTINUE;
- }
- /////Zliczanie zyczen i buntow
- public OnLastPrisonerTakeWish(id)
- {
- nielicz = true;
- user_zyczenia[id]++;
- SQL_FormatQuery("UPDATE `GangUser` SET `Zyczenia` = (`Zyczenia` + 1) WHERE `Name` = '%s';", nazwa_gracza[id]);
- SQL_ThreadQuery(info, "ZapiszDane", gszQuery);
- }
- public SmiercGraczaPost(id, attacker, shouldgib)
- {
- if(!is_user_connected(id) || !is_user_connected(attacker))
- return HAM_IGNORED;
- if(get_user_team(id) == 2 && get_user_team(attacker) == 1 && !nielicz)
- {
- user_bunty[attacker]++;
- SQL_FormatQuery("UPDATE `GangUser` SET `Zabicia` = (`Zabicia` + 1) WHERE `Name` = '%s';", nazwa_gracza[attacker]);
- SQL_ThreadQuery(info, "ZapiszDane", gszQuery);
- }
- return HAM_IGNORED;
- }
- public OnRemoveData()
- {
- nielicz = false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement