Moglibyście później napisać jakąś relację z tego zlotu ?
Wiadomo, nie każdy pojedzie (np. ja ) a chciałbym wiedzieć, jak grubo tam było
Wiecie, jakieś takie krótkie streszczenie wydarzeń i tego co tam robiliście
To równanie zostało stworzone przy pomocy kodu LaTeX:
Edytor LaTeX online: CodeCogs.com/latex/eqneditor.php
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.
|
Napisane przez RasiaQ
w 04.01.2014 15:29
Napisane przez RasiaQ
w 16.12.2013 17:29
Jest to plugin który umożliwia przenikanie przez graczy. Kiedy podchodzimy do członków swojej drużyny robią się oni "pół-przeźroczyści" i możemy przez nich przejść
Demo:
// Ogólne // ------ semiclip 1 // Czy Semiclip ma być włączony [0 - Wyłączony / 1 - Włączony] semiclip_blockteam 0 // Kto ma posiadać Semiclip [0 - Każdy | 1 - Terro nie mają | 2 - CT nie mają | 3 - Nikt nie ma] semiclip_enemies 0 // Przeźroczystość wrogów [0 - Wyłączona / 1 - Włączona] semiclip_unstuck 1 // Odblokowanie, w przypadku zaklinowania sie w kimś/czymś [0 - Wyłączone / 1 - Zależnie od Teamu / 2 - Spawny CSDM / 3 - Gdzieś w pobliżu aktualnego miejsca] semiclip_unstuckdelay 0.1 // Opóźnienie z odblokowaniem gracza [ 0 - Od Razu] Zalecane Wartości Między 0.1 a 3.0 semiclip_button 0 // Przycisk Przyśpieszający Semiclip ) [0 - Wyłączony / 1 - Teroo / 2 -CT / 3 - Wszyscy] semiclip_knife_trace 0 // Ataki nożem dosiegają gracza nabliżej stojącego jeśli stoimy w Kimś [0 - Wyłącz / 1 - Włącz] semiclip_duration 0 // Czy plugin ma działać tylko na początku rundy [0 - Wyłączony / 1 - Włączony] // Ustawienia Rendera // ----- semiclip_render 1 // Czy niestandardowe opcje renderowania mają być włączone [0 - Wyłączone / 1 - Włączone] semiclip_rendermode 2 // Tryb Rendera ) [0 - 5] [0 - Wyłączony] semiclip_renderamt 129 // Jaki mocny ma być Render [0 - 255] semiclip_renderfx 0 // Jak mocny ma być Render Fx [0 - 20] [0 - Wyłączony] semiclip_renderradius 250 // Jaki mocny ma mieć zasięg rendera [?? - 4095] semiclip_renderfade 0 // Czy ma być włączona poświata dodatkowa [0 - Wyłączone / 1 - Włączone] semiclip_renderfademin 25 // Minimalna wartość Render Fade [0 - 200] semiclip_renderfadespec 1 // Czy Render Face ma być włączone dla obserwatorów [0 - Wyłączone / 1 - Włączone] // Kolor poświaty // ----- semiclip_color_admin_flag "b" // Flaga wymagana do poświaty semiclip_color_admin_R 0 // Kolor admina (czerwony) [0-255] semiclip_color_admin_G 0 // Kolor admina (zielony) [0-255] semiclip_color_admin_B 0 // Kolor admina (niebieski) [0-255] semiclip_color_ter_R 0 // Kolor Terro (czerwony) [0-255] semiclip_color_ter_G 0 // Kolor Terro (zielony) [0-255] semiclip_color_ter_B 0 // Kolor Terro (niebieski) [0-255] semiclip_color_ct_R 0 // Kolor CT (czerwony) [0-255] semiclip_color_ct_G 0 // Kolor CT (zielony) [0-255] semiclip_color_ct_B 0 // Kolor CT (niebieski) [0-255]
* Mod: Counter-Strike 1.6 albo Condition-Zero
* AMXX: Wersja 1.8.0 albo wyższa
* Moduły: Engine, Fakemeta, Hamsandwich
Źródło: https://forums.allie...ad.php?t=137980
Pomoc w tłumaczeniu :http://amxx.pl/topic...+team +semiclip
WERSJA 3.1.0
* Mod: Counter-Strike 1.6 albo Condition-Zero
* Metamod: wersja 1.21 albo wyższa
* AMXX: Wersja 1.8.2 albo wyższa
* Moduły: cstrike, engine, fakemeta, hamsandwich
Spolszczone z głowy bez pomocy tłumacza czy kogokolwiek innego, także gdyby ktoś miał jakieś uwagi dot. poprawy śmiało proszę mówić.
Spolszczony został też plik semiclip.info
// --------------------------------- // -------- Counter-Strike --------- // --------------- & --------------- // -------- Condition Zero --------- // --------------------------------- // Team Semiclip 3.1.0 Config File // --------------------------------- // Wszelkie zmiany wprowadzone tutaj // automatycznie zaladuja sie przy starcie mapy echo Executing Team Semiclip 3.1.0 Plik konfiguracyjny // Generalne // ------- semiclip 1 // [0-wyłączony / 1-on] semiclip_block_team 0 // Ktory team ma semiclip (spojrz cs_team_semiclip_info.txt po wiecej informacji) [0-oba / 1-Terror nie ma / 2-CT nie ma / 3-oba nie maja] semiclip_enemies 0 // przezroczytosc wrogow [0-wyłączony / 1-on] semiclip_radius 250.0 // promien Semiclipa [85.041168212890625 - 14116.23535156249] // Trigger (gracze przenikają przez siebie na przycisk) // Ważne: Ważniejsze jest: semiclip_block_team > semiclip_button! // ------------------------------------------------------------- semiclip_button 0 // Przycisk semiclipu (patrz cs_team_semiclip_info.txt po wiecej informacji) [0-wyłączony / 1-Terror / 2-CT / 3-on] semiclip_button_trigger 32 // Na który przycisk działa semiclip (spojrz cs_team_semiclip_info.txt po wiecej info) semiclip_button_anti_boost 1 // Anty boost jesli gracze są razem w sobie [0-wyłączony / 1-włączony] // Unstuck // IMPORTANT: Unstuck trigger only on Preparation ends, Duration ends and Team change Event! // ----------------------------------------------------------------------------------------- semiclip_unstuck 4 // Unstuck [0-wyłączony / 1-team / 2-csdm / 3-randomowo od naszej pozycji / 4-wykraczająco] semiclip_unstuck_render 1 // Effect unstuck 4 only (trespass) - Render enemies [0-wyłączony / 1-włączony] semiclip_unstuck_delay 0 // Unstuck opóźniony w sekundach (0.1 - 3.0) [0-natychmiastowy] // Zakładnicy // ------- semiclip_hostage 0 // Hostage semiclip [0-wyłączony / 1-Terror / 2-CT / 3-oba] // Inne // ------------------------------------------------------- semiclip_knife_trace 0 // Nóż prowadzi do następnego wroga kiedy stoisz w swoim czlonku drużyny i mierzysz do wroga [0-wyłączony / 1-włączony] semiclip_preparation 0 // Określa czas na brak bloku na początku każdej rundy [0-wyłączona ta opcja] semiclip_duration 0 // Określa czas by zmusić plugin do pracy tylko na początku rundy [0-wyłączona ta opcja] // Render // ------ semiclip_render 0 // Render options [0-wyłączony / 1-normal / 2-tecza] semiclip_render_free_look 1 // Renderowani gracze po śmierciu lub w wolnej kamerze [0-wyłączony / 1-włączony] // Render -Normal- // --------------- semiclip_normal_mode 1 // Normaly tryb (patrz amxconst.inc -> Render dla set_user_rendering) [0-5] semiclip_normal_fx 19 // Normal fx (patrz amxconst.inc -> Fx dla set_user_rendering) [0-20] semiclip_normal_amt 4 // Normalna ilość [0-255] semiclip_normal_spec 0 // Render dla gracza w spec [0-wyłączony / 1-włączony] // Render -Fade- // ------------- semiclip_fade_mode 2 // Tryb tęczy (patrz amxconst.inc -> Render dla set_user_rendering) [0-5] semiclip_fade_fx 0 // Fade fx (patrz amxconst.inc -> Fx dla set_user_rendering) [0-20] semiclip_fade_min 130 // Min fade (stojąc w graczach lub dla SPEC) [0-255] semiclip_fade_max 225 // Max fade [0-255] semiclip_fade_spec 0 // Render fade dla gracza oglądającego [0-wyłączony / 1-włączony] // Color // Ważne: Priorytet kolorów Vip > Admin > Normal! // -------------------------------------------------- semiclip_color_admin_flag "b" // Flaga dostępu admina (patrz user.ini, b - reservation) semiclip_color_admin_ter "255 63 63" // Kolor renderu dla admina w terro "RRR GGG BBB" [0-255] semiclip_color_admin_ct "153 204 255" // Kolor renderu dla admina w ct "RRR GGG BBB" [0-255] semiclip_color_ter "255 63 63" // kolor renderu tt "RRR GGG BBB" [0-255] semiclip_color_ct "153 204 255" // kolor renderu ct "RRR GGG BBB" [0-255] semiclip_color_hos "192 148 32" // kolor rendetu hostów "RRR GGG BBB" [0-255] semiclip_color_vip "192 148 32" // Kolor renderu VIPa "RRR GGG BBB" [0-255]
Napisane przez FarGoosiek
w 03.01.2014 22:49
Ok trzymaj teraz kompilują sie jego klasy ale nie wiem czy będą działać poprawnie jak nie to zrobie ci je od nowa
Napisane przez RasiaQ
w 08.11.2013 21:49
Chciałem w tym temacie zaprezentować, jak ustawić danej klase x(+int) obrażeń z danej broni. (Nie znalazłem takowego w tym dziale ;_; )
1. Na sam początek dodajemy:
#include <hamsandwich>
i pod includami:
#define DMG_BULLET (1<<1)
i zmienna:
new bool:ma_klase[33];
2. do plugin_init() dodajemy:
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
3*. Jeśli nie masz to dodaj:
public cod_class_enabled(id) ma_klase[id] = true; public cod_class_disabled(id) ma_klase[id] = false;
4. I na koniec .sma
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(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_BRON && damagebits & DMG_BULLET) cod_inflict_damage(idattacker, this, 5.0, 0.1, idinflictor, damagebits); } return HAM_IGNORED; }
CSW_BRON - BRON zmieniasz na nazwę swojej broni np. CSW_M4A1
W powyższym kodzie przyjrzyj się temu:
cod_inflict_damage(idattacker, this, 5.0, 0.1, idinflictor, damagebits);
5.0 oznacza ile obrażeń będziemy zadawali. W tym przypadku jest to 5(+int). Jeśli zmienimy np. na 50.0 to będziemy zadawać 50(+int) obrażeń więcej.
0.1 Jest to współczynnik/mnożnik tego, jak nasza inteligencja będzie się przekładała na obrażenia. Np.
0.1 - 10int = 1 DMG 0.2 - 5int = 1 DMG 0.15 - 6.(3)int = 1 DMG 0.14 - 7.14int = 1 DMG 0.066666 - 15int = 1 DMG 0.05 - 20int = 1 DMG
Sposób przeliczania tego jest bardzo prosty (nauczył mnie go dzisiaj rano Vasto_Lorde[btw. dzięki ]), otóż 1(jeden) dzielimy przez tyle ile chcemy inteligencji na 1 DMG. Np.
1/20 = 0.05 ( / zastępuje znak dzielenia ( patrz kod powyżej. Co wyszło ?) 1/15 = 0.66666
Łatwo sprawdzić na kalkulatorze
5. A więc nasz finalny kod będzie wyglądał tak:
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <codmod> #include <hamsandwich> #define DMG_BULLET (1<<1) new bool:ma_klase[33]; new const nazwa[] = "TEST"; new const opis[] = "Zadajesz 5(+int) obrazen z xxx"; new const bronie = 1<<CSW_M3; new const zdrowie = 20; new const kondycja = 40; new const inteligencja = 50; new const wytrzymalosc = 60; public plugin_init() { register_plugin(nazwa, "1.0", "Drizzt"); cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc); RegisterHam(Ham_TakeDamage, "player", "TakeDamage"); } public cod_class_enabled(id) ma_klase[id] = true; 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(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_BRON && damagebits & DMG_BULLET) cod_inflict_damage(idattacker, this, 5.0, 0.1, idinflictor, damagebits); } return HAM_IGNORED; }
To chyba wszystko jasne
Dziękuję za uwagę. Gdyby ktoś czegoś nie rozumiał, będę wyjaśniał.
Napisane przez RasiaQ
w 14.12.2013 15:43
Mógłbyś dodać jeszcze kilka rzeczy np.
No-recoil
#include <fakemeta>
Zmienne:
new ma_klase[33];
W plugin_init() rejestrujemy:
register_forward(FM_PlayerPreThink, "PreThink"); register_forward(FM_UpdateClientData, "UpdateClientData", 1)
Jeśli nie mamy, to dodajemy:
public cod_class_enabled(id) { ma_klase[id] = true; } public cod_class_disabled(id) { ma_klase[id] = false; }
I na koniec .sma
public PreThink(id) { if(ma_klase[id]) set_pev(id, pev_punchangle, {0.0,0.0,0.0}) } public UpdateClientData(id, sw, cd_handle) { if(ma_klase[id]) set_cd(cd_handle, CD_PunchAngle, {0.0,0.0,0.0}) }
Szansa na pojawienie się u wroga
Biblioteki:
#include <hamsandwich> #include <cstrike>
Zmienne:
new ma_klase[33];
W plugin_init() rejestrujemy:
RegisterHam(Ham_Spawn, "player", "Spawn", 1);
Jeśli nie mamy, to dodajemy:
public cod_class_enabled(id) { ma_klase[id] = true; } public cod_class_disabled(id) { ma_klase[id] = false; }
I na koniec .sma
public Spawn(id) { if(!is_user_alive(id)) return; if(!ma_klase[id]) return; if(random_num(1,5) == 1) { new CsTeams:team = cs_get_user_team(id); cs_set_user_team(id, (team == CS_TEAM_CT)? CS_TEAM_T: CS_TEAM_CT); ExecuteHam(Ham_CS_RoundRespawn, id); cs_set_user_team(id, team); } }
Ubranie wroga
Biblioteki:
#include <fakemeta>
Zmienne:
new ma_klase[33];
W plugin_init() rejestrujemy:
register_event("CurWeapon","CurWeapon","be", "1=1");
Jeśli nie mamy, to dodajemy
public cod_class_enabled(id) { ma_klase[id] = true; } public cod_class_disabled(id) { ma_klase[id] = false; }
I na koniec .sma
public CurWeapon(id) { new team = get_user_team(id) if(ma_klase[id] && team == 1) { cs_set_user_model(id, "sas"); } if(ma_klase[id] && team == 2) { cs_set_user_model(id, "arctic"); } return PLUGIN_CONTINUE; }
Widzisz wrogów na radarze
Biblioteki:
#include <engine>
Zmienne:
new ma_klase[33];
I pod zmiennymi:
new g_msgHostageAdd, g_msgHostageDel;
W plugin_init() rejestrujemy:
g_msgHostageAdd = get_user_msgid("HostagePos"); g_msgHostageDel = get_user_msgid("HostageK"); set_task (2.0,"radar_scan",_,_,_,"b");
Jeśli nie mamy, to dodajemy:
public cod_class_enabled(id) { ma_klase[id] = true; } public cod_class_disabled(id) { ma_klase[id] = false; }
I na koniec .sma:
public radar_scan(id) { new PlayerCoords[3]; for (new id=1; id<=32; id++) { if((!is_user_alive(id))||(!ma_klase[id])) continue; for (new i=1;i<=32;i++) { if(!is_user_alive(i) || get_user_team(i) == get_user_team(id)) continue; get_user_origin(i, PlayerCoords) message_begin(MSG_ONE_UNRELIABLE, g_msgHostageAdd, {0,0,0}, id) write_byte(id) write_byte(i) write_coord(PlayerCoords[0]) write_coord(PlayerCoords[1]) write_coord(PlayerCoords[2]) message_end() message_begin(MSG_ONE_UNRELIABLE, g_msgHostageDel, {0,0,0}, id) write_byte(i) message_end() } } }
Napisane przez RasiaQ
w 21.11.2013 18:29
Witam,
W związku z masą tematów "Nie mogę dodać 1/x z broni" albo "Jak dodać 1/x z broni" postanowiłem napisać poradnik, który pokaże, jak to zrobić.
1.W includach dodaj:
#include <hamsandwich>
*Jeśli już masz, to nie musisz dodawać
2.Pod wszystkimi include:
#define DMG_BULLET (1<<1)
3.Zmienna:
new ma_klase[33];
4. W plugin_init rejestrujemy:
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
*Jeśli nie mamy, to dodajemy:
public cod_class_enabled(id) { ma_klase[id] = true; } public cod_class_disabled(id) { ma_klase[id] = false; }
5. A następnie dodajemy public:
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits) { if(!is_user_connected(idattacker)) return HAM_IGNORED; if(!ma_klase[idattacker]) return HAM_IGNORED; if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_BRON && damagebits & DMG_BULLET && random_num(1, x) == 1) cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits); return HAM_IGNORED; }
CSW_BRON - Zmieniasz na wybraną broń np. CSW_AK47
6. W zarejestrowanym publicu zwróć uwagę na to:
random_num(1, x) == 1)
x zmieniasz na szansę na zabicie. Jeśli ustawisz 3, to klasa będzie miała 1/3 szans na zabicie z danej broni.
7. Jeśli chcemy, aby klasa miała natychmiastowe zabicie, to usuwamy:
&& random_num(1, x) == 1
Czyli nasz warunek będzie wyglądał tak:
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_BRON && damagebits & DMG_BULLET) cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
8*. Jeśli w klasie zarejestrowany jest już powyższy public, a chcemy dodać 1/x z innej broni to pod:
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_BRON && damagebits & DMG_BULLET && random_num(1, x) == 1) cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
dodajemy:
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_BRON && damagebits & DMG_BULLET && random_num(1, x) == 1) cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
To chyba wszystko jasne.
Aby dodać 1/x z kosy (PPM):
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits) { if(!is_user_connected(idattacker)) return HAM_IGNORED; if(!ma_klase[idattacker]) return HAM_IGNORED; if(get_user_weapon(idattacker) == CSW_KNIFE && damagebits & DMG_BULLET && damage > 20.0 && random_num(1, x) == 1) cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits); return HAM_IGNORED; }
w miejscu x ustawiamy szansę. Aby dodać natychmiastowe zabicie robimy to samo co w punkcie 5
Aby dodać 1/x z HE:
Pod wszyskimi #include dodajesz:
#define DMG_HEGRENADE (1<<24)
I warunek:
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_HEGRENADE && damagebits & DMG_HEGRENADE && random_num(1, x) == 1) cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
Mam nadzieję, że poradnik zrozumiały i w miarę się przydał. POWODZENIA !