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
 

Tded - zdjęcie

Tded

Rejestracja: 10.10.2011
Aktualnie: Nieaktywny
Poza forum Ostatnio: 29.05.2014 14:54
-----

#48630 GGadu

Napisane przez mgr inż. Pavulon w 11.03.2009 21:23

GGadu
Autor: Pavulon
Wersja: 0.4.2.2


Opis:
Mam nadzieje że jest to pierwszy plugin który umożliwia obsługę GG z poziomu AMXX.
Dzięki niemu mamy możliwość wysyłania wiadomości GG z jak i do gry, wyświetlenie aktualnego statusu serwera, ilości graczy oraz administracji serwera za pomocą GG.
Nie odpowiadam za żadne szkody powstałe w wyniku używania tego pluginu itd.

Instalacja:
Standardowo wrzucić plik .amxx do amxmodx/plugin oraz dopisać go do configs/plugins.ini a .sma do amxmodx/scripting
Wszystkie pliki konfiguracyjne oraz logi będą znajdowały się w katalogu amxmodx/GGadu (zalecane jest stworzenie go ręcznie i nadanie mu odpowiednich praw dostępu {np. CHMOD 777} w celu umożliwienia zapisu), lecz jeżeli przy uruchomieniu nie będzie istniał katalog to zostanie on stworzony i umieszczone w nim zostaną odpowiednie pliki(GGadu.cfg; GGadu.ini; GGadu_bans.ini; GGadu_servers.ini) {wszystko w załączniku}.

GGadu.cfg - plik z cvar'ami

;[GGadu] Umiesc w tym pliku cvar'y do plugin'a.
amx_gg_numer "0"
amx_gg_haslo "0"
amx_gg_opis_on "name w/ GG [ON]nIP: ipnMapa: mapnTimeleft: tlnGraczy: act/max"
amx_gg_opis_off "name w/ GG [OFF] mapchage ?"
amx_gg_opis_refresh "60"
amx_gg_gracze_info "abcdefgh" ;abcdefgh
amx_gg_log "bc" ;abc
amx_gg_log_typ "a" ;ab
amx_gg_losowy_serw "" ;ab
amx_gg_dzwiek "1"

Niezbędne są cvary amx_gg_numer i amx_gg_haslo. Reszty jak nie będzie to przyjmą wartości standardowe.
Konto GG należy wcześniej utworzyć np. standardowym komunikatorem gdyż nie ma opcji rejestracji z serwera.
Zasada dodawania cvar'ów dokładnie taka sama jak np. w amxx.cfg

GGadu.ini - admini gg

;[GGadu] Umiesc w tym pliku numery GG adminow wraz z ich flagami dostepu oddzielone spacjami, po jednej linijce dla admina np:
;nr_gg flagi_admina "nick" "flagi_dostepu"
;12345678 abcdefghijklmnopqrstuwvxy "SYS-OP" "bc"
;1234567 abcdefghijklmnopqrstuwvxy "ADMIN" "b"
;Srednik na poczatku oznacza ze dana linijka nie jest brana pod uwage.

Radzę zachować ten format, bez żadnych komentarzy. Flagi są takie same jak na serwerze.

GGadu_bans.ini - bany gg

;[GGadu] Dodaj w tym pliku numery gg ktore zostana zbanowane, po jednym w linijce.
;123456789
;234567890
;Srednik na poczatku oznacza ze dana linijka nie jest brana pod uwage.

Jedna linijka to jeden zbanowany numer gg, nie ma co się więcej rozpisywać.

GGadu_servers.ini - serwery CS

;[GGadu] Dodaj w tym pliku serwery wraz z opisem jaki chcesz zobaczyc po wpisaniu komendy serwery, po jednym w linijce.
;127.0.0.1:27666 Super Serwer GG: 123456789
;Srednik na poczatku oznacza ze dana linijka nie jest brana pod uwage. Maksymalna dlugosc 127 znakow

Format oraz treść wg uznania. Ograniczenie do 127 znaków na linijkę.

GGadu_system.log - log
Informacje o łączeniu, akcjach i problemach.

GGadu_DATA.log - log
Pliki tworzą się automatycznie przy odbiorze/wysyłaniu wiadomości. DATA jest w formacie rr/mm/dd

Oczywiście możemy też przekopiować odpowiedni folder z załącznika.

Wymagane moduły:
  • sockets

Konfiguracja:

Cvary:
  • amx_gg_numer "0" - numer gg z którego maja być wysyłane wiadomości
  • amx_gg_haslo "0" - haslo do tego numeru gg
  • amx_gg_opis_on "name w/ GG [ON]nIP: ipnMapa: mapnTimeleft: tlnGraczy: act/max" - opis serwera kiedy włączony
  • amx_gg_opis_off "name w/ GG [OFF] mapchage ?" - opis kiedy wyłączony
  • amx_gg_opis_refresh "60" - co ile odświeżać opis [w sekundach]
    0 = tylko przy zmianie mapy
    wartości poniżej 15 mogą spowodować block'a od serwera gg i brak zmian
  • amx_gg_gracze_info "abcdef" - które dane wyświetlać w liście graczy
    a = nr. porzadkowy gracza, b = username, c = authid
    d = ip, e = team, f = userid
  • amx_gg_log "bc" - co logować ?
    a = wiadomości przychodzące, b = rozmowy, c = funkcje
  • amx_gg_log_typ "1" - co logować w rozmowach wychodzących ?
    a = tylko steam_id, b = tylko ip, brak = tylko nick
  • amx_gg_losowy_serw "" - używać losowego serwera gg do logowania ?
    a = jesli notoperating, b = przy nieudanym pobraniu ip
  • amx_gg_dzwiek "1" - dźwięk przy otrzymaniu wiadomości ?
    1 = tak, 0 = nie

Zamienniki w opisie:
  • name == nazwa serwera
  • ip == ip serwera
  • map == aktualna mapa
  • tl == pozostały czas XXmin YYsek
  • ml == ilość minut do końca mapy
  • sl == ilość sekund do końca
  • act == ilość graczy na serwerze
  • max == maksymalna liczba graczy
  • n == enter == przejście do następnej linii

Flagi dostępu adminów w pliku:
  • "c" - Sys-Op
  • "b" - Admin
  • "a" - Admin bez powiadomienia grupowego
  • "" - bez kontaktu

Komendy:
  • say(_team) gg: nr_gg(lub nick) wiadomosc - wysyła wiadomość na dany numer gg
    nick jest nazwą(lub jej częścią) pod jaką zapisany jest dany user w pliku GGadu.ini
  • say(_team) /kontakt{/contact} - wyświetla menu kontaktu z administracja
  • amx_gg_reload_cvars - wczytuje ponownie cvar'y z flagami (ADMIN_BAN)
  • amx_gg_reload_admins - pobiera ponownie dane adminów z pliku (ADMIN_BAN)
  • amx_gg_reload_bans - pobiera ponownie bany z pliku (ADMIN_BAN)
  • amx_gg_reload_servers - pobiera ponownie serwery z pliku (ADMIN_BAN)

Jeżeli menu kontaktu ma być dostępne dla graczy po użyciu komendy amx_menu,
nalezy do configs/custommenuitems.cfg dopisać linijkę:
amx_addclientmenuitem "Kontakt GGadu" "ggk_menu" "" "GGadu"

Komendy GG:
  • pomoc = lista dostępnych komend
  • status = stan serwera: hostname, wersja amxx, ip:port, mapa, ilość graczy, pozostały czas mapy
  • gracze = lista graczy na serwerze wraz z ich danymi takimi jak IP i Steam_id
  • serwery = lista dostępnych serwerów, dane własne z pliku
  • wersja = aktualna wersja GGadu
  • chat: gracz wiadomosc = wiadomość do kogoś na serwerze
    gracz może być nick'iem (jeżeli występują spacje w nicku to podawać go cudzysłowach) gracza(lub jego częścią), adresem ip, steam_id lub #userid np:

    chat: "[you]" Pozdrowienia z GG

    dla adminów jest też możliwość pisania do wszystkich lub do danego team'u wpisując @all / @ct / @t zamiast gracza np:

    chat: @t Sprzedam pake

  • admin: komenda_admina = wykonuje zadana komendę na serwerze (#odpowiedni ADMIN wymagany#)
    numer z ktorego piszemy musi miec dodanego admina oraz niezbędne flagi do wykonania komendy np:

    admin: amx_map de_dust

  • rcon: komenda_hlds'a = wykonuje zadana komendę rcon na serwerze (#ADMIN_RCON wymagany#)
    niezbędny admin z flagą ADMIN_RCON ("l")

    rcon: restart



Dodatkowe info dostępne jeszcze w .sma




UWAGA !!!
W przypadku gdy plugin stworzył nam folder i nie możemy się do niego dostać z powodu braku praw(źle ustawiony chmod wynikający z tego że inny user{serwer} np root utworzył folder i nie dał nam praw do niego) należy wyłączyć ggadu, pobrać plugin ggadu_dir_remover i standardowo go zainstalować. Po zmianie mapy powinien on usunąć folder wraz z zawartością. Następnie tworzymy sami(kopiujemy z załącznika) folder i pliki pluginu ggadu oraz nadajemy im CHMOD'y 777 - tak aby i serwer miał do nich dostęp. Następnie wyłączamy ggadu_dir_remover, konfigurujemy i włączamy ggadu.
Problem ten pojawia się gdy użytkownik który ma dostęp do pliku nie jest użytkownikiem który uruchamia serwer, np:
użytkownik -> user
serwer -> root (root, główny user systemu, taki admin w M$ OS)
Kiedy root tworzy pliki nadaje im standardowo takie chmod'y że user może tylko je otworzyć(a folder tylko zobaczyć - nawet nie otworzy). Biblioteka amxx'a niestety jest ograniczona i nie ma możliwości wyboru czy też zmiany CHMOD'ów(a nie opłaca się rozprowadzać zmienionej biblioteki dla jednego pluginu) dlatego jak stworzymy sami plik to będzie można go edytować i wszytko będzie działać, lecz gdy serwer stworzy plik typu log to niestety edytować już go nie będziemy mogli.



p.s.
Not4Newbie :P

Załączone pliki


  • +
  • -
  • 17


#349809 [ROZWIĄZANE] Klasa ZawodowySaper Proszę o naprawe 1 błędu.

Napisane przez FORMOZA w 15.01.2012 16:41

Chapaj ;) ; Wklejka 132664201114987 - AMXX.pl: Support AMX Mod X

Ps "Nie znam się do końca na c++ i dlatego proszę o pomoc." to nie jest język c++ tylko to jest pawn jak coś na przyszłość
  • +
  • -
  • 1


#349525 Proszę o naprawę klas.

Napisane przez fbang w 15.01.2012 01:37

I chciał bym się jeszcze dowiedzieć w jaki sposób zwiększyć DMG klasie np.: strzelcowi wyborowemu. - damage control
2.
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <codmod>
#include <hamsandwich>

#define DMG_BULLET (1<<1)

new bool:ma_klase[33];

new const nazwa[] = "Wyszkolony Sniper(Klasa Premium)";
new const opis[] = "Zwiekszone obrazenia z AWP i SCOUT'a, 1/2 szansy na natychmiastowe zabicie z noza(PPM)";
new const bronie = 1<<CSW_DEAGLE | 1<<CSW_SCOUT | 1<<CSW_AWP;
new const zdrowie = 20;
new const kondycja = 25;
new const inteligencja = 100;
new const wytrzymalosc = 20;

public plugin_init()
{
register_plugin(nazwa, "1.0", "QTM_Peyote");

cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}

public cod_class_enabled(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_H))
{
client_print(id, print_chat, "[] Nie masz uprawnien, aby uzywac tej klasy.")
return COD_STOP;
}

return COD_CONTINUE;
}
public cod_class_disabled(id)
ma_klase[id] = false;

public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;

if(!ma_klase[idattacker])
return HAM_IGNORED;

if(damagebits & DMG_BULLET)
{
new weapon = get_user_weapon(idattacker);

if(weapon == CSW_KNIFE && damage > 20.0 && random_num(1,2) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

if(weapon == CSW_AWP)
cod_inflict_damage(idattacker, this, damage*5.0, 1.0, idinflictor, damagebits);

if(weapon == CSW_SCOUT)
cod_inflict_damage(idattacker, this, damage*5.0, 1.0, idinflictor, damagebits);
}
return HAM_IGNORED;
}


  • +
  • -
  • 1


#345248 [ROZWIĄZANE] Co jak usunę logi?

Napisane przez blakk w 06.01.2012 01:01

Z statystykami i samym serwerem nic się nie stanie , więc usuń spokojnie.
  • +
  • -
  • 1


#345237 [ROZWIĄZANE] Co jak usunę logi?

Napisane przez Onyke w 05.01.2012 23:54

Nie znikną.
  • +
  • -
  • 1


#342070 czy opłaca się zmieniac wersje amxx-a?

Napisane przez Neazo w 30.12.2011 01:39

Nie musisz nic instalować od nowa, po prostu podmień pliki z amxmodx 1.8.2 z amxmodx'em którego masz u siebie. Osobiście odradzam AMXBansa 6, jeżeli wybierasz pomiędzy gmAMXBansem 1.6.1 a amxbansem 6. GM ma więcej opcji i jest bardziej kompatybilny, ale do Ciebie należy decyzja ;)

Przed podmienianiem plików proponuje niektóre pliki z katalogu configs sobie skopiować, chyba, że lubisz na nowo wpisywać nazwy pluginów do plugins.ini na przykład :D


#334919 [ROZWIĄZANY]FastDL nie sciąga plików z cstrike

Napisane przez Lelek w 16.12.2011 14:19

Brak pliku .res w katalogu cstrike/maps?
  • +
  • -
  • 1


#32728 Advanced Team Attack Control v3.0.1

Napisane przez baku w 04.01.2009 13:21

ATAC - Advance Team Attack Control v3.0.1

Dołączona grafika
Czterema słowami pisząc: Kary za zabijanie swoich.
Dołączona grafika
AMX Mod X 1.76c lub nowszy z odblokowanym modułem fakemata.

Zainstaluj zgodnie z poniższymi wskazówkami:

1. Foldery configs, data, plugins, scripting wrzuć do addons/amxmodx
2. Otwórz addons/amxmodx/configs/atac i skonfiguruj według własnych potrzeb. ( Poniżej opiszę każde cvary co oznaczją po PL )
3. Otwórz addons/amxmodx/configs/atac-plugins.ini i skonfiguruj według własnych potrzeb. ( Poniżej opiszę każdy plugin co oznacza po PL )
4. Zrestartuj serwer i gotowe.Dołączona grafika
ATAC
atac_disabled - Włączony/Wyłączony ( domyślnie 0 )
atac_menu - menu kar włączyć/wyłączyć ( domyślnie 1 )
atac_show_punishment -pokazuje, która kara została wybrana ( domyślnie 1 )
atac_immunity_flags - ustawia poziom dostępu flagi potrzebne dla gracza, aby miał immunitet ( domyślnie "a" )
atac_admins_immune - ustawia immunitet typu: 0 = wyłaczony, 1 = Nie KICK'uje / BAN'uje, 2 = włączony (Administratorzy wymagają flagi "a") ( domyślnie 1 )
atac_tk_avoidance - zwiększa TK w momencie próby uniknięcia kary 1 - ON 0 - OFF ( domyślnie 1 )
atac_tk_afterdeath - zmiana do liczenia TA/TK kiedy atakujący/morderca umrze wcześniej [ np. granaty, pociski etc. ] ( domyślnie 0 )
atac_ban_type - rodzaj bana: 0=OFF, 1=IP, 2=AUTHID, 3=AUTO-DETECT ( domyślnie 3 )
atac_ban_time - czas bana za TK/TA ( 0= ban pernamentny ) ( domyślnie 120 )
Translate please :
atac_store_kills - switches storage of kills per map on or off ( domyślnie 1 )
atac_team_attacks - po ilu strzałach w swoich (zaatakowań) ma być liczone jako Team Kill (0=OFF) ( domyślnie 5 )
atac_team_kills - ustaw wartość ile można zabić swoich przed tym jak gracz zostanie kicknięty/zbanowany (0=OFF) ( domyślnie 3 )
Punishments
atac_slap_amount - ustawia ile slapów ma dać plugin za kare [atac_slap plugin] ( domyślnie 10 )
atac_slap_power - ustawia ile HP ma zabrać graczowi za slapy [atac_slap plugin] ( domyślnie 5 )
atac_jail_time - ustawia jak długo masz siedzieć w więzieniu za TK w sekundach [atac_jail plugin] ( domyślnie 45 )
atac_bomb_mode - ustawia czy zabójca może zabić tylko siebie czy też innych graczy: 0=tylko zabójca, 1= zabójca może wysadzić także innych graczy [atac_bomb plugin] ( domyślnie 0 )
atac_bomb_range - ustawia zasięg eksplozji [atac_bomb plugin] ( domyślnie 1000 )
atac_fire_mode - ustawia czy zabójca dostający kare "podpalenie" może zarazić innych: 0=tylko zabójca, 1=zabójca może zarazić innych[atac_fire plugin] ( domyślnie 0 )
Team Attack Addon [atac_ta plugin]
atac_slap_attacker - ustawia slapy dla napastnika: 0=OFF, 1=ON [ Nie zabiera HP ] ( domyślnie 0 )
atac_slayon_maxattacks - ustawia slay na max TK: 0=OFF, 1=ON ( domyślnie 0 )
atac_health_restore - ustawia przywracanie zdrowia na ofierze: 0=OFF, 1=ON ( domyślnie 0 )
atac_mirror_damage - pokazuje zabrane HP u napastnika: 0=OFF, 1=ON ( domyślnie 0 )
Translate please :
atac_noattack_within - Sets no Team Attack timelimit in seconds from beginning of spawn (0=OFF) ( domyślnie 0 )
Hud Messages Addon [atac_hudmsg plugin]
atac_hudtext - ustawia typ zawiadomienia hud: 0 = HudText ( domyślnie ), 1 = SayText ( Żółty ), 2 = SayText ( Zielony ), 3 = SayText ( Kolor Zespołu)
Dołączona grafika
Komendy serwera
off - ATAC wyłączony
on - ATAC włączony
version - pokazuje wersję ATAC
settings - pokazuje ustawienia ATAC
player - pokazuje status TK graczy
punishments - pokazuje kary
addons - wyświetla addons
credits - wyświetla punkty
team - pokazuje aktualny team
Komendy gracza
say /atacstatus - pokazuje status TK/TA
Dołączona grafika
Fun
Fakemata

Załączone pliki


  • +
  • -
  • 9


#333640 Klasa Cygan

Napisane przez Szymon035 w 12.12.2011 19:05

Masz sprawdź czy działa:

Załączone pliki


  • +
  • -
  • 1


#332074 [ROZWIĄZANE] Błąd level na wartosci ujemnej

Napisane przez Goliath w 09.12.2011 19:42

Dlaczego mi to tak robi?

Dlatego, że przekraczasz maksymalną wartość zmiennych w Pawn'ie, czyli: 2147483647. Zrób to, co napisałem w poprzednim poście (chociaż trochę...), a następnie sprawdź, czy będzie pasować. Jak? Podnieś do kwadratu wartość cvaru cod_maxlevel i pomnóż wynik przez wartość cvaru cod_levelratio. Jeżeli ostateczny wynik nie przekracza magicznej liczby 2147483647, to jest dobrze, w przeciwnym przypadku zmniejszaj je jeszcze bardziej.

PS. Po co robisz kolejnego fast-exp'a? Przyjemniej się gra na mniejszych levelach, gdzie każdy gracz ma mniej/więcej równe szanse.
  • +
  • -
  • 4


#330772 [ROZWIĄZANY]Proszę o naprawę klasy i perków

Napisane przez Klakier w 05.12.2011 23:14

łap

Załączone pliki


  • +
  • -
  • 2


#309302 HP w HUD

Napisane przez radim w 16.10.2011 20:42

HP w HUD gdy żyjemy !
Szukamy:
public PokazInformacje(id)
{
	id -= ZADANIE_POKAZ_INFORMACJE;
		
	if(!is_user_connected(id))
	{
		remove_task(id+ZADANIE_POKAZ_INFORMACJE);
		return PLUGIN_CONTINUE;
	}
	
	if(!is_user_alive(id))
	{
		new target = pev(id, pev_iuser2);
	
		if(!target)
			return PLUGIN_CONTINUE;
			
		set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
		ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i^nPerk : %s", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], PobierzDoswiadczeniePoziomu(poziom_gracza[target]), poziom_gracza[target], nazwy_perkow[perk_gracza[target]]);
		return PLUGIN_CONTINUE;
	}
	
	set_hudmessage(0, 255, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
	ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Perk : %s]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], PobierzDoswiadczeniePoziomu(poziom_gracza[id]), poziom_gracza[id], nazwy_perkow[perk_gracza[id]]);
	
	return PLUGIN_CONTINUE;
}
Jedno HUD czyli:
set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
		ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i^nPerk : %s", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], PobierzDoswiadczeniePoziomu(poziom_gracza[target]), poziom_gracza[target], nazwy_perkow[perk_gracza[target]]);
wyświetla informację o graczu, którego oglądamy gdy nie żyjemy.
Drugie HUD czyli:
  set_hudmessage(0, 255, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
	ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Perk : %s]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], PobierzDoswiadczeniePoziomu(poziom_gracza[id]), poziom_gracza[id], nazwy_perkow[perk_gracza[id]]);
wyświetla informacje o naszej klasie, perku, doświadczeniu i poziomie, gdy żyjemy.
A więc, aby zrobić, aby wyświetlało nasze HP w HUD gdy żyjemy, to robimy to w następujący sposób:
1.) Dodajemy
new hp = get_user_health(id);
nad:
set_hudmessage(0, 255, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
	ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Perk : %s]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], PobierzDoswiadczeniePoziomu(poziom_gracza[id]), poziom_gracza[id], nazwy_perkow[perk_gracza[id]]);
2.) Dodajemy napis aby się wyświtlał, czyli zamieniamy to:
ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Perk : %s]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], PobierzDoswiadczeniePoziomu(poziom_gracza[id]), poziom_gracza[id], nazwy_perkow[perk_gracza[id]]);
na:
ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Perk : %s]^n[Zdrowie : %d]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], PobierzDoswiadczeniePoziomu(poziom_gracza[id]), poziom_gracza[id], nazwy_perkow[perk_gracza[id]]);
3.) Ostatnim krokiem jest dodanie "hp" na koniec linijki czyli zamieniamy:
ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Perk : %s]^n[Zdrowie : %d]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], PobierzDoswiadczeniePoziomu(poziom_gracza[id]), poziom_gracza[id], nazwy_perkow[perk_gracza[id]]);
na:
ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Perk : %s]^n[Zdrowie : %d]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], PobierzDoswiadczeniePoziomu(poziom_gracza[id]), poziom_gracza[id], nazwy_perkow[perk_gracza[id]], hp);

A cały public ma wyglądać tak:
public PokazInformacje(id)
{
	id -= ZADANIE_POKAZ_INFORMACJE;
		
	if(!is_user_connected(id))
	{
		remove_task(id+ZADANIE_POKAZ_INFORMACJE);
		return PLUGIN_CONTINUE;
	}
	
	if(!is_user_alive(id))
	{
		new target = pev(id, pev_iuser2);
	
		if(!target)
			return PLUGIN_CONTINUE;
			
		set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
		ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i^nPerk : %s", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], PobierzDoswiadczeniePoziomu(poziom_gracza[target]), poziom_gracza[target], nazwy_perkow[perk_gracza[target]]);
		return PLUGIN_CONTINUE;
	}
	new hp = get_user_health(id);  

	set_hudmessage(0, 255, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
	ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Perk : %s]^n[Zdrowie : %d]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], PobierzDoswiadczeniePoziomu(poziom_gracza[id]), poziom_gracza[id], nazwy_perkow[perk_gracza[id]], hp);
	
	return PLUGIN_CONTINUE;
}


HP w HUD gdy kogoś oglądamy !
1) Dodajemy:
new hp = get_user_health(target);
nad
set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
		ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i^nPerk : %s", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], PobierzDoswiadczeniePoziomu(poziom_gracza[target]), poziom_gracza[target], nazwy_perkow[perk_gracza[target]]);
		return PLUGIN_CONTINUE;
2) Zamieniamy tą linijkę:
ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i^nPerk : %s", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], PobierzDoswiadczeniePoziomu(poziom_gracza[target]), poziom_gracza[target], nazwy_perkow[perk_gracza[target]]);
na tą:
ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i^nPerk : %s^nZdrowie : %d", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], PobierzDoswiadczeniePoziomu(poziom_gracza[target]), poziom_gracza[target], nazwy_perkow[perk_gracza[target]], hp);
3) Caly public z HP w HUD gdy żyjemy i gdy kogoś oglądamy powinien wyglądać tak:
public PokazInformacje(id)
{
	id -= ZADANIE_POKAZ_INFORMACJE;
		
	if(!is_user_connected(id))
	{
		remove_task(id+ZADANIE_POKAZ_INFORMACJE);
		return PLUGIN_CONTINUE;
	}
	
	if(!is_user_alive(id))
	{
		new target = pev(id, pev_iuser2);
	    new hp = get_user_health(target);
	
		if(!target)
			return PLUGIN_CONTINUE;
			
		set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
		ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i^nPerk : %s^n Zdrowie : %d", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], PobierzDoswiadczeniePoziomu(poziom_gracza[target]), poziom_gracza[target], nazwy_perkow[perk_gracza[target]], hp);
		return PLUGIN_CONTINUE;
	}
	new hp = get_user_health(id);  

	set_hudmessage(0, 255, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
	ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Perk : %s]^n[Zdrowie : %d]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], PobierzDoswiadczeniePoziomu(poziom_gracza[id]), poziom_gracza[id], nazwy_perkow[perk_gracza[id]], hp);
	
	return PLUGIN_CONTINUE;
}

  • +
  • -
  • 32


#316815 Moduly

Napisane przez DarkGL w 02.11.2011 15:54

1. moduły muszą być dopisane do modules.ini
2. tak
  • +
  • -
  • 1


#309699 Round Sound + headshot + dominujesz itd...

Napisane przez mierzwi w 17.10.2011 16:20

1. Nie wiem czy sie można zrobić, raczej jeśli można to bardzo trudno, bo to trzeba szukać prawidłowych linijek itp.

Na tej ścieżce co ci podam to wpisujesz jaka muzyka ma byc w TT/CT, i nie można "chyba" w niej ustawiać takich rzeczy jakich ty wymagasz, roundsound:

Spoiler

2. Raczej nie można tego ustawić ale może być tak że się mylę. Ja mam ustawione u siebie piosenki na serwerze FFA od kolejności 0/1/2/3/4. i gdy jestem w CT leci piosenka Tiesto - show me the way po wygranej rundzie, a gdy przegram to leci ponownie ta sama piosenka, i nie wiem od czego tu zależy.
3. Nie wiem czy sa limity, tylko pamiętaj czym więcej pluginów/sound na serwerze tym wieksze lagi. Serwer ma swoje ograniczenia, i może szaleć z pingami u graczy oraz co chwile ich kickać(chyba że off plugin) powodując utrate graczy na serwerze. Nikt nie lubi gdy gracz klatkuje.

każda odpowiedź jest bez sensu.
1. Da się (eDeath + wyłapanie HS)
2. Da się, wystarczy pokombinować
3. Nie ma ograniczenia (tak jak piszesz o 20 sekund itp., można wrzucić też 2 minutowe itp.), po prostu - dłuższa piosenka - dłużej się ściąga, jak masz fastdl to raczej nie ma znaczenia.


#308933 [ROZWIĄZANE] Cvary

Napisane przez szogun12393 w 16.10.2011 13:27

Cvary nie można tylko trzeba wklejać do amxx.cfg
Nie można raczej zrobić tego katalogu w configs, nie będzie to działać, od Cvar'ów jest plik amxx.cfg
Plugin z końcówką .ini wklejamy do hlds/cstrike/addons/amxmodx/configs
Zazwyczaj autor pluginu pisze jaka instalacja, jak nie standardowa to autor pluga pisze co i gdzie wklejać/dopisać.

PS. Pamiętaj, jesli wklejasz pluginy do plugins/scripting to w plugins.ini musisz dopisać nazwa_pluginu.amxx bo inaczej plugin nie zadziała.
  • +
  • -
  • 1