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.
|
Danny OK
Rejestracja: 16.02.2014Aktualnie: Nieaktywny
Poza forum Ostatnio: 15.02.2016 15:56





Statystyki
- Grupa: Użytkownik
- Całość postów: 148
- Odwiedzin: 3 972
- Tytuł: Zaawansowany
- Wiek: 31 lat
- Urodziny: Marzec 12, 1994
-
Imię
Daniel
-
Płeć
Mężczyzna
-
Lokalizacja
Internet
#712009 Pytanie dotyczące odliczania
Napisane przez Linux'
w 19.09.2015 22:43
#701923 [ROZWIĄZANE] Wyrzucenie granatu po śmierci
Napisane przez Alelluja
w 30.05.2015 12:25
#348532 CS Weapons Util
Napisane przez R3X
w 12.01.2012 20:42
Plugin-biblioteka, ewentualnie podpowiedź do własnej implementacji.
Póki co do dyspozycji mamy forward informujący kto co kupił i dający możliwość zablokowania akcji.
/** * Executed on client shopping, return PLUGIN_HANDLED to block * @param id player index * @param weaponid CSW_* or _CSW_ constant */ forward CS_OnBuyItem(id, weaponid);
Przykład użycia:
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <CSWeaponsUtil> #define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "R3X" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); } public CS_OnBuyItem(id, weaponid) { if(weaponid == CSW_M249) { client_print(id, print_center, "Nie mozesz kupic maszynowki"); return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; }
Załączone pliki
-
CSWeaponsUtil.zip 10,15 KB 305 Ilość pobrań
#701803 CS Weapons Util
Napisane przez BlaQ517
w 28.05.2015 16:51
Przepraszam, że odświeżam ale mam pytanko
Jak zrobić aby kupowanie się odblokowywało np po 10 zabiciach.
Po 10 zabójstwach:
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <CSWeaponsUtil> new zabojstwa[33]; public plugin_init() { register_plugin("Wtyczka", "1.0", "BlackDead"); register_event("DeathMsg", "SmiercGracza", "a"); } public SmiercGracza() { zabojstwa[read_data(1)] ++; } public CS_OnBuyItem(id, weaponid) { if(zabojstwa[id] => 10) return PLUGIN_CONTINUE; new wstats[8], wbodyhits[8]; get_user_stats(id,wstats,wbodyhits); if(wstats[0]<=10) { if(weaponid == CSW_M249) { client_print(id, print_center, "Nie mozesz kupic maszynowki"); return PLUGIN_HANDLED; } } return PLUGIN_CONTINUE; }
Po 10 sekundach od rozpoczęcia rundy:
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <CSWeaponsUtil> new bool:odblokuj; public plugin_init() { register_plugin("Wtyczka", "1.0", "BlackDead"); register_event("HLTV", "HLTV", "a", "1=0", "2=0"); } public HLTV() { odblokuj = false; set_task(10.0, "task_odblokuj") } public task_odblokuj() { odblokuj = true; } public CS_OnBuyItem(id, weaponid) { if(odblokuj) return PLUGIN_CONTINUE; new wstats[8], wbodyhits[8]; get_user_stats(id,wstats,wbodyhits); if(wstats[0]<=10) { if(weaponid == CSW_M249) { client_print(id, print_center, "Nie mozesz kupic maszynowki"); return PLUGIN_HANDLED; } } return PLUGIN_CONTINUE; }
#663443 Praca na Orpheu (Plantowanie/Rozbrajanie)
Napisane przez grankee
w 14.09.2014 06:31
A mi się zdaje, że da się inaczej.
Pierwszy pomysł:
ustawic framerate animacji wieksze niz 1.0 zeby przyspieszyc animacje
napisac bartime krotszym lub calkiem go zablokowac
jesli to sie nie uda to drugi dluzszy:
Podkładanie:
-Przechwycić i zablokować touch bs->player, player->bs lub oba, aby uniemożliwić plantowanie-najlepiej fakemetą, ale także zapisać do zmiennej globalnej get_gametime(), aby w każdej chwili móc sprawdzić czy gracz jest na bsie - touch ma miejsce x razy na sekunde wiec wystarczy sprawdzic, czy ostatni zapisany +1 > get_gametime() w dowolnym miejscu pluginu.
-jeśli gracz trzyma +attack rozpoczac animacje podkladania z wiekszym framerate niz 1.0 oraz bartime na okreslony czas (message_begin)
-jesli pusci zlikwidowac bartime i przerwac animacje
-jak minie czas jaki ma zajac plantowanie to splantowac pake
Rozbrajanie podobnie, tylko touch paki i gracza itd...
W tym pluginie możesz znaleźć pare potrzebnych rzeczy: http://amxx.pl/topic...lant-defuse-c4/
#661035 Pomoc przy wgraniu Minipanelu
Napisane przez GwynBleidD
w 29.08.2014 17:49
#660956 Pomoc przy wgraniu Minipanelu
Napisane przez GwynBleidD
w 29.08.2014 11:22

ad 1. upewnij się, że serwer jest również w katalogu domowym tego użytkownika, albo w katalogach ogólnych, które są własnością tego użytkownika. Jeśli jest w katalogu domowym innego, zmień to.
Jeśli instalowałeś serwer z poziomu innego użytkownika lub były te pliki w "cudzym" katalogu, wykonaj chown, aby zmienić ich właściciela (wygooglujesz sobie o co chodzi, to nie jest trudne. Nie zapomnij chownować również grupy, może się przydać np do FTP)
ad 2. To dobrze, jednak upewnij się, że pliki mają 750, 640, 770 lub 660. Foldery i pliki wykonywalne oczywiście muszą mieć 750 lub 770.
ad 3. Szukaj innych przyczyn, skoro chmody są OK. Napisz może do twórcy panelu.
Odnośnie roota, jest coś takiego jak sudo, umożliwia uruchomienie czegoś na prawach roota. Można skonfigurować sudo, aby użytkownik mógł go używać bez podania hasła czy czegokolwiek. Jednak nie rób tego, NIGDY! root ma pozostać rootem, nie służy on do codziennej zabawy, ani do tego by na jego uprawnieniach uruchamiać serwery. No chyba, że chcesz szybko się VPSa pozbyć, bo ktoś go przejmie i zacznie robić na nim coś nielegalnego, np przeprowadzać ataki na rząd

#660772 Pomoc przy wgraniu Minipanelu
Napisane przez GwynBleidD
w 28.08.2014 11:12
NIE MA CZEGOŚ TAKIEGO JAK CHMODY wsx !!
Jeśli nie wiesz co robisz, nie rób tego!
Jest kilka sposobów:Jak zezwolić użytkownikowi edek na edycję, zapis i odczyt (wsx) plików w folderze i jego podfolderach /home/server/cs ?
1. użytkownik powinien być właścicielem plików
2. użytkownik powinien należeć do grupy właściciela plików, a plik posiadać odpowiednie uprawnienia grupowe.
3. uprawnienia do plików powinny być dla wszystkich. Sposób bardzo niezalecany, ponieważ daje dostęp WSZYSTKIM UŻYTKOWNIKOM do plików! Co może ułatwić dość znacznie komuś włamanie na serwer.
Co do mini panelu, podajesz mu użytkownika SSH na którym będzie uruchamiany serwer, tj ten, do którego należą pliki (katalog home), a nie dowolnego utworzonego w systemie.
#646489 Czysta paczka (AMXModX + Metamod-P + Dproto + VoiceTransCoder)
Napisane przez Lokator
w 30.06.2014 12:45
Zauważyłem, iż część użytkowników próbuje swoich sił rezygnując z gotowych rozwiązań.
Próbujecie tworzyć serwery na vps'ach, czy serwerach dedykowanych - rozwijać się.
Gorąco Was do tego zachęcam!
Często jednak pomijacie najważniejsze kwestie dotyczące konfiguracji, przystosowania serwera do obecnych norm.
Nie posiadacie najnowszych plików hlds na swoim serwerze, czy też najnowszych aktualizacji modułów zainstalowanych na serwerze.
Do tego wszystkiego dodajemy aktualizacje klienta (gry) ze strony Valve i podział graczy na Steam / Non Steam - problem z komunikacją głosową.
Prędzej, czy później Waszymi serwerem zaczną interesować się ludzie niepożądani - idioci, którzy lubią niszczyć pracę innych.
Prawie zawsze przez takie zaniedbania serwery kończą swoją działalność, albo tracą większość tego, czego udało im się dokonać.
Dlatego właśnie postanowiłem stworzyć paczkę, która będzie dla Was wsparciem przy tworzeniu serwera : )
Budowa paczki:
- AMX Mod X Base (v1.8.2 Linux),
- Counter-Strike Addon (v1.8.2 Linux),
- Metamod-P (v1.21p37 Linux),
- Dproto (v0.9.391),
- VoiceTransCoder (v80).
W paczce zawarta jest konfiguracja wszystkich modułów oraz pełna konfiguracja server.cfg ; )
amxx.cfg - reklama amxx.pl w wiadomości standardowej, polski językiem klienta, ranking na nick oraz konfiguracja VoiceTransCodera,
users.ini - usunięcie standardowo ustawionych uprawnień dla gracza o nicku Loopback,
dproto.cfg - przekonfigurowanie dproto, uodpornienie Dproto na hack SteamID.
Paczka zawiera niezbędne publicznym serwerom moduły!
Wszystkie pliki zawarte w paczce będą na bieżąco aktualizowane!
Paczka nie zawiera plików ingerujących w ustawienia gracza!
Opis modułów zawartych w paczce:
Metamod-P jest wydajniejszą wersją standardowego rozszerzenia Metamod niezbędnego do prawidłowego działania AMXX'a i innych modułów!
Dproto jest modułem oferującym jednoczesną obsługę 2 protokołów na serwerze - 48 (Steam) oraz 47 (NonSteam)!
VoiceTransCoder jest modułem konwertującym dźwięk, dzięki czemu problem komunikacji głosowej między protokołem Steam, a NonSteam znika!
Zawartość folderu addons, dproto.cfg, server.cfg oraz liblist.gam wrzucamy do katalogu cstrike na serwerze, po czym go restartujemy.
Aktualizacje paczki:
- ~ v1.0 | Utworzenie paczki.
Czysta paczka (AMXModX + Metamod-P + Dproto + VoiceTransCoder).zip 3,25 MB 2906 Ilość pobrań
#659909 [ROZWIĄZANE] Wgranie amxmodx na serwer
Napisane przez Lokator
w 24.08.2014 19:54
#659595 [ROZWIĄZANE] Problem z natywami
Napisane przez GwynBleidD
w 23.08.2014 11:23
#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 ); }
#627896 Antyblokowanie modelami.
Napisane przez GwynBleidD
w 24.03.2014 19:02
1. Wyrzucasz apteczkę
2. Po jej "skamienieniu" wykrywasz czy nie ma gracza stojącego zbyt blisko, czyli zaklinowanego
3. Jeśli istnieje taki, dla pewności sprawdzasz, czy nie utknął (jest na to funkcja gotowa), jeśli utknął to go wyrzucasz do góry (odkopywanie z amx_super polecam do tego).
#627801 [ROZWIĄZANE] Aim na Steam
Napisane przez DarkGL
w 24.03.2014 14:05
#627441 Wczytywanie danych z pliku.
Napisane przez Klakier
w 22.03.2014 22:16
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Reputacja: Danny OK
- Regulamin