Posiadam gangi od Cypisa, lecz musiałem wprowadzić kilka zmian do nich z powodu błędów.
Po zmianie prefix gangu nie pokazuje się -> nie pokazuje nazwy gangu w prefixie.
Dokładnie wygląda to tak: *[ ]* a gdy chciałem zmienić inaczej to wygląda to tak: [*[ ]* mniej więcej tak.
Jakieś pomysły w czym problem leży?
#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"
#define MAX_PEOPLE 10
#define MIN_ZYCZENIA 50
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:gnGangIle;
new Trie:gnGangName;
new user_zyczenia[33];
new user_bunty[33];
new bool:nielicz;
new msgid_sayText;
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");
}
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", "");
pcvar_user = register_cvar("jail_gang_user", "");
pcvar_pass = register_cvar("jail_gang_pass", "");
pcvar_db = register_cvar("jail_gang_db", "");
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("Rank Stats:", "Handel_RankStats");
menu_additem(menu, "Twoj rank Buntow");
menu_additem(menu, "Twoj rank Zyczen");
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
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(" 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("Top 15:", "Handel_Top");
menu_additem(menu, "Top 15 Buntow");
menu_additem(menu, "Top 15 Zyczen");
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
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(" 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, "");
iLen += formatex(buffer[iLen], 2047-iLen, " # Gracz: Najwiecej %s", (data[1]? "Życzeń": "Buntów"));
while(SQL_MoreResults(query))
{
SQL_ReadResult(query, 1, szName, 40);
replace_all(szName, 40, "<", "<");
replace_all(szName, 40, ">", ">");
iLen += formatex(buffer[iLen], 2047-iLen, " %i. %s %i", ((i%2)==0)? "" :" bgcolor=#A4BED6", i+1, szName, SQL_ReadResult(query, (data[1]? 3: 2)));
i++;
SQL_NextRow(query);
}
iLen += copy(buffer[iLen], 2047-iLen, " ");
show_motd(id, buffer, "Top 15")
}
}
//MENU GANGU
public MenuGang(id)
{
if(!user_wczytalo[id] || create_gang[id])
return;
new menu = menu_create("Menu Gangu:", "Handel_Gang");
if(!user_gang[id])
{
menu_additem(menu, "Stworz Gang \y(50+ Zyczen)", "0");
}
else
{
if(user_flags[id] == ADMINS)
{
menu_additem(menu, "Dodaj czlonka do swojego Gangu", "2");
menu_additem(menu, "Usun czlonka Gangu^n", "3");
menu_additem(menu, "Czlonkowie Gangu", "5");
menu_additem(menu, "Ustaw range dla czlonka^n", "7");
menu_additem(menu, "\yUsun swoj Gang", "4");
}
else
{
menu_additem(menu, "\yOpusc Gang^n", "1");
if(user_flags[id] == ASSIST)
{
menu_additem(menu, "Dodaj czlonka do swojego Gangu", "2");
menu_additem(menu, "Usun czlonka Gangu^n", "3");
}
menu_additem(menu, "Czlonkowie Gangu", "5");
}
}
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
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 na pewno chcesz opuscic swoj Gang?", "Handel_OpuscGang");
menu_additem(menu2, "\yTak");
menu_additem(menu2, "Nie");
menu_display(id, menu2);
}
case 2:
{
new szInt[3], menu2 = menu_create("Wyslij 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, "Wyjdz");
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 na pewno chcesz usunac swoj Gang?", "Handel_UsunGang");
menu_additem(menu2, "\yTak");
menu_additem(menu2, "Nie");
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(" 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(" 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(" 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] == '@' && said[1] == '@')
{
if(!user_gang[id])
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, "(GANG) %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(" 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)
{
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(" 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(" 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(" 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(" 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), "^x04[");
add(szTmp2, charsmax(szTmp2), szPrefix);
add(szTmp2, charsmax(szTmp2), "] ");
add(szTmp2, charsmax(szTmp2), szTmp);
}
else{
add(szTmp2, charsmax(szTmp2), "^x04[");
add(szTmp2, charsmax(szTmp2), szPrefix);
add(szTmp2, charsmax(szTmp2), "]^x03 %s1^x01 : %s2");
}
set_msg_arg_string(2, szTmp2);
return PLUGIN_CONTINUE;
}
public PrefixCzat(msgId,msgDest,msgEnt)
{
new id = get_msg_arg_int(1);
if(is_user_connected(id))
{
new szTmp[192],szTmp2[192]
get_msg_arg_string(2,szTmp, charsmax( szTmp ) );
new rank = g_PlayerRank[id];
new szPrefix[64]
formatex(szPrefix,charsmax( szPrefix ),"^x01*^x03[%s]^x01*",gRankName[rank]);
if(!equal(szTmp,"#Cstrike_Chat_All"))
{
add(szTmp2,charsmax(szTmp2),szPrefix);
add(szTmp2,charsmax(szTmp2)," ");
add(szTmp2,charsmax(szTmp2),szTmp);
}
else
{
add(szTmp2,charsmax(szTmp2),szPrefix);
add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 : %s2");
}
set_msg_arg_string(2,szTmp2);
}
return PLUGIN_CONTINUE;
}
*/
public handleSayText(msgId, msgDest, msgEnt)
{
new id = get_msg_arg_int(1);
if(is_user_connected(id) && user_gang[id])
return PLUGIN_CONTINUE;
new szInt[10], szPrefix[32];
num_to_str(user_gang[id], szInt, 9);
TrieGetString(gnGangName, szInt, szPrefix, 11);
new szTmp[192],szTmp2[192]
get_msg_arg_string(2,szTmp, charsmax( szTmp ) )
formatex(szPrefix,charsmax(szPrefix),"^x01*^x03[%s]^x01*",szPrefix);
if(!equal(szTmp,"#Cstrike_Chat_All"))
{
add(szTmp2,charsmax(szTmp2),szPrefix);
add(szTmp2,charsmax(szTmp2)," ");
add(szTmp2,charsmax(szTmp2),szTmp);
}
else
{
add(szTmp2,charsmax(szTmp2),szPrefix);
add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 : %s2");
}
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;
}
Użytkownik Vakos edytował ten post 11.02.2017 11:14