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
 

Qes - zdjęcie

Qes

Rejestracja: 18.04.2013
Aktualnie: Przegląda temat CoD Mod II Wojna Światowa od Epal
Poza forum Ostatnio: 26.12.2017 01:00
-----

#744585 Antyban token

Napisane przez Qes on 26.11.2017 19:04

Jest modyfikacja do metamod, która po prostu "blokuje" dokładne sprawdzanie serwera.

Działa to na takiej zasadzie, że mając takową modyfikację, nie dostajesz w ogóle banów na token i nie jest Ci wtedy potrzebny żaden system tokenów z różnych stron, bo cały czas korzystasz z jednego.

Ile to kosztuje? Bardziej opłaca się kupować te tokeny, chyba że masz pewność, iż serwer będzie stał przez długi czas.


  • +
  • -
  • 1


#731843 Połączenie awansu klas z frakcjami od cypisa

Napisane przez Qes on 25.10.2016 00:00

Pewnie wystarczy coś takiego

public WybierzKlase(id)
{
	new menu = menu_create("Wybierz klase:", "WybierzKlase_Frakcje");
	for(new i=1; i <= ilosc_klas; i++)
	{
		if(!equal(frakcja_klas[i],"") && !is_in_previous(frakcja_klas[i],i)){
			menu_additem(menu,frakcja_klas[i],frakcja_klas[i])
		}
	}
	
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
	menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
	menu_display(id, menu);
}

public WybierzKlase_Frakcje(id, menu, item)
{
	if(item == MENU_EXIT){
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	
	new data[65], iName[64]
	new acces, callback
	menu_item_getinfo(menu, item, acces, data,64, iName, 63, callback)
	
	new menu2 = menu_create("Wybierz klase:", "WybierzKlase_Handle");
	
	new klasa[50], dana_klasa, numer[10];
	for(new i=1; i <= ilosc_klas; i++)
	{
		if(JestAwansem(i))
			continue;
		WczytajDane(id, i);
		dana_klasa = i;
	  
		for(;;)
		{
			if(awansuje_do[dana_klasa] && poziom_gracza[id] >= awanse[ZnajdzAwans(dana_klasa, awansuje_do[dana_klasa])][2])
			{
				dana_klasa = awansuje_do[dana_klasa];
				WczytajDane(id, dana_klasa);
			}
			else break;
		}
		formatex(klasa, charsmax(klasa), "%s \yPoziom: %i", nazwy_klas[dana_klasa], poziom_gracza[id]);
		num_to_str(dana_klasa, numer, 9);
		menu_additem(menu, klasa, numer);
	}
	
	WczytajDane(id, klasa_gracza[id]);
	
	menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz");
	menu_setprop(menu2, MPROP_BACKNAME, "Poprzednia strona");
	menu_setprop(menu2, MPROP_NEXTNAME, "Nastepna strona");
	menu_display(id, menu2);
	
	client_cmd(id, "spk QTM_CodMod/select");
	
	menu_destroy(menu);
	return PLUGIN_CONTINUE;
}

public WybierzKlase_Handle(id, menu, item)
{
	client_cmd(id, "spk QTM_CodMod/select");
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}     
	
	new data[65], iName[64]
	new acces, callback
	menu_item_getinfo(menu, item, acces, data,64, iName, 63, callback)
	
	item = str_to_num(data);
	if(item == klasa_gracza[id] && !nowa_klasa_gracza[id])
		return PLUGIN_CONTINUE;
	
	nowa_klasa_gracza[id] = item;
	
	if(klasa_gracza[id])
		client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie.");
	else
	{
		UstawNowaKlase(id);
		DajBronie(id);
		ZastosujAtrybuty(id);
	}
	return PLUGIN_CONTINUE;
}

Trudno to sprawdzić skoro nie podajesz .sma 


  • +
  • -
  • 1


#731734 [ROZWIĄZANE] Monety

Napisane przez Qes on 21.10.2016 22:02

Co chcesz w tym sklepie?

Dasz radę sam to zrobić?

Są dwie możliwości, albo wpisujesz sklep w ten plugin i nie musisz wtedy tworzyć natywu, bo używasz zmiennej player_coins, albo tworzysz natyw tak jak w tym pluginie, czyli

public plugin_natives()
{
	register_native("cod_get_user_coins", "GetCoins", 1);
	register_native("cod_set_user_coins", "SetCoins", 1);
}	

// /------\ //
// |NATYWY| //
// \------/ //

public SetCoins(id, wartosc)
{
	player_coins[id] = wartosc
}

public GetCoins(id)
	return player_coins[id]; 

A potem używasz tego tak jak tutaj 

https://amxx.pl/topi...ty/#entry281144

lub tutaj

https://amxx.pl/topi...onety-i-dolary/

 

Wydaje mi się, że jest to dość łatwe, bo wystarczy po prostu skopiować kawałek kodu, ale jeżeli masz z tym problem to napisz


  • +
  • -
  • 1


#731728 [ROZWIĄZANE] Monety

Napisane przez Qes on 21.10.2016 18:40

 Robiłem to na szybko, więc proszę sprawdź
PS: Edytowalem ten plugin: https://amxx.pl/topi...3-system-monet/

A i nie chcę kasy

#include <amxmodx>
#include <amxmisc>
#include <nvault>

#define PLUGIN	"System Monet"
#define AUTHOR	"kisiel96"
#define VERSION	"1.1.1"

#define TASK_SHOW_COINS 666

new player_auth[33][64];
new player_coins[33];

new sync_hud_obj;

new pcvar_savetype;
new vault;

public plugin_init()
{	
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_event("DeathMsg", "EnemyKilled", "a");
	register_event("ResetHUD", "ResetHUD", "abe");
	
	sync_hud_obj = CreateHudSyncObj();
	
	pcvar_savetype 						= 	get_cvar_num("cod_savetype");
	
	vault = nvault_open("monety");
	if(vault == INVALID_HANDLE)
		set_fail_state("Nie mozna otworzyc pliku");
}
public client_authorized(id)
{
	RemoveCoins(id);
		
	switch(pcvar_savetype)
	{
		case 1: get_user_name(id, player_auth[id], 63);
		case 2: get_user_authid(id, player_auth[id], 63);
		case 3: get_user_ip(id, player_auth[id], 63);
	}
	
	LoadCoins(id);
}

public client_connect(id)
	LoadCoins(id);

public client_disconnect(id)
{
	SaveCoins(id);
	RemoveCoins(id)
}

public plugin_end()
	nvault_close(vault);

// /-----------\ //
// |RESET MONET| //
// \-----------/ //

public RemoveCoins(id)
{
	player_coins[id] = 0;
}

// /--------------\ //
// |ZLICZNIE MONET| //
// \--------------/ //

public EnemyKilled()
{
	new kid = read_data(1);
	new vid = read_data(2);
	new hs = read_data(3);
	
	if(kid == vid)
		return;
	
	if(hs)
	{
		if(random(100)<15)
			player_coins[kid]++;
	}
	else
	{
		if(random(100)<5)
			player_coins[kid]++;
	}
}
// /---\ //
// |HUD| //
// \---/ //

public ShowCoins(id)
{
	id -= TASK_SHOW_COINS;
	
	if(!is_user_alive(id))
	{
		remove_task(id + TASK_SHOW_COINS);
		return;
	}
	
	set_hudmessage(0, 255, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
	ShowSyncHudMsg(id, sync_hud_obj, "^n^n^n^n^n^n^n[Monety: %i]", player_coins[id]);
}

public ResetHUD(id)
{
	if(!task_exists(id+TASK_SHOW_COINS))
		set_task(0.1, "ShowCoins", id + TASK_SHOW_COINS, _, _, "b");
}

// /------\ //
// |NVAULT| //
// \------/ //

public SaveCoins(id)
{
	new vaultkey[64], vaultdata[256];
	formatex(vaultkey, 63, "%s-player_coins", player_auth[id]);
	formatex(vaultdata, 255, "%d#", player_coins[id]);
	nvault_set(vault, vaultkey, vaultdata);
	
	return;
}

public LoadCoins(id)
{
	new vaultkey[64], vaultdata[256];
	formatex(vaultkey, 63, "%s-player_coins", player_auth[id]);
	formatex(vaultdata, 255, "%d#", player_coins[id]);
	nvault_get(vault, vaultkey, vaultdata,255);
	
	replace_all(vaultdata, 255, "#", " ");
	
	new temp_player_coins[33];
	parse(vaultdata, temp_player_coins, 32);
	
	player_coins[id] = str_to_num(temp_player_coins);
	
	return;
} 

  • +
  • -
  • 1


#731467 Problem z DDosami

Napisane przez Qes on 11.10.2016 14:17

@OFFTOPIC

więc nie rozumiem po raz kolejny o co chodzi?  :)

 

O co chodzi? Oto że na tym forum nikt niczego nie pilnuje.
Użytkownik Lizka napisał: 

szkoda ze nie ma takiej tu pomocy jaka byłą ok 4lat tem

 

Szkoda że 4 lata temu, to taki temat poleciałby do kosza od razu, a teraz? Teraz forum, to jeden wielki burdel za przeproszeniem. Nikt niczego nie pilnuje, zlecenia pisane są wszędzie, w statusach ciągłe reklamy i kto tego pilnuje? "Misiaczek"? Magnet? - tylko ich widać
Radima to od miesięcy nie ma, a jak widać na forum jest po prostu syf, nic nie jest dokładnie pilnowane. 

Potem przychodzi taki/a Lizka, pisze jak było 4 lata temu, a konto ma od 07.05.2016.

Ciekawe.


  • +
  • -
  • 1


#731384 Czy warto założyć serwer Cs GO

Napisane przez Qes on 09.10.2016 10:50

Człowieku, to są MODY CS:GO MOD. Wpisz sobie csgomods . pl, to raz

Dwa, reklama w ich MS polega na tym, że ludzie którzy mają ich CS 1.6 (zakładka Download) mają w zakładce INTERNET serwery które widnieją na stronie głównej.

Ich reklama MS nigdy nie zadziała CI na serwerze CS:GO, a lista serwerów którą mają też jest pod serwery CS 1.6, zresztą nawet nie jest wypozycjonowana pod frazy gry CS:GO, więc nie miałaby szans przynieść Ci jakichkolwiek korzyści.

 

Proszę Cię, nabierz wiedzy, a dopiero potem twórz serwery


  • +
  • -
  • 1


#730720 amx_ip + SteamID

Napisane przez Qes on 14.09.2016 13:24

https://amxx.pl/topi...y-zmiennych-ip/

i zamień w .sma to

 
public plugin_init()
{
	register_plugin("StatusIP", "1.7", "ahtoh&ZiuTeK")
	register_concmd("amx_ip", "wyswietl_adresy_ip", ADMIN_ALL,"wyswietla IP graczy")
	new configsDir[64]
	get_configsdir(configsDir, sizeof(configsDir)-1)
	format(configsDir, sizeof(configsDir)-1, "%s/ipdesc.ini", configsDir)
	loadSubnets(configsDir)
	pcv_dp_r_id_provider = get_cvar_pointer ("dp_r_id_provider")
	register_cvar("g_brak_opisu","")
}
na to
public plugin_init()
{
	register_plugin("StatusIP", "1.7", "ahtoh&ZiuTeK")
	register_concmd("amx_ip", "wyswietl_adresy_ip", ADMIN_ALL,"wyswietla IP graczy")
	register_concmd("say /ip", "wyswietl_adresy_ip", ADMIN_ALL,"wyswietla IP graczy")
	new configsDir[64]
	get_configsdir(configsDir, sizeof(configsDir)-1)
	format(configsDir, sizeof(configsDir)-1, "%s/ipdesc.ini", configsDir)
	loadSubnets(configsDir)
	pcv_dp_r_id_provider = get_cvar_pointer ("dp_r_id_provider")
	register_cvar("g_brak_opisu","")
}

 


  • +
  • -
  • 2


#730706 Jak dodac więcej niż jeden dźwięk przy pobiciu rekordu na speedrun?

Napisane przez Qes on 13.09.2016 17:44

#include <amxmodx>
#include <amxmisc>
#include <deathrun_stats>

#define PLUGIN "[DR Stats] Dźwięk na pobicie rekordu"
#define VERSION "1.0"
#define AUTHOR "R3X"

new const gszSound[] = "sound/misc/drstats/owned.mp3";
new const gszSound1[] = "sound/misc/drstats/owned.mp3";
	
public plugin_precache(){
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	precache_generic(gszSound);
}
public fwPlayerFinished(id, iTime, bool:newrecord){
	if(newrecord){
		switch(random_num(1, 2))
		{
		case 1:
			{
				client_cmd(0, "mp3 play %s", gszSound);
			}
		case 2:
			{ 
				client_cmd(0, "mp3 play %s", gszSound1);
			}
		}
	}
 }



  • +
  • -
  • 1


#688014 Gangi JB

Napisane przez Qes on 13.02.2015 10:40

Jak gangi które są ogólnodostępne w internecie mogą być unikalne?

Kolega wyżej chyba nawet nie wie, że chodzi o sourcemod, bo podał link do pluginu z działu AMXX

 

https://forums.allie...d.php?p=1981105


  • +
  • -
  • 1


#669235 Bonusy wypadające z graczy.

Napisane przez Qes on 06.11.2014 16:39

Tak

    if(is_user_connected(kid) || is_user_connected(vid))

{

if(random_num(1,4)==1)

        create_itm(vid, 0)

}

  • +
  • -
  • 1


#640403 jaki wybrać serwis płatności SMS

Napisane przez Qes on 26.05.2014 21:46

cashbill

Tylko że tutaj dostajesz 50% z sms'ow i od tego odciągają podatek.

 

Korzystam od 3 miesięcy i nie było problemu z wypłatą.


  • +
  • -
  • 1


#639155 Gildie by stachu - menu z tworzeniem gildii resetuje się co mapę

Napisane przez Qes on 18.05.2014 19:47

Poradziłem sobie

 

Można zamknąć


  • +
  • -
  • 1


#638903 Gildie by stachu - menu z tworzeniem gildii resetuje się co mapę

Napisane przez Qes on 17.05.2014 21:22

Witam,

Po przeniesieniu całych gildii by stachu do swojego diablo napotkałem problem z tworzeniem gildii.

Po stworzeniu gildii mam dostęp do całego menu, czyli dodawania expa, graczy, itd, ale gdy zmieni się mapa znowu po wpisaniu /gildie mam tylko dostęp do stworzenia nowej gildii i informacji o gildiach mimo iż gildię posiadam.
Screen:

 

 

Tak wygląda kod:
 

public gildie(id)
{
	new MyMenu=menu_create("Menu Gildi","gildia_menu");
	
	new aktywna=menu_makecallback("aktywna_func");
	
	new nieaktywna=menu_makecallback("nieaktywna_func");
	
	new AuthID[35]
	get_user_name(id,AuthID,34)
	trybik[id] = 0
	
	if(gildia_lvl[id] == 0) trybik[id] = 0
	else if(equal(AuthID,nazwa_zalozycial[id])) trybik[id] = 1
		else trybik[id] = 2
	
	switch(trybik[id]){
		case 0:{
			
			menu_additem(MyMenu,"Zaloz gildie","",0,aktywna);
			menu_additem(MyMenu,"Ogolnie","",0,aktywna);
		}
		case 1:{
			if(ilosc_czlonkow[id] < 2+gildia_lvl[id]) menu_additem(MyMenu,"Zapros graczy","",0,aktywna);
			else menu_additem(MyMenu,"Zapros graczy","",0,nieaktywna);
			
			menu_additem(MyMenu,"Opis Gildi","",0,aktywna);
			
			if(player_lvl[id]>10) menu_additem(MyMenu,"Wplac expa","",0,aktywna);
			else menu_additem(MyMenu,"Wplac expa","",0,nieaktywna);
			
			if(player_kamien[id]) menu_additem(MyMenu,"Daj Kamienia","",0,aktywna);
			else menu_additem(MyMenu,"Daj Kamienia","",0,nieaktywna);
			
			if(ilosc_czlonkow[id]>1) menu_additem(MyMenu,"Wyrzuc Gracza","",0,aktywna);
			else menu_additem(MyMenu,"Wyrzuc Gracza","",0,nieaktywna);
			
			menu_additem(MyMenu,"Rozdaj punkty","",0,aktywna);
			menu_additem(MyMenu,"Usun Gildie","",0,aktywna);
			menu_additem(MyMenu,"Ogolnie","",0,aktywna);
		}
		case 2:{
			menu_additem(MyMenu,"Opis Gildi","",0,aktywna);
			
			if(player_lvl[id]>10) menu_additem(MyMenu,"Wplac expa","",0,aktywna);
			else menu_additem(MyMenu,"Wplac expa","",0,nieaktywna);
			
			if(player_kamien[id]) menu_additem(MyMenu,"Daj Kamienia","",0,aktywna);
			else menu_additem(MyMenu,"Daj Kamienia","",0,nieaktywna);
			
			menu_additem(MyMenu,"Odejdz z gildi","",0,aktywna);
			
			menu_additem(MyMenu,"Ogolnie","",0,aktywna);	
		}
	}
	
	
	menu_setprop(MyMenu,MPROP_EXITNAME,"Wyjscie");
	
	menu_setprop(MyMenu,MPROP_BACKNAME,"Wroc")
	menu_setprop(MyMenu,MPROP_NEXTNAME,"Nastepne")
	
	//zawsze pokaż opcję wyjścia
	menu_setprop(MyMenu,MPROP_EXIT,MEXIT_ALL);
	
	menu_setprop(MyMenu,MPROP_PERPAGE,7)
	
	//kolor cyfry przycisku zmień na żółty
	//menu_setprop(MyMenu,MPROP_NUMBER_COLOR,"r");
	
	menu_display(id, MyMenu,0);
	return PLUGIN_HANDLED;
}

public gildia_menu(id, menu, item){
if(item == MENU_EXIT){
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
switch(trybik[id]){
	case 0:{
		
		switch(item){
			case 0:{
				zrob_gildie(id)
			}
			case 1:{
				show_motd(id,"infogildia.txt")
				gildie(id)
			}
		}
	}
	case 1:{
		switch(item){
			case 0:{
				gildia_wybierz(id)
			}
			case 1:{
				wczytaj_gildia(id)
				showgildia(id)
			}
			case 2:{
				wczytaj_gildia(id)
				client_cmd(id, "messagemode wprowadz_ilosc_expa");
				ColorChat(id,GREEN,"[*%s*]^x01Twoj exp wynosi %i.",nazwa_gildi[id],player_xp[id]-1)
			}
			case 3:{
				wczytaj_gildia(id)
				client_cmd(id, "messagemode wprowadz_kamien");
				ColorChat(id,GREEN,"[*%s*]^x01Posiadasz %i kamieni",nazwa_gildi[id],player_kamien[id])
			}
			case 4:{
				odejdz_gildia(id)
			}
			case 5:{
				rozdaj_skill(id)
			}
			case 6:{
				rozwiaz_gildie_menu(id)
			}
			case 7:{
				show_motd(id,"infogildia.txt")
				gildie(id)
			}
		}
	}
	case 2:{
		switch(item){
			case 0:{
				wczytaj_gildia(id)
				showgildia(id)
			}
			case 1:{
				wczytaj_gildia(id)
				client_cmd(id, "messagemode wprowadz_ilosc_expa");
				ColorChat(id,GREEN,"[*%s*]^x01Twoj exp wynosi %i.",nazwa_gildi[id],player_xp[id]-1)
			}
			case 2:{
				wczytaj_gildia(id)
				client_cmd(id, "messagemode wprowadz_kamien");
				ColorChat(id,GREEN,"[*%s*]^x01Posiadasz %i kamieni",nazwa_gildi[id],player_kamien[id])
			}
			case 3:{
				odejdz_gildia(id)
			}
			case 4:{
				show_motd(id,"infogildia.txt")
				gildie(id)
			}
		}
	}
}
return PLUGIN_HANDLED;
}

  • +
  • -
  • 1


#638425 WinRar rozszyfrowanie

Napisane przez Qes on 14.05.2014 20:45

Kup to będziesz znał hasło ^ ^


  • +
  • -
  • -2


#636366 Lista serwerów

Napisane przez Qes on 03.05.2014 16:13

"Obowiązuje całkowity zakaz publikowania treści (pluginów/aplikacji/kodów źródłowych) modyfikujących pliki graczy (zwłaszcza katalog resource)."

Toż ja tego nie rozumiem, łamać swój własny regulamin?

Jeszcze nawet .sma nie ma.

 

Przy okazji, czemu zniknął post od G[o]Q?


  • +
  • -
  • 7