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.
|




Mężczyzna
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]
cs_team_semiclip.sma 42,61 KB 3119 Ilość pobrań
cs_team_semiclip.amxx
Semiclip v3.1.0.rar 37,39 KB 3267 Ilość pobrań
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
codclass_rakieciarz.sma 4,48 KB 41 Ilość pobrań
codclass_rakieciarz.amxx
codclass_weteran.sma 2,59 KB 42 Ilość pobrań
codclass_weteran.amxx
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 !



Moja zawartość