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
 

Errorek :P - zdjęcie

Errorek :P

Rejestracja: 14.02.2015
Aktualnie: Nieaktywny
Poza forum Ostatnio: 13.08.2015 13:56
-----

#707202 zrobienie s vipa

Napisane przez Errorek :P w 21.07.2015 20:49

Lap

Załączone pliki


  • +
  • -
  • 1


#703712 [KOSZ] Edycja jail_menu.amxx

Napisane przez Errorek :P w 22.06.2015 12:37

Może bardziej kolorowo :P Łap

Załączone pliki


  • +
  • -
  • 1


#702605 Jb Gangi prefixy

Napisane przez Errorek :P w 05.06.2015 19:16

Łap :D

#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 5
#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;

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", "ip");
	pcvar_user = register_cvar("jail_gang_user", "login");
	pcvar_pass = register_cvar("jail_gang_pass", "haslo");
	pcvar_db = register_cvar("jail_gang_db", "database");
	
	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 BuntĂłw");
	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("<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("Top 15:", "Handel_Top");
	menu_additem(menu, "Top 15 BuntĂłw");
	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("<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=#52697B><th width=5%%> # <th width=35%% align=left> Gracz: <th width=20%%> Najwiecej %s", (data[1]? "Życzeń": "Buntów"));
		
		while(SQL_MoreResults(query))
		{
			SQL_ReadResult(query, 1, szName, 40);
			replace_all(szName, 40, "<", "&lt;");
			replace_all(szName, 40, ">", "&gt;");
			
			iLen += formatex(buffer[iLen], 2047-iLen, "<tr align=center%s><td> %i. <td align=left> %s <td> %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, "</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("Menu 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, "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("<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] == '@' && 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("<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)
	{
		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[256], szTmp2[256];
	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;
}

/////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;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/


  • +
  • -
  • 1


#689742 Model dla tt vip

Napisane przez Errorek :P w 21.02.2015 20:19

Poszukuje już od kilku dni fajnych modeli dla vipa tt i z przykrościa nie moge go znaleść :/

 

Chcałbym was all porosic o skonstruowanie modela dla vipa na wzór http://pl.tinypic.com/r/25yzps2/8(najlepiej żeby to był ten skin) jagby można dac napis "HolyFrags.pl"

 

 

Za najlepsze daje +

 


  • +
  • -
  • 1