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
 

Misiaczek ;c - zdjęcie

Misiaczek ;c

Rejestracja: 23.04.2008
Aktualnie: Nieaktywny
Poza forum Ostatnio: 25.08.2019 06:01
*****

#703109 Problem w wybraniu sprzętu.

Napisane przez Misiaczek ;c w 13.06.2015 11:09

  • Superlux HD681
    • Cena: 84 zł
    • Wtyczki: 3,5 mm
    • Impedancja: 32 Ohm
    • Gigabyte GM-M6900V2
      • Cena: 79 zł
      • Rodzaj: Optyczna
      • Czułość: 3200 DPI
      • Ilość przycisków: 7
      • Interfejs: USB 2.0
    • A4 Tech Bloody R7 USB Wireless
      • Cena: 115 zł
      • Rodzaj: Optyczna
      • Czułość: 4000 DPI
      • Ilość przycisków: 8
      • Interfejs: Bezprzewodowy
    • SteelSeries Kinzu V2
      • Cena: 129 zł
      • Rodzaj: Optyczna
      • Czułość: 3200 DPI
      • Ilość przycisków: 4
      • Interfejs: USB 2.0
    • Thermaltake eSports Saphira
      • Cena: 159 zł
      • Rodzaj: Optyczna
      • Czułość: 3500 DPI
      • Ilość przycisków: 5
      • Interfejs: USB 2.0
    • Revoltec FightMouse Elite
      • Cena: 161 zł
      • Rodzaj: Laserowa
      • Czułość: 5040 DPI
      • Ilość przycisków: 9
      • Interfejs: USB 2.0
    • Modecom MC-5005
      • Cena: 35 zł
      • Typ: Standardowa
      • Interfejs: USB 2.0
    • Microsoft Comfort Curve 3000
      • Cena: 54 zł
      • Typ: Wygięta
      • Interfejs: USB 2.0
    • Razer Goliathus Small
    • Razer Goliathus Medium
    • Razer Goliathus 2013 Small
    • Razer Goliathus 2013 Medium
    • SteelSeries QcK+
    • Roccat Taito Mini Black
    • Roccat Taito Kingsize Gaming

  • +
  • -
  • 2


#702368 [FAKEMETA] Invalid entity

Napisane przez Misiaczek ;c w 03.06.2015 23:28

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#define PLUGIN "Spec Switch"
#define VERSION "0.1.3"
#define AUTHOR "many" //& MisieQ

#define MAX 32

new CsTeams:zTeam[ MAX + 1 ], zDeath[ MAX + 1 ], bool:type_spec[ MAX + 1 ] = false;
new gCvar;

new const g_szCmd[ ][ ]={ "say /spec", "say spec", "say_team /spec", "say_team spec" }
new const g_szCmd2[ ][ ]={ "say /wroc", "say wroc", "say_team /wroc", "say_team wroc" }

public plugin_init( )
{
	register_plugin( PLUGIN, VERSION, AUTHOR );
	gCvar	= register_cvar( "amx_specmode",	"0" );
	
	for( new i = 0; i < sizeof g_szCmd; i++ ){
		register_clcmd( g_szCmd[ i ], "ClCmd_Spec", ADMIN_ALL, "- idzie na specta" )
	}
	
	for( new i = 0; i < sizeof g_szCmd2; i++ ){
		register_clcmd( g_szCmd2[ i ], "ClCmd_Back", ADMIN_ALL, "- wraca do druzyny" )
	}
}

public ClCmd_Spec( id ) {
	
	switch( get_pcvar_num( gCvar )  ) {
		case 0: Spec( id );
		case 1: {
			if( get_user_flags( id ) & ADMIN_KICK  )
				Spec( id )
			else
				PrintUserNotAdmin( id )
		}			
	}
}

public ClCmd_Back( id ) {
	
	if ( type_spec[ id ] && cs_get_user_team( id ) == CS_TEAM_SPECTATOR && zTeam[ id ] != CS_TEAM_SPECTATOR )
		Back( id )
	else if( get_pcvar_num( gCvar) && !( get_user_flags( id ) & ADMIN_KICK ) )
		PrintUserNotAdmin( id )
}

public Spec( id ) {
	
	zDeath[ id ] = cs_get_user_deaths( id )
	
	if ( cs_get_user_team( id ) == CS_TEAM_SPECTATOR )
		return
	else {
		type_spec[ id ] = true
		zTeam[ id ] = cs_get_user_team( id )
		cs_set_user_team( id, CS_TEAM_SPECTATOR )
		user_silentkill( id )
		client_print( id,print_chat,"Wpisz /wroc by powrocic z specta" )
	}
	return
}

public Back( id ) {
	cs_set_user_team( id, zTeam[ id ] )
	cs_set_user_deaths( id, zDeath[ id ] )
	set_task( 0.5,"FirstRespawn",id )
	set_task( 0.8,"SecondRespawn",id )
}

public FirstRespawn( id ) {
	if( !is_user_connected( id ) )
		return
		
	cs_user_spawn( id )
}

public SecondRespawn( id ) {
	if( !is_user_connected( id ) )
		return
		
	cs_user_spawn( id )
	
	if ( cs_get_user_team( id ) == CS_TEAM_T ){
		give_item( id,"weapon_knife" )
		give_item( id,"weapon_glock18" )
		give_item( id,"ammo_9mm" )
	}
	if ( cs_get_user_team( id ) == CS_TEAM_CT ){
		give_item( id,"weapon_knife" )
		give_item( id,"weapon_usp" )
		give_item( id,"ammo_45acp" )
		give_item( id,"ammo_45acp" )
	}
}

PrintUserNotAdmin( id )  client_print( id,print_chat,"Tylko admin moze uzyc komend /spec, /wroc " )

public PrintRule( id ) {
	if ( is_user_connected( id ) && !is_user_bot( id ) && !is_user_hltv( id ) ) {
		client_print( id,print_chat,"Wpisz /spec jezeli chcesz przejsc na Specta" )
		client_print( id,print_chat,"Wpisz /wroc aby powrocic z Specta" )
	}
}

public client_disconnect( id ) type_spec[ id ] = false
public client_connect( id ) type_spec[ id ] = false


  • +
  • -
  • 1


#694926 Noclip z touchem dla bytu - mozliwe ?

Napisane przez Misiaczek ;c w 31.03.2015 07:20

#define SHOW_NAMES_WHEN_AIM
#define ENABLE_SHOTS_DAMAGE
 
#define SEMICLIP_RENDERING_RADIUS 400.0
 
// /* DON'T EDIT BELOW */
 
#include < amxmodx >
#include < engine >
#include < fakemeta >
#include < hamsandwich >
 
#pragma semicolon 1
 
#define PLUGIN "Team SemiClip"
#define AUTHORS "ConnorMcLeod"
new const VERSION[] = "0.4.0";
 
const Float:SEMICLIP_RADIUS = SEMICLIP_RENDERING_RADIUS;
 
const m_iTeam = 114;
 
const GROUP_OP_NAND = 1;
#define ENGINE_SETGROUPMASK(%0,%1)	engfunc(EngFunc_SetGroupMask, %0, %1)
 
const groupNone = 0;
 
new const CLASS_PLAYER[] = "player";
 
new g_iMaxPlayers;
#define IsPlayer(%0)	( 1 <= (%0) <= g_iMaxPlayers )
 
#define MaskEnt(%0)	( 1<<(%0 & 31) )
 
new g_bitIsPlayerInSphere;
#define MarkPlayerInSphere(%0)	g_bitIsPlayerInSphere |= MaskEnt(%0)
#define IsPlayerInSphere(%0)	( g_bitIsPlayerInSphere & MaskEnt(%0) )
 
new g_bitIsPlayerInTeam;
#define MarkPlayerInTeam(%0)	g_bitIsPlayerInTeam |= MaskEnt(%0)
#define IsPlayerInTeam(%0)	( g_bitIsPlayerInTeam & MaskEnt(%0) )
 
new g_bitIsPlayerAlive;
#define MarkPlayerAlive(%0)	g_bitIsPlayerAlive |= MaskEnt(%0)
#define IsPlayerAlive(%0)	( g_bitIsPlayerAlive & MaskEnt(%0) )
 
new g_bitBots;
#define MarkPlayerBot(%0)	g_bitBots |= MaskEnt(%0)
#define ClearPlayerBot(%0)	g_bitBots &= ~MaskEnt(%0)
#define IsUserBot(%0)		( g_bitBots & MaskEnt(%0) )
 
new g_bitSeeingPlayers;
#define MarkPlayerSee(%0)		g_bitSeeingPlayers |= MaskEnt(%0)
#define ClearPlayerSee(%0)		g_bitSeeingPlayers &= ~MaskEnt(%0)
#define IsPlayerSeeing(%0)		( g_bitSeeingPlayers & MaskEnt(%0) )
#define TogglePlayerSeeing(%0)	g_bitSeeingPlayers ^= MaskEnt(%0)
 
new g_iPlayers[32], g_iNum;
 
new g_iLastPlayerIndex;
 
new g_iFhAddToFullPackPost;
 
new bool:g_bReadPackets;
new bool:g_bClientMessages;
 
#if defined SHOW_NAMES_WHEN_AIM
	new HamHook:g_iHhPreThink, HamHook:g_iHhPreThinkPost, bool:g_bPreThinkHooked;
#endif
 
#if defined ENABLE_SHOTS_DAMAGE
	new HamHook:g_iHhPostThink, HamHook:g_iHhPostThinkPost, bool:g_bPostThinkHooked;
#endif
 
public plugin_init()
{
	register_plugin( PLUGIN, VERSION, AUTHORS );
 
	register_forward(FM_CmdStart, "OnCmdStart_P", true);
 
#if defined SHOW_NAMES_WHEN_AIM
	DisableHamForward( g_iHhPreThink = RegisterHam(Ham_Player_PreThink, CLASS_PLAYER, "OnCBasePlayer_PreThink", false) );
	DisableHamForward( g_iHhPreThinkPost = RegisterHam(Ham_Player_PreThink, CLASS_PLAYER, "OnCBasePlayer_PreThink_P", true) );
#endif
	
#if defined ENABLE_SHOTS_DAMAGE
	DisableHamForward( g_iHhPostThink = RegisterHam(Ham_Player_PostThink, CLASS_PLAYER, "OnCBasePlayer_PostThink", false) );
	DisableHamForward( g_iHhPostThinkPost = RegisterHam(Ham_Player_PostThink, CLASS_PLAYER, "OnCBasePlayer_PostThink_P", true) );
#endif
 
	RegisterHam(Ham_Spawn, CLASS_PLAYER, "OnCBasePlayer_Spawn_P", true);
	RegisterHam(Ham_Killed, CLASS_PLAYER, "OnCBasePlayer_Killed_P", true);
 
	register_forward(FM_UpdateClientData, "OnUpdateClientData_P", true);
 
	g_iMaxPlayers = get_maxplayers();
}
 
public client_putinserver(id)
{
	if( is_user_bot(id) )
	{
		MarkPlayerBot(id);
	}
	else
	{
		ClearPlayerBot(id);
	}
	MarkPlayerSee(id);
}
 
public OnCmdStart_P(id)
{
	if( !g_bReadPackets )
	{
		g_bReadPackets = true;
 
		static plr;
		get_players g_iPlayers, g_iNum, "a" ;
		for(--g_iNum; g_iNum>=0; g_iNum--)
		{
			plr = g_iPlayers[ g_iNum ];
			entity_set_int plr, EV_INT_groupinfo, get_pdata_int(plr, m_iTeam) ;
		}
		g_iLastPlayerIndex = 0;
	}
 
	if( g_iLastPlayerIndex && is_user_alive(g_iLastPlayerIndex) )
	{
		entity_set_int g_iLastPlayerIndex, EV_INT_groupinfo, get_pdata_int(g_iLastPlayerIndex, m_iTeam) ;
	}
 
	if( is_user_alive(id) )
	{
		static group;
		group = get_pdata_int(id, m_iTeam);
		entity_set_int id, EV_INT_groupinfo, group ;
		ENGINE_SETGROUPMASK(group, GROUP_OP_NAND);
		if( IsPlayerSeeing(id) )
		{
#if defined SHOW_NAMES_WHEN_AIM
			if( !g_bPreThinkHooked )
			{
				EnableHamForward g_iHhPreThink ;
				EnableHamForward g_iHhPreThinkPost ;
				g_bPreThinkHooked = true;
			}
#endif
#if defined ENABLE_SHOTS_DAMAGE
			if( !g_bPostThinkHooked )
			{
				EnableHamForward g_iHhPostThink ;
				EnableHamForward g_iHhPostThinkPost ;
				g_bPostThinkHooked = true;
			}
#endif
		}
		else // empty statement when nothing is defined ?
		{
#if defined SHOW_NAMES_WHEN_AIM
			if( g_bPreThinkHooked )
			{
				DisableHamForward g_iHhPreThink ;
				DisableHamForward g_iHhPreThinkPost ;
				g_bPreThinkHooked = false;
			}
#endif
#if defined ENABLE_SHOTS_DAMAGE
			if( g_bPostThinkHooked )
			{
				DisableHamForward g_iHhPostThink ;
				DisableHamForward g_iHhPostThinkPost ;
				g_bPostThinkHooked = false;
			}
#endif
		}
	}
	else
	{
		entity_set_int id, EV_INT_groupinfo, groupNone ;
		g_iLastPlayerIndex = id;
#if defined SHOW_NAMES_WHEN_AIM
		if( g_bPreThinkHooked )
		{
			DisableHamForward g_iHhPreThink ;
			DisableHamForward g_iHhPreThinkPost ;
			g_bPreThinkHooked = false;
		}
#endif
#if defined ENABLE_SHOTS_DAMAGE
		if( g_bPostThinkHooked )
		{
			DisableHamForward g_iHhPostThink ;
			DisableHamForward g_iHhPostThinkPost ;
			g_bPostThinkHooked = false;
		}
#endif
	}
 
	return FMRES_IGNORED;
}
 
public OnCBasePlayer_PreThink(id)
{
	entity_set_int id, EV_INT_groupinfo, groupNone ;
 
	return HAM_IGNORED;
}
 
public OnCBasePlayer_PreThink_P(id)
{
	entity_set_int id, EV_INT_groupinfo, get_pdata_int(id, m_iTeam) ;
 
	return HAM_IGNORED;
}
 
public OnCBasePlayer_PostThink(id)
{
	entity_set_int id, EV_INT_groupinfo, groupNone ;
 
	return HAM_IGNORED;
}
 
public OnCBasePlayer_PostThink_P(id)
{
	entity_set_int id, EV_INT_groupinfo, get_pdata_int(id, m_iTeam) ;
 
	return HAM_IGNORED;
}
 
public OnCBasePlayer_Spawn_P(id)
{
	if( is_user_alive(id) )
	{
		entity_set_int id, EV_INT_groupinfo, get_pdata_int(id, m_iTeam) ;
	}
 
	return HAM_IGNORED;
}
 
public OnCBasePlayer_Killed_P(id)
{
	if( !is_user_alive(id) )
	{
		entity_set_int id, EV_INT_groupinfo, groupNone ;
	}
 
	return HAM_IGNORED;
}
 
// maybe this could be moved to first UpdateClientData ??
// in any ways, SV_Physics gonna be executed with clipping players
public server_frame()
{
	g_iLastPlayerIndex = 0;
	g_bReadPackets = false;
	g_bClientMessages = false;
 
	static id;
	get_players g_iPlayers, g_iNum, "a" ;
	for(--g_iNum; g_iNum>=0; g_iNum--)
	{
		id = g_iPlayers[ g_iNum ];
		entity_set_int id, EV_INT_groupinfo, 0 ;
	}
 
	return FMRES_IGNORED;
}
 
public OnUpdateClientData_P(id, sendweapons, cd)
{
	if( IsUserBot(id) )
	{
		return FMRES_IGNORED;
	}
 
	if( !g_bClientMessages )
	{
		g_bClientMessages = true;
 
		g_bitIsPlayerAlive = 0;
		get_players g_iPlayers, g_iNum, "a" ;
		for(--g_iNum; g_iNum>=0; g_iNum--)
		{
			MarkPlayerAlive( g_iPlayers[ g_iNum ] ); // safe to cache alive players here because nobody can die/spawn during rendering
		}
	}
 
	if( IsPlayerAlive(id) )
	{
		if( IsPlayerSeeing(id) )
		{
			static player;
 
			g_bitIsPlayerInTeam = 0;
 
			get_players g_iPlayers, g_iNum, "ae", get_pdata_int(id, m_iTeam) == 1 ? "TERRORIST" : "CT" ;
 
			for(--g_iNum; g_iNum>=0; g_iNum--)
			{
				player = g_iPlayers[ g_iNum ];
				if( player != id )
				{
					MarkPlayerInTeam( player );
				}
			}
			g_iNum = find_sphere_class(id, CLASS_PLAYER, SEMICLIP_RADIUS, g_iPlayers, g_iMaxPlayers);
			
			g_bitIsPlayerInSphere = 0;
			for(--g_iNum; g_iNum>=0; g_iNum--)
			{
				player = g_iPlayers[ g_iNum ];
				if( player != id && IsPlayerInTeam( player ) )
				{
					MarkPlayerInSphere( player );
				}
			}
			if( g_bitIsPlayerInSphere )
			{
				if( !g_iFhAddToFullPackPost )
				{
					g_iFhAddToFullPackPost = register_forward(FM_AddToFullPack, "OnAddToFullPack_P", true);
				}
			}
			else if( g_iFhAddToFullPackPost )
			{
				unregister_forward FM_AddToFullPack, g_iFhAddToFullPackPost, true ;
				g_iFhAddToFullPackPost = 0;
			}
		}
		else if( g_iFhAddToFullPackPost )
		{
			unregister_forward FM_AddToFullPack, g_iFhAddToFullPackPost, true ;
			g_iFhAddToFullPackPost = 0;
		}
	}
 
	return FMRES_IGNORED;
}
 
public OnAddToFullPack_P(es, e, ent, id, hostflags, player, pSet)
{
	if( player )
	{
		if( IsPlayerAlive(ent) && IsPlayerInSphere(ent) )
		{
			set_es es, ES_Solid, SOLID_NOT ;
			set_es es, ES_RenderMode, kRenderTransAlpha ;
			set_es es, ES_RenderAmt, floatround(entity_range(id, ent) * 255.0 / SEMICLIP_RADIUS, floatround_floor) ;
		}
	}
	else
	{
		unregister_forward FM_AddToFullPack, g_iFhAddToFullPackPost, true ;
		g_iFhAddToFullPackPost = 0;
	}
}


  • +
  • -
  • 1


#694921 Ad-Block

Napisane przez Misiaczek ;c w 31.03.2015 05:35

Ad-Block ( Dawniej Ad-Block and Ban )
Wersja: 1.2.1
Wydanie Pluginu: 30 Marzec 2015
Aktualizacja Pluginu: 30 Lipca 2015
Autor: Misiaczek ;c


Opis Pluginu



Plugin za reklame w:

  • Say
  • Nick
  • Nick ( zmiana podczas gry )

obdarowywuje take osoby odpowiednią kara ( kara jest zależna od ustawień cvaru adblock_kara )

  • Kickiem z Gry
  • Banem na określny czas ( długośc bana jest zależna od ustawień cvar adblock_ban_czas )
     

Cvary Pluginu


adblock_kara "0"
adblock_ban_komenda "0"
adblock_ban_czas "0"

Objaśnienie Cvarów:

  • adblock_kara - do wyboru mamy:
    • 0 - Banowanie gracza
    • 1 - Kick Gracza
    • Standardowo ustawione jest na 0

Ważne

Cvary działają i są aktywne tylko jeśli cvar adblock_kara ma wartość 0 !

  • adblock_ban_komenda - którą komendą banujemy graczy, opcje:
    • 0 - jeśli używamy komendy

      amx_ban <time in min> <steamID or nickname or #authid or IP> <reason>
    • 1 - jeśli używamy komendy
       
      amx_ban <steamID or nickname or #authid or IP> <time in min> <reason>
    • Standardowo ustawione jest na 0.

Informacja

Najczęściej używa się opcji 0, ale sami lepiej wiecie jak banujecie graczy ;]

  • adblock_ban_czas - ustawienia czasu bana,
    • 0 - Perm
    • >0 - Czas bana w minutach
    • Standardowo ustawione jest na 0

Instalacja



Standardowa
 

Lista Zmian



1.2.1 [ 30.07.2015 ]

  • Zmiana regułki REGEX na wykrywają znaki między ip [ Przykład: 127x000x000x001x27015 ] ( Regułka autorstwa Linux' -> Post z Regułką )

1.2.0 [ 26.06.2015 ]

1.1.0 [ 1.04.2015 ]

  • Zmiana nazwy pluginu z Ad-Block and Ban na Ad-Block
  • Poprawka banowania
  • Dodanie cvara z mozliwoscia wyboru kary: ban badz kick
  • Dodanie cvarów do kary z banem odpowiedzialnych za czas bana oraz uzywaną komende do banowania
  • Zmiana w zapisie logów a mianowicie loguje typ kary która gracz otrzymał

1.0.1 [ 31.03.2015 ]

  • Poprawka powodu bana ( zły tekst był, z wersji roboczej )

1.0.0 [ 30.03.2015 ]

  • Wydanie Pluginu

Pobieranie



1.2.1 [ 30.07.2015 ]
Załączony plik  ad_block.sma   4,79 KB  382 Ilość pobrań
  ad_block.amxx

1.2.0 [ 26.06.2015 ]
Załączony plik  ad_block.sma   4,59 KB  190 Ilość pobrań
  ad_block.amxx

1.1.0 [ 1.04.2015 ]
Załączony plik  ad_block.sma   4,4 KB  288 Ilość pobrań
  ad_block.amxx

1.0.1 [ 31.03.2015 ]
Załączony plik  abb.sma   3,84 KB  198 Ilość pobrań
  abb.amxx
 
1.0.0 [ 30.03.2015 ]
Załączony plik  abb.sma   3,84 KB  235 Ilość pobrań
  abb.amxx


  • +
  • -
  • 13


#694029 Double Commander

Napisane przez Misiaczek ;c w 24.03.2015 15:40

logo.png Double Commander

 

 

Informacje

Double Commander to darmowy i zarazem rozbudowany menedżer plików, będący doskonałym zamiennikiem dla systemowego Eksploratora Windows, a także alternatywą dla najpopularniejszego obecnie programu Total Commander.

 

Opis

Program posiada przyjazny i czytelny interfejs użytkownika, składający się z dwóch identycznych paneli za pomocą których możemy wykonywać niemal wszystkie najważniejsze operacje na plikach i folderach. Ponadto znajdziemy w nim paski narzędzi umożliwiające między innymi przełączanie się pomiędzy poszczególnymi partycjami i napędami optycznymi, wyszukiwanie plików, rozpakowywanie / archiwizowanie danych (ZIP, TAR, BZ2, GZ, TGZ, TBZ) oraz uruchamianie zdalnego terminala z poziomu systemu operacyjnego.

Warto dodać, że Double Commander obsługuje skróty klawiszowe, kodowanie Unicode oraz wtyczki Total Commandera, a także posiada wbudowany edytor tekstu i moduł do obliczania sum kontrolnych. Oprócz tego został wyposażony w zaawansowanego klienta FTP, menedżera połączeń sieciowych oraz przeglądarkę plików tekstowych, binarnych i heksowych.

Double Commander to nie tylko menedżer plików, ale również prosty kreator do tworzenia skrótów i odnośników oraz narzędzie porównujące zawartość dwóch plików lub katalogów. Aplikacja oferuje też możliwość łączenia i dzielenia plików na fragmenty, otwieranie katalogów w osobnych zakładkach oraz wykonywanie innych, nie mniej złożonych operacji na plikach. Menedżer posiada wszystkie najważniejsze funkcje, które są niezbędne przy kopiowaniu, przenoszeniu, edytowaniu, a także usuwaniu całych zawartości danych znajdujących się na dysku twardym lub w innym urządzeniu przenośnym USB.

 

 

Windows.pngLinux.pngMacOsX.pngFreeBSD.png

 

 

Wersje

0.6.1 - Beta - [ Wydania Officialne ]

http://sourceforge.n.../wiki/Download/

0.7.0 = Alpha - SVN:22/03/15 [ Wydania AMXX.pl ]

Dodam potem :)

 

 


  • +
  • -
  • 1


#660418 [ROZWIĄZANE] Podmiana ikonek z plików 640hud*.spr - z poziomu pluginu!

Napisane przez Misiaczek ;c w 27.08.2014 07:52

https://forums.allie...ad.php?t=175632


  • +
  • -
  • 1


#647538 Czysty zapis sql

Napisane przez Misiaczek ;c w 04.07.2014 13:47

jak plugin ma byc na serwery only steam to polecam uzyc: http://amxx.pl/topic...4-database-orm/
 
jak nie to możesz coś z tego wykombinować:

#include < amxmodx >
#include < sqlx >

new sqlConfig[ ][ ] = {
	"127.0.0.1",
	"root",
	"password",
	"database"
}

enum playerData {
	SteamID[ 33 ],
	IP[ 16 ],
	Nick[ 64 ],
	HS
};

new Handle: gSqlTuple;
new gPlayer[ 33 ][ playerData ];

public SqlInit( ) {
	gSqlTuple = SQL_MakeDbTuple( sqlConfig[ 0 ], sqlConfig[ 1 ], sqlConfig[ 2 ], sqlConfig[ 3 ] );
	
	if( gSqlTuple == Empty_Handle )
		set_fail_state( "Nie mozna utworzyc uchwytu do polaczenia" );
	
	new iErr, szError[ 32 ];
	new Handle:link = SQL_Connect( gSqlTuple, iErr, szError, 31 );
	
	if( link == Empty_Handle ) {
		log_amx( "Error (%d): %s", iErr, szError );
		set_fail_state( "Brak polaczenia z baza danych" );
	}
	
	new Handle: query;
	query = SQL_PrepareQuery( link, "CREATE TABLE IF NOT EXISTS `players_hs` (\
		`id` int(11) NOT NULL AUTO_INCREMENT,\
		`steamid` varchar(33) NOT NULL,\
		`nick` varchar(64) NOT NULL,\
		`ip` varchar(16) NOT NULL,\
		`hs` int(16) NOT NULL,\
		PRIMARY KEY (`id`),\
		UNIQUE KEY `authid` (`nick`)\
	)" );
	
	SQL_Execute( query );
	SQL_FreeHandle( query );
	SQL_FreeHandle( link );
}

public Query( failstate, Handle:query, error[ ] ) {
	if( failstate != TQUERY_SUCCESS ) {
		log_amx( "SQL query error: %s", error );
		return;
	}
}

public plugin_init() {
	register_plugin( "Zapis HS", "1.0", "AMXX.pl" );
	register_event( "DeathMsg", "eventDeathMsg", "ae" );
	
	set_task( 0.1, "SqlInit" );
}

public eventDeathMsg( ) {
	if( read_data( 3 ) ) {
		gPlayer[ read_data( 1 ) ][ HS ]++;
	}	
}

public client_connect( id ) {
	gPlayer[ id ][ HS ] = 0;	
	get_user_authid( id, gPlayer[ id ][ SteamID ], 32 );
	get_user_ip( id, gPlayer[ id ][ IP ], 15, 1 );
	get_user_name( id, gPlayer[ id ][ Nick ], 63 );	
	SQL_PrepareString( gPlayer[ id ][ Nick ], gPlayer[ id ][ Nick ], 63 );
}

public client_disconnect( id ) {
	save( id );	
	gPlayer[ id ][ HS ] = 0;
}

stock SQL_PrepareString( const szQuery[], szOutPut[], size ) {
	copy( szOutPut, size, szQuery );
	replace_all( szOutPut, size, "'", "\'" );
	replace_all( szOutPut, size, "`", "\`" );    
	replace_all( szOutPut, size, "\\", "\\\\" );
	replace_all( szOutPut, size, "^0", "\0");
	replace_all( szOutPut, size, "^n", "\n");
	replace_all( szOutPut, size, "^r", "\r");
	replace_all( szOutPut, size, "^x1a", "\Z");	
}

stock save( id ) {
	new query[ 1024 ]	
	formatex( query, charsmax( query ), "INSERT IGNORE INTO `players_hs` ( `steamid`, `nick`, `ip`, `hs`) VALUES ( '%s', '%s', '%s', %d ) ON DUPLICATE KEY UPDATE `hs` = `hs` + %d", 
	gPlayer[ id ][ SteamID ], gPlayer[ id ][ Nick ], gPlayer[ id ][ IP ], gPlayer[ id ][ HS ] );
	
	if( gSqlTuple )
		SQL_ThreadQuery (gSqlTuple, "Query", query );
}

  • +
  • -
  • 1


#647534 SourceMod 1.6.0

Napisane przez Misiaczek ;c w 04.07.2014 13:32

Oryginalna wiadomość

We are pleased to announce that SourceMod 1.6.0 has been officially released.

This is a major update with a large number of under-the-hood improvements, as well as new features and bug fixes.

Highlights for Server Admins:
    New Game Support - SourceMod, including base plugins, now supports Dota 2, Source SDK 2013 mods, Insurgency, Contagion, and Blade Symphony.
    Updated gamedata and binary support for many games and mods.
    Added support to create custom ban reasons for the basebans plugin (thanks Matthias "Dr. Greg House" Kollek).
    Many stability fixes.
    Better performance.

Highlights for Developers:
    Added an API for off-thread SQL transactions.
    Added support for string literal concatenation (with new "..." operator) (thanks Peace-Maker).
    Adjusted the OnClientSayCommand forwards to be more developer-friendly (thanks SystematicMania).
    Too much to name here. For overview of all sourcepawn and SM extension API changes and additions, please see the SourceMod 1.6.0 API Changes wiki article

 Lista zmian

User Changes
    Added support for Dota 2 (bug 5656, bug 6068).
    Added support for Source SDK 2013 mods (bug 5917).
    Added support for Insurgency (bug 5951).
    Added support for Contagion (bug 6007).
    Added support for Blade Symphony (bug 5949).
    Updated support for some mods that moved to SDK 2013*No More Room In Hell, Fistful of Frags, Empires, Synergy.
    Updated gamedata and other support for TF2, DoD:S, HL2:DM, CS:S, CS:GO, Left 4 Dead, and Nuclear Dawn.
    Added support for customizing ban reasons in basebans.sp (bug 5762) (Matthias "House" Kollek).
    Added support for searching all gameinfo search paths when seeking mapcycle file (bug 5839).
    Added sm_reload_translations command (bug 5750).
    Added support for single-file gamedata custom overrides (bug 5386) (Ondrej "Ravu al Hemio" Hošek).
    Re-enabled SteamAuthstringValidation config option by default (bug 5791, PR 20).
    Fixed plugins not reaching ext dep lists, making dependent plugin not unload on ext unload (bug 5851) (Peace-Maker).
    Added printing of SendProp flags to netprop dumps (bug 6082).
    Removed support for obsolete plugin_settings.cfg (bug 5605).
    Fixed topmenu sorting not getting refreshed after reloading sorting config (bug 6032) (Peace-Maker).
    Fixed error log filename date sometimes being incorrect (bug 5761) (Matheus "M28" Valadares).
    Dump handle information when a plugin is forcefully unloaded. (bug 5666).
    Fixed sm_cancelvote not resetting rtv state. (bug 5808) (Peace-Maker).
    Fixed Mapchooser dying on single map rotation servers (bug 5179).
    Fixed various problems with unloading ClientPrefs and SourceMod (bug 5874).
    Fixed "sm version" command reporting incorrect compile time in many cases (bug 6078) (SystematicMania).
    Clear default database driver reference if backing extension is unloaded (bug 5934) (Peace-Maker).
    Moved funcommands material and sound definitions to gamedata for easier cross-game support (bug 6085).
    Implement a watchdog timer for scripts that take too long to execute (bug 5837).
    Use Linux game data for offsets and signatures/symbols on OS X if Mac-specific data is not available (bug 6056).

Developer Changes
    Added an API for off-thread SQL transactions. (bug 3775, PR 26).
    Added string literal concatenation using ellipses "..." (bug 4261, PR 5) (Peace-Maker).
    Added support for nested datatables. (bug 5446).
    Added PbRemoveRepeatedFieldValue native (bug 6066).
    Added support for getting/setting protobuf enum values with PbGetInt, PbSetInt, and PbAddInt natives.
    Removed deprecated PbReadRepeated natives that existed briefly in 1.5.0-dev prerelease versions.
    Added RequestFrame native for one-off next-frame actions (bug 5965).
    Added CS_DMG_HEADSHOT define for CS:S and CS:GO (PR 7) (Bara20).
    Added CS_SLOT_KNIFE define for CS:S and CS:GO (bug 6131).
    Updated TF_WEAPON enum (PR 37) (FlaminSarge).
    Added TFHoliday_AprilFools to TFHoliday enum (bug 6092) (Ross "Powerlord" Bemrose).
    Added new TF2_IsHolidayActive native to TF2 Ext (bug 6095) (Ross "Powerlord" Bemrose).
    Switch TF2 extension to hook CTFGameRules::IsHolidayActive for holiday forward (bug 6137, PR 42).
    Added GetPlayerJingleFile native. (bug 5690) (FlaminSarge).
    Added PrepSDKCall_SetAddress and Address support to PrepSDKCall_SetFromConf (bug 5261).
    Added ability to disable TopMenu Title Caching (bug 6034) (Peace-Maker).
    Added DisplayTopMenuCategory native (bug 6033) (Peace-Maker).
    Added support for Valve search paths to GetFileSize native (bug 5931).
    Fixed invalid entities sometimes passed to OnEntityCreated and OnEntityDestroyed (bug 6119).
    Fixed inconsistencies with OnClientDisconnected foward calls (bug 5988, PR 16).
    Changed OnClientSayCommand to now pass non-silent chat triggers onward (bug 5926) (SystematicMania).
    Changed OnClientSayCommand forwards to strip quotes from chat (bug 5986) (SystematicMania).
    Fixed FindStringIndex native not returning INVALID_STRING_INDEX when string not found (bug 6144, PR 40).
    Fixed GroundEntChanged hooks not being called (bug 6050) (Peace-Maker).
    Fixed INetChannelInfo natives to no longer require clients to be ingame (bug 5775) (SystematicMania).
    Fixed replace param being respected inconsistently in SetTrieArray (bug 6113).
    Fixed crash creating a timer when there are no handles available. (bug 5317) (Peace-Maker).
    Fixed crash in ReconnectClient and InactivateClient natives when IServer ptr is null (bug 6122).
    Fixed StoreFromAddress and LoadFromAddress continuing with bad values, usually crashing after error (bug 6080).
    Fixed compiler bug with multidimensional array variable release (bug 6100).
    Changed float comparison operators to return false for NaN (bug 6107).
    Added support in spcomp for sp/inc files > 32767 lines (bug 5959).
    Fixed FindFlagChar returning '?' for Admin_Custom6.
    Fixed AllPluginsLoaded activities happening before SM is loaded.
    Deduplicated a number of files used by extensions by moving them to the public directory (bug 5341).
    Removed 'state' keyword from compiler (bug 4572) (Ryan "VoiDeD" Stecker).
    Removed LogMessageEx definition from logging.inc because it never existed (bug 5897) (Peace-Maker).
    Removed native override API (bug 5852).
    Call OnLibraryAdded for all available libraries (bug 5925, PR 4).
    Made IGameConfig::GetMemSig return value clearer (bug 6081).
    Switched StringToInt(Ex) from using strtol to strtoul internally (bug 5939).
    Added an spcomp option to print #included files (bug 5997).
    Recompiled Regex extension libpcre against v8.32, enabling utf8, unicode props, and jit (bug 5593).
    Optimized native calls if statically bound (bug 5842).

Internal Changes
    Now using new AlliedModders Template Library (AMTL) in many places, https://github.com/alliedmodders/amtl
    Ported buildscripts to new AMBuild2 platform, https://github.com/alliedmodders/ambuild
    Moved much logic from core to logic binary to reduce file sizes and compile times (bug 5606, bug 5607, bug 5680, bug 5953, PR 12, PR 13).
    Refactored the JIT to use a newer, simpler macro assembler. (bug 5827).
    Added sourcepawn interpreter (bug 5902).
    Added support for compiling spcomp with emscripten.
    Rewrite IThreader implementation around new synchronization primitives (bug 5862).
    Rewrite DBManager to use the new synchronization primitives (bug 5870).
    Overhauled internals of ClientPrefs extension for improved stability (bug 5538).
    Changed ShareSys to store C++ native lists more optimally (bug 5852).
    Simplified NativeEntry state (bug 5852).
    Changed NativeEntry to use Refcounted to manage (bug 5852).
    Switched Translator and GameConfigs to hash tables (bug 5878).
    Switched numerous subsystems from KTrie to AMTL NameHashSet (bug 5884).
    Refactored Trie natives to use AMTL HashMap instead of KTrie (bug 5892).
    Removed usages of memtables from many subsystems (bug 5899).
    Changed EventHook name storage to use AMTL AString (bug 6188).
    Replaced SH List usages in game extensions with AMTL variants (PR 23).
    Replaced SourceHook list usages in clientprefs with AMTL (PR 25).
    Changed floating-point operations to use SSE when available (bug 5841).
    Moved tracker related opcodes entirely to C++.
    Statically align the stack at function boundaries (bug 5842).
    Removed InfoVars, reassigned DAT from EBP to ESI to preserve C++ stacktraces in JIT code (bug 5844).
    Fixed dereferencing potential null pointer in CPlugin::GetProperty (bug 5725).
    Fixed memory corruption when parsing natives. (bug 5840).
    Fixed some memory errors (bug 5904).
    Fixed unaligned memory access in spcomp.
    Move versioning to a static library to improve trivial build speed (bug 5997).
    Added many missing handle security checks (bug 5595).
    Made GetEntityClassname get and cache m_iClassname offset from worldspawn for ents not having it in datadesc (bug 5654).
    Cache m_iEFlags offset for datamaps dump instead of getting for each ent (bug 5657).
    Fixed mismatched delete [] on thunks in JIT CompData dtor (bug 5639).
    Fixed various memory issues. (bug 5766).
    Added reference counting and use it for CGameConfig and IDatabase (bug 5876).
    Added atomic reference counting and port DBI (bug 5876).
    Replaced usages of deprecated Sourcehook Add/Remove macros (bug 5631).
    Fixed SDKHooks hook ent validation missing first datatable name (bug 5881).
    Fixed case where bots leave server without disconnect notice (hibernation) (PR 20).
    Changed FindConVar to utilize convar cache for improved performance (PR 27) (VoiDeD).
    Gave define value (of 1) to PLATFORM defs to match the same-name defs in some SDKs (PR 10).
    Wrapped ClientPrintf into IGamePlayer (bug 6021).
    Consolidated FileExists usage in logic bin (bug 5931).
    Removed hardcoded paths to tier0/vstdlib in ICommandLine lookup.
    Use updated IServerTools iface on TF2 for getting tempent list and FindEntityByClassname (PR 33).
    Added early exit in entity output detour if entity has no classname to prevent crash.
    Updated SDKTools entity output functions to use core's GetEntityClassname instead of own (PR 39).
    Consolidated SDKTools entity factory lookups.
    Changed SDKTools PlayerRunCmd to a global vtable hook to improve performance (bug 6051).
    Changed SDKHooks to use global vtable hooks to improve performance (bug 6070).
    Added client validation checks to EmitSound SoundsHooks (bug 5873).
    Added missing meta results to some pre-hooks in SDKHooks.
    Replaced magic numbers for sm_show_activity with named constants (PR 14).

Załączony plik  sourcemod-1.6.0-linux.tar.gz   11,63 MB  308 Ilość pobrań

 

Załączony plik  sourcemod-1.6.0-mac.zip   9,87 MB  184 Ilość pobrań

 

Załączony plik  sourcemod-1.6.0-windows.zip   13,01 MB  309 Ilość pobrań


  • +
  • -
  • 5


#647429 zapis HS do mysql.

Napisane przez Misiaczek ;c w 04.07.2014 00:06

Zwykły zapis SQL

Spoiler

 

Zapis przy użyciu http://amxx.pl/topic...4-database-orm/

Spoiler

  • +
  • -
  • 3


#646513 Database ORM

Napisane przez Misiaczek ;c w 30.06.2014 14:49

Database ORM
Wersja: 1.0.1b
Wydana: 27 Czerwiec 2014

Autor: Backstabnoob
 

Opis



 
Database ORM jest kompleksowym API przystosowany do obsługi rożnych pluginów w których chcemy zaimplementować zapis/odczyt danych z MySQL. API zostało stworzone z myślą o serwerach które są bardzo mocno obciążone przez zapytania do baz oraz o osobach które chciały by dodać zapis MySQL do pluginu lecz nie potrafią, dzięki API możemy w łatwi sposób ograniczyć ilość zapytań/połączeń oraz ogólnie zwiększyć wydajność MySQL. Do używania API zalecana jest średnia znajomość AMXX, ponieważ w przypadku złego zastosowania może to odnieś skutek odwrotny od zamierzonego
 
UWAGA: Należy pamiętać, że jest to wersja beta i prawdopodobnie zawiera kilka błędów. Przetestowałem to jak tylko mogłem sam, ale to jest trochę trudne bez symulacji w czasie rzeczywistym. Tak więc prosił bym osoby które tego używają na swoich serwera o zgłaszanie błędów itp.
 

Możliwości



 
System ten może być przydatny w wielu aspektach, ale są pewne rzeczy w których lepiej go nie wykorzystywać.
 
Możemy go wykorzystać do:

  • Zapis Exp
  • Statystyki Graczy
  • Banki
  • Statystyki Serwera
  • Itp.

Nie zalecam używać go do:

  • Proste rzeczy które mogą być zastąpione przez prosty config bądź też cvar.

Upraszczając: Używaj przy API zdrowego rozsądku, aby nie przesadzić :P
 

Wymagania



 
AMXX 1.8.3 ( do testów została użyta wersja git3921 ), na wersji 1.8.2 i niższej występują błędy.

Serwer Steam :)
 

Instalacja oraz Konfiguracja



 
Instalacja
Pobierz plik database_orm.sma  po czym go skompiluj i wrzuć do folderu plugins.
Pobierz plik orm_config.ini po czym wrzuć go do folderu configs i uzupełnij poprawnie.
 
Konfiguracja


orm_hostname

Adres serwera bazy danych

orm_username

Użytkownik bazy danych

orm_password

Hasło użytkownika bazy danych

orm_database

Nazwa bazy danych

orm_saveperiod

Co ile ma być dokonywany zapis danych ( czas podajemy w sekundach ( domyślnie 1200.0 ( 20 minut ) )
Jeśli mamy serwer gdzie ciągle leci ta sama mapa 24/7/365 zostawiamy wartość tak jak jest bądź zwiększamy, jeśli mamy serwer normalny gdzie mapy zmieniają się co 20-30 min ustawiamy wartość na 0

orm_preparedquery

Opcje zapisu danych

  • a - Kazdy gracz osobno ( przy wyjściu z serwera )
  • b - Wszyscy na raz ( jest cvar orm_saveperiod jest różny od 0 )
  • c - Statyczny ( przy jakiekolwiek zmianie w trakcie gry, działa podobnie do b i ma te same wymagania )
  • d - W trakcie zmian ( zawsze kiedys cos usuniemy przez CSRP_Delete{ Player/Static }ClassItem( ) )
  • e - Koniec Mapy ( Kiedy mapa jest zmieniana wszystko zostaje zapisane )
  • f - Nuke ( gdy wystapi błąd w natywie CSRP_Nuke{ Player/Static }Class( ) )
orm_showsavemsg

Pokazuje wiadomośc o zapisanie danych, aktywne tylko gdy orm_saveperiod jest różny od 0

Podziękowania



 
Hawk552 - Pomysłodawca, pomoc z wieloma rzeczami, wspieranie
Black Rose - Dyskusja, pomysły, ogólna pomoc gdy była potrzebna, wsparcie
 

Lista Zmian


  • 1.0.0
    • Pierwsze Wydanie
    • Data: 25 Czerwiec 2014
  • 1.0.1b

Pobierz



 
Include
Załączony plik  database_orm.inc   11,02 KB  179 Ilość pobrań

SMA
Załączony plik  database_orm.sma   64,19 KB  218 Ilość pobrań
  database_orm.amxx
Konfiguracja
Załączony plik  orm_config.ini   350 bajtów  171 Ilość pobrań

 
 
Źródło: https://forums.allie...ad.php?t=242833


  • +
  • -
  • 1


#645865 Reputacja(i Posty) oraz Moderatorzy

Napisane przez Misiaczek ;c w 27.06.2014 10:47

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Autor tematu zbanowany

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 4


#639525 Battlefield 2 : Rank Mod PL v1.3.1

Napisane przez Misiaczek ;c w 20.05.2014 15:56

 

Gdzie zmienić ten:

bf2_hudtype 

jesto to w wersji 1.3.2 ale nie ma kto tego testowac ;/


  • +
  • -
  • 1


#637149 [STOCK] Give Item w Engine

Napisane przez Misiaczek ;c w 07.05.2014 19:12

Działa na tej samej zasadzie co fm_give_item (Fakemeta) oraz give_item (Fun)

GiveNamedItem( id, const pszName[ ] ) {
    new iEnt = create_entity( pszName );
    if( !iEnt ) {
        log_amx( "NULL Ent in GiveNamedItem!" );
        return;
    }

    new Float:fVecOrigin[ 3 ];
    entity_get_vector( id, EV_VEC_origin, fVecOrigin );
    entity_set_vector( iEnt, EV_VEC_origin, fVecOrigin );
    entity_set_int( iEnt, EV_INT_spawnflags, entity_get_int( iEnt, EV_INT_spawnflags ) | SF_NORESPAWN );

    DispatchSpawn( iEnt );
    fake_touch( iEnt, id );
}

 
Przykład:

#include <amxmodx>
#include <engine>
#include <hamsandwich>

public plugin_init() {
	RegisterHam( Ham_Spawn, "player", "Ham_Spawn_Post", 1 );
}

public Ham_Spawn_Post( id ) {
	if ( !is_user_alive( id ) )
		return HAM_IGNORED;
	
	if( get_user_flags( id ) & ADMIN_LEVEL_H )
		GiveNamedItem( id, "weapon_awp" );
	else
		GiveNamedItem( id, "weapon_scout" );
	
	return HAM_IGNORED;
}

GiveNamedItem( id, const pszName[ ] ) {
	new iEnt = create_entity( pszName );
	if( !iEnt ) {
		log_amx( "NULL Ent in GiveNamedItem!" );
		return;
	}
	
	new Float:fVecOrigin[ 3 ];
	entity_get_vector( id, EV_VEC_origin, fVecOrigin );
	entity_set_vector( iEnt, EV_VEC_origin, fVecOrigin );
	entity_set_int( iEnt, EV_INT_spawnflags, entity_get_int( iEnt, EV_INT_spawnflags ) | SF_NORESPAWN );
	
	DispatchSpawn( iEnt );
	fake_touch( iEnt, id );
}

  • +
  • -
  • 5


#636992 Ktora wtyczka odpowiada za upload zdjec (Firefox 28, win 8 64bit)

Napisane przez Misiaczek ;c w 06.05.2014 19:44

zobacz co debuger z firefoxa krzyczy, moze nie umie czegoś załądowac?


  • +
  • -
  • 2


#636985 Ktora wtyczka odpowiada za upload zdjec (Firefox 28, win 8 64bit)

Napisane przez Misiaczek ;c w 06.05.2014 19:14

po zainstalowaniu tego co dal pikalak problem nadal jest.
Sprawdze jeszcze @up

prosze o pomysly.
Moge podac link do tego serwisu ogloszen ale nie wiem czy moge (wole nie ryzykowac 5 warnem). Prosze admina/moda o wypowiedz w tej sprawie

daj, przyjme warna na siebie jak cos. jest to potrzebne do rozwiazania problemu


  • +
  • -
  • 2