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.
|
Yukoo
Rejestracja: 16.01.2012Aktualnie: Nieaktywny
Poza forum Ostatnio: 05.01.2013 12:48





Statystyki
- Grupa: Użytkownik
- Całość postów: 8
- Odwiedzin: 1 650
- Tytuł: Nowy
- Wiek: Wiek nie został ustalony
- Urodziny: Data urodzin nie została podana
-
Imię
Bartek
-
Płeć
Mężczyzna
-
Lokalizacja
Wejherowo
Kontakt
Narzędzia użytkownika
Znajomi
Yukoo nie posiada znajomych
Ostatnio byli
#351235 [ROZWIĄZANE] Zmienienie nazwy , broni i flagi klasy
Napisane przez Klakier
w 18.01.2012 23:05
#111562 Dproto [0.9.187] - Instalacja i konfiguracja (NonSteam + Steam)
Napisane przez mgr inż. Pavulon
w 12.02.2010 22:51
dproto jest pluginem metamod umożliwiającym granie na jednym serwerze graczom posiadającym Steam oraz Non Steam (protokół 48 i 47).
[error=Uwaga!]Nowa wersja dproto NIE BĘDZIE działała na nowej wersji HLDS!
Autor zapowiedział, że wersję pod nowe HLDS wyda dopiero, gdy Valve zaprzestanie aktualizacji dla GoldSource.[/error]
Instalacja dproto:
Instalacja przebiega standardowo jak dla pluginów metamod czyli:
- Pobieramy i rozpakowujemy paczkę z pluginem:
dproto_187.zip 168,59 KB 10776 Ilość pobrań
[warn=Portek]Żeby DPROTO 0.8.65+ działało poprawnie należy zaktualizować plik dproto.cfg![/warn]
dproto_179.zip 175,9 KB 6244 Ilość pobrań
dproto_0_9_87.rar 149,77 KB 13237 Ilość pobrań
dproto_0_9_86.rar 144,6 KB 1023 Ilość pobrań
dproto_0_8_72.rar 138,69 KB 936 Ilość pobrań
dproto_0_8_68.rar 137,08 KB 860 Ilość pobrań
dproto_0_8_65.rar 128,43 KB 680 Ilość pobrań
dproto_0_8_61.rar 132,02 KB 650 Ilość pobrań
dproto_0_4_8p.rar 132,46 KB 847 Ilość pobrań
dproto_0_3_7.rar 117,65 KB 1050 Ilość pobrań
- W katalogu cstrike/addons/ tworzymy folder i nazywamy go dproto
- kopiujemy do niego plik dproto.dll (w przypadku serwera windows) lub dproto_i386.so (w przypadku serwera linux). [pliki te w paczce znajdują się w katalogu bin/]
- edytujemy plik plugins.ini metamod'a (zwykle cstrike/addons/metamod/plugins.ini) i dodajemy w nim na początku linijkę:
win32 addons\dproto\dproto.dll
(dla serwera windows)
lublinux addons/dproto/dproto_i386.so
(dla serwera linux) - kopiujemy plik dproto.cfg do głównego katalogu lub katalogu gry (cstrike/)
- uruchamiany serwer dodając do linii strartowej -binary ./hlds_i686
Jeżeli po wpisaniu w konsoli komendy meta list otrzymamy coś podobnego do:
To znaczy że instalacja przebiegła pomyślnie.Currently loaded plugins:
description stat pend file vers src load unlod
[ 1] dproto RUN - dproto_i386.so v0.9.179 ini Start Never
[ 2] AMX Mod X RUN - amxmodx_mm_i386. v1.8.1.3 ini Start ANY
2 plugins, 2 running
Od wersji 0.4.5 dproto została zaimplementowana poprawka dzięki której xds_opt nie jest już potrzebne
Instalacja xds_opt:
- Instalacja przebiega standardowo jak dla pluginów metamod czyli:
- Pobieramy:
dla serwerów windows:xds_opt_windows.rar 83,83 KB 1686 Ilość pobrań
dla serwerów linux:xds_opt_linux.rar 41,5 KB 2046 Ilość pobrań
- W katalogu cstrike/addons/ tworzymy folder i nazywamy go xdsopt a następnie rozpakowujemy do niego paczkę z pluginem
- edytujemy plik plugins.ini metamod'a (zwykle cstrike/addons/metamod/plugins.ini) i dodajemy w nim linijkę:
win32 addons\xdsopt\xds_opt.dll
(dla serwera windows)
lublinux addons/xdsopt/xds_opt.so
(dla serwera linux) - uruchamiany ponownie serwer.
Jeżeli po wpisaniu w konsoli komendy meta list znajdujemy:
To znaczy że instalacja przebiegła pomyślnie.[ 3] xdsopt RUN - xds_opt.so v0.1 ini Start Never
Choć dla serwerów Windows wymagane są tylko linijki z prefix'em win32 a serwerów Linux z prefixem linuxwin32 addons\dproto\dproto.dll
linux addons/dproto/dproto_i386.so
win32 addons\amxmodx\dlls\amxmodx_mm.dll
linux addons/amxmodx/dlls/amxmodx_mm_i386.so
win32 addons\xdsopt\xds_opt.dll
linux addons/xdsopt/xds_opt.so

Changelog:
0.9.187:
- Dodano patch na exploit FVU
- naprawiono błąd "STEAM userid keysize is bogus" dla klientów SteamEmuclients
- naprawiono error "Invalid challenge format" wyślietkalny klientowi przy łączeniu się z serwerem
- Naprawiono kilka błędów
- Usunięte opcje subserwera i "master-client" - opcje te nie są więcej potrzebne
- "Added challenge checking code to "rules" and "players list" requests handlers" - tłumaczenie wydaje się bezsensowne, więc nie tłumaczę
0.9.87
- Poprawiono generowanie steamid dla Steamclient'a 2009
- Naprawiono: Status VAC zawsze "chroniony" na serwerach Windows
- Przeniesiono wszystkie opcje wykrywacza fałszywych graczy do dproto.cfg
- Uaktualniono przykładowe pluginy amxx
- Dodano drobną poprawkę dla luki w zabezpieczeniach fragmentu parsera netchan
- Poprawione wykrywanie fałszywych klientów (od argentyńskich hakierów)
- Ulepszono i poprawiono kod odpowiedzialny za detekcję floodowania pakietami i wykrywanie fałszywych klientów
- Aktualizacja pluginów - AMXX API
- Poprawa bugu z cid_AVSMP, wcześniej cały czas miało wartość 1
- Dodano pomocne komendy do monitorowania zagrożeń, więcej w pliku Readme.txt
- poprawka wielu błędów
- dodane wsparcie dla klientów AVSMP (Scrackowany Steam)
- poprawka dla losowych svc_bad przy połączeniu
- poprawione wykrywanie botów
- poprawiony problem z bibliotekami AMD
- poprawiony hybrydowy tryb wyświetlania (Ulibione)
- boty nie będą już wyrzucane, ani banowane
- poprawiono bug który wyrzucał serwer gdy ten pracował z banami DB (?) (banid)
- poprawka względem nowego kodu revEmu
- projekt przeniesiony do nowego systemu oznaczeń, obecny format: MAJOR.MINOR.REVISION
- dodano support poprzednich wersji biblitek
- dodano support dla revEmu/SteamClient2009
- dodany został parametr konfiguracyjny umożliwiający ustawienie pierwszego prefiksu dla klientów z emulowanym SteamID, np. gracze z revEmu mogą być identyfikowani jako STEAM_4_0_xx
- dodano drugi poziom ochrony przed wszystkimi rodzajami fałszywych klientów (expliot?)
- dodano ochronę przed floodowaniem serwera zapytaniami bez połączenia z serwerem (PlayerList, ServerInfo, Rules)
- dodano opcje "HLTVExcept_IP", umożliwiającą ustawienie z jakiego IP hltv może się łączyć z serwerem (działa z cid_HLTV = 5). Przydatne jeśli używasz pluginu HLTVReport, ale nie chcesz aby inne HLTV łączyło się z serwerem.
- Kod źródłowy nie będzie więcej dostępny publicznie
- (nietestowane) "VAC Problem" - umożliwiający grę graczom zbanowanym na VAC
- naprawiono błąd przepełnienia bufora w SV_ParseCvarValue2()
- naprawiono błąd powodujące crashe na serwerach linux'owych w przypadku gdy serwer uruchamiał użytkownik bez uprawnień do zapisu w katalogu root
- naprawiono problem powodujący wyrzucenie graczy z błędem "Unknown HLTV Type"
- poprawka w kodzie anti-svc_bad
- - Poprawka "Server failed to transmit file AY&SY" - pewien rodzaj sys_bad
- - Poprawiono GameNameChanger pod windows
- - Support UTF8 Chat/Nick usunięty
- - Poprawka związana z wyrzucaniem graczy z starszym patchem aniżeli 21
- - Naprawiono "NET_SendPacket"
- - Istnieje wiele zmian w dproto.cfg. Nowe dproto i stary config nie będzie działać!
- - Dproto obsługuje wszystkie istniejące (i miejmy nadzieję w przyszłości) v48 silników dla systemów Windows i Linux (w tym engine_amd.so/engine_i486.so).
- - Naprawione usterki w SV_ParseVoiceData () wykorzystywanej przez expliot hlds_vcrash.
W wersji 0.4.1 pojawił się tymczasowy fix exploit'a hlds_vcrash.
Aby z niego skorzystać należy pobrać:

I podmienić pliki.
W przypadku windows'a jest to swds.dll, natomiast dla linux'a należy podmienić plik engine_i686.so
Konfiguracja dproto:
Konfiguracja polega na edycji pliku dproto.cfg znajdującego się w katalogu cstrike.
(Podane wartości są wartościami standardowymi)
Sposób zapisu działań:LoggingMode = 2
1 = Konsola
2 = Pliki Log
3 = Obie metody
Sposób weryfikacji danych Userinfo:UserinfoVerification = 3
1 = Sprawdza maksymalny rozmiar podczas łączenia się (Wykorzystuje wartość MaxUserInfoSize)
2 = Usuwa nieużywane pola userinfo (Wykorzystuje wartości ValidInfoFields)
3 = Obie metody
Sprawdzanie jest wymagane i ma na celu ograniczenie przepełnień bufora i błędów svc_bad.
Aby zapewnić działanie ustawienia języka u graczy należy do ValidInfoFields_Engine dodać \langMaxUserInfoSize = 230
ValidInfoFields_Engine = \name\bottomcolor\topcolor\model\cl_lc\cl_lw\cl_updaterate\cl_dlmax\rate\_pw\*hltv\password
ValidInfoFields_cstrike = \_vgui_menus\_cl_autowepswitch
ValidInfoFields_ag = \cl_autowepswitch
Jeżeli chcemy korzystać również z innych wartości userinfo to należy je wszystkie dodać do pola ValidInfoFields_Engine oddzielone od siebie znakiem odwróconego slash'a: "\" np:
ValidInfoFields_Engine = \name\bottomcolor\topcolor\model\cl_lc\cl_lw\cl_updaterate\cl_dlmax\rate\_pw\*hltv\password\lang\_res
Zarządzanie autoryzacją (authid).cid_HLTV = 7 //HLTV
cid_NoSteam47 = 8 //NS bez możliwości generowania ID
cid_NoSteam48 = 10 //NS bez możliwości generowania ID
cid_Steam = 1 //Steam
cid_SteamPending = 9 //Autoryzowany poprawnie lecz bez poprawnego steamid (np STEAM_0:0:0)
cid_RevEmu = 1 //gracze z revEmu ( >= 9.74)
cid_OldRevEmu = 1 //gracze ze starszą wersją revEmu
cid_SteamEmu = 1 //gracze z hCupa's SteamEmu
cid_Setti = 3 //SETTI
1: Rzeczywiste ID (lub generowane) steam (STEAM_xx:xx:xx)
2: Rzeczywiste ID (lub generowane) valve (VALVE_xx:xx:xx)
3: STEAM_ generowane na podstwie IP
4: VALVE_ generowane na podstwie IP
5: Przestarzałe - gracz zostanie wyrzucony
6: (zarezerwowane do przyszłego użycia)
7: HLTV
8: STEAM_ID_LAN
9: STEAM_ID_PENDING
10: VALVE_ID_LAN
11: VALVE_ID_PENDING
12: STEAM_666:88:666
Wymuszanie ID analogowe do eSTEAMATiON dla starszych wersji evEmu i SteamEmuSteamEmuCompatMode = 1
0 = wyłączone
1 = włączone
Poprawka generowania ID w eST w wersji 0.3.1OldEstCompatMode = 0
0 = wyłączona
1 = włączona
//Prefixy w generowanym IDIPGen_Prefix1 = 0 //a
IPGen_Prefix2 = 4 //b
Liczby naturalneSTEAM_a:b:c
//Autoryzację serwera.DisableNativeAuth = 0
0 = włączona
1 = wyłączona
Wyłączenie autoryzacji (1) zalecane dla starszych serwerów, zapobiega zatrzymaniu serwera podczas startu.
Wysyłane informacje o serwerze.ServerInfoAnswerType = 2
0 = Nowy styl ( Silnik Source'a)
1 = Stary styl (Poprawia niedziałanie "ulubionych" u graczy NS)
2 = Styl Hybrydowy - aktualnie najlepszy, serwer widoczny dla wszystkich
Włącza emulacje master-klient. Pomaga w rejestracji na liście master.MasterClient = 0
Używaj gdy jest błąd "You server is old" i tylko z opcją -nomaster
0 = emulacja wyłączona
1 = emulacja włączona
Ustawia wersję gry wysyłaną do master-serwera.Master_GameVersion = 1.1.2.6/Stdio
Włącza mini-serwer przekierowujący na serwer główny.SubServer_Enable = 0
0 = wyłączony
1 = włączony
Te opcje (SubServer_) są użyteczne jeżeli chcesz aby wszyscy widzieli serwer.SubServer_Port = 28015 //port na którym będzie działał mini-serwer.
SubServer_MasterClient = 0 //używanie opcji master-klient
SubServer_AnswerType = 0 //rodzaj odpowiedzi
SubServer_RedirectCommand = connect 169.254.141.3:27015 //wysyłana komenda
SubServer_IP = 0.0.0.0 //ip mini-serwera
Możliwe jest aby serwer główny i mini-serwer korzystały z innych rodzai odpowiedzi. Wtedy użytkownicy którzy nie "widzą" głównego serwera będą w stanie zobaczyć mini-serwer.
Nazwa gry wyświetlana graczom. W przypadku zostawienia pustego pola zostanie wyświetlana standardowa nazwa.Game_Name =
Poprawka wyświetlania właściwego ID graczy w przypadku korzystania z monitoringu HLStats.HLStatsPlayerIdFix = 0
0 = wyłączona
1 = włączona - używaj tylko wtedy gdy korzystasz z HLStats
Eksportuj wersję dproto.ExportVersion = 1
0 = cvar dp_version nie będzie eksportowany do zasad serwera
1 = cvar dp_version będzie eksportowany. Widoczny będzie w programach monitorujących (typu HLSW)
Oficjalny temat oraz zawsze aktualna wersja pod adresem: dproto.com lub cs.rin.ru/forum/viewtopic.php?f=29&t=55986
#350973 [ROZWIĄZANE] Zmienienie nazwy , broni i flagi klasy
Napisane przez
*RefresH*
w 18.01.2012 14:41
Załączone pliki
-
codclass_kapitan.amxx 4,85 KB 3 Ilość pobrań
-
codclass_kapitan.sma 2,72 KB 35 Ilość pobrań
codclass_kapitan.amxx
#350638 Jak usunac exp z klasy / jak dodac 1/5 z noża ?
Napisane przez kwieciak
w 17.01.2012 15:51
a co do 1/5 z noza to sprawdz to
#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <engine>
#include <hamsandwich>
#include <cstrike>
#include <fakemeta>
new const nazwa[] = "Tropiciel (Klasa Premium)";
new const opis[] = "Ma 2 Miny , jest niewidzialny na nozu , ma zmiejszona grawitacje.";
new const bronie = (1<<CSW_P228)|(1<<CSW_DEAGLE);
new const zdrowie = 30;
new const kondycja = 10;
new const inteligencja = 0;
new const wytrzymalosc = 10;
new const modelMiny[] = "models/QTM_CodMod/mine.mdl"
new sprite_blast_miny;
new ilosc_min_gracza[33];
new ostatnio_prawym[33];
new ma_klase[33];
public plugin_init()
{
register_plugin(nazwa, "1.0", "amxx.pl");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
register_event("CurWeapon", "eventKnife_Niewidzialnosc", "be", "1=1");
RegisterHam(Ham_Spawn, "player", "fwSpawn_Grawitacja", 1);
register_touch("mine", "player", "DotykMiny");
register_event("HLTV", "NowaRunda_Miny", "a", "1=0", "2=0");
RegisterHam(Ham_Spawn, "player", "fwSpawn_Miny", 1);
RegisterHam(Ham_TakeDamage, "player", "fwTakeDamage_JedenCios");
RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_knife", "fwPrimaryAttack_JedenCios");
RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_knife", "fwSecondaryAttack_JedenCios");
}
public plugin_precache()
{
precache_model(modelMiny);
sprite_blast_miny = precache_model("sprites/dexplo.spr");
}
public client_disconnect(id)
{
new entMiny = find_ent_by_class(0, "mine");
while(entMiny > 0)
{
if(entity_get_edict(entMiny, EV_ENT_owner) == id)
remove_entity(entMiny);
entMiny = find_ent_by_class(entMiny, "mine");
}
}
public cod_class_enabled(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_H))
{
client_print(id, print_chat, "[Tropiciel (Klasa Premium)] Nie masz uprawnien, aby uzywac tej klasy.")
return COD_STOP;
}
entity_set_float(id, EV_FL_gravity, 200.0/800.0);
ilosc_min_gracza[id] = 2;
ma_klase[id] = true;
return COD_CONTINUE;
}
public cod_class_disabled(id)
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
entity_set_float(id, EV_FL_gravity, 1.0);
ma_klase[id] = false;
}
public cod_class_skill_used(id)
{
if (!ilosc_min_gracza[id])
{
client_print(id, print_center, "Wykorzystales juz wszystkie miny!");
}
else
{
ilosc_min_gracza[id]--;
new Float:origin[3];
entity_get_vector(id, EV_VEC_origin, origin);
new ent = create_entity("info_target");
entity_set_string(ent ,EV_SZ_classname, "mine");
entity_set_edict(ent ,EV_ENT_owner, id);
entity_set_int(ent, EV_INT_movetype, MOVETYPE_TOSS);
entity_set_origin(ent, origin);
entity_set_int(ent, EV_INT_solid, SOLID_BBOX);
entity_set_model(ent, modelMiny);
entity_set_size(ent,Float:{-16.0,-16.0,0.0},Float:{16.0,16.0,2.0});
drop_to_floor(ent);
set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,50);
}
}
public eventKnife_Niewidzialnosc(id)
{
if(!ma_klase[id])
return;
if( read_data(2) == CSW_KNIFE )
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 12);
}
else
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
}
}
public fwSpawn_Grawitacja(id)
{
if(ma_klase[id])
entity_set_float(id, EV_FL_gravity, 200.0/800.0);
}
public fwSpawn_Miny(id)
{
if(is_user_alive(id))
ilosc_min_gracza[id] = 2;
}
public DotykMiny(ent, id)
{
if(!is_valid_ent(ent))
return;
new attacker = entity_get_edict(ent, EV_ENT_owner);
if (get_user_team(attacker) != get_user_team(id))
{
new Float:fOrigin[3];
entity_get_vector( ent, EV_VEC_origin, fOrigin);
new iOrigin[3];
for(new i=0;i<3;i++)
iOrigin[i] = floatround(fOrigin[i]);
message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
write_byte(TE_EXPLOSION);
write_coord(iOrigin[0]);
write_coord(iOrigin[1]);
write_coord(iOrigin[2]);
write_short(sprite_blast_miny);
write_byte(32);
write_byte(20);
write_byte(0);
message_end();
new entlist[33];
new numfound = find_sphere_class(ent,"player", 90.0 ,entlist, 32);
for (new i=0; i < numfound; i++)
{
new pid = entlist[i];
if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid))
continue;
cod_inflict_damage(attacker, pid, 70.0, 0.8, ent, (1<<24));
}
remove_entity(ent);
}
}
public NowaRunda_Miny()
{
new entMiny = find_ent_by_class(-1, "mine");
while(entMiny > 0)
{
remove_entity(entMiny);
entMiny = find_ent_by_class(entMiny, "mine");
}
}
public fwTakeDamage_JedenCios(id, ent, attacker)
{
if(is_user_alive(attacker) && ma_klase[attacker] && get_user_weapon(attacker) == CSW_KNIFE && !ostatnio_prawym[id])
{
cs_set_user_armor(id, 0, CS_ARMOR_NONE);
SetHamParamFloat(4, float(get_user_health(id) + 1));
return HAM_HANDLED;
}
return HAM_IGNORED;
}
public fwPrimaryAttack_JedenCios(ent)
{
new id = pev(ent, pev_owner);
ostatnio_prawym[id] = 5;
}
public fwSecondaryAttack_JedenCios(ent)
{
new id = pev(ent, pev_owner);
ostatnio_prawym[id] = 0;
}
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Reputacja: Yukoo
- Regulamin